scipy.linalg.cdf2rdf¶
- scipy.linalg.cdf2rdf(w, v)[源代码]¶
转换复特征值
w
和特征向量v
到挡路对角线形式的实本征值wr
以及相关联的实本征向量vr
,以便:vr @ wr = X @ vr
继续持有,在那里
X
是原始数组,对于该数组,w
和v
是特征值和特征向量。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
注意事项
w
,v
一定是某些人的本征结构 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]])