原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.vander.html
校对:(虚位以待)
numpy.
vander
(x, N=None, increasing=False)[source]生成Vandermonde矩阵。
输出矩阵的列是输入向量的幂。幂的阶数由增加的布尔参数决定。具体地,当增加为False时,i输出列是按N - i - 1
。这样的在每行中具有几何级数的矩阵被命名为Alexandre-Theophile Vandermonde。
参数: | x:array_like
N:int,可选
增加:bool,可选
|
---|---|
返回: | out:ndarray
|
例子
>>> x = np.array([1, 2, 3, 5])
>>> N = 3
>>> np.vander(x, N)
array([[ 1, 1, 1],
[ 4, 2, 1],
[ 9, 3, 1],
[25, 5, 1]])
>>> np.column_stack([x**(N-1-i) for i in range(N)])
array([[ 1, 1, 1],
[ 4, 2, 1],
[ 9, 3, 1],
[25, 5, 1]])
>>> x = np.array([1, 2, 3, 5])
>>> np.vander(x)
array([[ 1, 1, 1, 1],
[ 8, 4, 2, 1],
[ 27, 9, 3, 1],
[125, 25, 5, 1]])
>>> np.vander(x, increasing=True)
array([[ 1, 1, 1, 1],
[ 1, 2, 4, 8],
[ 1, 3, 9, 27],
[ 1, 5, 25, 125]])
正方形Vandermonde矩阵的行列式是输入向量的值之间的差的乘积:
>>> np.linalg.det(np.vander(x))
48.000000000000043
>>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1)
48