【数学基础】 线性代数以及符号编总

1基本概念和符号

线性代数可以对一组线性方程进行简洁地表示和运算。例如,对于这个方程组:

这里有两个方程和两个变量,如果你学过高中代数的话,你肯定知道,可以为x1 和x2找到一组唯一的解 (除非方程可以进一步简化,例如,如果第二个方程只是第一个方程的倍数形式。但是显然上面的例子不可简化,是有唯一解的)。在矩阵表达中,我们可以简洁的写作:

其中:

很快我们将会看到,咱们把方程表示成这种形式,在分析线性方程方面有很多优势(包括明显地节省空间)。

 

1.1基本符号

以下是我们要使用符号:

  • 符号A ∈ Rm×n表示一个m行n列的矩阵,并且矩阵A中的所有元素都是实数。
  • 符号x ∈ Rn表示一个含有n个元素的向量。通常,我们把n维向量看成是一个n行1列矩阵,即列向量。如果我们想表示一个行向量(1行n列矩阵),我们通常写作xT (xT表示x的转置,后面会解释它的定义)。
  • 一个向量x的第i个元素表示为xi:

  • 我们用aij (或Aij,Ai,j,等) 表示第i行第j列的元素:

 

  • 我们用aj A:,j表示A矩阵的第j列元素:

 

  • 我们用aT i或 Ai,:表示矩阵的第i行元素:

  • 请注意,这些定义都是不严格的(例如,a1a1T在前面的定义中是两个不同向量)。通常使用中,符号的含义应该是可以明显看出来的。

2 矩阵乘法

矩阵 ∈ Rm×∈ Rn×的乘积为矩阵 :

其中:

.

请注意,矩阵A的列数应该与矩阵B的行数相等,这样才存在矩阵的乘积。有很多种方式可以帮助我们理解矩阵乘法,这里我们将通过一些例子开始学习。

 

2.1向量的乘积

给定两个向量x,y ∈ Rn,那么xT y的值,我们称之为向量的内积点积。它是一个由下式得到的实数:

.

可以发现,内积实际上是矩阵乘法的一个特例。通常情况下xT y = yT x。

对于向量x ∈ Rm, y ∈ Rn(大小不必相同),xyT ∈ Rm×n称为向量的外积。外积是一个矩阵,其中中的每个元素,都可以由得到,也就是说,

.

我们举个例子说明外积有什么用。令∈ R表示所有元素都是1的n维向量,然后将矩阵 ∈ Rm×的每一列都用列向量∈ Rm表示。使用外积,我们可以将A简洁的表示为:

 

.

2.2矩阵-向量的乘积

对于一个矩阵∈ Rm×和向量∈ Rn,他们的乘积为向量 Ax ∈ Rm。理解矩阵向量乘法的方式有很多种,我们一起来逐一看看。

以行的形式书写A,我们可以将其表示为Ax的形式:

.

也就是说,yi行的元素等于A的第i行与x的内积 .

咱们换个角度,以列的形式表示A,我们可以看到:

 .

换言之,y是A列的线性组合,线性组合的系数就是x的元素。

上面我们看到的是右乘一个列向量,那左乘一个行向量嘞?对于A ∈ Rm×n,x ∈ Rm, y ∈ Rn,这个式子可以写成yT xT A 。向之前那样,我们有两种方式表达yT,这取决于表达A的方式是行还是列。第一种情况是把A以列的形式表示:

这个式子说明yT 第i列的元素等于向量x与A的第i列的内积。

我们也一样可以把A表示成行的形式,来说明向量-矩阵乘积。

我们可以看到yT 是A的行的线性组合,线性组合的系数是x的元素。

2.3矩阵-矩阵乘积

基于以上知识,我们可以看到如之前所定义的矩阵-矩阵乘法C=AB有四种不同(但是等价)的理解方法。

首先,我们可以将矩阵-矩阵相乘看作一组向量-向量乘积。根据其概念,我们最好理解的方式是矩阵C的(i,j)元素是A的i行与B的 j列的内积。符号表达如下:

 .

注意由于∈ Rm×, ∈ Rn×p, ai ∈ Rn bj ∈ Rn, 所以内积永远有意义。对矩阵乘法而言,以A的行和B的列表示是最"自然"的表示方法。当然,我们也可以以A的列和B的行的形式进行表示。表达方法是AB外积累加的形式,稍微复杂一点点。符号表达为:

 

 .

换一种方式表达,AB的值等于对于所有的i,A的i列与B的i行的外积的和。因此,对于ai ∈ Rm 和 bi ∈ Rp,外积aibiT的维度是m×p,它与C的维度是相同的。等式可能有点难理解,花点时间想想,我猜你肯定能明白。

第二种理解方式是,我们也可将向量-向量乘法看做一系列的矩阵-向量乘积。具体来说,如果我们将B以列的形式表示,我们可以将C的每一列看做A和B列的矩阵-向量乘积。符号表达为:

 

 .

可以将C的i列以矩阵-向量乘积(向量在右)的方式表示为ci Abi. 这些矩阵-向量乘积可以用前面的两种观点解释。最后类比一下,我们以A的行形式表示,将C的行视为A的行与C的矩阵-向量乘积,符号表达为

 

.

在此,我们以矩阵-向量乘积(向量左乘)的形式表示了C的i列,

只是一个矩阵乘法而已,这么细的分析看上去好像没有必要,尤其是当我们知道矩阵乘法定义后其实很容易可以计算得到结果。然而,几乎所有的线性代数内容都在处理某种类型的矩阵乘法,因此花一些时间去形成对这些结论的直观认识还是很有帮助的。

此外,知道一些更高层次的矩阵乘法的基本性质也是有好处的:

  • 结合律即(AB)A(BC)
  • 分配率即A(C) = AB AC
  • 注意哦,矩阵乘法没有交换律,即AB BA.(例如,如果∈ Rm×∈ Rn×q,矩阵的乘积BAmq不等时,BA可能根本就不存在)

如果你对这些性质不熟悉,最好花些时间自己证明一下。例如,为了验证矩阵乘法的结合律,对于∈ Rm×n, <

  • 20
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
本人资源全部免费,更多资源请查看我的上传资源 ====================================================== 书 名:3D数学基础:图形与游戏开发 作 者:[美] 邓恩(Dunn F.),[美] 帕贝利(Parberry I.) 著;史银雪,陈洪,王荣静 译 出 版 社: 清华大学出版社 出版时间:2005-07-01 ISBN:9787302109464 纸书页数:380页 定 价:¥ 42.00 内容简介:《3D数学基础:图形与游戏开发》专业培训机构指定教学参考书,多家游戏开发企业共同推荐,游戏业界,探索游戏开发背后的核心秘密。《3D数学基础:图形与游戏开发》主要介绍了基本的3D数学概念,这对电脑游戏开发人员和编程人员来说尤为重要。作者详尽地讨论了数学理论,并在必要时提供几何说明,帮助读者形成直观的3D感。书中还提供了将理论应用于实践的C++类,并且在每章结尾处提供练习。《3D数学基础:图形与游戏开发》介绍了基础概念,如向量、坐标空间、矩阵、变换、欧拉角、齐次坐标空间、几何图元、相交性检测和三角网格。 作者简介:Fletcher Dunn,是著名游戏开发公司Terminal Reality的主要开发人员,所参与开发的游戏包括《4×4DVO 2)、《夜曲》(Noturne),并且是《吸血莱恩》(BloodRayne)的主要负责人。他所开发的游戏遍及家用PC机的Windows、Machintosh、Dreamcast、PSⅡ、Xbox和GameCube几种主流平台。   Ian Parberry,是北德克萨斯大学计算机科学系的教授,在国际上被公认为是教授DirectX游戏开发的专家之一。 编辑推荐:《3D数学基础:图形与游戏开发》主要研究隐藏在3D几何世界背后的数学问题。涵盖了理论知识和C++实现代码。理论部分解释3D中数学和几何之间的关系,列出的技巧与公式可以当做参考手册以方便查找。实现部分演示了怎样用代码来实现这些理论概念。读者论论了3D中的方位,包括四元数和对不同表示技术之间的优劣比较。   描述了数学和几何的实际应用示例,提供了一些C++类和不同的矩阵类,每个类都完成特定的几何任务。   所有基本变换矩阵的完整来历。      专门用Python讲解计算机视觉编程 目录 第1章 简介 1.1 什么是3D数学 1.2 为什么选择本书 1.3 阅读本书需要的基础知识 1.4 概览 第2章 笛卡尔坐标系统 2.1 1D数学 2.2 2D笛卡尔数学 2.3 从2D到3D 2.4 练习 第3章 多坐标系 3.1 为什么要使用多坐标系 3.2 一些有用的坐标系 3.3 嵌套式坐标系 3.4 描述坐标系 3.5 坐标系转换 3.6 练习 第4章 向量 4.1 向量——数学定义 4.2 向量——几何定义 4.3 向量与点 4.4 练习 第5章 向量运算 5.1 线性代数与几何 5.2 符号约定 5.3 零向量 5.4 负向量 5.5 向量大小(长度或模) 5.6 标量与向量的乘法 5.7 标准化向量 5.8 向量的加法和减法 5.9 距离公式 5.10 向量点乘 5.11 向量叉乘 5.12 线性代数公式 5.13 练习 第6章 3D向量类 …… 第7章 矩阵 第8章 矩阵和线性变换 第9章 矩阵的更多知识 第10章 3D中的方位与角位移 第11章 C++实现 第12章 几何图元 第13章 几何检测 第14章 三角网络 第15章 图形数学 第16章 可见性检测 第17章 后记 附录A 简单的数学概念 附录B 参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值