eig

语法

eig(A)

详情

计算矩阵的特征值与特征向量。

注:

参数

A 是一个实对称矩阵或 Hermitian(共轭对称)矩阵。

返回值

返回一个字典,为矩阵 A 的特征值(values)与特征向量(vectors)。

例子

A = 1 1 2 7 9 3 5 7 0 $ 3:3;
eig(A);
// output
vectors->
#0        #1       #2
--------- -------- ---------
0.839752  0.169451 -0.515852
-0.301349 0.935753 -0.18318
0.45167   0.309277 0.836864

values->[1.716868,10.17262,-1.889488]

对应第一个特征值 1.716868 的特征向量为:

eig(A).vectors[0];
// output
[0.839752,-0.301349,0.45167]

使用 numpy.linalg.eigh 函数计算同一个矩阵的特征值与特征向量。返回的特征值顺序可能与 DolphinDB eig 不同,特征向量符号也可能相反,但在数学意义上等价。

import numpy as np

A = np.array([[1., 7., 5.],
              [1., 9., 7.],
              [2., 3., 0.]])

w, v = np.linalg.eigh(A)

print("values:")
print(w)

print("vectors:")
print(v)

""" 输出:
values:
[-1.88948817  1.71686814 10.17262003]
vectors:
[[-0.51585193  0.83975187 -0.16945081]
 [-0.18318039 -0.30134864 -0.93575314]
 [ 0.83686422  0.45167    -0.30927736]]
"""