第 20 章

行列式的三个应用:逆矩阵、Cramer 法则与体积

用代数余子式写出 A⁻¹ 的显式公式,由此得到 Cramer 法则;再把行列式解释为平行体体积与三角形面积。

Three Uses of Determinants: Inverse, Cramer's Rule, and Volume

Cofactors give an explicit formula for A⁻¹, which yields Cramer's rule; then the determinant is interpreted as the volume of a parallelepiped and the area of a triangle.

首发于 2009.05.07中 / EN
系统课程linear-algebradeterminantinverse-matrixvolume
语言
字号
目录
篇内目录

这一讲的位置

前两讲建立行列式的性质与公式,这一讲回答「它有什么用」。三个应用分别是:逆矩阵的显式表达、线性方程组的 Cramer 法则、以及行列式作为体积。

需要先说明:这三个公式主要是理论工具。真正计算时,消元法又快又稳,显式公式并不实用。它们的价值在于让你看到矩阵各部件之间的代数关系。

时间轴

时间内容
0:00第三讲:Cramer 法则、逆矩阵与体积
3:00逆矩阵公式中的余子式与符号
6:092×2 逆矩阵的余子式写法
9:21一般 nn 阶:每一列都是余子式
12:22一行乘以另一行的余子式为何为 0
15:23沿第二行展开做验证
18:27用公式写出 A−1A^{-1}
21:30余子式乘以数等于某个行列式
24:36Cramer 法则及其证明
27:52公式漂亮但不实用
30:53行列式就是体积
33:58单位立方体的体积为 1
37:07从三条性质推出体积性质
40:21一行提出因子与体积缩放
43:25平行四边形的面积
46:37三角形面积是平行四边形的一半
49:44行列式的几何意义

应用一:逆矩阵的伴随矩阵公式

二阶情形给出的线索

[abcd]−1=1ad−bc[d−b−ca]\begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1} = \frac{1}{ad-bc} \begin{bmatrix}d&-b\\-c&a\end{bmatrix}

观察右边的矩阵:

  • dd 是 aa 的代数余子式(划掉第 1 行第 1 列);
  • −b-b 是 cc 的代数余子式(位置 (2,1)(2,1),2+12+1 为奇数,带负号);
  • −c-c 是 bb 的代数余子式;
  • aa 是 dd 的代数余子式。

也就是说,右边是代数余子式矩阵的转置。

一般公式

设 CC 是以 Cij=(−1)i+jdet⁡MijC_{ij}=(-1)^{i+j}\det M_{ij} 为元素的代数余子式矩阵,则

A−1=1det⁡ACTA^{-1} = \frac{1}{\det A} C^{T}

矩阵 CTC^T 也称为 AA 的伴随矩阵(adjugate)。

为什么成立

要证明 A⋅1det⁡ACT=IA \cdot \frac{1}{\det A}C^T = I,只需证明

ACT=(det⁡A)IA C^T = (\det A) I

看左边的 (i,i)(i,i) 元:它是 AA 的第 ii 行与 CTC^T 的第 ii 列(即 CC 的第 ii 行)的内积:

ai1Ci1+ai2Ci2+⋯+ainCina_{i1}C_{i1} + a_{i2}C_{i2} + \cdots + a_{in}C_{in}

这正是沿第 ii 行的余子式展开,等于 det⁡A\det A。

再看 (i,j)(i,j) 元,i≠ji \neq j:它是 AA 的第 ii 行与第 jj 行的余子式的内积。这个和等于「把 AA 的第 jj 行替换成第 ii 行后」所得矩阵的行列式。该矩阵有两行相同,行列式为零。

于是对角线上全是 det⁡A\det A,非对角线上全是零:

ACT=(det⁡A)IA C^T = (\det A) I

两边除以 det⁡A\det A(可逆时非零),即得公式。

一个推论:矩阵微扰如何影响逆

有了显式公式,就能回答「把 a11a_{11} 加 1,A−1A^{-1} 怎么变」这类问题:分别看行列式与各个余子式如何变化即可。消元算法给不出这种结构性理解。

应用二:Cramer 法则

从逆矩阵公式出发

方程组 Ax=bAx=b 的解是 x=A−1bx=A^{-1}b。代入上面的公式:

x=1det⁡ACTbx = \frac{1}{\det A} C^T b

看第 jj 个分量:

xj=1det⁡A∑i=1nCijbix_j = \frac{1}{\det A}\sum_{i=1}^{n} C_{ij} b_i

这个和可以读成「某个矩阵沿第 jj 列的余子式展开」。

BjB_j 是什么

定义 BjB_j 为把 AA 的第 jj 列替换成 bb 后得到的矩阵:

Bj=[a11⋯b1⋯a1n⋮⋮⋮an1⋯bn⋯ann]B_j = \begin{bmatrix} a_{11} & \cdots & b_1 & \cdots & a_{1n}\\ \vdots & & \vdots & & \vdots\\ a_{n1} & \cdots & b_n & \cdots & a_{nn} \end{bmatrix}

沿第 jj 列展开 det⁡Bj\det B_j:

det⁡Bj=b1C1j+b2C2j+⋯+bnCnj\det B_j = b_1 C_{1j} + b_2 C_{2j} + \cdots + b_n C_{nj}

这里的余子式与 AA 的完全相同,因为第 jj 列被替换并不影响划掉第 jj 列后的子矩阵。

于是得到 Cramer 法则:

xj=det⁡Bjdet⁡Ax_j = \frac{\det B_j}{\det A}

为什么它不实用

Cramer 法则需要计算 n+1n+1 个行列式。每个 nn 阶行列式若用展开法,代价是 O(n!)O(n!);即便用消元,也是 O(n3)O(n^3),而 n+1n+1 个就是 O(n4)O(n^4)。消元法一次就能得到全部解,代价 O(n3)O(n^3)。

课堂上有一句很直白的评价:Cramer 法则「要算到天荒地老」。它的意义在于用字母做代数,而不是做数值计算。

应用三:行列式就是体积

陈述

以矩阵的各行(或各列)为棱,张成一个平行体。这个平行体的体积等于行列式的绝对值:

V=∣det⁡A∣V = |\det A|

符号表示定向:交换两行相当于交换两条棱,体积不变,但手性翻转,所以行列式变号。

用三条性质证明

之前证明过:满足那三条性质的量唯一。所以只要验证「体积」也满足这三条,就必然是行列式。

  1. 单位矩阵:三条棱是坐标轴单位向量,张成单位立方体,体积为 1,与 det⁡I=1\det I=1 一致。
  2. 正交矩阵:QQ 的列是标准正交向量,仍然张成单位立方体,只是被旋转了,体积为 1。而 QTQ=I  ⟹  (det⁡Q)2=1  ⟹  det⁡Q=±1Q^TQ=I \implies (\det Q)^2 = 1 \implies \det Q = \pm 1 绝对值为 1,与体积一致。
  3. 某一行乘以 tt:把一条棱拉长 tt 倍,体积乘以 tt,对应性质 3A。
  4. 某一行拆成两项:这就是 3B。二维情形下,它说的是「平行四边形可以被一条对角线分成两个三角形,面积相加」。这是整讲唯一没有完整展开的证明,书中给了图示。

四条合起来,体积与行列式满足同一组定义性质,因此相等。

二维的具体公式

以 (a,b)(a,b) 与 (c,d)(c,d) 为邻边的平行四边形,面积为

∣abcd∣=ad−bc\begin{vmatrix}a&b\\c&d\end{vmatrix} = ad-bc

取绝对值就是面积。三角形是平行四边形的一半:

面积=12∣ad−bc∣\text{面积} = \frac{1}{2}|ad-bc|

与「底乘高」相比,这个公式只需要顶点坐标,不需要算长度、角度或高,也就不会出现根号。

任意三个顶点的三角形

设三个顶点为 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3),则

面积=12∣det⁡[x1y11x2y21x3y31]∣\text{面积} = \frac{1}{2} \left| \det \begin{bmatrix} x_1&y_1&1\\ x_2&y_2&1\\ x_3&y_3&1 \end{bmatrix} \right|

把第二行、第三行分别减去第一行,前两列就变成相对于第一个顶点的坐标差,等价于把三角形平移到原点。这也说明:平移不改变面积。

核心回顾

  • A−1=1det⁡ACTA^{-1} = \frac{1}{\det A}C^T,其中 CC 是代数余子式矩阵。
  • 证明的关键:对角线上是余子式展开,非对角线对应「两行相同」的零行列式。
  • Cramer 法则:xj=det⁡Bj/det⁡Ax_j = \det B_j / \det A,BjB_j 是把第 jj 列换成 bb。
  • 行列式的绝对值等于平行体体积,符号表示定向。
  • 体积满足行列式的三条定义性质,因此两者相等。
  • 顶点坐标给出的面积公式不需要长度与角度。

常见误区

  1. 把伴随矩阵写成 CC 而不是 CTC^T。转置是公式的一部分。
  2. 用 Cramer 法则做数值计算。它只适合推导与理论分析。
  3. 忘记体积取绝对值。行列式可以为负,体积不能。
  4. 把三角形面积公式漏掉 12\frac12。
  5. 认为 A−1A^{-1} 的每个元素都是「同位置的余子式除以行列式」。实际是转置后的对应位置。

理解检验

1. 证明 ACTAC^T 的非对角元为零时,用到了哪条行列式性质?

参考答案:用到「两行相同则行列式为零」(性质 4)。(i,j)(i,j) 元(i≠ji\ne j)是 AA 的第 ii 行与第 jj 行余子式的内积,它等于「把 AA 的第 jj 行换成第 ii 行」所得矩阵沿第 jj 列的余子式展开。该矩阵第 ii 行与第 jj 行相同,行列式为零,所以这个内积为零。注意替换的列不影响余子式,因为展开时第 jj 列本来就被划掉。

2. 对 2×22\times2 矩阵写出 Cramer 法则,并与直接求逆的结果对照。

参考答案:设 A=[abcd]A=\begin{bmatrix}a&b\\c&d\end{bmatrix},det⁡A=ad−bc≠0\det A=ad-bc\ne0,方程 Ax=bA\mathbf{x}=\mathbf{b},b=(b1,b2)\mathbf{b}=(b_1,b_2)。Cramer 法则给出

x1=∣b1bb2d∣det⁡A=db1−bb2ad−bc,x2=∣ab1cb2∣det⁡A=ab2−cb1ad−bc.x_1=\frac{\begin{vmatrix}b_1&b\\b_2&d\end{vmatrix}}{\det A}=\frac{db_1-bb_2}{ad-bc}, \qquad x_2=\frac{\begin{vmatrix}a&b_1\\c&b_2\end{vmatrix}}{\det A}=\frac{ab_2-cb_1}{ad-bc}.

直接求逆:

A−1b=1ad−bc[d−b−ca][b1b2]=1ad−bc[db1−bb2−cb1+ab2],A^{-1}\mathbf{b}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\begin{bmatrix}b_1\\b_2\end{bmatrix} =\frac{1}{ad-bc}\begin{bmatrix}db_1-bb_2\\-cb_1+ab_2\end{bmatrix},

两个分量完全一致。

3. 为什么正交矩阵的行列式只能是 ±1\pm1?

参考答案:QTQ=IQ^TQ=I,两边取行列式并用 det⁡(AB)=det⁡Adet⁡B\det(AB)=\det A\det B:

det⁡(QT)det⁡Q=det⁡I=1.\det(Q^T)\det Q=\det I=1 .

又由 det⁡(QT)=det⁡Q\det(Q^T)=\det Q,得 (det⁡Q)2=1(\det Q)^2=1,所以 det⁡Q=±1\det Q=\pm1。几何上,正交矩阵只旋转或反射,不改变体积,所以体积倍率的绝对值是 1;符号区分是否翻转手性。

4. 一个平行体的体积是 5,把其中一条棱延长为原来的 3 倍,新体积是多少?

参考答案:1515。体积等于行列式的绝对值;把一条棱(一行)乘以 3,由 3A 行列式乘以 3,体积也乘以 3,即 3×5=153\times5=15。其余棱的方向不变,所以只是这一条边变长。

5. 用顶点坐标公式计算 (0,0),(3,0),(0,4)(0,0),(3,0),(0,4) 构成的三角形面积。

参考答案:

S=12∣det⁡[001301041]∣=12∣3⋅4−0⋅0∣=12⋅12=6.S=\frac12\left|\det\begin{bmatrix}0&0&1\\3&0&1\\0&4&1\end{bmatrix}\right| =\frac12\left|3\cdot4-0\cdot0\right| =\frac12\cdot12=6 .

这是直角边为 3 与 4 的直角三角形,与「底乘高的一半」一致。

与前后课程的关系

这一讲结束行列式部分。下一讲开始特征值与特征向量:把 Ax=λxAx=\lambda x 看成「矩阵作用下方向不变的特殊向量」,并用 det⁡(A−λI)=0\det(A-\lambda I)=0 求特征值。行列式在这里再次成为关键工具。

Where this lecture sits

The previous two lectures built the properties and formulas of determinants. This one asks what they are good for: an explicit inverse, Cramer's rule for linear systems, and the determinant as volume.

One caveat comes first: these are primarily theoretical tools. For actual computation, elimination is faster and more stable. Their value is the algebraic relationships they expose.

Timeline

TimeTopic
0:00Third lecture: Cramer's rule, inverses, volume
3:00Cofactors and signs in the inverse formula
6:09The 2×2 inverse via cofactors
9:21The n×nn\times n case: each column is a cofactor column
12:22Why a row times another row's cofactors is zero
15:23Checking by expanding along the second row
18:27Writing A−1A^{-1} with the formula
21:30Cofactors times numbers as determinants
24:36Cramer's rule and its proof
27:52Elegant but not practical
30:53The determinant as a volume
33:58The unit cube has volume 1
37:07Deriving volume properties from the axioms
40:21Factoring a row scales the volume
43:25The area of a parallelogram
46:37A triangle is half a parallelogram
49:44The geometric meaning of the determinant

Application 1: the inverse via cofactors

What the 2×22 \times 2 formula reveals

[abcd]−1=1ad−bc[d−b−ca]\begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1} = \frac{1}{ad-bc} \begin{bmatrix}d&-b\\-c&a\end{bmatrix}

Look at the matrix on the right:

  • dd is the cofactor of aa (delete row 1, column 1);
  • −b-b is the cofactor of cc (position (2,1)(2,1), and 2+12+1 is odd, so it carries a minus);
  • −c-c is the cofactor of bb;
  • aa is the cofactor of dd.

The right-hand matrix is therefore the transpose of the cofactor matrix.

The general formula

Let CC be the cofactor matrix with entries Cij=(−1)i+jdet⁡MijC_{ij}=(-1)^{i+j}\det M_{ij}. Then

A−1=1det⁡ACTA^{-1} = \frac{1}{\det A} C^{T}

The matrix CTC^T is also called the adjugate of AA.

Why it holds

To show A⋅1det⁡ACT=IA \cdot \frac{1}{\det A}C^T = I, it suffices to show

ACT=(det⁡A)IA C^T = (\det A) I

The (i,i)(i,i) entry on the left is the inner product of row ii of AA with column ii of CTC^T, which is row ii of CC:

ai1Ci1+ai2Ci2+⋯+ainCina_{i1}C_{i1} + a_{i2}C_{i2} + \cdots + a_{in}C_{in}

That is exactly the cofactor expansion along row ii, so it equals det⁡A\det A.

Now the (i,j)(i,j) entry with i≠ji \neq j: it is the inner product of row ii of AA with the cofactors of row jj. This sum equals the determinant of the matrix obtained by replacing row jj of AA with row ii. That matrix has two equal rows, so its determinant is zero.

Hence every diagonal entry is det⁡A\det A and every off-diagonal entry is zero:

ACT=(det⁡A)IA C^T = (\det A) I

Dividing by the nonzero determinant gives the formula.

A consequence: how perturbations change the inverse

With an explicit formula you can answer questions like "what happens to A−1A^{-1} if I add 1 to a11a_{11}": examine how the determinant and each cofactor change. Elimination gives no such structural answer.

Application 2: Cramer's rule

Starting from the inverse

The solution of Ax=bAx=b is x=A−1bx=A^{-1}b, so

x=1det⁡ACTbx = \frac{1}{\det A} C^T b

The jj-th component is

xj=1det⁡A∑i=1nCijbix_j = \frac{1}{\det A}\sum_{i=1}^{n} C_{ij} b_i

That sum reads as a cofactor expansion of some matrix along column jj.

What BjB_j is

Define BjB_j as the matrix obtained by replacing column jj of AA with bb:

Bj=[a11⋯b1⋯a1n⋮⋮⋮an1⋯bn⋯ann]B_j = \begin{bmatrix} a_{11} & \cdots & b_1 & \cdots & a_{1n}\\ \vdots & & \vdots & & \vdots\\ a_{n1} & \cdots & b_n & \cdots & a_{nn} \end{bmatrix}

Expanding det⁡Bj\det B_j along column jj:

det⁡Bj=b1C1j+b2C2j+⋯+bnCnj\det B_j = b_1 C_{1j} + b_2 C_{2j} + \cdots + b_n C_{nj}

The cofactors are the same as those of AA, because replacing column jj does not affect the submatrix left after deleting column jj. Therefore Cramer's rule:

xj=det⁡Bjdet⁡Ax_j = \frac{\det B_j}{\det A}

Why it is not practical

Cramer's rule needs n+1n+1 determinants. Each costs O(n!)O(n!) by expansion, or O(n3)O(n^3) by elimination, so the total is O(n4)O(n^4). Elimination produces the whole solution once, in O(n3)O(n^3).

The lecture's verdict is blunt: Cramer's rule is a disastrous way to compute. Its value is doing algebra with letters, not numerical work.

Application 3: the determinant is a volume

The statement

Take the rows (or columns) of the matrix as the edges of a parallelepiped. Its volume is the absolute value of the determinant:

V=∣det⁡A∣V = |\det A|

The sign encodes orientation: exchanging two rows exchanges two edges, leaving the volume unchanged but flipping handedness, so the determinant changes sign.

Proof via the three defining properties

Earlier we proved that a quantity satisfying the three properties is unique. So it suffices to check that "volume" satisfies them too.

  1. Identity. The three edges are the coordinate unit vectors, spanning the unit cube. Volume 1 matches det⁡I=1\det I=1.
  2. Orthogonal matrix. The columns of QQ are orthonormal, so they still span a unit cube, merely rotated, with volume 1. And QTQ=I  ⟹  (det⁡Q)2=1  ⟹  det⁡Q=±1Q^TQ=I \implies (\det Q)^2 = 1 \implies \det Q = \pm 1 The absolute value is 1, matching the volume.
  3. Scaling a row by tt. Stretching one edge by tt multiplies the volume by tt, matching property 3A.
  4. Splitting a row. This is 3B. In two dimensions it says a parallelogram splits along a diagonal into two triangles whose areas add. This is the one step the lecture only sketches; the book draws the figure.

All four hold, so the volume and the determinant satisfy the same defining properties and must be equal.

The two-dimensional formula

A parallelogram with adjacent edges (a,b)(a,b) and (c,d)(c,d) has area

∣abcd∣=ad−bc\begin{vmatrix}a&b\\c&d\end{vmatrix} = ad-bc

The absolute value is the area. A triangle is half of it:

area=12∣ad−bc∣\text{area} = \frac{1}{2}|ad-bc|

Compared with "base times height", this uses only vertex coordinates: no lengths, angles, or heights, and no square roots.

A triangle with arbitrary vertices

For vertices (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3),

area=12∣det⁡[x1y11x2y21x3y31]∣\text{area} = \frac{1}{2} \left| \det \begin{bmatrix} x_1&y_1&1\\ x_2&y_2&1\\ x_3&y_3&1 \end{bmatrix} \right|

Subtracting the first row from the second and third turns the first two columns into coordinate differences relative to the first vertex, which is the same as translating the triangle to the origin. Translation does not change area.

Core review

  • A−1=1det⁡ACTA^{-1} = \frac{1}{\det A}C^T, where CC is the cofactor matrix.
  • The proof: diagonal entries are cofactor expansions; off-diagonal entries come from matrices with two equal rows.
  • Cramer's rule: xj=det⁡Bj/det⁡Ax_j = \det B_j / \det A, with BjB_j replacing column jj by bb.
  • The absolute determinant is the volume; the sign is orientation.
  • Volume satisfies the three defining properties, so it equals the determinant.
  • Vertex coordinates give area without lengths or angles.

Common misconceptions

  1. Writing the adjugate as CC instead of CTC^T. The transpose is part of the formula.
  2. Using Cramer's rule for numerical work. It is for derivations, not computation.
  3. Forgetting the absolute value for volume. Determinants can be negative; volumes cannot.
  4. Dropping the factor of 12\frac12 in the triangle formula.
  5. Thinking each entry of A−1A^{-1} is the same-position cofactor over the determinant. It is the transposed position.

Check your understanding

1. Which determinant property proves that the off-diagonal entries of ACTAC^T vanish?

Reference answer: The property "two equal rows give determinant zero" (property 4). Entry (i,j)(i,j) with i≠ji\ne j is the inner product of row ii of AA with the cofactors of row jj; it equals the cofactor expansion along column jj of the matrix obtained by replacing row jj of AA with row ii. That matrix has two equal rows, so its determinant is zero and the inner product vanishes. Note that replacing a column does not change the cofactors, because column jj is deleted in the expansion anyway.

2. Write Cramer's rule for a 2×22\times2 system and compare it with direct inversion.

Reference answer: Let A=[abcd]A=\begin{bmatrix}a&b\\c&d\end{bmatrix} with det⁡A=ad−bc≠0\det A=ad-bc\ne0 and Ax=bA\mathbf{x}=\mathbf{b}, b=(b1,b2)\mathbf{b}=(b_1,b_2). Cramer gives

x1=∣b1bb2d∣det⁡A=db1−bb2ad−bc,x2=∣ab1cb2∣det⁡A=ab2−cb1ad−bc.x_1=\frac{\begin{vmatrix}b_1&b\\b_2&d\end{vmatrix}}{\det A}=\frac{db_1-bb_2}{ad-bc}, \qquad x_2=\frac{\begin{vmatrix}a&b_1\\c&b_2\end{vmatrix}}{\det A}=\frac{ab_2-cb_1}{ad-bc}.

Direct inversion gives

A−1b=1ad−bc[d−b−ca][b1b2]=1ad−bc[db1−bb2−cb1+ab2],A^{-1}\mathbf{b}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\begin{bmatrix}b_1\\b_2\end{bmatrix} =\frac{1}{ad-bc}\begin{bmatrix}db_1-bb_2\\-cb_1+ab_2\end{bmatrix},

which matches component by component.

3. Why can an orthogonal matrix only have determinant ±1\pm1?

Reference answer: QTQ=IQ^TQ=I; take determinants and use det⁡(AB)=det⁡Adet⁡B\det(AB)=\det A\det B:

det⁡(QT)det⁡Q=det⁡I=1.\det(Q^T)\det Q=\det I=1 .

Since det⁡(QT)=det⁡Q\det(Q^T)=\det Q, we get (det⁡Q)2=1(\det Q)^2=1, hence det⁡Q=±1\det Q=\pm1. Geometrically an orthogonal matrix only rotates or reflects, so it does not change volume; the magnitude of the volume factor is 1, and the sign records whether orientation is reversed.

4. A parallelepiped has volume 5. If one edge is tripled, what is the new volume?

Reference answer: 1515. Volume is the absolute value of the determinant; multiplying one edge (one row) by 3 multiplies the determinant by 3 by property 3A, hence the volume by 3: 3×5=153\times5=15. The other edges keep their directions, so only that edge grows.

5. Use the vertex formula to find the area of the triangle with vertices (0,0),(3,0),(0,4)(0,0),(3,0),(0,4).

Reference answer:

S=12∣det⁡[001301041]∣=12∣3⋅4−0⋅0∣=12⋅12=6.S=\frac12\left|\det\begin{bmatrix}0&0&1\\3&0&1\\0&4&1\end{bmatrix}\right| =\frac12\left|3\cdot4-0\cdot0\right| =\frac12\cdot12=6 .

This is the right triangle with legs 33 and 44, matching "half base times height".

How this connects

This lecture ends the determinant chapter. The next begins eigenvalues and eigenvectors: special vectors whose direction is unchanged by the matrix, found by solving det⁡(A−λI)=0\det(A-\lambda I)=0. The determinant returns as the key tool.

来源