jax.numpy.vander#

jax.numpy.vander(x, N=None, increasing=False)[源代码]#

生成范德蒙矩阵。

numpy.vander() 的 JAX 实现。

参数:
  • x (ArrayLike) – 输入数组。必须有 x.ndim == 1

  • N (int | None) – int,可选,默认为 None。指定输出矩阵的列数。如果未指定,则 N = len(x)

  • increasing (bool) – bool,可选,默认为 False。指定列的幂的顺序。如果 True,则幂从左到右递增,\([x^0, x^1, ..., x^{(N-1)}]\)。默认情况下,幂从左到右递减 \([x^{(N-1)}, ..., x^1, x^0]\)

返回:

一个形状为 [len(x), N] 的数组,包含生成的范德蒙矩阵。

返回类型:

数组

示例

>>> x = jnp.array([1, 2, 3, 4])
>>> jnp.vander(x)
Array([[ 1,  1,  1,  1],
       [ 8,  4,  2,  1],
       [27,  9,  3,  1],
       [64, 16,  4,  1]], dtype=int32)

如果 N = 2,则生成一个具有 2 列的范德蒙矩阵。

>>> jnp.vander(x, N=2)
Array([[1, 1],
       [2, 1],
       [3, 1],
       [4, 1]], dtype=int32)

increasing=True 时,按幂的递增顺序生成范德蒙矩阵。

>>> jnp.vander(x, increasing=True)
Array([[ 1,  1,  1,  1],
       [ 1,  2,  4,  8],
       [ 1,  3,  9, 27],
       [ 1,  4, 16, 64]], dtype=int32)