在 Python 中计算复数 Hermitian 或实数对称矩阵的特征值
pythonnumpyserver side programmingprogramming
要计算复数 Hermitian 或实数对称矩阵的特征值,请使用 numpy.eigvalsh() 方法。该方法按升序返回特征值,每个特征值根据其重数重复。
第一个参数 a 是要计算其特征值的复数或实值矩阵。第二个参数 UPLO 指定计算是使用 a 的下三角部分("L",默认)还是上三角部分("U")。无论此值如何,计算中只会考虑对角线的实部以保留 Hermitian 矩阵的概念。因此,对角线的虚部将始终被视为零。
步骤
首先,导入所需的库 -
import numpy as np from numpy import linalg as LA
使用 numpy.array() 方法创建 2D numpy 数组 −
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])
显示数组 −
print("我们的数组...\n",arr)
检查维度 −
print("\n我们的数组的维度...\n",arr.ndim)
获取数据类型 −
print("\n我们的数组对象的数据类型...\n",arr.dtype)
获取形状 −
print("\n我们的数组对象的形状...\n",arr.shape)
要计算复数 Hermitian 或实对称矩阵的特征值,请使用numpy.eigvalsh() 方法 −
print("\n结果...\n",LA.eigvalsh(arr))
示例
from numpy import linalg as LA import numpy as np # 使用 numpy.array() 方法创建 2D numpy 数组 arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]]) # 显示数组 print("我们的数组...\n",arr) # 检查维度 print("\n数组的维度...\n",arr.ndim) # 获取数据类型 print("\n数组对象的数据类型...\n",arr.dtype) # 获取形状 print("\n数组对象的形状...\n",arr.shape) # 计算复数的特征值埃尔米特矩阵或实对称矩阵,使用 numpy.eigvalsh() 方法 print("\n结果...\n",LA.eigvalsh(arr))
输出
我们的数组... [[5.+2.j 9.-2.j] [0.+2.j 2.-1.j]] 数组的维度... 2 数组对象的数据类型... complex128 数组对象的形状... (2, 2) 结果... [1. 6.]