Eigenvectors

Eigenvectors[m]

给出矩阵 m 的特征向量列表.

Eigenvectors[{m,a}]

给出矩阵 m 的关于 a 的特征向量.

Eigenvectors[m,k]

给出矩阵 m 的前 k 个特征向量.

Eigenvectors[{m,a},k]

给出前 k 个特征向量.

更多信息和选项

  • 如果 m 包含近似实、复数,Eigenvectors 求出数值特征向量.
  • 对于近似数值矩阵 m,特征向量是规范化的.
  • 对于精确或者符号矩阵 m,特征向量没有规范化. »
  • 对应于退化特征值的特征向量的选择是线性无关的. »
  • 对于 nn 的矩阵,Eigenvectors 总是返回长度为 n 的列表. 列表包含有矩阵的每一个独立特征向量,需要的话会增补适当数量的零向量. »
  • 带有数值特征值的特征向量是按特征值的绝对值递减排列.
  • 矩阵 m 的特征向量是非零特征向量 ,其中对于某些标量 .. »
  • m 关于 a 的广义特征向量是使得 的那些 . »
  • 当矩阵 ma 具有维数为 的共用零空间时,它们的广义特征向量中的 将作为零向量返回. »
  • Eigenvectors[m,spec] 等同于 Take[Eigenvectors[m],spec].
  • Eigenvectors[m,UpTo[k]] 给出 k 个特征向量,如果个数不足,则尽可能多的给出特征向量.
  • 可在 Eigenvectors 中使用 SparseArray 对象和结构化数组.
  • Eigenvectors 具有下列选项和设置:
  • 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 子章节中找到.

范例

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

基本范例  (4)

机器精度的数值特征向量:

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

精确的特征向量:

符号特征向量:

范围  (19)

基本用法  (6)

求机器精度矩阵的特征向量:

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

复矩阵的特征向量:

精确特征向量:

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

CenteredInterval 矩阵的特征向量:

找出 m 的随机代表 mrep 的特征向量:

验证重新排序和缩放后,vecs 包含 rvecs

特征向量的子集  (5)

计算与三个最大的特征值对应的特征向量:

可视化这三个向量:

与三个最小的特征值对应的特征向量:

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

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

前两个向量都对应于特征值 4:

第三个对应于特征值 3:

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

广义的特征向量  (4)

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

广义的精确特征向量:

以有限的精度计算结果:

计算符号广义特征向量:

求与两个最小的广义特征值对应的广义特征向量:

特殊矩阵  (4)

稀疏矩阵的特征向量:

结构化矩阵的特征向量:

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

HilbertMatrix 的特征向量:

选项  (10)

Cubics  (1)

3×3 Vandermonde 矩阵:

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

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

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 方法可用于实对称或者复 Hermitian 机器精度矩阵. 方法对于在给定区间内求特征向量很有用.

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

  • "ContourPoints"select the number of contour points
    "Interval"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" 指定区间:

    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]

    不可对角化矩阵的特征向量:

    所有特征向量的空间维度小于矩阵的长度 3:

    计算一个由 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 方程解的稳定曲线:

    Physics  (4)

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

    找到特征向量并正规化以计算正确投影:

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

    的相对概率为 的为

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

    求得并正规化特征向量:

    计算特征值,能级为

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

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

    首先计算惯性矩:

    主轴为 的特征向量:

    主矩是 的特征值:

    验证轴为正交:

    四面体的质心在原点:

    可视化四面体及其主轴:

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

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

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

    可从关于 的广义特征向量推导出模的形状:

    计算广义特征值:

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

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

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

    属性和关系  (15)

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

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

    Eigenvectors[m]Eigensystem 返回的对的第二个元素:

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

    特征向量求解 ,其中 是特征多项式的根, 是单位矩阵:

    使用 CharacteristicPolynomial 求根:

    为了验证等式,带入使用 NullSpace 找到的齐次方程的解:

    广义特征向量或者求解 ,其中 是广义特征多项式的根,或者对于某些标量 服从

    使用 CharacteristicPolynomial,只有一个根:

    满足条件

    时, 满足

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

    以下矩阵缺少由 表示的特征向量:

    对于可逆矩阵 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}

    s 矩阵将特征向量作为其列,其顺序可能与 Eigenvectors 不同:

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

    矩阵 q 由特征向量构建,其顺序可能与 Eigenvectors 不同:

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

    如果矩阵共用一个维度为 的零空间,则 Eigenvectors[m1,m2] 返回 个零向量:

    关于自身的广义特征值用两个零向量填充:

    矩阵 有一维零空间:

    位于 的零空间中:

    因此, 关于 的广义特征向量用一个零向量填充:

    可能存在的问题  (5)

    EigenvectorsEigenvalues 不能保证绝对按相应顺序给出结果:

    第六个和第七个特征值基本上相等但正负相反:

    在此特定情况下,第七个特征向量不对应于第七个特征值:

    它对应的是第六个特征值:

    Eigensystem[mat] 确保相应的结果始终匹配:

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

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

    不是所有矩阵都有完整的一组特征向量:

    使用 JordanDecomposition 进行精确计算:

    使用 SchurDecomposition 进行数值计算:

    构造 10,000×10,000 的稀疏矩阵:

    特征向量矩阵是密集矩阵,大到无法列举:

    计算最大特征值的特征向量更简单一些:

    当特征向量很相近时,对稀疏矩阵的迭代可能无法收敛:

    迭代 1000 次后没有收敛:

    你可以给该算法一个接近的预期特征值,以加快收敛:

    巧妙范例  (1)

    带状矩阵的前四个特征向量:

    前四个特征向量的图:

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

    文本

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

    CMS

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

    APA

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

    BibTeX

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

    BibLaTeX

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