Eigensystem

Eigensystem[m]

给出方阵 m 的特征值和特征向量构成的列表 {values,vectors}.

Eigensystem[{m,a}]

给出关于 am 的广义的特征值和特征向量.

Eigensystem[m,k]

给出 m 的前 k 个的特征值和特征向量.

Eigensystem[{m,a},k]

给出前 k 个特征值和特征向量.

更多信息和选项

  • 如果 m 包含近似实数或复数,Eigensystem 求数值特征值和特征向量.
  • 对于近似数值矩阵 m,特征向量被规范化. »
  • 对于精确或者符号矩阵 m,特征向量不进行正则化处理. »
  • 所有给出的非零特征值都是线性无关的. 如果特征向量的个数等于非零特征值的个数,则相应特征值和特征向量在相应位置分别用它们的列表给出. 特征值对应于特征向量矩阵中的行.
  • 如果特征值比无关的特征向量多,则每个特定的特征值会跟上一个零向量. »
  • 如果是数值,特征值是按绝对值减小的顺序排序的.
  • 特征值和特征向量满足矩阵方程 m.Transpose[vectors]==Transpose[vectors].DiagonalMatrix[values]. »
  • 广义的有限特征值和特征向量满足 m.Transpose[vectors]==a.Transpose[vectors].DiagonalMatrix[values]. »
  • 普通特征值总是有限的;广义特征值可以是无限的. 无限广义特征值对应于有 . »
  • 当矩阵 ma 具有维数为 的共用零空间时,其广义特征值中的 Indeterminate,并会与广义特征向量列表中的零向量配对. »
  • {vals,vecs}=Eigensystem[m] 可以用 valsvecs 表示相应的特征值和特征向量. »
  • 对于数值特征值,Eigensystem[m,k] 给出绝对值最大的 k 个特征值和对应的特征向量.
  • Eigensystem[m,-k] 给出绝对值最小的 k 个特征值和相应的特征向量.
  • Eigensystem[m,spec] 等价于应用 Take[,spec]Eigensystem[m] 的每个元素.
  • Eigensystem[m,UpTo[k]] 给出 k 个特征值及相应的特征向量,如果个数不足,则尽可能多的给出特征值及相应的特征向量.
  • 可在 Eigensystem 中使用 SparseArray 对象和结构化数组.
  • Eigensystem 具有下列选项和设置:
  • Cubics False是否使用根式求解三次曲线
    Method Automatic选择使用的方法
    Quartics False是否使用根式求解四次曲线
    ZeroTestAutomatic检验表达式是否为零
  • ZeroTest 选项只应用于精确和符号矩阵.
  • 近似数值矩阵的显式 Method 设置包括:
  • "Arnoldi"Arnoldi 迭代方法,以求解一些特征值
    "Banded"厄米特矩阵的带状矩阵直接求解器 (direct banded matrix solver)
    "Direct"求解所有特征值的直接方法
    "FEAST"FEAST 迭代方法,以求解某区间内的特征值(只应用于 Hermitian 矩阵)
  • 当应用于对称或 Hermitian 矩阵时,"Arnoldi" 方法也称为 Lanczos 方法.
  • "Arnoldi""FEAST" 方法使用子选项 Method ->{"name",opt1->val1,},它可以在 Method 子章节中找到.

范例

打开所有单元关闭所有单元

基本范例  (5)

特征值和特征向量使用机器精度计算:

任意精度矩阵的特征值和特征向量:

明确的特征值和特征向量:

符号特征值和特征向量:

设置 valsvecs 表示相应的特征值和特征向量:

范围  (19)

基本用法  (6)

求机器精度矩阵的特征系统:

近似的 18-位精度的特征值和特征向量:

复矩阵的特征系统:

精确的特征系统:

高效计算大型数值矩阵的特征值和特征向量:

CenteredInterval 矩阵的特征系统:

m 的随机代表 mrep 的特征系统:

验证矢量重新排序和缩放后,vals 包含 rvalsvecs 包含 rvecs

特征值子集  (5)

计算三个最大的特征值及其相应的特征向量:

可视化这三个向量,用特征值作为标签:

与三个最小的特征值对应的特征系统:

求与四个最大的特征值对应的特征系统,如果没有那么多,则有多少给出多少:

提取特征系统的子集时考虑重复的特征值:

当特征值多于独立的特征向量时,将使用零向量:

广义特征值  (4)

计算机器精度的广义特征值和特征向量:

广义的精确特征系统:

以有限的精度计算结果:

计算符号广义特征系统:

求两个最小的广义特征值和相应的广义特征向量:

特殊矩阵  (4)

稀疏矩阵的特征系统:

结构化矩阵的特征系统:

QuantityArray 对象的单位在特征值中,特征向量无量纲:

IdentityMatrix 的特征向量形成了向量空间的标准基:

HilbertMatrix 的特征向量:

如果首先对矩阵进行数字化,则特征向量(而不是特征值)将发生显著变化:

选项  (10)

Cubics  (1)

3×3 范德蒙行列式:

一般来说,对于精确 3×3 矩阵,结果以 Root 对象给出:

若要获得以根式表示的结果,使用 Cubics 选项:

注意与 Root 对象有关的结果更适合随后的数值计算:

Method  (8)

"Arnoldi"  (5)

Arnoldi 方法可用于机器和任意精度矩阵. Arnoldi 方法的实现基于 "ARPACK" 程序库. 它对于大型稀疏矩阵很有用.

方法 "Arnoldi" 可以知道下列子选项:

  • "BasisSize"the size of the Arnoldi basis
    "Criteria"which criteria to use
    "MaxIterations"the maximum number of iterations
    "Shift"the Arnoldi shift
    "StartingVector"the initial vector to start iterations
    "Tolerance"the tolerance used to terminate iterations
  • "Criteria" 的可能设置包括:

  • "Magnitude"based on Abs
    "RealPart"based on Re
    "ImaginaryPart"based on Im
    "BothEnds"a few eigenvalues from both ends of the symmetric real matrix spectrum
  • 使用不同的 "Criteria" 设置,计算最大特征向量. 矩阵 m 具有特征值 :

    默认情况下,"Criteria"->"Magnitude" 选择对应于最大幅度特征对:

    求最大实部特征对:

    求最大虚部特征对:

    求来自对称矩阵谱的两个特征对:

    使用 "StartingVector" 避免随机性:

    不同的初始向量可能收敛到不同的特征对:

    使用 "Shift"->μ 通过将矩阵 变换为 平移特征值. 这保持了特征向量,但是将特征值改变了 -μ. 方法对变化了的特征值进行补偿. "Shift" 通常用于求没有选择最大或者最小幅度的标准的特征对:

    手动平移矩阵,以调整所得的特征向量:

    自动平移,并且调整特征值:

    "Banded"  (1)

    带状方法可用于实对称或复厄米特机器精度矩阵. 该方法对于求出所有特征对最有用.

    计算带状矩阵的两个最大的特征对:

    检查解:

    "FEAST"  (2)

    FEAST 方法可用于实对称或者复赫米特机器精度矩阵. 该方法对于在给定区间内寻找特征值最有用.

    方法 "FEAST" 可以指定下列子选项:

  • "ContourPoints"select the number of contour points
    "Interval"an interval for finding eigenvalues
    "MaxIterations"the maximum number of refinement loops
    "NumberOfRestarts"the maximum number of restarts
    "SubspaceSize"the initial size of subspace
    "Tolerance"the tolerance to terminate refinement
    "UseBandedSolver"whether to use a banded solver
  • 计算区间 中的特征对:

    使用 "Interval" 指定区间:

    FEAST 求特征值的区间不包括区间 的端点.

    检查解:

    Quartics  (1)

    4×4 矩阵:

    一般来说,对于一个 4×4 矩阵,结果给出 Root 对象:

    您可以用 CubicsQuartics 选项得到依据基的结果:

    应用  (16)

    特征系统的几何学  (3)

    当被矩阵作用时,特征值为正的特征向量指向相同的方向:

    当被矩阵作用时,特征值为负的特征向量指向相反的方向:

    思考以下矩阵 及其关联的二次形式 q=TemplateBox[{x}, Transpose].a.x

    特征向量是由 定义的双曲线的轴:

    特征值的符号对应于双曲线方程右侧的符号:

    此为三维正定二次式:

    绘制曲面

    CoefficientArrays 得到二次形式的对称矩阵:

    数值计算其特征值和特征向量:

    显示椭球体的主轴:

    对角化  (5)

    将以下矩阵对角化为 m=p.d.TemplateBox[{p}, Inverse]. 首先,计算 的特征值和特征向量:

    根据特征值和列为特征向量的矩阵 构造对角矩阵

    确认恒等式 m=p.d.TemplateBox[{p}, Inverse]

    现在可以将矩阵的任何函数以 f(m)=p.f(d).TemplateBox[{p}, Inverse] 的形式计算. 例如,MatrixPower

    同样,只需要对 的对角线元素求幂可使 MatrixExp 变为平凡:

    为其标准矩阵由矩阵 给出的线性变换. 求 TemplateBox[{}, Reals]^4 的基 ,其性质为 在该基 中的表示为对角矩阵:

    的特征值和特征向量:

    由特征向量组成,设 为矩阵,该矩阵的列是 的元素:

    坐标转换为标准坐标. 其逆矩阵变换为反方向:

    因此 TemplateBox[{b}, Inverse].a.b 给出,为对角线矩阵:

    请注意这只是对角矩阵,其项为特征值:

    实值对称矩阵可正交对角化为 s=o.d.TemplateBox[{o}, Transpose],其中 为实对角矩阵且 为正交矩阵. 验证以下矩阵是否对称,并进行对角化:

    计算特征值和特征向量:

    矩阵 在对角线上具有特征值:

    对于正交矩阵,需要在将特征向量放入列之前对其正规化:

    验证 s=o.d.TemplateBox[{o}, Transpose]

    如果 TemplateBox[{n}, ConjugateTranspose].n=n.TemplateBox[{n}, ConjugateTranspose],则矩阵称为正规矩阵. 正规矩阵是可以通过酉变换进行对角化的最通用的矩阵类型. 所有实对称矩阵 都是正规矩阵,因为等式的两边都仅为

    证明下面的矩阵是正规矩阵,并对其对角化:

    使用 NormalMatrixQ 进行验证:

    求特征值和特征向量:

    与实对称矩阵不同,对角矩阵是复值:

    对特征向量进行正规化并将其放置于列中会得到酉矩阵:

    验证对角化 n=u.d.TemplateBox[{u}, ConjugateTranspose]

    不可对角化矩阵的特征系统:

    所有特征向量的空间维数小于特征值的个数:

    计算一个由 1 和 0 组成的随机 4×4 矩阵不可对角化的概率:

    微分方程和动力系统  (4)

    求解常微分方程 (ODE) 方程组 , , . 首先,构造右侧的系数矩阵

    求特征值和特征向量:

    构造一个对角矩阵,其项是 的指数:

    构造其列是对应特征向量的矩阵:

    三个任意起始值的通解为 p.d.TemplateBox[{p}, Inverse].{TemplateBox[{1}, CTraditional],TemplateBox[{2}, CTraditional],TemplateBox[{3}, CTraditional]}

    使用 DSolveValue 验证解:

    假设一个粒子在平面力场中运动,其位置向量 满足 ,其中 为如下. 当 时求解初始问题:

    首先,计算 的特征值和对应的特征向量:

    方程组的通解为 . 使用 LinearSolve 确定系数:

    为特征向量构建线性组合:

    使用 DSolveValue 验证该解:

    是以下随机矩阵时,计算动力系统 的通解:

    求特征值和特征向量,使用 Chop 丢弃小数值误差:

    通解是形式为 的项的任意线性组合:

    验证 在数值舍入完成之前满足动力学方程:

    Lorenz 方程:

    求出方程右手边的函数行列式:

    求出平衡点:

    在第一个八分圆位置找到函数行列式的特征值和特征多项式:

    沿 dir 方向上、 pt 中的向后小干扰的函数积分:

    显示右侧平衡点的稳定曲线:

    求出左侧平衡点的稳定曲线:

    显示带有 Lorenz 方程解的稳定曲线:

    物理学  (4)

    在量子力学中,状态由复单位向量表示,物理量由厄米特线性算子表示. 特征值表示可能的观测值,关于特征向量的分量的模的平方表示这些观测值的概率. 对于给定的自旋算子 和状态 ,找出可能的观测值及其概率:

    计算特征系统,可能的观测值为

    正规化特征向量正确计算投影:

    的相对概率为 的为

    在量子力学中,能量算子称为哈密顿量 ,根据薛定谔方程 具有能量 的状态. 给定 方向上恒定磁场中自旋 1 粒子的哈密顿量,求处于初始状态 表示表示 的粒子在时间 的状态:

    计算特征系统,能级为

    正规化特征向量:

    时间 的状态是根据薛定谔方程演化的每个特征态的总和:

    惯性矩是一个实对称矩阵,描述了刚体对不同方向旋转的阻力. 该矩阵的特征值称为主惯性矩,相应的特征向量(必须正交)称为主轴. 求下列四面体的主惯性矩和主轴:

    首先计算惯性矩:

    计算主惯性矩及轴:

    验证轴为正交:

    四面体的质心在原点:

    可视化四面体及其主轴:

    广义特征系统可用于找到解耦项的耦合振荡的正规模. 思考图中所示的系统:

    根据胡克定律,该系统服从 , . 代入通解 得到矩阵方程 ,其中刚度矩阵 和质量矩阵 为如下:

    如果 , , ,求特征频率和正规模:

    求解广义特征值问题:

    特征频率 是特征值的平方根:

    将正规模解构造为广义特征向量乘以相应指数:

    验证两者是否满足系统的微分方程:

    属性和关系  (17)

    为数值矩阵返回的特征向量是单位向量:

    为精确矩阵和符号矩阵返回的特征向量通常不是单位向量:

    Eigensystem[m] 等价于 {Eigenvalues[m],Eigenvectors[m]}

    如果同时需要特征向量和特征值,仅调用 Eigensystem 通常会更有效:

    任意方阵都满足相似关系:

    任意两个方阵都满足有限特征值的广义相似关系:

    的无限广义特征值对应于位于 内核中的 的特征向量:

    向量 的特征向量,特征值为

    其也在 的零空间中:

    当且仅当 DiagonalizableMatrixQ[m]True 时矩阵 m 有一组完整的特征向量:

    以下矩阵缺少空间 的特征向量,用 表示:

    对于可对角化矩阵,Eigensystem 将函数应用简化为对特征值的应用:

    用对角线化计算矩阵的指数:

    MatrixExp 计算矩阵的指数:

    注意这不仅仅是每项的指数:

    对于可逆矩阵 TemplateBox[{m}, Inverse] 的特征向量及倒数特征值相同:

    因为特征值是按绝对值排序的,所以会给出相同的值但相反的顺序:

    对于解析函数 的特征向量也是 的特征向量,特征值为

    比如, 有相同的特征向量和平方特征值:

    同样, 的特征值为

    实对称矩阵的特征值是实数并且其特征向量为正交:

    该矩阵为对称矩阵:

    检验得知,特征值为实数:

    验证特征向量彼此正交:

    实反对称矩阵的特征值是虚数,其特征向量为正交:

    这个矩阵是反对称矩阵:

    检验得知,特征值为虚数:

    验证特征向量彼此正交:

    酉矩阵的特征值位于单位圆上,并且其特征向量为正交:

    计算特征值和特征向量:

    验证特征值位于单位圆上:

    验证特征向量彼此正交:

    任何正规矩阵的特征向量都为正交:

    特征值可为任意值:

    但是特征向量为正交:

    SingularValueDecomposition[m]m.TemplateBox[{m}, ConjugateTranspose]TemplateBox[{m}, ConjugateTranspose].m 的特征系统构建:

    计算 m.TemplateBox[{m}, ConjugateTranspose] 的特征系统:

    的列为特征向量:

    计算 TemplateBox[{m}, ConjugateTranspose].m 的特征系统:

    的列为特征向量:

    由于 的行数少于列, 的对角项为

    思考一个具有一组完整特征向量的矩阵 m

    JordanDecomposition[m] 返回由特征值和特征向量构建的矩阵 {s,j}

    j 矩阵是具有特征值项的对角矩阵,但可能与 Eigensystem 的顺序不同:

    s 矩阵具有相应的特征向量作为其列:

    对于数值正规矩阵 nSchurDecomposition[n,RealBlockDiagonalFormFalse]

    矩阵 {q,t} 根据特征值和特征向量构建:

    t 矩阵是具有特征值项的对角矩阵,但可能与 Eigensystem 的顺序不同:

    要验证 q 是否将特征向量作为列,请将每个向量的第一项设置为 1. 以消除 qv 之间的相位差:

    如果矩阵共用维度为 的零空间,则其广义特征值的 Indeterminate,且特征向量列表将用零填充:

    的两个广义特征值是 Indeterminate 并产生零向量:

    矩阵 有一维零空间:

    其位于 的零空间中:

    因此, 的一个广义特征值为 Indeterminate 并产生一个零向量:

    可能存在的问题  (5)

    通常符号矩阵会很快演变成复杂情况:

    表达式大小的增速甚至高于指数增长:

    不是所有的矩阵都有完整的特征向量设置:

    JordanDecomposition 进行精确计算:

    SchurDecomposition 进行数字计算:

    构建一个 10,000×10,000 稀疏矩阵:

    特征向量矩阵是一个稠密矩阵,太大以致不易表示:

    计算少量的最大或最小特征值通常是可能的:

    当特征值按稀疏矩阵的迭代方式分组时,可能不会收敛:

    在 1000 次循环之后,循环不会收敛:

    在算法中加入在期望值附近的平移以加速收敛:

    不包括为 FEAST 方法指定的区间的端点.

    设置一个特征值为 3 和 9 的矩阵,在区间 内求特征值和特征向量:

    将区间扩大至 ,FEAST 即可找到特征值 3 和 9 及相应的特征向量:

    Wolfram Research (1988),Eigensystem,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Eigensystem.html (更新于 2024 年).

    文本

    Wolfram Research (1988),Eigensystem,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Eigensystem.html (更新于 2024 年).

    CMS

    Wolfram 语言. 1988. "Eigensystem." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/Eigensystem.html.

    APA

    Wolfram 语言. (1988). Eigensystem. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Eigensystem.html 年

    BibTeX

    @misc{reference.wolfram_2024_eigensystem, author="Wolfram Research", title="{Eigensystem}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Eigensystem.html}", note=[Accessed: 15-November-2024 ]}

    BibLaTeX

    @online{reference.wolfram_2024_eigensystem, organization={Wolfram Research}, title={Eigensystem}, year={2024}, url={https://reference.wolfram.com/language/ref/Eigensystem.html}, note=[Accessed: 15-November-2024 ]}