矩阵

数学上，一个$m \times n$的矩阵（matrix）是一个有$m$行（row）$n$列（column）元素的矩形阵列。矩阵里的元素可以是数字或符号甚至是函数。

$$\begin{bmatrix} a_{1 1} & a_{1 2} & a_{1 3} & \dots & a_{1 j} & \dots & a_{1 n} \\ a_{2 1} & a_{2 2} & a_{2 3} & \dots & a_{2 j} & \dots & a_{2 n} \\ a_{3 1} & a_{3 2} & a_{3 3} & \dots & a_{3 j} & \dots & a_{3 n}\\ \vdots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ a_{i 1} & a_{i 2} & a_{i 3} & \dots & a_{i j} & \dots & a_{i n}\\ \vdots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots\\ a_{m 1} & a_{m 2} & a_{m 3} & \dots & a_{m j} & \dots & a_{m n}\end{bmatrix}$$

大小相同（行数列数都相同）的矩阵之间可以相互加减，具体是对每个位置上的元素做加减法。矩阵乘法则较为复杂。两个矩阵可以相乘，当且仅当第一个矩阵的列数等于第二个矩阵的行数。矩阵乘法满足结合律和分配律，但不满足交换律。

矩阵的一个重要用途是解线性方程组。线性方程组中未知量的系数可以排成一个矩阵，加上常数项，则称为增广矩阵。另一个重要用途是表示线性变换，即是诸如$f(x)=4x$之类的线性函数的推广。设定基底后，某个向量$\mathrm{v}$可以表示为$m \times 1$的矩阵，而线性变换$f$可以表示为列数为$m$的矩阵$A$，使得经过变换后得到的向量$f(\mathrm{v})$可以表示成$A\mathrm{v}$的形式。矩阵的特征值和特征向量可以揭示线性变换的深层特性。

矩阵是高等代数学中的常见工具，也常见于统计分析等应用数学学科中。在物理学中，矩阵在力学、电路学、光学和量子物理等领域中都有应用；计算机科学中，三维动画制作也需要用到矩阵。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵，例如稀疏矩阵和准对角矩阵，有特定的快速运算算法。关于矩阵相关理论的发展和应用，请参考矩阵理论。在天体物理、量子力学等领域，也会出现无穷维的矩阵，是矩阵的一种推广。

## 词源

中文中矩阵的概念最早见于1922年。1922年，北京师范大学附属中学数学老师程廷熙在一篇介绍文章中将矩阵译为“纵横阵”。1925年，在科学名词审查会算学名词审查组刊登于《科学》第十卷第四期的审定名词表中，矩阵被翻译为“矩阵式”，方块矩阵翻译为“方阵式”，而各类矩阵如“正交矩阵”、“伴随矩阵”中的“矩阵”则被翻译为“方阵”。1935年，中国数学会审查后，中华民国教育部审定的《数学名词》（并“通令全国各院校一律遵用，以昭划一”）中，“矩阵”作为译名首次出现。1938年，曹惠群在接受科学名词审查会委托就数学名词加以校订的《算学名词汇编》中，认为应当的译名是“长方阵”。1949年中华人民共和国成立后编订的《数学名词》中，则将译名定为“（矩）阵”。1993年，中国自然科学名词审定委员会公布的《数学名词》中，“矩阵”被定为正式译名，并沿用至今。

## 发展

作为解决线性方程的工具，矩阵也有不短的历史。成书最迟在东汉前期的《九章算术》中，已经出现过以矩阵形式表示线性方程组系数以解方程的图例，可视为矩阵的雏形。矩阵正式作为数学中的研究对象出现，则是在行列式的研究发展起来后。逻辑上，矩阵的概念先于行列式，但在历史上则恰好相反。日本数学家关孝和（1683年）与微积分的发现者之一戈特弗里德·威廉·莱布尼茨（1693年）近乎同时独立建立了行列式论。其后行列式作为解线性方程组的工具逐步发展。1750年，加布里尔·克拉默发现了克莱姆法则。

<image>

进入十九世纪后，行列式的研究进一步发展，矩阵的概念也应运而生。奥古斯丁·路易·柯西是最早将行列式排成方阵并将其元素用双重下标表示的数学家。他还在1829年就在行列式的框架中证明了实对称矩阵特征根为实数的结论。其后，詹姆斯·约瑟夫·西尔维斯特注意到，在作为行列式的计算形式以外，将数以行和列的形式作出的矩形排列本身也是值得研究的。在他希望引用数的矩形阵列而又不能用行列式来形容的时候，就用“matrix”一词来形容。而在此之前，数学家已经开始将增广矩阵作为独立的对象引用了。西尔维斯特使用“matrix”一词是因为他希望讨论行列式的子式，即将矩阵的某几行和某几列的共同元素取出来排成的矩阵的行列式，所以实际上“matrix”被他看做是生成各种子式的“母体”：

我在先前的文章中将矩形排布的序列称为“Matrix”，盖因从中可以产生出各种不同的行列式，就如由同一个母体的子宫中孕育出来一样。

阿瑟·凯莱被公认为矩阵论的奠基人。他开始将矩阵作为独立的数学对象研究时，许多与矩阵有关的性质已经在行列式的研究中被发现，这也使得凯莱认为矩阵的引进是十分自然的。他说：“我决然不是通过四元数而获得矩阵概念的；它或是直接从行列式的概念而来，或是作为一个表达线性方程组的方便方法而来的。”他从1858年开始，发表了《矩阵论的研究报告》等一系列关于矩阵的专门论文，研究了矩阵的运算律、矩阵的逆以及转置和特征多项式方程。凯莱还提出了凯莱–哈密顿定理，并验证了3×3矩阵的情况，又说进一步的证明是不必要的。哈密尔顿证明了4×4矩阵的情况，而一般情况下的证明是弗罗贝尼乌斯于1898年给出的。

此后更多数学家开始对矩阵进行研究。埃尔米特证明了如果矩阵等于其复共轭转置，则特征根为实数。这种矩阵后来被称为埃尔米特矩阵。弗罗贝尼乌斯对矩阵的特征方程、特征根、矩阵的秩、正交矩阵、矩阵方程等方面做了大量工作。1878年，在引进了不变因子、初等因子等概念的同时，弗罗贝尼乌斯给出了正交矩阵、相似矩阵和合同矩阵的概念。同年，他探讨了矩阵的最小多项式（最小方程）问题。1894年的论文中，他讨论了矩阵理论和四元数理论的关系。1896年，他给出了凯莱-哈密尔顿定理的完整证明。矩阵理论在19世纪沿着两个方向发展，分别是作为抽象代数结构和作为代数工具描述几何空间的线性变换。矩阵理论为群论和不变量理论的发展。

无限维矩阵的研究始于1884年。庞加莱在两篇不严谨地使用了无限维矩阵和行列式理论的文章后开始了对这一方面的专门研究。1906年，希尔伯特引入无限二次型（相当于无限维矩阵）对积分方程进行研究，极大地促进了无限维矩阵的研究。在此基础上，施密茨、赫林格和特普利茨发展出算子理论，而无限维矩阵成为了研究函数空间算子的有力工具。

## 正式定义

$S$ 是一个集合，那函数 $\mathbf{A}:\{1,\,2,\,\ldots,\,m\} \times \{1,\,2,\,\ldots,\,n\} \to S$ 就会被称为定义在 $S$ 上的 $m \times n$ 矩阵直观上就是用两个数码去标记一堆数学实体（如数字、函数），实际上是有限序列的一种推广。

$\mathbf{A}(i,\,j)$ 被昵称为矩阵 $\mathbf{A}$ 里的元素，通常简记为$\mathbf{A}_{i,j}$、$\mathbf{A}_{i j}$或$\mathbf{A}_{[i,j]}$。除此之外也会用小写字母如 $\mathrm{a}_{i j}$ 来表示元素，以跟矩阵 $\mathbf{A}$ 本身做区别，也可以用 $\mathbf{A} = [\mathrm{a}_{ij}]_{m \times n}$ 或 $\mathbf{A} = [\mathrm{a}_{i,\,j}]_{m \times n}$ 来同时表示元素的记号和$i,j$的上下限。

注意到计算机科学中常会将矩阵取为：

$$\mathbf{A}:\{0,\,1,\,\ldots,\,m\} \times \{0,\,1,\,\ldots,\,n\} \to \N$$

也就是直观上要求数码从 $0$ 开始，这是因为计算偏移量比较方便。

### 以元素表达式表示矩阵

如果表达式 $\mathbf{A}(i,\,j) = T(i,j)$（严格来说是合式公式，其中 $T(i,j)$ 表示$T$为包含变数 $i,\,j$ 的项）可以唯一决定一个矩阵 $\mathbf{A}$，那可将$\mathbf{A}$记为 $[T(i,\,j)]_{m \times n}$。如：

$\mathbf{A}:\{1,\,2,\,\ldots,\,m\} \times \{1,\,2,\,\ldots,\,n\} \to \N$ 且 $\mathbf{A}(i,\,j) = i + j$

就可以表达为 $\mathbf{A} = [i + j]_{m \times n}$。

### 矩阵的集合

根据公理化集合论，可以定义一个函数的集合 $S^{m \times n}$，它囊括所有定义在 $S$ 上的 $m \times n$ 矩阵，也就是说：

$$S^{m\times n} := \left\{ f \,|\, f:\{1,\,2,\,\ldots,\,m\} \times \{1,\,2,\,\ldots,\,n\} \to S \right\}$$

因为矩阵的英文以M开头，也有人将$S^{m \times n}$记为$\mathcal{M}(m,n,S)$或$\mathcal{M}_{m \times n}(S)$，更进一步若$m=n$则记为$\mathcal{M}_m (S)$。

### 行与列

以列举元素的方式表示矩阵时，通常会排成矩形的样子，如以下的 $3 \times 2$ 矩阵：

$$\left\{ \left((1,\,1),\,a \right),\, \left((1,\,2),\,b \right),\, \left((2,\,1),\,c \right),\, \left((2,\,2),\,d \right),\, \left((3,\,1),\,e \right),\, \left((3,\,2),\,f \right) \right\}$$

会排列成：

$$\begin{bmatrix} <pre> a & b \\ c & d \\ e & f </pre> \end{bmatrix}$$

也就是第一个数码标记某元素排在横向的第几排；第二个数码标记纵向的第几排；也就是一般来说，矩阵$\mathbf{A} = [\mathrm{a}_{ij}]_{m \times n}$会如下表示：

<image>

在这种排列表示方法下，英文会将横向的一排称为“row”，纵向一排称为“column”；但两岸对此却有相反的称呼：

地区或语言｜横向｜纵向

英文｜row｜column

中华民国(台湾)｜列｜行

中华人民共和国｜行｜列

而对于任意矩阵$\mathbf{A}:\{1,\,2,\,\ldots,\,m\} \times \{1,\,2,\,\ldots,\,n\} \to S$，若$m=n$ 时这种排列的表示会变成正方形，所以此时特称$\mathbf{A}$为方块矩阵（Square Matrix）；类似地，若$m=1$ 称$\mathbf{A}$为“row vector”（台湾译为列向量）；$n=1$ 称$\mathbf{A}$为“column vector”（台湾译为行向量）。但注意到矩阵只是一种特殊的函数，与具有“加法”与“纯量乘法”的一般向量不必然相同。

## 矩阵的基本运算

矩阵的最基本运算包括矩阵加（减）法，数乘和转置运算。被称为“矩阵加法”、“数乘”和“转置”的运算不止一种。

为了定义矩阵间的“加法乘法”，对都在$S$“取值”的任意矩阵$\mathbf{A}:\{1,\,2,\,\ldots,\,m\} \times \{1,\,2,\,\ldots,\,n\} \to S$来说，需额外要求 $S$ 有“加法”( $+:S^2\to S$ ) 和“乘法”( $\times:S^2\to S$ )，且加法乘法应该符合一些直观的“运算规律”，也就是要求$(S, +, \times)$是个环；如直接取$S$为实数系$\R$或复数系$\C$，这样的矩阵分别被简称为实矩阵或复矩阵。

以下是最常用的基本运算定义：

运算｜定义｜例子

加（减）法｜$m \times n$矩阵$\mathbf{A}$和$\mathbf{B}$的和（差）：$\mathbf{A}\pm\mathbf{B}$为一个$m \times n$矩阵，其中每个元素是$\mathbf{A}$和$\mathbf{B}$相应元素的和（差）， :$(\mathbf{A}\pm\mathbf{B})_{i,j}=\mathbf{A}_{i,j}\pm\mathbf{B}_{i,j}$， :其中$1\leq i \leq m, 1\leq j \leq n$｜$\begin{bmatrix} 1 & 3 & 1 \\ 1 & 0 & 0 \end{bmatrix} + \begin{bmatrix} 0 & 0 & 5 \\ 7 & 5 & 0 \end{bmatrix} = \begin{bmatrix} 1+0 & 3+0 & 1+5 \\ 1+7 & 0+5 & 0+0 \end{bmatrix} = \begin{bmatrix} 1 & 3 & 6 \\ 8 & 5 & 0 \end{bmatrix}$

实数积｜标量$c$与矩阵$\mathbf{A}$的数乘：$c \mathbf{A}$的每个元素是$\mathbf{A}$的相应元素与$c$的乘积， :$(c \mathbf{A})_{i,j}=c\cdot\mathbf{A}_{i,j}$｜$2 \cdot \begin{bmatrix} 1 & 8 & -3 \\ 4 & -2 & 5 \end{bmatrix} = \begin{bmatrix} 2 \cdot 1 & 2\cdot 8 & 2\cdot (-3) \\ 2\cdot 4 & 2\cdot (-2) & 2\cdot 5 \end{bmatrix} = \begin{bmatrix} 2 & 16 & -6 \\ 8 & -4 & 10 \end{bmatrix}$

转置｜$m \times n$矩阵$\mathbf{A}$的转置是一个$n \times m$的矩阵，记为$\mathbf{A}^\mathrm{T}$（有些书中也记为$\mathbf{A}^\mathrm{tr}$或$^\mathrm{t}\mathbf{A}$、$\mathbf{A}'$），其中的第$i$个行向量是原矩阵$\mathbf{A}$的第$i$个列向量；或者说，转置矩阵$\mathbf{A}^\mathrm{T}$第$i$行第$j$列的元素是原矩阵$\mathbf{A}$第$j$行第$i$列的元素， :$(\mathbf{A}^\mathrm{T})_{i,j}= \mathbf{A}_{j,i}$｜$\begin{bmatrix} 1 & 2 & 3 \\ 0 & -6 & 7 \end{bmatrix}^T = \begin{bmatrix} 1 & 0 \\ 2 & -6 \\ 3 & 7 \end{bmatrix}$

矩阵的加法运算满足交换律：$\mathbf{A}+\mathbf{B}=\mathbf{B}+\mathbf{A}$。矩阵的转置和数乘运算对加法满足分配律：

$$(\mathbf{A}+\mathbf{B})^\mathrm{T}=\mathbf{A}^\mathrm{T}+\mathbf{B}^\mathrm{T}$$

$$c(\mathbf{A}+\mathbf{B})=c\mathbf{A}+c\mathbf{B}$$

矩阵加法和数乘两种运算使得$\mathcal{M}(m,n,\mathbb{R})$成为一个$m n$维的实数线性空间。而转置和数乘运算满足类似于结合律的规律：

$$c(\mathbf{A}^\mathrm{T})=c(\mathbf{A})^\mathrm{T}$$

矩阵也有类似行列式的初等变换，即对矩阵的某些行和某些列进行三类操作：交换两行／列，将一行／列的每个元素都乘以一个固定的量，以及将一行／列的每个元素乘以一个固定的量之后加到另一行／列的相应元素上。这些操作在求其逆矩阵时有用。

## 矩阵乘法

<image>

两个矩阵的乘法仅当第一个矩阵$\mathbf{A}$的列数(column)和另一个矩阵$\mathbf{B}$的行数(row)相等时才能定义。如$\mathbf{A}$是$m \times n$矩阵和$\mathbf{B}$是$n \times p$矩阵，它们的乘积$\mathbf{AB}$是一个$m \times p$矩阵，它的一个元素

$[\mathbf{AB}]_{i,j} = A_{i,1}B_{1,j} + A_{i,2}B_{2,j} + \cdots + A_{i,n}B_{n,j} = \sum_{r=1}^n A_{i,r}B_{r,j}$

其中$1\leq i\leq m,\ 1\leq j\leq p'$'。

例如

$$\begin{bmatrix} <pre> 1 & 0 & 2 \\ -1 & 3 & 1 \\ \end{bmatrix} </pre> \times <pre> \begin{bmatrix} 3 & 1 \\ 2 & 1 \\ 1 & 0 \end{bmatrix} </pre> = <pre> \begin{bmatrix} (1 \times 3 + 0 \times 2 + 2 \times 1) & (1 \times 1 + 0 \times 1 + 2 \times 0) \\ (-1 \times 3 + 3 \times 2 + 1 \times 1) & (-1 \times 1 + 3 \times 1 + 1 \times 0) \\ \end{bmatrix} </pre> = <pre> \begin{bmatrix} 5 & 1 \\ 4 & 2 \\ \end{bmatrix}$$

矩阵的乘法满足结合律和对矩阵加法的分配律（左分配律和右分配律）：

- 结合律：$(\mathbf{AB})\mathbf{C}=\mathbf{A}(\mathbf{BC})$
- 左分配律：$(\mathbf{A}+\mathbf{B})\mathbf{C}=\mathbf{AC}+\mathbf{BC}$
- 右分配律：$\mathbf{C}(\mathbf{A}+\mathbf{B})=\mathbf{CA}+\mathbf{CB}$

矩阵的乘法与数乘运算之间也满足类似结合律的规律；与转置之间则满足倒置的分配律。

$$c(\mathbf{AB})=(c\mathbf{A})\mathbf{B}=\mathbf{A}(c\mathbf{B})$$

$$(\mathbf{AB})^\mathrm{T}=\mathbf{B}^\mathrm{T}\mathbf{A}^\mathrm{T}$$

矩阵乘法不满足交换律。一般来说，矩阵$\mathbf{A}$及$\mathbf{B}$的乘积$\mathbf{AB}$存在，但$\mathbf{BA}$不一定存在，即使存在，大多数时候$\mathbf{AB}\neq\mathbf{BA}$。比如下面的例子：

$\begin{bmatrix} 1 & 2\\ 3 & 4\\ \end{bmatrix} \begin{bmatrix} 0 & 1\\ 0 & 0\\ \end{bmatrix}= \begin{bmatrix} 0 & 1\\ 0 & 3\\ \end{bmatrix}, \qquad \quad \begin{bmatrix} 0 & 1\\ 0 & 0\\ \end{bmatrix} \begin{bmatrix} 1 & 2\\ 3 & 4\\ \end{bmatrix}= \begin{bmatrix} 3 & 4\\ 0 & 0\\ \end{bmatrix}$。

这一特性使得矩阵代数与常见的一些数域（有理数、实数、复数）以及环（多项式环、整数环）都不同。给定一个$n$维的方块矩阵$\mathbf{A}$，与$\mathbf{A}$交换的所有方块矩阵构成一个环，称为$\mathbf{A}$的交换子环。这些矩阵也构成$\mathcal{M}(n,\mathbb{R})$的一个子空间，称为$\mathbf{A}$的可交换空间。与$\mathcal{M}(n,\mathbb{R})$中所有矩阵交换的矩阵只有形如$\lambda \mathbf{I}_n , \, \lambda \in \mathbb{R}$的矩阵（称为数乘矩阵）。其中的$\mathbf{I}_n$是单位矩阵，也就是主对角线上的元素为1，其它元素为0的矩阵。任意矩阵$\mathbf{M}$乘以单位矩阵都得到自身：$\mathbf{M} \mathbf{I}_n = \mathbf{M} = \mathbf{I}_n \mathbf{M}$。

除了最常见的矩阵乘法定义以外，也有一些较不常见的矩阵乘法，比如阿达马乘积和克罗内克乘积。

### 线性方程组

矩阵乘法的一个基本应用是在线性方程组上。线性方程组是方程组的一种，它符合以下的形式：

$$\begin{cases}a_{1,1}x_{1} + a_{1,2}x_{2} + \cdots + a_{1,n}x_{n}= b_{1} \\ <pre> a_{2,1}x_{1} + a_{2,2}x_{2} + \cdots + a_{2,n}x_{n}= b_{2} \\ \vdots \quad \quad \quad \vdots \\ a_{m,1}x_{1} + a_{m,2}x_{2} + \cdots + a_{m,n}x_{n}= b_{m} \end{cases}$$

其中的$a_{1,1}, \, a_{1,2}$以及$b_{1}, \, b_{2}$等等是已知的常数，而$x_{1}, \, x_{2}$等等则是要求的未知数。运用矩阵的方式，可以将线性方程组写成一个向量方程：

$$\mathbf{A} \mathbf{x} = \mathbf{b}$$

其中，$\mathbf{A}$是由方程组里未知量的系数排成的$m \times n$矩阵，$\mathbf{x}$是含有$n$个元素的行向量，$\mathbf{b}$是含有$m$个元素的行向量。

$$\mathbf{A} = \begin{bmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{bmatrix},\quad \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix},\quad \mathbf{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{bmatrix}$$

这个写法下，将原来的多个方程转化成一个向量方程，在已知矩阵$\mathbf{A}$和向量$\mathbf{b}$的情况下，求未知向量$\mathbf{x}$。

### 线性变换

矩阵是线性变换的便利表达法。矩阵乘法的本质在联系到线性变换的时候最能体现，因为矩阵乘法和线性变换的合成有以下的联系：

以$\mathbb{R}^n$表示所有长度为$n$的行向量的集合。每个$m \times n$的矩阵$\mathbf{A}$都代表了一个从$\mathbb{R}^n$射到$\mathbb{R}^m$的线性变换。反过来，对每个线性变换$f : \mathbb{R}^n \rightarrow \mathbb{R}^m$，都存在唯一m×n矩阵$\mathbf{A}_f$使得对所有$\mathbb{R}^n$中的元素$x$，$f(x) = A_f x$。这个矩阵$\mathbf{A}_f$第$i$行第$j$列上的元素是正则基向量$\mathbf{e}_j = (0, \cdots ,0, 1,0, \cdots 0)^T$（第j个元素是1，其余元素是0的向量）在$f$映射后的向量$f(\mathbf{e}_j)$的第$i$个元素。

也就是说，从$\mathbb{R}^n$射到$\mathbb{R}^m$的线性变换构成的向量空间$\mathcal{L} \left( \mathbb{R}^n , \mathbb{R}^m \right)$上存在一个到$\mathcal{M}(m,n,\mathbb{R})$的一一映射：$f \mapsto A_f$

以下是一些典型的2维实平面上的线性变换对平面向量（图形）造成的效果，以及它们对应的2维矩阵。其中，仅有伸缩（或压缩）变换会影响变换后的图形面积。每个线性变换将蓝色图形映射成绿色图形；平面的原点(0, 0)用黑点表示。此外，矩阵的线性变换亦可如同函数一般，以基本的伸缩、镜射、旋转、推移等，组成“合成变换”。

推移，幅度m=1.25.｜水平镜射变换｜“挤压”变换，压缩程度r=3/2｜伸缩，3/2倍｜旋转，左转30°

$\begin{bmatrix} 1 & 1.25 \\ 0 & 1 \end{bmatrix}$｜$\begin{bmatrix} -1 & 0 \\ 0 & 1 \end{bmatrix}$｜$\begin{bmatrix} \frac{3}{2} & 0 \\ 0 &\frac{2}{3} \end{bmatrix}$｜$\begin{bmatrix} \frac{3}{2} & 0 \\ 0 & \frac{3}{2} \end{bmatrix}$｜$\begin{bmatrix}\cos(\frac{\pi}{6}) & -\sin(\frac{\pi}{6})\\ \sin(\frac{\pi}{6}) & \cos(\frac{\pi}{6})\end{bmatrix}$

<image>

｜

<image>

｜

<image>

｜

<image>

｜

<image>

设有$k \times m$的矩阵$\mathbf{B}$代表线性变换$g:\mathbf{R}^m\rightarrow\mathbf{R}^k$，则矩阵积$\mathbf{BA}$代表了线性变换的复合$g\circ f$，因为

$$(g\circ f)(x)=g(f(x))=g(\mathbf{Ax})=\mathbf{B}(\mathbf{Ax})=(\mathbf{BA})\mathbf{x}$$

矩阵的秩是指矩阵中线性无关的行／列向量的最大个数，同时也是矩阵对应的线性变换的像空间的维度。秩－零化度定理说明矩阵的列数量等于矩阵的秩与零空间维度之和。

## 方块矩阵

行数与列数相同的矩阵称为方块矩阵，简称方阵。所有$n$维的方块矩阵构成一个线性空间，这个空间对矩阵乘法也是封闭的，因此也是一个代数。方阵$\mathbf{A}$称为可逆或非奇异的，如果存在另一个方阵$\mathbf{B}$，使得

$$\mathbf{AB}=\mathbf{I}_n$$

成立。这时候可以证明也有$\mathbf{BA}=\mathbf{I}_n$成立，可将矩阵$\mathbf{B}$称为$\mathbf{A}$的逆矩阵。一个矩阵$\mathbf{A}$的逆矩阵如果存在的话，就是唯一的，通常记作$\mathbf{A}^{-1}$。

矩阵$\mathbf{A}$的元素$A_{i,i}$称为其主对角线上的元素。方块矩阵$\mathbf{A}$的所有主对角线元素之和称为它的迹，写作$\mathrm{tr}(\mathbf{A})$。尽管矩阵的乘法不满足交换律，方阵相乘时交换顺序会导致乘积变化，但它们的迹不会变，即$\mathrm{tr}(\mathbf{AB})=\mathrm{tr}(\mathbf{BA})$

$\scriptstyle\operatorname{tr}(\mathsf{AB}) = \sum_{i=1}^m \sum_{j=1}^n A_{ij} B_{ji} = \operatorname{tr}(\mathsf{BA})$。除此以外，矩阵转置的迹等于其自身的迹，$\mathrm{tr}(\mathbf{A})=\mathrm{tr}(\mathbf{A}^\mathrm{T})$。

如果一个方阵只有主对角线上的元素不是0，其它都是0，那么称其为对角矩阵。如果主对角线上方的元素都是0，那么称为下三角矩阵；反之如果主对角线下方的元素都是0，那么称为上三角矩阵。例如$n=3$的时候，这些矩阵分别写作：

$<pre> \begin{bmatrix} d_{11} & 0 & 0 \\ 0 & d_{22} & 0 \\ 0 & 0 & d_{33} \\ \end{bmatrix} </pre>$（对角矩阵），$<pre> \begin{bmatrix} l_{11} & 0 & 0 \\ l_{21} & l_{22} & 0 \\ l_{31} & l_{32} & l_{33} \\ \end{bmatrix} </pre>$（下三角矩阵）和$<pre> \begin{bmatrix} u_{11} & u_{12} & u_{13} \\ 0 & u_{22} & u_{23} \\ 0 & 0 & u_{33} \\ \end{bmatrix}$（上三角矩阵）。

### 行列式

<image>

方块矩阵$\mathbf{A}$的行列式是一个将其映射到标量的函数，记作$\det(\mathbf{A})$或$\mathbf{|A|}$，反映了矩阵自身的一定特性。一个方阵的行列式等于0当且仅当该方阵不可逆。系数是实数的时候，二维（三维）方阵$\mathbf{A}$的行列式的绝对值表示单位面积（体积）的图形经过$\mathbf{A}$对应的线性变换后得到的图形的面积（体积），而它的正负则代表了对应的线性变换是否改变空间的定向：行列式为正说明它保持空间定向，行列式为负则说明它逆转空间定向。

2×2矩阵的行列式是

$\begin{vmatrix}a&b\\c&d\end{vmatrix} = ad-bc$。

3×3矩阵的行列式由6项组成。更高维矩阵的行列式则可以使用莱布尼兹公式写出，或使用拉普拉斯展开由低一维的矩阵行列式递推得出。

两个矩阵相乘，乘积的行列式等于它们的行列式的乘积：$\det (\mathbf{AB})=\det(\mathbf{A})\cdot\det(\mathbf{B})$。将矩阵的一行／列乘以某个系数加到另一行／列上不改变矩阵的行列式，将矩阵的两行／列互换则使得其行列式变号。用这两种操作可以将矩阵变成一个上三角矩阵或下三角矩阵，而后两种矩阵的行列式就是主对角线上元素的乘积，因此能方便地计算。运用行列式可以计算线性方程组的解（见克莱姆法则）。

### 特征值与特征向量

$n \times n$的方块矩阵$\mathbf{A}$的一个特征值和对应特征向量是满足

$\mathbf{Av}=\lambda\mathbf{v}$的标量$\lambda$以及非零向量$\mathbf{v}$。特征值和特征向量的概念对研究线性变换很有帮助。一个线性变换可以通过它对应的矩阵在向量上的作用来可视化。一般来说，一个向量在经过映射之后可以变为任何可能的向量，而特征向量具有更好的性质。假设在给定的基底下，一个线性变换对应着某个矩阵$\mathbf{A}$，如果一个向量$\mathbf{x}$可以写成矩阵的几个特征向量的线性组合：

$$\mathbf{x} = c_1 \mathbf{x}_{\lambda_1} + c_2 \mathbf{x}_{\lambda_2} + \cdots + c_k \mathbf{x}_{\lambda_k}$$

其中的$\mathbf{x}_{\lambda_i}$表示此向量对应的特征值是$\lambda_i$，那么向量$\mathbf{x}$经过线性变换后会变成：

$$\mathbf{Ax} = c_1 \lambda_1 \mathbf{x}_{\lambda_1} + c_2 \lambda_2 \mathbf{x}_{\lambda_2} + \cdots + c_k \lambda_k \mathbf{x}_{\lambda_k}$$

可以清楚地知道变换后向量的结构。

另一个等价的特征值定义是：标量$\lambda$为特征值，如果矩阵$\mathbf{A} - \lambda \mathbf{I}_n$是不可逆矩阵。根据不可逆矩阵的性质，这个定义也可以用行列式方程描述：$\lambda$为特征值，如果

$\det(\lambda \mathbf{I}_n - \mathbf{A}) = 0.\ $这个定义中的行列式可以展开成一个关于$\lambda$的n阶多项式，叫做矩阵A的特征多项式，记为$p_{\mathbf{A}}$。特征多项式是一个首一多项式（最高次项系数是1的多项式）。它的根就是矩阵$\mathbf{A}$特征值。哈密尔顿－凯莱定理说明，如果用矩阵$\mathbf{A}$本身代替多项式中的不定元$\lambda$，那么多项式的值是零矩阵：

$p_{\mathbf{A}}(\mathbf{A}) = 0$。

### 对称

转置等于自己的矩阵，即满足$\mathbf{A}=\mathbf{A}^\mathrm{T}$的方块矩阵$\mathbf{A}$叫做对称矩阵。满足$\mathbf{A}=-\mathbf{A}^\mathrm{T}$的矩阵称为反对称矩阵。在复系数矩阵中，则有埃尔米特矩阵的概念：满足$\mathbf{A}=\mathbf{A}^*$的方块矩阵称为埃尔米特矩阵，其中的$\mathbf{A}^*$表示$\mathbf{A}$的共轭转置矩阵。

根据谱定理，实对称矩阵和复埃尔米特矩阵拥有特征基，即由矩阵的特征向量组成的基底。因此任何向量都能表示成矩阵特征向量的线性组合。此外，这两类矩阵的特征值都是实数。

### 正定性

矩阵表达式｜$\begin{bmatrix} \frac{1}{4} & 0\\ 0 & -\frac{1}{4}\end{bmatrix}$｜$\begin{bmatrix} \frac{1}{4} & 0\\ 0 & \frac{1}{4}\end{bmatrix}$

正定性｜不定矩阵｜正定矩阵

对应二次型｜$Q(x, y) = \frac14 (x^2 - y^2)$｜$Q(x, y) = \frac14 (x^2 + y^2)$

取值图像｜

<image>

说明｜正定矩阵对应的二次型的取值范围永远是正的，不定矩阵对应的二次型取值则可正可负

$n \times n$的实对称矩阵$\mathbf{A}$如果满足对所有非零向量$\mathbf{x}\in \mathbf{R}^n$，对应的二次型

$$Q(\mathbf{x})=\mathbf{x}^\mathrm{T}\mathbf{Ax}$$

函数值都是正数，就称$\mathbf{A}$为正定矩阵。类似地还有半正定矩阵、负定矩阵、不定矩阵等概念。对称矩阵的正定性与其特征值密切相关。矩阵是正定的当且仅当其特征值都是正数。

## 矩阵的计算

矩阵在许多学科领域中都有应用，在很多时候，除了需要知道矩阵的理论性质以外，还需要计算矩阵的数值。为了矩阵的计算能够足够精确与快捷，数值线性代数中专门有研究矩阵的数值计算方法。与其它的数值计算一样，矩阵的数值计算注重的主要也是算法的复杂度和数值稳定性。矩阵的数值计算可以使用直接计算，也可以用迭代算法，例如在计算方块矩阵的特征值时，可以从一个非零向量$x_0$开始，通过特定迭代方法得到一个逼近某个特征向量的向量序列。

测量一个算法的复杂度是指估计此算法需要的基本运算如数字的加法和乘法的次数，或者找出它的一个上界。例如按照定义计算的话，两个$n$阶方阵的乘法需要$n^3$次数字乘法计算，因为其乘积是一个$n$阶方阵，有$n^2$个元素，计算每个元素需要$n$次数字乘法。如果使用施特拉森算法的话，可以将数字乘法的次数减低到大约$n^{2.8}$次。此外，编程语言或环境本身对算法的复杂度也会有影响。

某些特殊类型的矩阵携带的数据量比一般矩阵要少，同时带来的信息量比一般矩阵多。一个重要的例子是稀疏矩阵，这类矩阵中绝大部分的元素是零。有关稀疏矩阵的计算，如计算稀疏矩阵$\mathbf{A}$的线性方程组$\mathbf{Ax}=\mathbf{b}$时，可以使用一些专用于稀疏矩阵的特殊算法（比如共轭梯度法），减低计算复杂度。

算法的数值稳定性是指输入值的小变化不会让计算结果产生很大偏差。例如计算逆矩阵（亦称反方阵、反矩阵，记作$\mathbf{A}^{-1}$）时，可以用以下的算法（其中$\mathrm{adj}(\mathbf{A})$表示$\mathbf{A}$的伴随矩阵，$\mathrm{det}(\mathbf{A})$表示$\mathbf{A}$的行列式）

$$\mathbf{A}^{-1}=\frac{\operatorname{adj}(\mathbf{A})}{\det(\mathbf{A})}$$

这个算法在$\mathbf{A}$的行列式接近0的时候会引起很大的舍入误差。而如果使用全选主元的高斯消去法求逆，则在复杂度降低的同时能够避免舍入误差，保证数值稳定性。

### 矩阵分解

矩阵研究的一大方向是将一般的矩阵用一些比较“简单”的矩阵来表示。这种表示方式称为矩阵的变换与分解。矩阵变换与分解的方法有很多，它们的目的都是希望化简后的矩阵保持原矩阵的某些性质，比如行列式、秩或逆矩阵，而形式相对简单，因而能用容易地进行讨论和计算，或者能使得某些算法更易执行。

LU分解将矩阵分解为一个下三角矩阵$\mathbf{L}$和一个上三角矩阵$\mathbf{U}$的乘积。分解后的矩阵可以方便某些问题的解决。例如解线性方程组时，如果将系数矩阵$\mathbf{A}$分解成$\mathbf{A}=\mathbf{LU}$的形式，那么方程的求解可以分解为求解$\mathbf{Ly}=\mathbf{b}$和$\mathbf{Ux}=\mathbf{y}$两步，而后两个方程可以十分简洁地求解（详见三角矩阵中“向前与向后替换”一节）。又例如在求矩阵的行列式时，如果直接计算一个矩阵$\mathbf{A}$的行列式，需要计算大约$(n+1)!$次加法和乘法；而如果先对矩阵做$\mathbf{LU}$分解，再求行列式，就只需要大约$n^3$次加法和乘法，大大降低了计算次数。这是因为做$\mathbf{LU}$分解的复杂度大约是$n^3$次，而后注意到$\mathbf{L}$和$\mathbf{U}$是三角矩阵，所以求它们的行列式只需要将主对角线上元素相乘即可。

<image>

高斯消去法也是一种矩阵分解方法。通过初等变换操作，可以将任何矩阵变为阶梯形矩阵，而每个操作可以看做是将矩阵乘上一个特定的初等矩阵。奇异值分解则是另一种分解方法，将一个矩阵表示成3个矩阵的乘积：$\mathbf{A}=\mathbf{UDV}$。其中$\mathbf{U}$和$\mathbf{V}$是酉矩阵，$\mathbf{D}$是对角矩阵。

特征分解是将一个矩阵$\mathbf{A}$写成$\mathbf{PDP}^{-1}$的形式，其中$\mathbf{P}$是一个可逆矩阵，$\mathbf{D}$是对角矩阵。如果$\mathbf{A}$的特征分解存在，就称它是可对角化的矩阵。不能对角化的矩阵，也有类似的分解方式。任意的矩阵$\mathbf{A}$都可以写成$\mathbf{PJP}^{-1}$的形式，其中的矩阵$\mathbf{J}$是若尔当标准型。若尔当标准型是矩阵的一种，它与对角矩阵类似，只不过主对角线上的元素不是数值，而是若尔当块：主对角线上为同一元素$\lambda_i$，主对角线右上一行的次对角线上都是1，其它元素都是0的矩阵（见右图）。特征分解可以方便计算矩阵的幂次和多项式，如要计算$\mathbf{A}^n$：

$$\mathbf{A}^n=(\mathbf{PDP}^{-1})^n=\mathbf{PDP}^{-1}\mathbf{PDP}^{-1}\ldots\mathbf{PDP}^{-1}=\mathbf{PD}^n\mathbf{P}^{-1}$$

而其中对角矩阵的幂次$\mathbf{D}^n$要比$\mathbf{A}^n$容易计算得多。同理还可计算矩阵指数：$e^\mathbf{A}$（在线性微分方程中有应用）、矩阵对数和矩阵的平方根。为了提高算法的数值稳定性，还有舒尔分解等矩阵分解方法。

## 矩阵的推广

矩阵的元素除了可以是实数和复数以外，也可以任意环或域中元素。在线性代数中，矩阵的性质可以经由有限维的线性空间中的线性变换定义。更广泛的，无限维空间中的线性算子，则可以定义更广泛的无穷维矩阵。矩阵的另一种推广是张量。标量可以看成零维方式排列的数据（只有一个“点”），向量可以看成是一维方式排列的数据（若干个“点”排成的“线段”），矩阵可以看成是二维方式排列的数据（若干个“线段”排成的“矩形”），而张量的概念则包括了这几种排列方式。在张量的概念中，标量是零维张量，向量是一维张量，矩阵是二维张量，而更高维方式排列的数据方式就是高维张量。

### 一般域和环上的矩阵

矩阵的元素除了可以是实数和复数以外，还可以是任何能够使得矩阵的运算律成立的元素。首先，矩阵的元素可以是任意一个域（即能够进行“加减乘除”运算的集合）中元素。例如编码理论中会出现系数为有限域中元素的矩阵，以及有理数系数的矩阵。如果矩阵的系数所在域$\mathbf{K}$不是代数闭域，那么在求矩阵的特征值时，由于特征值是相应的特征多项式的根，可能不在系数域$\mathbf{K}$中，而是在系数域的某个扩域L中。反过来，如果考虑扩域$\mathbf{L/K}$，以及$\mathbf{L}$中的一个元素$\alpha$，以及$\mathbf{L}$中线性变换$m_{\alpha} : \, x \mapsto \alpha x$，那么由于$m_{\alpha}$也是一个$\mathbf{K}$-线性变换，它可以表示成一个$n \times n$的$\mathbf{K}$系数矩阵$X_{\alpha}$，其中的$n$是扩域$\mathbf{L/K}$的阶数。$\alpha$是这个矩阵的特征值，这个矩阵的特征多项式$p_{X_{\alpha} }$是$\alpha$在$\mathbf{K}$中的最小多项式$\operatorname{min}_{\mathbf{K}} (\alpha)$的幂次：

$p_{X_{\alpha} } = \left( \operatorname{min}_{\mathbf{K}} (\alpha) \right)^r \,$。其中的$r$是扩域$\mathbf{L/K}$ $(\alpha)$的阶数。

更一般的情况是矩阵的元素属于某个环$\mathbf{R}$。环是比域更广泛的概念，只要求其中元素能够进行加减法和乘法运算（不一定能定义除法）。给定一个环$\mathbf{R}$，$\mathcal{M}(m,n,\mathbf{R})$中的矩阵之间可以相互加减以及相乘，所以$\mathcal{M}(m,n,\mathbf{R})$关于矩阵的加法和乘法也构成一个环，称为矩阵环。$n$维方阵的环$\mathcal{M}(n,\mathbf{R})$与左$\mathbf{R}$-模$\mathbf{R}^n$的自同态环同构。

若$\mathbf{R}$是交换环，则$\mathcal{M}(m,\mathbf{R})$是一个带单位元的$\mathbf{R}$-代数，满足结合律，但不满足交换律。其中的矩阵仍然可以用莱布尼兹公式定义行列式。一个矩阵可逆当且仅当其行列式为环$\mathbf{R}$中的可逆元（域上的矩阵可逆只需行列式不等于0）。

### 矩阵与线性变换

前面已经提到，所有$\mathbf{R}^n\rightarrow \mathbf{R}^m$的线性变换都对应着一个$\mathcal{M}(m,n,\mathbf{R})$中的矩阵。更一般地，给定了基底后，任意两个有限维线性空间之间的线性映射$f:\mathbf{V}\rightarrow\mathbf{W}$也对应着一个矩阵$\mathbf{A}_f=(a_{ij})$。设空间$\mathbf{V}$和$\mathbf{W}$的基底分别是$\mathbf{v}_1,\ldots,\mathbf{v}_n$和$\mathbf{w}_1,\ldots,\mathbf{w}_m$，那么

对任意 $j=1,\ldots,n$，$f(\mathbf{v}_j) = \sum_{i=1}^m a_{i,j} \mathbf{w}_i$

矩阵$\mathbf{A}_f$实际上“记录”了$\mathbf{V}$中每个基底向量经过变换后得到的$\mathbf{W}$中的像在基底$(\mathbf{w}_1,\ldots,\mathbf{w}_m)$下的形式。要注意矩阵的内容取决于基底的选择。可以说，矩阵是线性变换f在特定“角度”（基底）下的“素描”。不同的“角度”下，描述$f$的矩阵是不同的，但这些矩阵都是相似矩阵。与矩阵有关的基本概念都可以用线性变换的层面来解释，比如一个矩阵的转置可以用f的对偶变换$f^*:\mathbf{W}^*\rightarrow\mathbf{V}^*$来表示。

当矩阵的元素是带单位元的环$\mathbf{R}$中的元素时，$m \times n$的$\mathbf{R}$-矩阵对应的则是$\mathbf{R}$-自由模$\mathbf{R}^m$和$\mathbf{R}^n$之间的$\mathbf{R}$-线性变换。$n=m$的时候，这些$\mathbf{R}$-线性变换可以相互复合，因此$n$维的$\mathbf{R}$-矩阵环能够与$\mathbf{R}$-自同态环$\mathbf{R}^n$同构。

### 矩阵群

群是比环更宽泛的代数结构，只需要集合配备一个满足结合律的二元运算，即将两个群内元素映射到群内一元素的运算。矩阵群是指矩阵关于矩阵乘法组成的群。显然，只有方块矩阵才能构成乘法群。所有$n$维的可逆方阵构成一个群，称为$n$阶一般线性群。由于群内每个元素都必须是可逆的，任意的矩阵群都必然是一般线性群的子群。

能够在矩阵乘法和求逆矩阵运算下保持的性质都可以用来刻画一定的矩阵群。例如所有行列式为1的矩阵可以构成一个群，称为$n$阶特殊线性群。所有$n$维的正交矩阵，即满足：

$$\mathbf{M}^\mathrm{T}\mathbf{M}=\mathbf{I}$$

矩阵$\mathbf{M}$也构成一个群，称为$n$阶正交群。正交矩阵得名于它在$\mathbf{R}^n$中对应的线性变换具有保角性，也就是说对基本的点积，满足

$(\mathbf{Mv})\cdot(\mathbf{Mw})=\mathbf{v}\cdot\mathbf{w}$

每个有限群都同构于一个矩阵群。实际上，每个有限群都同构于某个置换群的子群，而每个置换群都同构于一个矩阵群（见置换群的正则群表示）鉴于矩阵群的性质可以通过与矩阵相关的更多手段更好地理解，常常通过研究矩阵群来研究一个有限群。相关的理论称为群表示论。

### 无限维矩阵

无穷维矩阵可以指行数或列数无穷大，或两者都是无穷大的矩阵。尽管这样的矩阵无法完整写出，但只要知道每行每列的元素的值，仍然可以对它进行矩阵操作和运算。这里矩阵的行数和列数甚至不一定需要是可数集。需要注意的是，无穷维矩阵的乘法涉及到无穷级数求和，因此只有在相关的无穷级数收敛的时候，才能定义矩阵的乘积。无限维矩阵也可以是方块矩阵，定义为行标记集合与列标记集合相同的矩阵（如$\mathbb{N} \times \mathbb{N}$）。

无限矩阵无法定义通常意义上的行列式，因此可逆矩阵不一定是方块矩阵，同理，酉矩阵也不一定要是方块矩阵。

### 空矩阵

空矩阵是指行数或列数为零的矩阵。空矩阵的定义可以完善一些关于零维空间的约定。包括约定一个矩阵与空矩阵相乘得到的也是空矩阵，两个$n \times 0$和$0 \times p$的空矩阵相乘是一个$n \times p$的零矩阵（所有元素都是零的矩阵）。0×0的空矩阵的行列式约定为1，所以它也可以有逆矩阵，约定为它自己。

### 分块矩阵

分块矩阵是指一个大矩阵分割成“矩阵的矩阵”。举例，以下的矩阵

$$P = \begin{bmatrix} 1 & 2 & 3 & 2\\ 1 & 2 & 7 & 5\\ 4 & 9 & 2 & 6\\ 6 & 1 & 5 & 8\end{bmatrix}$$

可分割成4个2×2的矩阵

$$P_{11} = \begin{bmatrix} 1 & 2 \\ 1 & 2 \end{bmatrix} , P_{12} = \begin{bmatrix} 3 & 2\\ 7 & 5\end{bmatrix} , P_{21} = \begin{bmatrix} 4 & 9 \\ 6 & 1 \end{bmatrix} , P_{22} = \begin{bmatrix} 2 & 6\\ 5 & 8\end{bmatrix}$$

$P = \begin{bmatrix} P_{11} & P_{12}\\ P_{21} & P_{22}\end{bmatrix}$。将矩阵分块可以使得矩阵结构清晰，在某些时候可以方便运算、证明。两个大小相同、分块方式也相同的矩阵可以相加。行和列的块数符合矩阵乘法要求时，分块矩阵也可以相乘。将矩阵分块相乘的结果与直接相乘是一样的。用分块矩阵求逆，可以将高阶矩阵的求逆转化为多次低阶矩阵的求逆。

## 应用

矩阵在许多领域都应用广泛。有些时候用到矩阵是因为其表达方式紧凑，例如在博弈论和经济学中，会用收益矩阵来表示两个博弈对象在各种决策方式下的收益。文本挖掘和索引典汇编的时候，比如在TF-IDF方法中，也会用到文件项矩阵来追踪特定词汇在多个文件中的出现频率。

复数可以用实系数的2×2矩阵表示：

$$a + ib \leftrightarrow \begin{bmatrix} a & -b \\ b & a \end{bmatrix},$$

这种表示法与复数的加减法、乘法都相兼容。比如，2×2的旋转矩阵可以用来表示模长为1的复数，一个向量乘以此旋转矩阵可以视作一个复数乘以该模长为1的复数。对四元数也有类似的矩阵表达。

早期的密码技术如希尔密码也用到矩阵。然而，矩阵的线性性质使这类密码相对容易破解。计算机图像处理也会用到矩阵来表示处理对象，并且用放射旋转矩阵来计算对象的变换，实现三维对象在特定二维屏幕上的投影。多项式环上的矩阵在控制论中有重要作用。

化学中也有矩阵的应用，特别在使用量子理论讨论分子键和光谱的时候。具体例子有解罗特汉方程时用重叠矩阵和福柯矩阵来得到哈特里－福克方法中的分子轨道。

### 图论

<image>

图论中可以用矩阵描述一个有限图。这个矩阵叫做相关矩阵的邻接矩阵，记录了图的每两个顶点之间是否有边连接。对简单图来说，邻接矩阵的元素只取两个值：0和1,第$i$行第$j$列上取值为0，表示没有从第$i$个顶点连到第$j$个顶点的边，取值为1则说明有。如果是一般情况的话，第$i$行第$j$ 列上的取值是从第$i$个顶点连到第j个顶点的边的数目。距离矩阵则是表示图中各顶点之间距离的矩阵。在研究互联网等复杂网络的时候，邻接矩阵常常会是稀疏矩阵。因此网络理论中有专门研究稀疏矩阵的方面。

### 数学分析

在多元函数微积分学中，对二阶偏导数存在的函数$f:\mathbf{R}^n\rightarrow\mathbf{R}$，可以定义其海森矩阵：

$H(f)(x) = \left[ \frac {\partial^2 f}{\partial x_i \, \partial x_j}(x) \right ]$。

<image>

严格来说，仅当函数在某一点上的二阶偏导数存在，才能定义这一点上的海森矩阵。海森矩阵给出了函数在这一点的变化率方面的信息。当给定的点$\mathbf{x}=(x_1,\ldots,x_n)$是函数平稳点（即函数$f$在这一点上的一阶偏导数$\frac{\partial f }{ \partial x_i}$都是0）时，就需要利用海森矩阵来查看函数在这一点周围的增长特性。多元函数在点$\mathbf{x}$的泰勒展开是：

$$f(x+h) = f(x) + \nabla f (x) \cdot h + \frac12 h^T H(f)(x) h + \circ \left( \| x \|^3\right)$$

如果函数在点x的一阶偏导数都是0，那么$\nabla f = 0$，所以函数在x附近的变化率取决于海森矩阵$H(f)(x)$的性质。如果$H(f)(x)$是正定矩阵，那么函数在点x取得局部最小值，如果是负定矩阵，则函数在x取得局部最大值。在这类情况下，关于函数f的条件最优化问题可以转变为关于海森矩阵的二次规划问题。

矩阵在多元函数微积分中的另一个应用是雅可比矩阵。函数$f:\mathbf{R}^n\rightarrow\mathbf{R}^m$在某一点x上的一阶偏导数存在时，可以定义它在这点上的雅可比矩阵：

$J_f(x) = \left [\frac {\partial f_i}{\partial x_j}(x) \right ]_{1 \leq i \leq m, 1 \leq j \leq n}$。如果$n>m$，而$J_f(x)$又是满秩矩阵（秩等于$m$）的话，根据反函数定理，可以找到函数$f$在x附近的一个局部的反函数。

偏微分方程理论中，二阶拟线性偏微分方程可以根据最高次偏导项系数构成的矩阵的正定性分类。假设有一个二阶拟线性偏微分方程：

$(\mathbf{E}) \qquad \qquad \sum_{1\leqslant i, j \leqslant n} a_{ij} \frac {\partial^2 f}{\partial x_i \, \partial x_j} + \sum_{i=1}^n b_i \frac {\partial f}{\partial x_i} + cf = g \qquad$ 并假设$a_{ij} =a_{ji}$

记矩阵$\mathbf{A}=\left[ a_{ij} \right]_{1 \leqslant i , j \leqslant n}$。如果矩阵$\mathbf{A}$是正定或负定矩阵，那么就称方程$(\mathbf{E})$为椭圆形偏微分方程；如果$\mathbf{A}$不可逆，就称$(\mathbf{E})$为抛物形偏微分方程，如果$\mathbf{A}$可逆而且恰有$n-1$个特征值同号，就称$(\mathbf{E})$为双曲型偏微分方程。其它情况下也称$(\mathbf{E})$为超双曲形偏微分方程。不同类型的方程解的形式也不一样。

用数值方法解偏微分方程时更需要用到矩阵。一个重要的方法是有限元方法，在求解各种物理中遇到的偏微分方程时广泛使用。有限元方法的基本思想是用一系列“简单”函数的线性组合来“逼近”偏微分方程的精确解。这些“简单”函数通常是指将求解区域分割成一定数量的“小块”后，仅在某一“小块”上非零的分段线性函数。选定了网格和“简单”函数后，可以求解关于刚度矩阵的方程得到近似解。有限元理论中证明了在满足一定的条件下，近似解将随着网格趋于精细而弱收敛到精确解。

### 概率论与统计

概率论中常用到随机矩阵，即行向量是概率向量（即所有的元素都在0和1之间，并且加起来等于1的向量）的矩阵。随机矩阵可用来定义有限概率空间中的马尔可夫链。设随机变量$X_n$是某个马尔可夫链在$t=n$时刻的状态，所有可能的状态$S =\left\{s_1, s_2, \cdots , s_m\right\}$称为状态空间，那么随机矩阵$M_{n}^{n+1}$则记录了假设已知$X_n$的可能情况下$X_{n+1}$做各种取值的可能性。$M_{n}^{n+1}$的第$i$行第$j$列上的元素表示当$X_n = s_j$的时候，$X_{n+1} = s_i$的可能性。$M_{n}^{n+1}$的第$j$行记录了从$X_n = s_j$转移到$X_{n+1}$各种状态的可能性。所以$M_{n}^{n+1}$叫做$t=n$时刻的转移矩阵。如果马尔可夫链的转移矩阵不随时刻变化，则称为齐次马尔可夫链。这时马尔可夫链的吸引态可以通过计算转移矩阵的特征向量得到。

统计学中也会用到各种不同的矩阵。描述统计学中常常需要用矩阵的形式来描述数据样本，显得更为紧凑。几个随机变量的协方差矩阵表示它们之间的协方差关系，在某种程度上表示了它们相互间的关联程度（但不绝对）。

统计学中用到矩阵的另一个地方是线性回归中的最小二乘法分析。当观测到随机样本$(Y_i, X_{i1}, \ldots, X_{ip}), \, i = 1, \ldots, n$时，线性回归法的目标是希望找到以下的线性关系：

$$Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \ldots + \beta_p X_{ip} + \varepsilon_i, \qquad i = 1, \ldots, n$$

即将变量$\mathbf{Y}$表示成$\mathbf{X}$的分量的线性组合与一个已知的随机误差的和。这个表示可以写成矩阵的形式，并利用矩阵的奇异值分解来分析。

另一种随机矩阵（random matrix）是指每个元素都是随机变量的矩阵，这些随机变量可以都遵循同一个分布，或各自遵循不同的分布。一个常见的例子是全部元素都是相互独立的标准正态分布随机变量的随机矩阵。这种随机矩阵在数论和物理中也有应用。

### 物理学上的对称性及线性变换

线性变换及其所对应的对称，在现代物理学中有着重要的角色。例如，在量子场论中，基本粒子是由狭义相对论的洛伦兹群所表示，具体来说，即它们在旋量群下的表现。内含泡利矩阵及更通用的狄拉克矩阵的具体表示，在费米子的物理描述中，是一项不可或缺的构成部分，而费米子的表现可以用旋量来表述。描述最轻的三种夸克时，需要用到一种内含特殊酉群SU(3)的群论表示；物理学家在计算时会用一种更简便的矩阵表示，叫盖尔曼矩阵，这种矩阵也被用作SU(3)规范群，而强核力的现代描述──量子色动力学的基础正是SU(3)。还有卡比博-小林-益川矩阵（CKM矩阵）：在弱相互作用中重要的基本夸克态，与指定粒子间不同质量的夸克态不一样，但两者却是成线性关系，而CKM矩阵所表达的就是这一点。

### 量子态的线性组合

1925年海森堡提出第一个量子力学模型时，使用了无限维矩阵来表示理论中作用在量子态上的算子。这种做法在矩阵力学中也能见到。例如密度矩阵就是用来刻画量子系统中“纯”量子态的线性组合表示的“混合”量子态。

另一种矩阵是用来描述构成实验粒子物理基石的散射实验的重要工具。当粒子在加速器中发生碰撞，原本没有相互作用的粒子在高速运动中进入其它粒子的作用区，动量改变，形成一系列新的粒子。这种碰撞可以解释为结果粒子状态和入射粒子状态线性组合的标量积。其中的线性组合可以表达为一个矩阵，称为S矩阵，其中记录了所有可能的粒子间相互作用。

### 简正模式

矩阵在物理学中的另一类泛应用是描述线性耦合调和系统。这类系统的运动方程可以用矩阵的形式来表示，即用一个质量矩阵乘以一个广义速度来给出运动项，用力矩阵乘以位移向量来刻画相互作用。求系统的解的最优方法是将矩阵的特征向量求出（通过对角化等方式），称为系统的简正模式。这种求解方式在研究分子内部动力学模式时十分重要：系统内部由化学键结合的原子的振动可以表示成简正振动模式的叠加。描述力学振动或电路振荡时，也需要使用简正模式求解。

### 几何光学

在几何光学里，可以找到很多需要用到矩阵的地方。几何光学是一种忽略了光波波动性的近似理论，这理论的模型将光线视为几何射线。采用近轴近似，假若光线与光轴之间的夹角很小，则透镜或反射元件对于光线的作用，可以表达为2×2矩阵与向量的乘积。这向量的两个分量是光线的几何性质（光线的斜率、光线跟光轴之间在主平面的垂直距离）。这矩阵称为光线传输矩阵，内中元素编码了光学元件的性质。对于折射，这矩阵又细分为两种：“折射矩阵”与“平移矩阵”。折射矩阵描述光线遇到透镜的折射行为。平移矩阵描述光线从一个主平面传播到另一个主平面的平移行为。

由一系列透镜或反射元件组成的光学系统，可以很简单地以对应的矩阵组合来描述其光线传播路径。

### 电子学

在电子学里，传统的网目分析或节点分析会获得一个线性方程组，这可以以矩阵来表示与计算。

很多种电子元件的电路行为可以用矩阵来描述。设定$A$为输入向量，其两个分量为输入电压$v_1$与输入电流$i_1$。设定$B$为输出向量，其两个分量为输出电压$v_2$与输出电流$i_2$。这电子元件的电路行为可以描述为$B=H\cdot A$；其中，$H$是2×2矩阵，内有一个阻抗元素$h_{12}$、一个导纳元素$h_{21}$、两个无量纲元素$h_{11}$与$h_{22}$。这样，电路的计算可以约化为矩阵计算。

## 外部链接

百科全书

历史

- MacTutor: Matrices and determinants
- Matrices and Linear Algebra on the Earliest Uses Pages
- Earliest Uses of Symbols for Matrices and Vectors

在线书籍

线上矩阵计算器

- , a freeware package for matrix algebra and statistics
- Operation with matrices in R (determinant, track, inverse, adjoint, transpose)