vander#

ivy.vander(x, /, *, N=None, increasing=False, out=None)[source]#

Generate a Vandermonde matrix. The columns of the output matrix are elementwise powers of the input vector x^{(N-1)}, x^{(N-2)}, …, x^0x. If increasing is True, the order of the columns is reversed x^0, x^1, …, x^{(N-1)}. Such a matrix with a geometric progression in each row is named for Alexandre-Theophile Vandermonde.

Parameters:
  • x (Union[Array, NativeArray]) – 1-D input array.

  • N (Optional[int], default: None) – Number of columns in the output. If N is not specified, a square array is returned (N = len(x))

  • increasing (bool, default: False) – Order of the powers of the columns. If True, the powers increase from left to right, if False (the default) they are reversed.

  • out (Optional[Array], default: None) – optional output array, for writing the result to.

Return type:

Array

Returns:

ret – Vandermonde matrix.

Examples

With ivy.Array inputs:

>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x)
ivy.array(
   [[  1,   1,   1,   1],
    [  8,   4,   2,   1],
    [ 27,   9,   3,   1],
    [125,  25,   5,   1]]
    )
>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x, N=3)
ivy.array(
   [[ 1,  1,  1],
    [ 4,  2,  1],
    [ 9,  3,  1],
    [25,  5,  1]]
    )
>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x, N=3, increasing=True)
ivy.array(
   [[ 1,  1,  1],
    [ 1,  2,  4],
    [ 1,  3,  9],
    [ 1,  5, 25]]
    )
Array.vander(self, /, *, N=None, increasing=False, out=None)[source]#

ivy.Array instance method variant of ivy.vander. This method Returns the Vandermonde matrix of the input array.

Parameters:
  • self (Array) – 1-D input array.

  • N (Optional[int], default: None) – Number of columns in the output. If N is not specified, a square array is returned (N = len(x))

  • increasing (bool, default: False) – Order of the powers of the columns. If True, the powers increase from left to right, if False (the default) they are reversed.

  • out (Optional[Array], default: None) – optional output array, for writing the result to.

Return type:

Array

Returns:

ret – an array containing the Vandermonde matrix.

Examples

>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x)
ivy.array(
[[  1,   1,   1,   1],
    [  8,   4,   2,   1],
    [ 27,   9,   3,   1],
    [125,  25,   5,   1]]
    )
>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x, N=3)
ivy.array(
[[ 1,  1,  1],
    [ 4,  2,  1],
    [ 9,  3,  1],
    [25,  5,  1]]
    )
>>> x = ivy.array([1, 2, 3, 5])
>>> ivy.vander(x, N=3, increasing=True)
ivy.array(
[[ 1,  1,  1],
    [ 1,  2,  4],
    [ 1,  3,  9],
    [ 1,  5, 25]]
    )
Container.vander(self, /, *, N=None, increasing=False, out=None)[source]#

ivy.Container instance method variant of ivy.vander. This method Returns the Vandermonde matrix of the input array.

Parameters:
  • self (Container) – 1-D input array.

  • N (Optional[Union[int, Container]], default: None) – Number of columns in the output. If N is not specified, a square array is returned (N = len(x))

  • increasing (Union[bool, Container], default: False) – Order of the powers of the columns. If True, the powers increase from left to right, if False (the default) they are reversed.

  • out (Optional[Container], default: None) – optional output container, for writing the result to.

Return type:

Container

Returns:

ret – an container containing the Vandermonde matrices of the arrays included in the input container.

Examples

With ivy.Container inputs:

>>> x = ivy.Container(
        a = ivy.array([1, 2, 3, 5])
        b = ivy.array([6, 7, 8, 9])
    )
>>> x.vander()
{
    a: ivy.array(
            [[  1,   1,   1,   1],
            [  8,   4,   2,   1],
            [ 27,   9,   3,   1],
            [125,  25,   5,   1]]
            ),
    b: ivy.array(
            [[216,  36,   6,   1],
            [343,  49,   7,   1],
            [512,  64,   8,   1],
            [729,  81,   9,   1]]
            )
}