
\section{重修线性代数3——抽象 }
线性代数课是从经验数学到抽象数学的一条门径。虽然不走上这抽象的台阶，绕路而行，记忆公式证明和熟练计算，也能考到高分，但学这门课，只有通过思想方法转换，上了台阶过这道门，才算不虚此行，得以进一步窥探抽象的世界。前篇的讲述是按照经验数学的思路，由具体到抽象的归纳。这篇将按公理化数学的思想，对同样的概念从抽象的定义开始，推演出它的性质。

\subsection{线性空间的定义} 

历史上的数学是无数经验的总结，曾被看作是绝对的真理。抽象过的概念，比如数和它的运算，经过千百年传承融入习惯，已变成天经地义的事实。而现代数学将形式推理，从真实世界中的关联分离出来，纯粹致力于研究抽象的概念和它蕴含的性质。这些概念只是假设的约定，也许它们源于真实世界的抽象，但我们不再关心其假设或结论真实与否，而仅仅关心逻辑的联系，将数学变成科学研究中精确表达和推理的工具。

线性代数是数学抽象的入门课。学生有时可能觉得奇怪，为什么教科书对同一个概念和定理用不同的数学理论系统，重新讲述。其实这是让你学习从不同角度看问题，让你从学习“真理”般的经验数学，转轨到“从假设到逻辑结论”方式的公理化数学。

前篇通过列向量和矩阵，由算法具体描述了向量，算子和线性空间的一些性质。这看起来像只是用个名称，命名由已知的算术运算构造出来的数学实体。你是通过对应用的了解，想象和验算来接受这被命名概念的性质。这是学物理和工程所习惯的科学思想模式。现代的数学，不是研究自然的科学，一切的概念都来自凌空而立的抽象定义，并不特定所指某一具象，这样用形式逻辑推导出来的结果，可以涵盖已经熟悉的数学实体，也能包括广泛的，符合定义但未始料及的对象。这是数学抽象的思想方式。你要从此习惯数学上对错的裁定，不借助概念所指事实的判断，除了公理、定义和逻辑之外别无所凭。

下面用数学的语言，抽象地定义线性空间和线性算子，重新走过在具象中所述的这些概念的特性。

\kaishu
集合X中的元素如果对线性运算封闭，即对于数域（有理数、实数、复数等） $\mathbb{K}$,$ x, y \in X, a, b, 1 \in \mathbb{K} \Rightarrow  x+y \in X, ax \in X $对这加法是一个交换群，对于数乘有$ a(x+y)=ax+ay, (a+b)x=ax+bx, (ab)x=a(bx),1x=x $\\
那它称为是一个\textbf{线性空间}， K 中的元素叫\textbf{标量}，集合X中元素叫\textbf{向量}。线性空间又称为\textbf{向量空间}。

\textbf{线性算子}$ f $是在数域$\mathbb{K}$ 上的两个线性空间$ X，Y $中，保持向量加法和标量乘法的映射。即：\\
$ f(x+y) =f(x) + f(y), f(ax)=af(x),  \forall x, \forall y \in X, \forall a \in \mathbb{K}, \;\;f: X\rightarrow Y $\\
X到X的线性算子称为\textbf{线性变换}，它是映射在同一个空间的线性算子。（注：对变换和算子术语用法，不同教科书略有不同。这系列按这里的定义。）

\songti
依照这个定义，可以验证上一篇中的数组是这里定义的向量，相同数组长度的列向量集合在它的加法和数乘运算下是个线性空间。$ m*n $矩阵是$ n $元列向量线性空间到$ m $元列向量线性空间上的线性算子，当$ m=n $时，这矩阵表示一个线性变换。

数学的对象都是抽象的，凡是符合它定义的具体东西都是它所指的对象。依此定义，只包含一个0向量元素的集合，有理数、实数以及复数的集合，分别在相应的加法和数乘定义下也都是向量空间，数乘都可看作是线性算子，这些标量作为零维和一维的向量空间和线性算子。虽然这些平凡的实现，常常被特指的介绍排斥在外，但它们符合定义，也就拥有了向量和算子概念下，逻辑推理应许的所有性质。

不难按上述的定义验证，线性空间可以包含很大的一类集合，例如，最高阶小于$ n $次的多项式的集合，$ \sqrt{2}, \sqrt{3} $
在有理数域上的线性组合，分别都构成了线性空间。线性空间还可以是无穷维的。

\kaishu
在通常的加法和数乘定义下，解析函数构成一个线性空间，求导数运算是这解析函数空间上的线性变换。除了奇点外的邻域，线性微分方程可以表示成以这线性空间上算子$ L $的形式，例如微分方程$ {y}''+a(x){y}'+b(x)y = f(x) $，可以写成算子作用的形式 $ Ly=f $，线性算子$ L(y) = {y}''+a(x){y}'+b(x)y $. 如果已知的向量$ z_i $是这线性空间的一组基向量，那么未知的向量$ y $和方程中的参数都可以表示为这些基向量的线性组合，因为算子是线性变换$  L(y) = L(c_{1}z_{1}+c_{2}z_{2}+\cdots)=c_{1}Lz_{1}+c_{2}Lz_{2}+\cdots $，对已知向量的算子作用$ c_{k}Lz_{k} $也能表示成已知向量的线性组合，这时只有线性组合的系数$ c_{k} $是待定的，代入方程求出这些待定的线性组合系数，这样解线性微分方程就变成解线性代数方程了。

解析函数在任何一点的邻域都可以用幂级数来逼近，所以幂级数在收敛的意义下包含了解析函数。特殊多项式就是上面所说的一类已知的基向量。它们虽然有无穷多个，但存在着递推关系的有限个线性组合是可计算的。这便是用它来求解线性微分方程的理论基础。

除了幂级数外还有许多函数类都能构成所在线性空间中的一组基向量，用来逼近方程的参数和它的解。物理中许多的微分方程，例如数理方程等都是线性的，对各类线性微分方程用合适的函数类可以较方便得出结果。尽管物理学家赋予它们各种物理解释，如波和粒子，但其数学功能仅仅是个基向量。在计算机时代之前，200多年间许多数学家和物理学家，都在努力应用函数级数来解线性微分方程。

\songti

长度为2和3的列向量集合不构成线性空间，因为它们对通常列向量的加法运算不封闭，但如果我们在定义列向量加法时，将较短的列向量计算时用0补足长度，它们在这定义下构成了线性空间。所以，抽象的数学概念必须通过直接对定义的检验来确定。数学上的代数概念总是与集合中元素运算的定义相关，数学空间不仅仅指它的基础集合，而且必须符合它上面运算的定义和封闭性。

在学习线性代数中要开始了解到：从定义出发非常不同的数学对象，可以从属于同一数学概念；而同一个数学实体在不同的运算定义下，也可以分属不同的数学概念。要开始习惯不再从整数、有理数、实数、复数、函数层层叠高复合构造中来理解这些数学实体，而是从抽象约束的视角对数学实体做概念上的判定，这是从一种普遍化抽象代数的角度来研究数学问题。矩阵的乘法，让我们开始从过去习惯的交换律中挣脱出来，感受到乘法的运算未必都可交换顺序的。

上大学数学课容易发生两种偏差，一是仍然沿着经验和学物理的思想模式来学数学，这样虽然在计算应用上没有问题，积弊是失去严谨的修炼和抽象的视野。以后学习较深数学时，会感到吃力，这是因为错过了该走的台阶。重修时，对每个概念的定义，要用举例和反例来对照理解。这些已在课本中的逻辑证明，我们就不在这系列中重复了。

另一偏差是，谨守从定义开始逻辑证明的路径，致力于记忆这个过程和结论。殊不知这个严谨的逻辑推理，仅仅是数学严谨的修炼，是构建可靠图像的必经途径，它是串起珍珠的丝线。没有消化变成自己头脑中的图像，是买椟还珠，考试过后就还给了老师，十分可惜。丰富的直观感觉依赖于从基础开始，层层构筑起来的图像。这要像学习物理一样，对每个概念都能从性质和定理看到内在关系。这个系列主要引领读者走过这条路。请注意，如果你不能确信想象的正确性，你就必须用公式推导来验证，重走错过路。

严谨的数学除了定义和逻辑一切都不足为凭，但为了能够理解抽象的定义，在头脑中必须与已有形象建立起联系，从而形成长期记忆，并能联想应用，我们必须有一个具体的形象。将这里的抽象定义与上一篇的具象联系起来，我们可以想象线性空间的图像是几何中的三维空间，向量是从原点出发指向空间中某一点的有向线段，线性变换可以看成对空间中的几何图像对原点的旋转、翻转、剪切和伸缩。这个系列在帮助读者建立起几何图像时，都用实数作为数域为例来想象，读者可以参照定义对有理数和复数域自行修补图像。

数学的对象是抽象的形式的，物理的对象是具体的真实的。数学同一的概念可以用来表示不同的物理对象，而物理的对象可以用不同的数学工具来处理。学习数学与物理不同之处在于，数学需要牢记的是定义，在这里要记忆线性空间、线性算子和线性变换的数学定义，并随时用它们来检验例子和想象中的对象，在不断检验过程中就会记住了定义的内涵，构造反例来约束错误的联想。你必须学会通过具象中想象定义和可能的结果，有能力在不确定时用逻辑从定义出发严格地证明，纠正错误的想象加深正确的印象，在头脑中建立起抽象世界的图像。

\subsection{内积}
一组向量，如果其中一个能表达成其他的线性组合，则说它们是\textbf{线性相关}的，否则是\textbf{线性无关}的。如果线性空间中最大线性无关组的向量个数是$ n $，则称它是\textbf{n维线性空间}。线性空间中任何的向量都可以表示为一组线性无关向量的线性组合，这组向量称为线性空间的\textbf{基}。线性空间的基不是唯一的，但组中向量的个数都等于空间的维数。任何一组$ n $个线性无关向量都可以是$ n $维线性空间中的基。

线性空间的定义仅仅关注集合元素间线性运算的性质。它只触及向量间“代数的”性质，两个向量之间除了它们是否有数乘关系之外别无其他，没有夹角、距离、长度等等几何的性质，这与列向量和矩阵的具象所拥有的丰富图像相差甚远。

为此引入两个向量间关系的内积概念。让拥有它的数学空间具有更丰富的内容。

\kaishu

设$ X $是数域$ \mathbb{K} $（通常是实数或复数）上的线性空间，定义映射$ \left\langle x,y \right \rangle :X\times X\rightarrow \mathbb{K} $，称为$ X $上的\textbf{内积}，如果它满足下列性质：$ \forall x,y,z \in X, \forall a,b \in \mathbb{K} $有\\
正定性：$ \left\langle x,x\right \rangle \ge 0, \left \langle x,x \right \rangle = 0\Leftrightarrow x=0 $\\
共轭对称性：$ \left\langle x,y \right \rangle = \overline{\left \langle y,x \right \rangle} $\\
对第一变量的线性:$ \left\langle ax+by,z \right \rangle = a\left \langle x,z \right \rangle + b \left\langle y,z \right \rangle $\\
赋以内积性质的线性空间称为\textbf{内积空间}。（注：有的教材的定义是对第二变量线性。）

定义范数$ \Vert x \Vert = \sqrt{\left \langle x,x \right\rangle} $
，称为向量x的长度，如果按其导出的距离是个完备的距离空间，则称它是\textbf{希尔伯特（Hilbert）空间}。

\songti

有时，我们把向量$ x $和$ y $的内积表示为$ x \cdot y $，称内积为点积。

依此定义，由列向量构成的线性空间，以共轭分量乘积和的运算定义构成了内积空间，同时也是个希尔伯特空间。只不过有限维空间具有平凡的完备性，希尔伯特空间一般特指是无穷维的情况。

两个向量内积为0，称为它们是\textbf{正交}的，长度为1的向量称为\textbf{单位向量}。两个单位向量的内积可以看作它们间的投影值，即定义为\textbf{夹角}的余弦。向量在一组单位正交基的坐标，是它对每个基向量方向的投影值。线性空间的两组基之间对应着一个满秩的线性变换，向量对两组基的坐标之间对应着一个满秩的正方矩阵。读者花点时间，用三维空间中向量的夹角、投影和解析几何中的图像，想象一下向量对一组基的坐标值，及线性算子的具体矩阵表示，建立起这个直观想象对学习线性代数十分重要。

与任何概念的数学定义一样，这里内积的定义是抽象的，满足它的具体实现可以有很多。例如，列向量的内积可以是通常定义那样，也可以是其他，比如说在那个对应分量乘积和的计算中，对第$ i $个分量乘上一个正数$ a_i $，不难验证这也符合内积的定义。这体现的是一个非各向同性的实现。

从抽象的线性代数角度来看待不同形式的数学内容，可以让你很直观地看到本质。下面是个例子。

\kaishu

柯西-施瓦茨不等式的内积形式$ |\left \langle x,y \right \rangle |\le \|x\|\|y\| $，这在几何上十分直观，无非是向量在任何方向的投影长度不大于它本身，或余弦的绝对值小等于1等等。当然，任何直观要确认它成立，必须用严格的逻辑来证实。证明的思路就是参照直观的图像，构造一个向量$ z $，它与$ x $正交，即$ \langle z, x\rangle = 0 $，且与$ y $投影到$ x $的向量相加等于$ y $，即$ z=y - \langle y, x \rangle x/\|x\|^2 $，用内积定义里的正定性$ \|z\| \ge 0 $，不难用纯粹的代数形式推演，得出内积与这两个向量间的关系。

在以前的数学学习中，读者可能见过不同形式的柯西-施瓦茨不等式和它们的证明。

\begin{gather*}
	|\sum_{i=1}^n x_iy_i|^2 \le (\sum_{i=1}^n x_i^2)(\sum_{i=1}^n y_i^2)
\end{gather*}
\begin{gather*}
	|\int f^*(x)g(x)dx|^2 \le \int |f(x)|^2 dx  \int |g(x)|^2 dx
\end{gather*}

其实对于上面两个不等式，在$ \mathbb{R}^n $
和$ L_2 $的线性空间中分别定义它们的内积为等式左边绝对值里的式子，直接从内积形式的不等式中就可以得出这些等式，对于复数和矩阵形式的相应的不等式也是如此的简单。

\songti
