Shortcuts

torch.vander

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

生成一个范德蒙矩阵。

输出矩阵的列是输入向量的逐元素幂,即 x(N1),x(N2),...,x0x^{(N-1)}, x^{(N-2)}, ..., x^0。 如果 increasing 为 True,则列的顺序将反转 x0,x1,...,x(N1)x^0, x^1, ..., x^{(N-1)}。这种每行都具有几何级数的矩阵以 Alexandre-Theophile Vandermonde 的名字命名。

Parameters
  • x (张量) – 一维输入张量。

  • N (int, 可选) – 输出中的列数。如果未指定 N,则返回一个方形数组 (N=len(x))(N = len(x)).

  • 递增 (bool, 可选) – 列的幂的顺序。如果为True,幂从左到右递增,如果为False(默认值),则顺序相反。

Returns

范德蒙矩阵。如果 increasing 为 False,第一列是 x(N1)x^{(N-1)}, 第二列是 x(N2)x^{(N-2)},以此类推。如果 increasing 为 True,则列 为 x0,x1,...,x(N1)x^0, x^1, ..., x^{(N-1)}

Return type

张量

示例:

>>> 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]])