numpy.
vander
生成范德蒙矩阵。
输出矩阵的列是输入向量的幂。权力的顺序由 increasing 布尔参数。具体来说,当 increasing 是假的 i -输出列是输入向量提升的元素的幂。 N - i - 1 . 这样一个矩阵每行都有一个几何级数,它是以亚历山大提奥菲勒·范德蒙命名的。
N - i - 1
一维输入数组。
输出中的列数。如果 N 未指定,返回一个方形数组 (N = len(x) )
N = len(x)
列强的顺序。如果为真,则权力从左到右增加,如果为假(默认值),则权力被反转。
1.9.0 新版功能.
范德蒙矩阵。如果 increasing 为假,第一列为 x^(N-1) 第二 x^(N-2) 诸如此类。如果 increasing 是真的,列是 x^0, x^1, ..., x^(N-1) .
x^(N-1)
x^(N-2)
x^0, x^1, ..., x^(N-1)
参见
polynomial.polynomial.polyvander
实例
>>> 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]])
方范德蒙矩阵的行列式是输入向量值之间差异的乘积:
>>> np.linalg.det(np.vander(x)) 48.000000000000043 # may vary >>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1) 48