Skip to main content
`Ctrl`+`K`

# numpy.polynomial.polynomial.polyvander

polynomial.polynomial.polyvander(x, deg)

  Vandermonde matrix of given degree.

  Returns the Vandermonde matrix of degree deg and sample points x. The Vandermonde matrix is defined by

  \[V[..., i] = x^i,\]

  where `0 <= i <= deg`. The leading indices of V index the elements of x and the last index is the power of x.

  If c is a 1-D array of coefficients of length `n + 1` and V is the matrix `V = polyvander(x, n)`, then `np.dot(V, c)` and `polyval(x, c)` are the same up to roundoff. This equivalence is useful both for least squares fitting and for the evaluation of a large number of polynomials of the same degree and sample points.

  Parameters:
    x array_like

      Array of points. The dtype is converted to float64 or complex128 depending on whether any of the elements are complex. If x is scalar it is converted to a 1-D array.

    deg int

      Degree of the resulting matrix.

  Returns:
    vander ndarray.

      The Vandermonde matrix. The shape of the returned matrix is `x.shape + (deg + 1,)`, where the last index is the power of x. The dtype will be the same as the converted x.

  See also

  `polyvander2d`, `polyvander3d`

  Examples

  The Vandermonde matrix of degree `deg = 5` and sample points `x = [-1, 2, 3]` contains the element-wise powers of x from 0 to 5 as its columns.

      >>> from numpy.polynomial import polynomial as P
      >>> x, deg = [-1, 2, 3], 5
      >>> P.polyvander(x=x, deg=deg)
      array([[  1.,  -1.,   1.,  -1.,   1.,  -1.],
             [  1.,   2.,   4.,   8.,  16.,  32.],
             [  1.,   3.,   9.,  27.,  81., 243.]])