购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.6 特征值分解

许多数学对象可以分解成多个组成部分。特征分解就是使用最广的矩阵分解之一,即将矩阵分解成一组特征向量和特征值。本节讨论的矩阵都是方阵。

我们先介绍特征值、特征向量的概念。设A是一个n阶方阵,如果存在实数λ和n维的非零向量x,满足:

那么把数λ称为方阵A的特征值,向量x称为矩阵A对应特征值λ的特征向量。

假设矩阵A有n个线性无关的特征向量{v 1 ,v 2 ,…,v n },它们对应的特征值为{λ 1 ,λ 2 ,…,λ n },把这n个线性无关的特征向量组合成一个新方阵,每一列是一个特征向量。

用特征值构成一个n阶对角矩阵,对角线的元素都是特征值。

那么,A的特征分解可表示为:

注意,并不是所有方阵都能进行特征值分解,一个n阶方阵A能进行特征值分解的充分必要条件是它含有n个线性无关的特征向量。

这里我们介绍了给定一个方阵时,如何求该方阵的特征向量和特征值,以及如何用编程语言实现。具体请看如下示例:


import numpy as np

a = np.array([[1,2],[3,4]]) # 示例矩阵
A1 = np.linalg.eigvals(a)  # 得到特征值
A2,V1 = np.linalg.eig(a) # 其中A2也是特征值,B为特征向量
print(A1)
print(A2)
print(V1)

打印结果:


[-0.37228132  5.37228132]
[-0.37228132  5.37228132]
[[-0.82456484 -0.41597356]
 [ 0.56576746 -0.90937671]]

【说明】

在numpy.linalg模块中:

·eigvals():计算矩阵的特征值。

·eig():返回包含特征值和对应特征向量的元组。 YMIwfhRJvo6dl4o73B16RHsNGTCdBJDlUacDsJWolg1qdS1YnZRcMaObulVmryQG

点击中间区域
呼出菜单
上一章
目录
下一章
×