在 Python 中计算复厄米特矩阵或实对称矩阵的特征值


要计算复厄米特矩阵或实对称矩阵的特征值,可以使用 numpy.eigvalsh() 方法。该方法按升序返回特征值,每个特征值根据其重数重复。

第一个参数 a 是一个复数或实数矩阵,其特征值需要计算。第二个参数 UPLO 指定计算是在 a 的下三角部分('L',默认)还是上三角部分('U')进行。无论此值如何,在计算中只会考虑对角线的实部,以保持厄米特矩阵的概念。因此,对角线的虚部将始终被视为零。

步骤

首先,导入所需的库 -

import numpy as np
from numpy import linalg as LA

使用 numpy.array() 方法创建一个二维 numpy 数组 -

arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

显示数组 -

print("Our Array...\n",arr)

检查维度 -

print("\nDimensions of our Array...\n",arr.ndim)

获取数据类型 -

print("\nDatatype of our Array object...\n",arr.dtype)

获取形状 -

print("\nShape of our Array object...\n",arr.shape)

要计算复厄米特矩阵或实对称矩阵的特征值,可以使用 numpy.eigvalsh() 方法 -

print("\nResult...\n",LA.eigvalsh(arr))

示例

from numpy import linalg as LA
import numpy as np

# Creating a 2D numpy array using the numpy.array() method
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array object...\n",arr.shape)

# To compute the eigenvalues of a complex Hermitian or real symmetric matrix, use the numpy.eigvalsh() method
print("\nResult...\n",LA.eigvalsh(arr))

输出

Our Array...
[[5.+2.j 9.-2.j]
[0.+2.j 2.-1.j]]

Dimensions of our Array...
2

Datatype of our Array object...
complex128

Shape of our Array object...
(2, 2)

Result...
[1. 6.]

更新于: 2022-02-24

824 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告