jax.numpy.vander#

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

生成范德蒙矩阵。

numpy.vander() 的 JAX 实现。

参数:
  • x (类数组) – 输入数组。必须满足 x.ndim == 1

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

  • increasing (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)