免费矩阵对角化计算器

[
]

特征值

选择矩阵大小,输入所有元素,然后点击计算。

矩阵对角化:概念与重要性

方阵是按行和列排列的数字矩形阵列,行数和列数相等。矩阵对角化是一种变换,将方阵 AA 重写为 A=SDS−1A = S D S^{-1} 的形式,其中 DD 是对角矩阵,包含 AA 的特征值,SS 的列是对应的特征向量。这种所谓的 SDS⁻¹ 分解(有时也称为 SDS‑1 分解)是特征值分解的核心,也是线性代数中最强大的工具之一。

对角化的优势在于,一旦有了表示 A=SDS−1A = S D S^{-1},很多计算就变得简单得多。例如矩阵幂:Ak=SDkS−1A^{k} = S D^{k} S^{-1},其中 DkD^{k} 是通过对每个对角元素取 kk 次幂得到。这比将原始矩阵连乘 kk 次要快得多。同样,矩阵指数、逆(当没有特征值为零时)以及矩阵函数都受益于这种分解。

该过程适用于任何可对角化的方阵,通过在线矩阵对角化计算器,您可以获得 2×2、3×3 甚至更大矩阵的分解。

对角矩阵及其优势

对角矩阵是除主对角线外所有元素均为零的方阵。其 n×nn\times n 形式如下:

D=(d10⋯00d2⋯0⋮⋮⋱⋮00⋯dn).D = \begin{pmatrix} d_1 & 0 & \cdots & 0 \\ 0 & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{pmatrix}.

使用对角矩阵很方便,因为:

  • 两个对角矩阵的和与积仍是对角矩阵。
  • 对角矩阵的转置等于自身。
  • 将对角矩阵求幂只需将每个对角元素取相应次幂:Dk=diag⁡(d1k,d2k,…,dnk)D^{k} = \operatorname{diag}(d_1^{k}, d_2^{k}, \dots, d_n^{k})。

这些性质正是我们追求对角化的原因:一旦矩阵对角化,繁重的任务就变得简单了。

特征值与特征向量:基石

对于一个 n×nn \times n 的方阵 AA,特征值 λ\lambda 和特征向量 v\mathbf{v}(非零)满足

Av=λv.A \mathbf{v} = \lambda \mathbf{v}.

整理得 (A−λI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0},其中 II 是单位矩阵。对于非平凡解,A−λIA - \lambda I 的行列式必须为零:

det⁡(A−λI)=0.\det(A - \lambda I) = 0.

此方程是 AA 的特征多项式。它的次数等于矩阵的阶数:对于 2×22\times2 矩阵是二次,对于 3×33\times3 矩阵是三次,等等。

求解特征多项式得到特征值。在复数域上,一个 n×nn \times n 矩阵总有 nn 个特征值(计入重数)。但是,如果限制在实数范围内,有些矩阵可能没有实特征值——这样的矩阵在 R\mathbb{R} 上不可对角化,但如果它们有足够的特征向量,在 C\mathbb{C} 上可能可对角化。

一个矩阵可对角化当且仅当每个特征值的几何重数(线性无关特征向量的个数)等于代数重数(特征多项式中的指数)。当一个特征值的重数大于 1 但没有足够的独立特征向量时,该矩阵是亏损的且不能对角化。

逐步对角化过程

要对一个 n×nn \times n 的方阵 AA 进行对角化,请遵循以下步骤:

  1. 计算特征多项式:求出 det⁡(A−λI)\det(A - \lambda I) 作为关于 λ\lambda 的多项式。
  2. 求出特征值:解 det⁡(A−λI)=0\det(A - \lambda I) = 0。记特征值为 λ1,λ2,…,λn\lambda_1, \lambda_2, \dots, \lambda_n,计入重数。
  3. 对于每个特征值,求出特征向量:将 λ\lambda 代入 (A−λI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0} 并解齐次线性方程组。自由参数的个数等于几何重数。
  4. 检验可对角化性:如果线性无关特征向量的总数是 nn,则矩阵可对角化;否则不可。
  5. 构建矩阵:
    • 将特征向量作为列放入 SS(顺序可任意选择)。
    • 将对应的特征值按相同顺序放在 DD 的对角线上。
  6. 验证:确认 A=SDS−1A = S D S^{-1}。

可对角化矩阵求解器或特征值分解计算器可以自动执行步骤 1-5,尤其是在手动计算繁琐的大型系统中。

对角化一个 3×3 矩阵——完整示例

让我们将过程应用于具体矩阵

A=(10021−10−11).A = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 1 & -1 \\ 0 & -1 & 1 \end{pmatrix}.

特征多项式

det⁡(A−λI)=det⁡(1−λ0021−λ−10−11−λ).\det(A - \lambda I) = \det\begin{pmatrix} 1-\lambda & 0 & 0 \\ 2 & 1-\lambda & -1 \\ 0 & -1 & 1-\lambda \end{pmatrix}.

按第一行展开:

(1−λ)[(1−λ)2−(−1)(−1)]=(1−λ)[(1−λ)2−1].(1-\lambda)\big[(1-\lambda)^2 - (-1)(-1)\big] = (1-\lambda)\big[(1-\lambda)^2 - 1\big].

化简:

(1−λ)(λ2−2λ)=λ(1−λ)(λ−2).(1-\lambda)(\lambda^2 - 2\lambda) = \lambda(1-\lambda)(\lambda-2).

因此特征多项式为 λ(1−λ)(λ−2)=0\lambda(1-\lambda)(\lambda-2)=0,得到特征值 λ=0\lambda=0、λ=1\lambda=1 和 λ=2\lambda=2。所有特征值互异,所以矩阵可对角化。

特征向量

对于每个特征值,我们解 (A−λI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0}。

  • λ=0\lambda = 0:方程组简化为 x=0x=0,y=ty = t,z=tz = t。取 t=1t=1 得 v1=(0,1,1)T\mathbf{v}_1 = (0, 1, 1)^T。
  • λ=1\lambda = 1:方程组给出 y=0y=0 和 x=0.5zx = 0.5z。令 z=1z=1 得 v2=(0.5,0,1)T\mathbf{v}_2 = (0.5, 0, 1)^T。(等价的整数缩放版本如 (1,0,2)T(1,0,2)^T 同样有效。)
  • λ=2\lambda = 2:方程组给出 x=0x=0 和 y=−zy = -z。取 z=1z=1 得 v3=(0,−1,1)T\mathbf{v}_3 = (0, -1, 1)^T。

三个特征向量线性无关,确认矩阵可对角化。

构建 SS 和 DD

将特征向量按顺序放入 SS(与特征值的顺序对应):

S=(00.5010−1111),D=(000010002).S = \begin{pmatrix} 0 & 0.5 & 0 \\ 1 & 0 & -1 \\ 1 & 1 & 1 \end{pmatrix}, \qquad D = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}.

可以验证 A=SDS−1A = S D S^{-1}。

使用分解

现在计算 AA 的高次幂变得简单。例如,A20=SD20S−1A^{20} = S D^{20} S^{-1},其中

D20=(020000120000220)=(00001000220).D^{20} = \begin{pmatrix} 0^{20} & 0 & 0 \\ 0 & 1^{20} & 0 \\ 0 & 0 & 2^{20} \end{pmatrix} = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2^{20} \end{pmatrix}.

将 SS 乘以此结果再乘 S−1S^{-1} 即可得到 A20A^{20},比暴力乘法省力得多。

使用矩阵对角化计算器

一个在线矩阵对角化计算器(也称为特征值分解计算器或查找矩阵对角化工具)可以让您即时完成整个过程。您只需输入矩阵的元素;工具会返回特征值、特征向量以及矩阵 SS 和 DD。它适用于 2×2、3×3 以及更大的方阵,还能指示矩阵是否不可对角化。

这种计算器在特征多项式难以分解或处理大型系统时特别有用。它们免去了繁重的算术运算,同时仍提供完整的分解。

总结

矩阵对角化利用特征值和特征向量将方阵表示为 A=SDS−1A = S D S^{-1}。所得的对角形式简化了幂、指数和许多其他矩阵函数。关键步骤包括:通过特征多项式求特征值,获得足够的独立特征向量,以及组装 SS 和 DD。无论您手动计算还是使用在线矩阵对角化求解器,理解这一过程对于高等线性代数及其在微分方程、物理学和数据科学中的应用至关重要。

常见问题

1. 如何判断矩阵是否可对角化?

一个方阵可对角化当且仅当它有 n 个线性无关的特征向量,其中 n 是其阶数。当所有特征值互异时这总是成立。对于重特征值,必须检查几何重数(线性无关特征向量的个数)是否等于代数重数(特征多项式中的指数)。如果某个特征值达不到,则该矩阵不可对角化。

2. 矩阵对角化的步骤是什么?

主要步骤是: 1. 计算特征多项式 det(A−λI)。 2. 求解特征值(多项式的根)。 3. 对于每个特征值,解 (A−λI)v = 0 以得到特征向量。 4. 如果存在足够多的线性无关特征向量,则矩阵可对角化。 5. 由特征向量构成 S,由特征值构成 D。 6. 验证 A = S D S⁻¹。

3. 对角化如何帮助计算矩阵的高次幂?

一旦有了 A = S D S⁻¹,则 Aᵏ = S Dᵏ S⁻¹。由于 D 是对角矩阵,Dᵏ 只需将对角元素取 k 次幂。这比将原始矩阵连乘 k 次要快得多,尤其是当 k 很大时。

4. 具有复特征值的矩阵是否可对角化?

在复数域上是可以的。每个 n×n 矩阵都有 n 个计入重数的特征值(根据代数基本定理)。如果每个特征值都有足够的特征向量(几何重数等于代数重数),则该矩阵在 ℂ 上可对角化。没有实特征值的实矩阵在 ℝ 上不可对角化,但在 ℂ 上可能可对角化。

使用方法

  1. 选择矩阵大小:2x2 或 3x3。
  2. 在输入字段网格中输入所有矩阵元素。
  3. 点击计算以查看特征值、特征向量以及对角分解 A = S·D·S⁻¹。