在Python中使用浮点数组生成Legendre多项式的Vandermonde矩阵
要生成Legendre多项式的伪Vandermonde矩阵,可以使用Python的Numpy库中的polynomial.legvander()方法。该方法返回伪Vandermonde矩阵。返回矩阵的形状为x.shape + (deg + 1,),其中最后一个索引是对应的Legendre多项式的阶数。dtype与转换后的x相同。
参数x返回一个点的数组。如果其中的元素是复数,则将dtype转换为float64或complex128。如果x是标量,则转换为一维数组。参数deg是结果矩阵的阶数。
步骤
首先,导入所需的库-
import numpy as np
from numpy.polynomial import legendre as L
创建一个数组 –
x = np.array([0, 3.5, -1.4, 2.5])
显示数组 –
print("Our Array...\n",c)
检查尺寸 −
print("\nDimensions of our Array...\n",c.ndim)
获取数据类型−
print("\nDatatype of our Array object...\n",c.dtype)
获取形状−
print("\nShape of our Array object...\n",c.shape)
使用polynomial.legvander()方法,可以生成Legendre多项式的伪Vandermonde矩阵。
print("\nResult...\n",L.legvander(x, 2))
示例
import numpy as np
from numpy.polynomial import legendre as L
# Create an array
x = np.array([0, 3.5, -1.4, 2.5])
# Display the array
print("Our Array...\n",x)
# Check the Dimensions
print("\nDimensions of our Array...\n",x.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",x.dtype)
# Get the Shape
print("\nShape of our Array object...\n",x.shape)
# To generate a pseudo Vandermonde matrix of the Legendre polynomial, use the polynomial.legvander() method in Python Numpy
print("\nResult...\n",L.legvander(x, 2))
输出
Our Array...
[ 0. 3.5 -1.4 2.5]
Dimensions of our Array...
1
Datatype of our Array object...
float64
Shape of our Array object...
(4,)
Result...
[[ 1. 0. -0.5 ]
[ 1. 3.5 17.875]
[ 1. -1.4 2.44 ]
[ 1. 2.5 8.875]]