程序员数学 -- 线性代数笔记

       矩阵不仅仅是数字排列而成的表而已。比如:m x n 矩阵A,它表示了从n维空间到m维空间的“映射”。具体来讲,就是把n维空间中的点x (n维列向量) 变换到m维空间中的点 Ax (m维列向量)的映射。

第0章 动机

       我们人类生活在3维空间中,为了处理现实世界中的问题,我们需要一种合适的方式来描述“空间”,这时候就是线性代数施展作用的机会,向量空间是对现实空间进行一定程度的抽象化后得到的产物。线性代数为我们提供了一套便捷的概念和语言来讨论“空间”。

第1章 用空间的语言表达向量、矩阵和行列式

中心思想:

       我们几乎处处都会遇到要处理由多个数值组成的成组的数据的情况。对于这样的数据,我们不是简单地将其看作是一组组的数,而是看作“空间中的点”来进行直观的处理,这就是本书的中心思想。

1.1 向量与空间

       当我们需要把几个数值放在一起,作为一个整体处理时,就有了向量。这便是引入向量的原因。

1.1.1 最直接的定义:把数值罗列起来就是向量

       把数排成一列就是向量(简单粗暴的定义)。

       由于书写习惯的原因,在没有特别说明的情况下,提到向量,就是指竖排的“列向量”。另外,由于列向量书写起来比较占空间,因此我们通常会使用以下写法:

                                         \small \begin{pmatrix} 2,&3,&4,&5\end{pmatrix} = \bigl(\begin{smallmatrix} 2\\ 3\\ 4\\ 5\\ \end{smallmatrix}\bigr)T    和  \small \bigl(\begin{smallmatrix} 2\\ 3\\ 4\\ 5\\ \end{smallmatrix}\bigr)T =\begin{pmatrix} 2,&3,&4,&5\end{pmatrix}

        其中,T 是 Transpose(转置)的首字母。


1. 为什么这么偏爱列向量?

        对于“将映射f作用于x”的操作,我们通常都会写成f(x)。用同样的句式,对于“将矩阵A(表示线性映射)作用于向量x”的操作,我们习惯于用矩阵的乘积Ax来表示。

       如果这里的x是行向量的话,结果就要写成xA。这种先对象后操作的写法,不太符合一般人的思维习惯。可是,对于那些熟悉面向对象程序设计的读者来说,相比f(x)来说,说不定会觉得x.f()的写法可能更加自然呢。


注意:

       我们假设在某坐标系下有 x + y = z。在另一坐标系下,令x, y, z对应的坐标分别为 x’, y’, z’。无论我们观察向量的视角如何变化,x’ + y’ = z’总是成立的。数量乘法也是同样的道理。

       假设在某坐标系中有 xy = z,现在我们转移到另一个坐标系中,就会发现 x’ y’ ≠ z’ 。从线性代数的角度看来,规定的乘法xy只不过是在特定坐标系下看到的一种现象,而不能反映对象的本身的性质。

1.1.2 “空间”的形象


2. 一维向量不就是数吗?

  当然了,把一维向量(a)和数a看作是同一个东西也是很自然的想法,因为两者都可以表示为直线上的一点。但是要注意的是,根据单位的选取方式的不同,数值也是会变化的。在大部分程序设计语言中,长度为1的数组和单个数值也是两回事,在处理的时候也需要专门进行转换。


1.1.3 基底

  • 宇宙中没有上下也没有左右

       在宇宙中没有刻度,也没有特定的方向,我们得到了一张干干净净的“空间”。能作为参照的,仅仅剩下孤零零的一个原点O,虽然一开始会感到一丝不安,但是我们会发现,在这样的世界中一切都是可行的。也就是说,加法和数量乘法,依旧可以用有向线段来解释。那些可有可无的东西,去掉才是更明智的选择。对于这样一个附加了加法与数量乘法运算的世界,我们称之为“线性空间”,或称之为“向量空间”。

       在这样一个世界中,由于更加强调方向性,因此我们用 \small \underset{x}{\rightarrow} 、\small \underset{v}{\rightarrow} 、\small \underset{e}{\rightarrow} 等来表示向量。当我们希望将向量看作是由并排的数时,用 来表示;当我们希望强调方向时,则将向量看作是有向线段,用  \small \underset{x}{\rightarrow} 来表示。

       线性空间是我们生活的现实空间的一个缩影,是对现实空间的抽象化。正因为不是现实世界的完全复制,所以不能照搬生活经验。在这个抽象世界中,除了特殊的零向量 \small \underset{0}{\rightarrow} 以外,有向线段无论放在哪里都是同等的,在这个抽象世界中,我们能做的只有加法、数量乘法,一切都是这么简单直接。

       这里特别要注意的是,在这个世界中,没有定义长度,也没有定义角度。对于不同方向的向量,无法比较大小。旋转操作同样没有定义,在最朴素的线性空间中,这些功能都被剥夺了。(定义了长度和角度的是加强版的线性空间,称为內积空间)

猜你喜欢

转载自blog.csdn.net/harrytsz/article/details/81128727