vander¶
生成范德蒙德矩阵。
输出矩阵的每一列都是输入向量的幂。 幂的顺序由递增的布尔参数确定。 具体而言,当递增为 “false” 时,第 i 个输出列是输入向量元素顺序的升序,其幂为 N-i-1。 每行都有等比级数的这样一个矩阵称为 Alexandre-Theophile Vandermonde 矩阵。
参数¶
x (Tensor) - 输入的 Tensor,必须是 1-D Tensor, 支持的数据类型:int32、int64、float32、float64、complex64、complex128。
n (int,可选) - 输出中的列数。如果未指定 n,则返回一个方阵(n = len(x))。
increasing (bool,可选) - 列的幂次顺序。如果为 True,则幂次从左到右增加,如果为 False(默认值),则幂次顺序相反。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
返回一个根据 n 和 increasing 创建的范德蒙德矩阵。
代码示例¶
import paddle
x = paddle.to_tensor([1., 2., 3.], dtype="float32")
out = paddle.vander(x)
print(out.numpy())
# [[1., 1., 1.],
# [4., 2., 1.],
# [9., 3., 1.]]
out1 = paddle.vander(x,2)
print(out1.numpy())
# [[1., 1.],
# [2., 1.],
# [3., 1.]]
out2 = paddle.vander(x, increasing = True)
print(out2.numpy())
# [[1., 1., 1.],
# [1., 2., 4.],
# [1., 3., 9.]]
real = paddle.to_tensor([2., 4.])
imag = paddle.to_tensor([1., 3.])
complex = paddle.complex(real, imag)
out3 = paddle.vander(complex)
print(out3.numpy())
# [[2.+1.j, 1.+0.j],
# [4.+3.j, 1.+0.j]]