什么是矩阵
矩阵(Matrix)是一个数学概念,通常指的是一个由数字、符号或表达式排列成的矩形阵列。在数学中,矩阵是一个二维数组,可以表示为:
其中,𝑎𝑖𝑗 是矩阵中的元素,𝑚 是矩阵的行数,𝑛是矩阵的列数。如果矩阵的行数和列数相等,即 𝑚=𝑛,这样的矩阵称为方阵。
矩阵操作是线性代数中的基本运算,包括但不限于以下几种:
1. 矩阵加法(Matrix Addition):两个同型的矩阵对应元素相加。
2. 矩阵减法(Matrix Subtraction):两个同型的矩阵对应元素相减。
3. 矩阵乘法(Matrix Multiplication ):两个矩阵的乘积,第一个矩阵的行与第二个矩阵的列对应元素相乘后求和。
4. 矩阵转置(Matrix Transposition):矩阵的行和列互换,得到新矩阵。
5. 矩阵的逆( Inverse of a Matrix):对于方阵,如果存在一个矩阵B,使得 𝐴×𝐵=𝐼(I是单位矩阵),则B是A的逆矩阵。
6. 矩阵的行列式(Determinant of a Matrix):方阵的一个特殊值,可以提供关于矩阵的一些重要信息,如是否可逆。
7. 矩阵的特征值和特征向量(Matrix Addition):特征值是方阵 𝐴 的一个标量 𝜆,使得存在非零向量 𝑣满足 𝐴×𝑣=𝜆×𝑣。
8. 矩阵的迹(Trace of a Matrix):方阵主对角线上元素的和。
9. 矩阵的秩(Matrix Addition):矩阵中线性独立行或列的最大数目。
矩阵在数学、物理学、工程学、计算机科学等领域有着广泛的应用,如解决线性方程组、变换和投影、数据压缩等。
这篇文章中,我们只讲解在GeoToolkit中用到的矩阵运算:矩阵加法、矩阵减法、矩阵乘法、矩阵转置、矩阵的逆和矩阵的行列式。
矩阵的运算
矩阵加法(Matrix Addition)
矩阵的加法是指两个同型矩阵(即行数和列数相同的矩阵)对应元素相加的操作。结果矩阵的元素是两个原矩阵对应元素和的集合。以下是矩阵加法的详细解释和示例。
矩阵加法的定义:
设有两个同型的矩阵 𝐴 和 𝐵,它们的大小为 𝑚×𝑛,矩阵 𝐴 和 𝐵 的加法表示为 𝐶=𝐴+𝐵,其运算规则为:
𝐶𝑖𝑗=𝐴𝑖𝑗+𝐵𝑖𝑗
其中,𝐶𝑖𝑗 是结果矩阵 𝐶 中第 𝑖 行第 𝑗 列的元素,𝐴𝑖𝑗 和 𝐵𝑖𝑗 分别是矩阵 𝐴 和 𝐵 中第 𝑖 行第 𝑗 列的元素。
示例:
假设有两个 2x3 的矩阵 𝐴 和 𝐵:
矩阵 𝐴 加上矩阵 𝐵 的结果是:
在这个例子中,我们可以看到:
● 第一列的结果是 1+(−1)=0 和 4+2=6。
● 第二列的结果是 2+1=3 和 5−1=4。
● 第三列的结果是 3−1=2 和 6+1=7。
注意事项:
● 矩阵加法要求参与运算的矩阵必须是同型的,即它们必须具有相同的行数和列数。
● 矩阵加法满足交换律,即 𝐴+𝐵=𝐵+𝐴。
● 结果矩阵的类型与参与运算的矩阵相同。
矩阵减法(Matrix Subtraction)
矩阵的减法是指两个同型矩阵(即行数和列数相同的矩阵)对应元素相减的操作。结果矩阵的元素是两个原矩阵对应元素差值的集合。以下是矩阵减法的详细解释和示例。
矩阵减法的定义:
设有两个同型的矩阵 𝐴 和 𝐵,它们的大小为 𝑚×𝑛,矩阵 𝐴 和 𝐵 的减法表示为 𝐶=𝐴−𝐵,其运算规则为:
𝐶𝑖𝑗=𝐴𝑖𝑗−𝐵𝑖𝑗
其中,𝐶𝑖𝑗 是结果矩阵 𝐶 中第 𝑖 行第 𝑗 列的元素,𝐴𝑖𝑗 和 𝐵𝑖𝑗 分别是矩阵 𝐴 和 𝐵 中第 𝑖 行第 𝑗 列的元素。
示例:
假设有两个 2x3 的矩阵 𝐴 和 𝐵:
矩阵 𝐴A 减去矩阵 𝐵B 的结果是:
在这个例子中,我们可以看到:
● 第一列的结果是 1−(−1)=2 和 4−2=2。
● 第二列的结果是 2−1=1 和 5+1=6。
● 第三列的结果是 3−0=3 和 6−1=5。
注意事项:
● 矩阵减法要求参与运算的矩阵必须是同型的,即它们必须具有相同的行数和列数。
● 矩阵减法不满足交换律,即 𝐴−𝐵≠𝐵−𝐴。
● 结果矩阵的类型与参与运算的矩阵相同。
矩阵乘法(Matrix Multiplication )
矩阵乘法是一种特殊的运算,它不同于一般的加法和减法,其规则更为复杂。矩阵乘法要求第一个矩阵的列数与第二个矩阵的行数相同。以下是矩阵乘法的详细解释和示例。
矩阵乘法的定义:
设有两个矩阵 𝐴 和 𝐵,矩阵 𝐴 是 𝑚×𝑛 的矩阵,矩阵 𝐵 是 𝑛×𝑝 的矩阵。矩阵 𝐴 和 𝐵 的乘积 𝐶 是一个 𝑚×𝑝 的矩阵,表示为 𝐶=𝐴×𝐵,其中每个元素 𝐶𝑖𝑗 由以下公式给出:
或者更简洁地表示为:
示例:
假设有两个矩阵 𝐴 和 𝐵:
矩阵 𝐴A 是一个 2×2 矩阵,矩阵 𝐵 也是一个 2×2 矩阵,它们的乘积 𝐶 将是一个 2×2 矩阵。我们按照矩阵乘法的规则计算 𝐶:
在这个例子中,我们可以看到:
● 矩阵 𝐶C 的第一个元素 𝐶11 是由 𝐴 的第一行与 𝐵 的第一列对应元素相乘后求和得到的,即 2×5+4×6。
● 矩阵 𝐶C 的第二个元素 𝐶12 是由 𝐴 的第一行与 𝐵 的第二列对应元素相乘后求和得到的,即 2×7+4×8。
● 以此类推,计算出矩阵 𝐶C 的其他元素。
注意事项:
● 矩阵乘法不满足交换律,即 𝐴×𝐵≠𝐵×𝐴。
● 矩阵乘法满足结合律,即 (𝐴×𝐵)×𝐶=𝐴×(𝐵×𝐶)。
● 矩阵乘法的元素计算涉及到求和和乘法,需要严格按照定义进行。
矩阵转置(Matrix Transposition)
矩阵的转置是一个重要的线性代数概念,它涉及将矩阵的行和列互换。给定一个矩阵,其转置矩阵是通过将原始矩阵的第 𝑖行第 𝑗 列的元素变为转置矩阵的第 𝑗 行第 𝑖 列的元素得到的。
矩阵转置的定义:
设有一个矩阵 𝐴,其大小为 𝑚×𝑛(即有 𝑚 行和 𝑛 列),矩阵 𝐴 的转置,表示为 𝐴𝑇,是一个 𝑛×𝑚 的矩阵,定义为:
这意味着转置操作将矩阵 𝐴 的第 𝑖 行变成了 𝐴𝑇 的第 𝑗 列。
示例:
假设有一个 3x2 的矩阵 𝐴:
矩阵 𝐴 的转置 𝐴𝑇 将是一个 2x3 的矩阵,计算如下:
在这个例子中:
● 原始矩阵 𝐴A 的第一行 [1,2] 变成了转置矩阵 𝐴𝑇 的第一列。
● 原始矩阵 𝐴A 的第二行 [3,4] 变成了转置矩阵 𝐴𝑇 的第二列。
● 原始矩阵 𝐴A 的第三行 [5,6]变成了转置矩阵 𝐴𝑇 的第三列。
注意事项:
● 转置操作不会改变矩阵元素的值,只改变它们的位置。
● 对于方阵(行数和列数相等的矩阵),转置操作可以视为一个反射操作穿过矩阵的主对角线。
● 转置操作可以连续进行两次得到原始矩阵,即
● 转置操作对于矩阵的形状有直接影响:如果矩阵 𝐴 是 𝑚×𝑛,那么 𝐴𝑇 将是 𝑛×𝑚。
矩阵的行列式(Determinant of a Matrix)
矩阵的行列式是一个与方阵相关联的标量值,它包含了方阵的一些重要特性和度量。行列式可以提供关于矩阵可逆性、体积缩放因子、线性变换方向以及二次型等信息。
行列式的定义:
对于一个 𝑛×𝑛 的方阵 𝐴,行列式记作 det(𝐴) 或 ∣𝐴∣。
对于 2x2 矩阵:
行列式计算公式为:
det(𝐴)=𝑎𝑑−𝑏𝑐
对于 3x3 矩阵:
行列式的计算稍微复杂一些,公式为:
det(𝐴)=𝑎(𝑒𝑖−𝑓ℎ)−𝑏(𝑑𝑖−𝑓𝑔)+𝑐(𝑑ℎ−𝑒𝑔)
对于更大的方阵,行列式的计算可以通过拉普拉斯展开(Laplace expansion)来完成,但通常涉及更复杂的计算,一般使用计算机来辅助计算。
示例:
1. 2x2 矩阵的行列式:
假设有一个 2x2 矩阵:
计算行列式:
det(𝐴)=(4)(2)−(3)(6)=8−18=−10
- 3x3 矩阵的行列式:
假设有一个 3x3 矩阵:
计算行列式:
det(𝐵)=1(1⋅0−4⋅6)−2(0⋅0−4⋅5)+3(1⋅6−1⋅5
det(𝐵)=1(−24)−2(−20)+3(1)=−24+40+3=19
注意事项:
● 行列式只适用于方阵,对于非方阵不存在行列式。
● 行列式的值可以是正数、负数或零。如果行列式为零,则矩阵是奇异的,没有逆矩阵。
● 行列式的绝对值可以表示矩阵变换的体积缩放因子。如果行列式为正,变换保留了体积和定向;如果为负,变换反转了定向。
PS: 方阵:如果一个矩阵的行数与列数相同,即它是一个 𝑛×𝑛 的矩阵,其中 𝑛 是一个正整数,那么这个矩阵就被称为方阵。
矩阵的逆( Inverse of a Matrix)
矩阵的逆运算是线性代数中的一个重要概念,它允许我们解决某些类型的线性方程组,并进行各种变换的“撤销”。然而,并非所有矩阵都有逆矩阵。只有方阵(即行数和列数相等的矩阵)才可能有逆矩阵,而且只有当矩阵的行列式(determinant)不为零时,矩阵才是可逆的。
矩阵逆的定义:
设有一个 𝑛×𝑛 的方阵 𝐴A,如果存在另一个 𝑛×𝑛 的矩阵 𝐴−1,使得:
2x2 矩阵的逆:
对于一个 2x2 矩阵:
其逆矩阵 𝐴−1 可以通过以下公式求得,前提是 𝑎𝑑−𝑏𝑐≠0(即行列式不为零):
3x3 矩阵的逆:
对于一个 3x3 矩阵:
求逆涉及到计算行列式和伴随矩阵(adjugate matrix),其逆矩阵 𝐴−1 是:
其中 det(𝐴) 是矩阵 𝐴 的行列式,adj(𝐴) 是 𝐴 的伴随矩阵,伴随矩阵中的每个元素都是原矩阵中对应元素的代数余子式(cofactor)的转置。