代码之家  ›  专栏  ›  技术社区  ›  Jakub Wagner

厄米矩阵的特征向量[闭]

  •  2
  • Jakub Wagner  · 技术社区  · 6 年前

    厄米矩阵是一个复方阵,它等于它的共轭转置。其矩阵元素满足以下条件:

    $$a_{ij} = \bar{a}_{ji}$$

    每次,我都用Python计算厄米矩阵的特征向量,特征向量的第一个系数是一个纯实数。这是厄米矩阵的一个属性吗?

    我附加了一个代码片段来生成厄米矩阵,计算其特征向量并打印对应于最低特征值的特征向量。

    import numpy as np
    from numpy import linalg as LA
    N = 5   # Set size of a matrix
    # Generate real part of the matrix at first
    real_matrix = np.random.uniform(-1.0, 1.0, size=(N,N))
    real_matrix = (real_matrix + real_matrix.T)/2
    # Generate imaginary part of the matrix
    imaginary_matrix = np.random.uniform(-1.0, 1.0, size=(N,N))
    imaginary_matrix = (imaginary_matrix + imaginary_matrix.T)/2
    imaginary_matrix = imaginary_matrix.astype(complex) * 1j
    for row in range(N):
        for column in range(row,N):
            if row == column:
                imaginary_matrix[row][column] = 0.0
            else:
                imaginary_matrix[row][column] *= -1
    # Combine real and imaginary part
    matrix = real_matrix + imaginary_matrix
    # Compute and print eigenvector
    eigenvalues, eigenvectors = LA.eigh(matrix)
    print(eigenvectors[:,0])
    
    1 回复  |  直到 6 年前
        1
  •  4
  •   P. Camilleri    6 年前

    我认为这是一个python问题,而不是一个数学问题。

    在执行特征值分解时,存在一些模糊性:如果u是特征值lambda的酉特征向量,那么exp(iθ)*u也是相同特征值的酉特征向量(对于任何实θ)。 为了修正这种不确定性,一些实现强制要求每个特征向量的第一个系数为实数。

    当你对一个实矩阵进行特征分解时,你会得到同样的结果:如果u是一个特征向量,-u也是。为了使特征分解具有确定性,一些实现(例如sklearn的PCA,请参见 this related question )规定u的最大震级系数为正。