torch.vander

torch.vander(x, N=None, increasing=False) Tensor

生成范德蒙德矩阵。

输出矩阵的每一列是输入向量$x^{(N-1)}, x^{(N-2)}, ..., x^0$ 的逐元素幂。如果 increasing 为 True,则列的顺序会变为$x^0, x^1, ..., x^{(N-1)}$。这种每行都是几何级数的矩阵以 Alexandre-Theophile Vandermonde 命名。

参数
  • x (Tensor) – 一维输入张量。

  • N (int, optional) – 输出的列数。如果未指定 N,则默认返回一个方阵$(N = len(x))$

  • increasing (bool, 可选) – 控制列的幂次顺序。如果为 True,则从左到右幂次逐渐增加;如果为 False(默认值),则幂次顺序相反。

返回值

Vandermonde 矩阵。如果 increasing 为 False,第一列是 $x^{(N-1)}$,第二列是 $x^{(N-2)}$,依此类推。如果 increasing 为 True,则各列为$x^0, x^1, ..., x^{(N-1)}$

返回类型

张量

示例:

>>> x = torch.tensor([1, 2, 3, 5])
>>> torch.vander(x)
tensor([[  1,   1,   1,   1],
        [  8,   4,   2,   1],
        [ 27,   9,   3,   1],
        [125,  25,   5,   1]])
>>> torch.vander(x, N=3)
tensor([[ 1,  1,  1],
        [ 4,  2,  1],
        [ 9,  3,  1],
        [25,  5,  1]])
>>> torch.vander(x, N=3, increasing=True)
tensor([[ 1,  1,  1],
        [ 1,  2,  4],
        [ 1,  3,  9],
        [ 1,  5, 25]])
本页目录