torch.linalg.vander#
- torch.linalg.vander(x, N=None) Tensor #
生成 Vandermonde 矩阵。
返回 Vandermonde 矩阵
对于 N > 1。如果
N
= None,则 N = x.size(-1),以便输出为方阵。支持浮点、双精度、复数浮点、复数双精度和整数数据类型的输入。也支持向量批次,如果
x
是向量批次,则输出具有相同的批次维度。与 numpy.vander 的区别
与 numpy.vander 不同,此函数返回
x
的幂次按升序排列。要以相反的顺序获取,请调用linalg.vander(x, N).flip(-1)
。
- 参数
x (Tensor) – 形状为 (*, n) 的张量,其中 * 是零个或多个批次维度,由向量组成。
- 关键字参数
N (int, optional) – 输出中的列数。默认值:x.size(-1)
示例
>>> x = torch.tensor([1, 2, 3, 5]) >>> linalg.vander(x) tensor([[ 1, 1, 1, 1], [ 1, 2, 4, 8], [ 1, 3, 9, 27], [ 1, 5, 25, 125]]) >>> linalg.vander(x, N=3) tensor([[ 1, 1, 1], [ 1, 2, 4], [ 1, 3, 9], [ 1, 5, 25]])