Category:High Mathematics & Computer Graphics Application
正文
5 线性代数
5.3 用矩阵和行列式计算
回想一下 5.1 节,行列式采用 n 个 n 维向量并将它们组合以获得由向量定义的 n 维平行六面体的有符号 n 维体积。例如,二维中的行列式是由向量形成的平行四边形的面积。我们可以使用矩阵来处理计算行列式的机制。
如果我们有 2D 向量 r 和 s,我们表示行列式 |rs|;该值是由向量形成的平行四边形的有符号面积。假设我们有两个具有笛卡尔坐标 (a, b) 和 (A, B) 的二维向量(图 5.7)。
行列式可以写成列向量或简写形式:
请注意,矩阵的行列式与其转置的行列式相同:
这意味着对于 2D 中的任何平行四边形,都有一个面积相同但形状不同的“兄弟”平行四边形(图 5.8)。例如,向量 (3, 1) 和 (2, 4) 定义的平行四边形的面积为 10,向量 (3, 2) 和 (1, 4) 定义的平行四边形也是如此。
例子: 3D 行列式的几何意义有助于了解为什么某些公式有意义。例如,对于 i = 0, 1, 2,通过点 (xi, yi, zi) 的平面方程为
每列是从点 (xi, yi, zi) 到点 (x, y, z) 的向量。仅当 (x, y, z) 与其他三个点共面时,以这些向量为边的平行六面体的体积为零。几乎所有涉及行列式的方程都有类似的简单基础几何。
正如我们之前看到的,我们可以通过蛮力展开来计算行列式,其中大多数项为零,并且有大量的正负号簿记。管理计算行列式代数的标准方法是使用拉普拉斯展开式的一种形式。以这种方式计算行列式的关键部分是找到各种矩阵元素的辅因子。方阵的每个元素都有一个辅因子,它是矩阵的行列式,行列式减少,可能乘以负一。较小的矩阵是通过消除相关元素所在的行和列获得的。例如,对于一个 10×10 的矩阵,a82 的辅因子是消除了第 8 行和第 2 列的 9×9 矩阵的行列式.如果行和列索引之和为偶数,则辅因子的符号为正,否则为负。这可以通过棋盘模式记住:
因此,对于 4 × 4 矩阵,
第一行的辅助因子是:
矩阵的行列式是通过将任何行或列的元素与其辅因子的乘积相加来找到的。例如,上面的 4 × 4 矩阵的行列式取自它的第二列是
我们可以对任何行或列进行类似的扩展,它们都会产生相同的结果。请注意此扩展的递归性质。
例子: 通过扩展第一行的辅因子来确定特定 3 × 3 矩阵的行列式的具体示例是
我们可以推断出由列(或行,因为转置的行列式相同)定义的向量形成的平行六面体的体积为零。这相当于说列(或行)不是线性独立的。请注意,第一行和第三行的总和是第二行的两倍,这意味着线性相关。
5.3.1 计算逆
行列式为我们提供了计算矩阵逆的工具。对于大型矩阵,这是一种非常低效的方法,但在图形中我们的矩阵通常很小。开发这种方法的一个关键是具有两个相同行的矩阵的行列式为零。这应该很清楚,因为如果 n 维平行六面体的两条边相同,则其体积为零。假设我们有一个 4 × 4 A,我们希望找到它的逆 A−1。逆是
请注意,这只是矩阵的转置,其中 A 的元素被它们各自的辅因子乘以前导常数(1 或 -1)所代替。这个矩阵称为 A 的伴随矩阵。伴随矩阵是 A 的辅因子矩阵的转置。我们可以看到为什么这是一个逆矩阵。看看我们期望的产品 AA-1 是恒等式。如果我们将 A 的第一行乘以伴随矩阵的第一列,我们需要得到 |A| (记住上面的前导常数除以 |A|:
这是正确的,因为 A 的第一行中的元素正好乘以它们在伴随矩阵第一列中的辅因子,这正是行列式。沿所得矩阵对角线的其他值是 |A|出于类似的原因。零点遵循类似的逻辑:
请注意,此产品是某些矩阵的行列式:
矩阵实际上是
因为前两行相同,所以矩阵是奇异的,因此其行列式为零。
上面的论点不仅仅适用于四乘四矩阵;使用该尺寸只是简化了排版。对于任何矩阵,逆矩阵是伴随矩阵除以被逆矩阵的行列式。伴随是辅因子矩阵的转置,它只是其元素已被其辅因子替换的矩阵。
例子。一个特定的三个乘以三个矩阵的倒数,其决定因素为6是
您可以通过将矩阵相乘并确保获得身份来自己检查这一点。
5.3.2线性系统
我们经常在图形中遇到具有“n 个方程和 n 个未知数”的线性系统,通常是 n = 2 或 n = 3。例如,
这里 x、y 和 z 是我们希望解决的“未知数”。我们可以把它写成矩阵形式:
此类系统的常用简写是 Ax = b,其中假设 A 是具有已知常数的方阵,x 是未知列向量(在我们的示例中具有元素 x、y 和 z),b 是列矩阵的已知常数。
有很多方法可以解决这样的系统,合适的方法取决于矩阵 A 的属性和维度。因为在图形中我们经常使用大小为 n ≤ 4 的系统,我们将在这里讨论适合这些系统的方法,称为克莱默规则,我们之前在第 90 页的示例中从 2D 几何的角度看到。在这里,我们以代数方式展示了这一点。上式的解是
这里的规则是采用决定因素的比例,其中分母为| a |分子是通过用列向量b替换A列创建的矩阵的决定因素。替换的列对应于向量X中未知的位置。例如,y是第二个未知,第二列被替换。请注意,如果| a |= 0,该划分是不确定的,没有解决方案。这只是该规则的另一个版本,如果A是单数(零决定因素),那么对方程式没有唯一的解决方案。