在Python中使用NumPy生成一个给定度数的范德蒙德矩阵
在这篇文章中,我们将介绍在Python中使用NumPy生成一个给定程度的范德蒙德矩阵。在代数中,凡德蒙矩阵是一个m*n矩阵,它的每一行都有一个几何级数的项。
生成的矩阵将是这样的形式。
[1 x11 x12 ........ x1(n-1)
...................
...................
1 xm1 xm2 ........ xm(n-1)]
numpy.polynomial.polynomial.polyvander
numpy.polynomial.polynomial.polyvander()方法用于使用Python中的NumPy模块生成一个给定数组的范德蒙德矩阵。这个方法接受一个数组和矩阵的度数,指定矩阵的度数。它返回一个包含范德蒙德矩阵的矩阵。polyvander方法的语法如下。
语法: numpy.polynomial.polynomial.polyvander()
参数:
- x:类似对象的数组。
- deg: 整数。产生的矩阵的度数。
返回:范德蒙矩阵。
示例 1:
在这里,我们将创建一个NumPy数组,并使用numpy.polynomial.polynomial.polyvander()来生成一个vandermonde矩阵。数组的形状由.shape属性找到,数组的尺寸由.ndim属性找到,数组的数据类型是.type属性。
# import packages
import numpy as np
from numpy.polynomial.polynomial import polyvander
# Creating an array
array = np.array([[4, 3, 1]])
print(array)
# shape of the array is
print("Shape of the array is : ", array.shape)
# dimension of the array
print("The dimension of the array is : ", array.ndim)
# Datatype of the array
print("Datatype of our Array is : ", array.dtype)
# generating vandermonde matrix of
# given degree
print(polyvander(array, 2))
输出:
[[4 3 1]]
Shape of the array is : (1, 3)
The dimension of the array is : 2
Datatype of our Array is : int64
[[[ 1. 4. 16.]
[ 1. 3. 9.]
[ 1. 1. 1.]]]
示例 2:
这里,矩阵中第二列的输出是负数,因为负数的奇数次方总是负的。
# import packages
import numpy as np
from numpy.polynomial.polynomial import polyvander
# Creating an array
array = np.array([[-1,-2,-3]])
print(array)
# shape of the array is
print("Shape of the array is : ",array.shape)
# dimension of the array
print("The dimension of the array is : ",array.ndim)
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
# generating vandermonde matrix of
# given degree
print(polyvander(array,2))
输出:
[[-1 -2 -3]]
Shape of the array is : (1, 3)
The dimension of the array is : 2
Datatype of our Array is : int64
[[[ 1. -1. 1.]
[ 1. -2. 4.]
[ 1. -3. 9.]]]