在 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.]

相关文章