-
numpy.ma.vander(x, n=None)
[source] -
Generate a Vandermonde matrix.
The columns of the output matrix are powers of the input vector. The order of the powers is determined by the
increasing
boolean argument. Specifically, whenincreasing
is False, thei
-th output column is the input vector raised element-wise to the power ofN - i - 1
. Such a matrix with a geometric progression in each row is named for Alexandre- Theophile Vandermonde.Parameters: x : array_like
1-D input array.
N : int, optional
Number of columns in the output. If
N
is not specified, a square array is returned (N = len(x)
).increasing : bool, optional
Order of the powers of the columns. If True, the powers increase from left to right, if False (the default) they are reversed.
New in version 1.9.0.
Returns: out : ndarray
Vandermonde matrix. If
increasing
is False, the first column isx^(N-1)
, the secondx^(N-2)
and so forth. Ifincreasing
is True, the columns arex^0, x^1, ..., x^(N-1)
.See also
polynomial.polynomial.polyvander
Notes
Masked values in the input array result in rows of zeros.
Examples
>>> 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]])
The determinant of a square Vandermonde matrix is the product of the differences between the values of the input vector:
>>> np.linalg.det(np.vander(x)) 48.000000000000043 >>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1) 48
numpy.ma.vander()
2017-01-10 18:15:53
Please login to continue.