scipy.linalg.cdf2rdf

scipy.linalg.cdf2rdf(w, v)[源代码]

转换复特征值 w 和特征向量 v 到挡路对角线形式的实本征值 wr 以及相关联的实本征向量 vr ,以便:

vr @ wr = X @ vr

继续持有,在那里 X 是原始数组,对于该数组, wv 是特征值和特征向量。

1.1.0 新版功能.

参数
w(.,M)类似数组

复本征值或实本征值,数组或数组堆栈

共轭对不能交错,否则会产生错误的结果。所以 [1+1j, 1, 1-1j] 会给出正确的结果,但是 [1+1j, 2+1j, 1-1j, 2-1j] 不会的。

v(.,M,M)类似数组

复本征向量或实本征向量,一个正方形阵列或一堆正方形阵列。

退货
wr(.,M,M)ndarray

特征值的实对角线挡路形式

vr(.,M,M)ndarray

与以下内容相关的实本征向量 wr

参见

eig

非对称阵列的特征值和右特征向量

rsf2csf

实舒尔形式到复舒尔形式的转换

注意事项

wv 一定是某些人的本征结构 real 矩阵 X 。例如,通过以下方式获得 w, v = scipy.linalg.eig(X)w, v = numpy.linalg.eig(X) 在这种情况下 X 也可以表示堆叠数组。

1.1.0 新版功能.

示例

>>> X = np.array([[1, 2, 3], [0, 4, 5], [0, -5, 4]])
>>> X
array([[ 1,  2,  3],
       [ 0,  4,  5],
       [ 0, -5,  4]])
>>> from scipy import linalg
>>> w, v = linalg.eig(X)
>>> w
array([ 1.+0.j,  4.+5.j,  4.-5.j])
>>> v
array([[ 1.00000+0.j     , -0.01906-0.40016j, -0.01906+0.40016j],
       [ 0.00000+0.j     ,  0.00000-0.64788j,  0.00000+0.64788j],
       [ 0.00000+0.j     ,  0.64788+0.j     ,  0.64788-0.j     ]])
>>> wr, vr = linalg.cdf2rdf(w, v)
>>> wr
array([[ 1.,  0.,  0.],
       [ 0.,  4.,  5.],
       [ 0., -5.,  4.]])
>>> vr
array([[ 1.     ,  0.40016, -0.01906],
       [ 0.     ,  0.64788,  0.     ],
       [ 0.     ,  0.     ,  0.64788]])
>>> vr @ wr
array([[ 1.     ,  1.69593,  1.9246 ],
       [ 0.     ,  2.59153,  3.23942],
       [ 0.     , -3.23942,  2.59153]])
>>> X @ vr
array([[ 1.     ,  1.69593,  1.9246 ],
       [ 0.     ,  2.59153,  3.23942],
       [ 0.     , -3.23942,  2.59153]])