代数——第3章——向量空间(Michael Artin)

本文围绕向量空间展开,介绍了(R^n)的子空间,包括子空间的定义、判定条件及例子;阐述了域的概念,如复数域的子域、抽象域和素域;讲解了向量空间的基底、维数,换基计算,子空间的直和,还简要讨论了无限维空间。

                            第三章    向量空间(Vector Spaces)

fmmer mit den einfachsten Beispielen anfangen.

(始终从最简单的例子开始。)

                                                        ------------------------------David Hilbert

3.1   \mathbb{R}^{n} (R^n)的子空间

         我们的向量空间的基础模型(本章主题)是维实向量空间 \mathbb{R}^{n} 的子空间。我们将在本节讨论它。向量空间的定义将在3.3节中给出。尽管行向量占据更少的空间,但矩阵乘法的定义使得使用列向量更为便捷,因此,我们通常使用列向量。有时候,为了节省空间,我们使用矩阵的转置(transpose)形式 (a_{1},...,a_{n})^{t} 来书写列向量。如在第1章中所述,我们不区分列向量和具有相同坐标的 \mathbb{R}^{n} 的点。通常用小写字母来表示列向量,例如,w ,且若 v=(a_{1},...,a_{n})^{t} ,我们称 (a_{1},...,a_{n})^{t} 为  v  坐标向量(coordinate vector)。

我们考虑向量上的2种运算:

               向量加法(vector addition):\begin{bmatrix} a_{1} \\ \vdots \\ a_{n} \end{bmatrix} + \begin{bmatrix} b_{1} \\ \vdots \\ b_{n} \end{bmatrix} = \begin{bmatrix} a_{1} +b_{1}\\ \vdots \\ a_{n}+b_{n} \end{bmatrix} ,和

(3.1.1) 

                标量乘法(scalar multiplication):c\begin{bmatrix} a_{1} \\ \vdots \\ a_{n} \end{bmatrix} = \begin{bmatrix} ca_{1} \\ \vdots \\ ca_{n} \end{bmatrix} 。

这些运算使得 \mathbb{R}^{n} 成为向量空间。

对于  \mathbb{R}^{n} (3.1.1)的一个子集,如果它满足随后所列出的这些属性,则称其为一个子空间(a subspace)。这些属性为:

(3.1.2)

(aw w’ W 中,则其和 w + w’ W 中 。

(bw W 中且 c在ℝ 中,则 cwW 中。

(c0 向量在 W 中。

还有另一种方式可表述子空间的条件:

(3.1.3)  若 非空,且若  w_{1},...,w_{n} W 的元素,而 c_{1} ,..., c_{n} 是标量则其线性组合 c_{1} w_{1} + ... + c_{n} w_{n}  也在

齐次(homogeneous) 线性方程组(system)提供了子空间的例子。已知一个m × n 矩阵 A 及其位于 ℝ 中的系数,位于  \mathbb{R}^{n} 中且其坐标向量可作为齐次线性方程组 AX = 0 的解的向量集构成一个子空间,并称其为A零空间(nullspace)。尽这这个例子很简单,我们还是验证一下它作为子空间所应满足的条件:

\bullet    AX = 0 AY = 0 意味着 A( X + Y ) = 0 :若XY是方程的解,则 X + Y 也是方程的解。

\bullet    AX = 0意味着 AcX = 0:当X是方程的解时,cX也是方程的解。

\bullet    AX = 0 :零向量是方程的一个解。

零空间 W = 0 和 全空间 W = \mathbb{R}^{n} 都是子空间。如果一个子空间不是前面二者之一,则称其为真子空间(proper subspace)。下一个命题描述了 \mathbb{R}^{2} 的真子空间。

命题 3.1.4  令 W 为 \mathbb{R}^{2} 的真子空间,令 W 中的一个非零向量 W w 的标量乘组成。不同的真子空间仅有的共同向量是零向量。

    一个已知非零向量 w的标量乘cw构成的子空间被称为w张成的(spanned)(译注:“span”译为“生成”或“张成”,在下文中我们采用“张成”这个译名)子空间。在几何上,它是位于平面 \mathbb{R}^{2} 上穿过原点的一条直线。

证明:

        我们首先注意到,被一个非零向量w所张成的子空间W,同时也被其所含的另一个非零向量w’ 所张成。这个事实是显然的,因为若 w’ = cw c ≠ 0 ,则任意倍数 aw 都可以写为 ac^{-1}w^{'} 的形式。因此(Consequently),若被 w_{1} 和 w_{2} 所张成的子空间 W_{1} 和 W_{2} 具有一个公共的非零元素 v,则它们相等。

其次,\mathbb{R}^{2} 的一个非零子空间 W 含有一个非零元素 w_{1} 。因为 W 是一个子空间,它包含由 w_{1} 所张成的子空间 W_{1}  ,若 W_{1}=W ,则 W 由一个非零向量的标量乘构成。我们证明,若 W 不等于 W_{1} ,则它是整个空间  \mathbb{R}^{2} 。令 w_{2} 为一个W 的不在 W_{1} 中的元素,并令 W_{2} 为由 w_{2} 所张成的子空间。因为 W_{1} \neq W_{2} ,这些子空间仅有 0 交集。因此,这两个元素 w_{1} 和 w_{2} 都不是对方的倍数。则 w_{i} 的坐标向量( 称其为 A_{i} )不是成比率关系的,而由这些向量作为列向量的 2×2 块矩阵 A = [A_{1}][ A_{2}] 具有一个非零矩阵。那样话,我们可以解出一个任意向量v的坐标向量B的方程 AX = B ,从而获得线性组合 v = w_{1} x_{1} + w_{2} x_{2} 。这就证明了 W 是整个空间 \mathbb{R}^{2} 。

在几何上,根据向量加的平行四边行法则(parallelogram law),也可以观察到每一个向量都是一个线性组合 v = w_{1} x_{1} + w_{2} x_{2} 。

我们已经给出的 \mathbb{R}^{2} 子空间的描述将在3.4节通过维度的概念加以阐明。

3.2  场(FIELDS)

(译注:为了与“domain”区分,我们将“domain”译为“定义域”或“域”,而将“field”译为“场”。)

正如第一章的开头所述,基本上,我们提到的所有关于矩阵的运算,对于复数矩阵和实数矩阵同样适用。对于很多其它的数值系统,同样适配良好。为了便于描述这些数值系统,我们列出所需的“标量”属性,并导出场的概念。在转向向量空间学习之前,我们在这里引入场的概念,这是本章学习的主旨。

复数场 ℂ 的子场是所描述的最简单的场。一个的子场(subfield)是一个子集它在加,减,乘,和除四种运算下闭合且包含元素1 。换句话说,如果 F 是ℂ的一个子场,它一定满足如下属性(译注:所谓“闭合(closed)”, 即在某种运算下其结果仍然在这个集合中):

(3.2.1)  (+, - ,×, ÷ )

\bullet    若 a bF 中,则 a + b也在 F 中。

\bullet    若 a F 中,则 - a 也在 F 中。

\bullet    若 a bF 中,则 ab也在 F 中。

\bullet    若 a F 中且 a ≠ 0 ,则 a^{-1} 在 F 中。

\bullet    1 在F 中。

这些公理意味着 1 – 1 也在 F 中。换一种表述,即,F 是加法群 \mathbb{C}^{+} 的一个子群,且F的非零元素构成一个乘法群 \mathbb{C}^{\times} 的子群。

    ℂ 的子场的一些例子:

(a)  实数场 ℝ,

(b)  比率数(整数构成的分数,即分子分母均为整数的分数)场ℚ,

(c)   形如 a+b\sqrt{2} 且 a b 为比率数的所有复数的场 \mathbb{Q}[\sqrt{2} ] 。

抽象场(abstract field)的概念仅比子场的概念稍难理解,并且它包含重要的新场类,包括有限场。

定义 3.2.2  一个场 F是一个集合与两个合成律

                F \times F \displaystyle \xrightarrow{+} F ( 称为加:a   a + b)

                F \times F \displaystyle \xrightarrow{\times} F ( 称为乘:a   ab)

的结合体并且这两个合成律满足如下公理:

( i ) 这个加法合成律使用 F 成为一个Abel群 F^{+} ;它的玄元元素用0表示。

( ii ) 这个乘法合成律是可交换的,并使得F的非零元素集合成为一个Abel群 F^{\times} ;其玄元元素用1表示。

( iii ) 满足分配律:对于F中的任意a bc ,都有 a( b + c ) =  ab + ac

    前两个公理分别描述了加法和乘法这两个合顾律的性质。第三个公理,即分配律,将这两个定律联系起来。

    您会熟悉实数满足这些公理的事实,但只有在经过一些经验后才能理解这个事实——实数是常规代数运算唯一的需要。

    下面的引理解释了0元素如何相乘

引理 3.2.3  令 F 为一个场。

(a)  的元素 0 和元素 1 是不同的。

(b)  对于 中的任意a,有 a0 = 0 且 0a = 0 。

(c)  中的乘法是可结合的,且 1 是玄元元素。

证明:        

    (a) 上面的公理 ( ii ) 意味着 1 不等于 0 。

    (b)  对于加法而言,0 是玄元,0 + 0 = 0 。则 a0 + a0 = a( 0 + 0 ) = a0 。因为  F^{+} 是一个群,我们可以消去 a0 ,从而得到 a0 = 0 ,以及 0a = 0 。

    (c)  因为 F – {0}是一个Abel群,当严格限定在这个子集内的时候,乘法是可结合的。当元素中至少有一个为零时,我们需要证明 a(bc) = (ab)c。在这种情况下,(b) 证明了问题中的乘积等于0 。最后,元素1 是 F – {0} 上的玄元。在 (b) 中设 a = 1 便证明了1是所有的玄元。

除了复数的子场,场的最简单例子是某些称为素场(prime field)的有限场,我们接下来将对其进行描述。我们在前一章中看到,以整数 n 为模的同余类集合 ℤ/nℤ 具有从整数的加法和乘法导出的加法律和乘法律。除了乘法要求逆元存在,场的公理对于所有整数成立。正如第 2.9 节所述,此类公理适用于同余类的加法和乘法。但在整数除法下并不闭合,因此没有理由假设同余类具有乘法逆元。事实上他们不需要。例如,2类没有模 6 的乘法逆元。令人有些惊讶的是,当 p 是素数时,所有模 p 的非零同余类都有逆元,因此集合 ℤ/nℤ 是一个场。这个场称为素场(prime field),并使用符号 \mathbb{F}_{p} 表示。

使用上划线记法并选取 p 同余类的常规表示元素,记为

(3.2.4)           \mathbb{F}_{p} = \{\overline{0} , \overline{1} ,... ,\overline{p-1} \} = \mathbb{Z}/p\mathbb{Z} 。

定理 3.2.5  令 p 为一个素数。每一个模 p 非零同余类都有一个乘法逆元,因此,\mathbb{F}_{p} 是一个 p 阶场。

    在给出其证明之前,我们先讨论定理。

    若 a b是整数,则  \overline{a} \neq \overline{0} 意味着 p 不整除a ,且 \overline{ab}=\overline{1} 意味着 ab ≡ 1 modulo p 。如果 p 很小,则可以通过试错法求得一个同余类 \overline{a} 模p 的逆元。若 p = 13 且 \overline{a}=\overline{3} ,则 \overline{a}^{2}=\overline{3} ,且 \overline{a}^{3}=\overline{27}=\overline{1} 。我们是幸运的: \overline{a} 的阶为3,因为 \overline{3}^{-1}=\overline{3}^{2}=\overline{9} 。在另一方面,6的幂贯穿每一个非零模13同余类。计算幂可能不是求得 \overline{6} 逆元的最快方式。但是这个定理告诉我们构成一个群的非零同余类的集合 \mathbb{F}_{p}^{\times} 。因此, \mathbb{F}_{p}^{\times} 的每一个元素 \overline{a} 都具有限阶,并且,若 \overline{a} 有阶 r ,则其逆元将是 \overline{a}^{(r-1)} 。

为了使用这个推理来证明这个定理,我们还需要下面的消去律:

命题 3.2.7  消去律(Cancelation Law):p为一个素数并令  \overline{a} ,\overline{b} 和 \overline{c} 为  \mathbb{F}_{p} 的元素

(a)  若 \overline{a}\overline{b}=\overline{0} ,则 \overline{a}=\overline{0} 或 \overline{b}=\overline{0} 。

(b)  若 \overline{a} \neq \overline{0}  且若 \overline{a}\overline{b}=\overline{a}\hspace{0.1cm}\overline{c} ,则 \overline{b}=\overline{c} 。

证明:

        (a) 我们用整数 ab 来表示同余类 \overline{a} 和 \overline{b} ,并转化为同余。要证明的知论断是,若p整除 ab ,则 p整除 a p整除 b 。这是推论 2.3.7 ,因此,得证。

        (b) (a)可以推导出,若  \overline{a} \neq \overline{0} 且 \overline{a}(\overline{b}-\overline{c})=\overline{0}  ,则 \overline{b}-\overline{c}=\overline{0} 。

定理 (3.2.5)的证明:

        令 \overline{a} 为 \mathbb{F}_{p} 的一个非零元素。我们考虑幂 \overline{1},\overline{a},\overline{a}^{2} ,\overline{1}^{3} ,... , 因为存在无限多个指数且仅有有限多个元素在 \mathbb{F}_{p} 中,则,一定有两个幂是相等的,比如说, \overline{a}^{m} = \overline{a}^{n}  , 其中,m < n ,我们在等式两侧消去 \overline{a}^{m}:\overline{1}=\overline{a}^{(n-m)} 。则  \overline{a}^{(n-m-1)} 便是 \overline{a} 的逆元。

在接下来的内容中,将字母上的上划线删去会更方便,相信我们自己能记住我们正在使用整数还是同余类,并记住规则(2.9.8):

        若 ab是整数,则在 \mathbb{F}_{p} 中 a = b 指的是 a b modulo p

        与通常的同余一样,除了不能在整数中进行除法,场 \mathbb{F}_{p} 中的计算可以通过使用整数来完成。可以使用其列值(entries)位于场中的矩阵 A 进行操作,并且可以重复第一章的讨论而无需进行本质的更改。

        假设我们要求素数场 \mathbb{F}_{p} 中 n 个未知数的 n 阶线性方程组的解。我们用整数系统表示方程组,选择同余类的代表,例如 AX = B,其中 An × n 整数矩阵,B 是整数列向量。为了解这个 \mathbb{F}_{p} 内的方程组,我们对矩阵 A p 求逆,公式 \mathsf{cof}(A)A = \delta I (其中,\delta = \det A  (定理1.6.9))对整数矩阵是有效的,因此,矩阵的列值被它们的同余类替换之后,在 \mathbb{F}_{p} 中仍然成立。若δ 的同余类不为零,同我们可以通过计算 \delta^{-1}\mathsf{cof}(A) 求得 \mathbb{F}_{p} 中A的逆矩阵。

推论 3.2.8  令 AX = B 为一个有 个未知数的阶线性方程组其中,的列值在 \mathbb{F}_{p}  中,并令 δ = det A 如果 δ 不为零,则这个方程组在 \mathbb{F}_{p} 中具有唯一解。

例如,考虑方程组 AX = B ,其中

                A= \begin{bmatrix} 8 & 3 \\ 2 & 6\\ \end{bmatrix}  和  B= \begin{bmatrix} 3 \\ -1 \end{bmatrix} 。

方程组的系数是整数,因此,AX = B 在 \mathbb{F}_{p} 中对任意素数 p 定义了一个方程组。A的行列式是 42 ,因此,方程组在 \mathbb{F}_{p} 中对于任意不能整除42的p (即,所有不同于2,3,和 7的p )具有唯一解。例如,当计算模13的时候,det A = 3 。因为在 \mathbb{F}_{13} 中 3^{-1}=9 ,

A^{-1}=9 \begin{bmatrix} 6 & -3 \\ -2 & 8 \end{bmatrix} \mathsf{modulo} \hspace{0.1cm} 13 = \begin{bmatrix} 2 & -1 \\ 8 & 7 \end{bmatrix}  和   X = A^{-1}B \hspace{0.1cm} \mathsf{modulo} \hspace{0.1cm}13 =\begin{bmatrix} 7\\4 \end{bmatrix} 。

(译注:以上疑似有误,应该是

A^{-1}=9 \begin{bmatrix} 6 & -3 \\ -2 & 8 \end{bmatrix} \mathsf{modulo} \hspace{0.1cm} 13 = \begin{bmatrix} 2 & -1 \\ -5 & 7 \end{bmatrix} ,

因此,X = A^{-1}B \hspace{0.1cm} \mathsf{modulo} \hspace{0.1cm}13 =\begin{bmatrix} 7\\-9 \end{bmatrix} 。

因为 AA^{-1} 应该等于单位矩阵 \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} ,修改后恰好满足这一条件。)

这个方程组在 \mathbb{F}_{2} 和 \mathbb{F}_{3} 中没有解。碰巧在 \mathbb{F}_{7} 中有解,尽管 \det A \equiv 0 \hspace{0.1cm} \mathsf{modulo} \hspace{0.1cm} 7

        具有列值在素数场 \mathbb{F}_{p} 中的可逆矩阵提供了有限群的新示例,即有限场上的一般线性群:

                GL_{n}(\mathbb{F}_p) = {具有列值在素数场 \mathbb{F}_{p} 中的可逆矩阵n × n},

                SL_{n}(\mathbb{F}_p) = {具有列值在素数场 \mathbb{F}_{p} 中且具有行列式1的可逆矩阵n × n}。

例如,列值位于 \mathbb{F}_{2} 中的可逆 2 × 2 群含有6个元素:

(3.2.9)      GL_{2}(\mathbb{F}_2) = \{ \begin{bmatrix} 1&\\&1 \end{bmatrix}, \begin{bmatrix} 1&1\\1& \end{bmatrix}, \begin{bmatrix} &1\\1&1 \end{bmatrix}, \begin{bmatrix} &1\\1& \end{bmatrix}, \begin{bmatrix} 1&1\\&1 \end{bmatrix}, \begin{bmatrix} 1&\\1&1 \end{bmatrix} \} 。

这个群与对称群众 S_{3} 是同构的。以上矩阵元素的列出阶序与  S_{3} 的元素的常规列表 \{1,x,x^{2} ,y,xy,x^{2}y \} 一致。

        素数场 \mathbb{F}_{p} 的一个将其与 ℂ的子场区分开来的属性是,循环将1加到其自身达一定的次数(事实上是p次)之后,就给出了 0 的结果。作为加法群 F^{+} 的一个元素,一个场F 特征(characteristic)便是1 的阶数(假设阶数有限)。它是使得 1 的 m 个副本的总和 1 + ... + 1 的计算结果为零的最小的正整数。若1的阶数是有无限的,即,1 + ... + 1 在 F^{+} 永不为0 ,则称这个场具有特征0 (characteristic zero),这在某种程度上似乎有悖常理。因此,ℂ 的子场有特征 0,而素场 \mathbb{F}_{p} 有特征 p

引理 3.2.10  任意场 F 的特征要么是0,要么是一个素数

证明

        为了避免引起混淆,我们分别令 \overline{0}  和 \overline{1} 来表示场 中的加法玄元和乘法玄元 。且若 k 是一个个正整数,我们令 \overline{k} 为 \overline{1} 复制 k 次后相加的和。假设特征 m 不为 0。则 \overline{1} 产生一个 F^{+} 的 m 阶循环子群H,且 \overline{m}=\overline{0} 。则由  \overline{1} 产生的循环子群 H 的不同元素 \overline{k} ( k = 0,1,...,m - 1)(命题 2.4.2)。假设 m 不是素数,比如说,m = rs 且 1 < r ,sm 。则 \overline{r} 和 \overline{s} 在乘法群 F^{\times} = F - \{0\} 中,但是,乘积 \overline{r}\hspace{0.1cm}\overline{s} (等于 \overline{0} ) 不在 F^{\times} 中。这与 F^{\times} 是群的事实相矛盾。

        素场 \mathbb{F}_{p} 还具有另一个显著的属性:

定理 3.2.11  乘法群的结构:令 p 为素数。则素场的乘法群  \mathbb{F}_{p}^{\times} 是一个 p – 1 阶的乘法群。

我们将这个定理的证明推迟到第15章中进行,在那里,我们将证明每一个有限场的乘法群都是循环群(定理15.7.3)。

\bullet    循环群 \mathbb{F}_{p}^{\times} 的一个生成元(generator)被称为p原根(primitive root)。

存在两个模p原根,即,3 和 5,以及四个模11原根。去掉上划线,3 模 7 的原根的幂  3^{0} , 3^{1} , 3^{2} ,...  按下列的次序列出了 \mathbb{F}_{7} 的非零元素:

(3.2.12)   \mathbb{F}_{7}^{\times}= \{1 ,3 ,2 , 6 , 4 , 5 \} = \{1 ,3 ,2,-1, -3,-2 \} 因此,有两种方式可以用于列出 \mathbb{F}_{p}^{\times} 的非零元素,即,按加法和按乘法。若α 是模 p原根,则 

(3.2.13)   \mathbb{F}_{p}^{\times}=\{1,2,3, ...,p - 1 \} = \{1,\alpha ,\alpha^{2},..., \alpha^{p-2} \}  。

3.3  向量空间(VECTOR SPACES)

    有了场的一些概念和例子之后,我们继续进行向量空间的定义。

定义 3.3.1  一个场 F上的一个向量公间V是一个集合与两个随后所述的合成律的结合体。这两个合成律为:

(a) 加法:V × V V ,对于 V 中的 vw,记为 vw v + w

(b) 按场的元素的标量乘:F × V V ,对于 F 中的 cV 中的v ,记为 cv cv

这两条合成律需满足下面的公理:

\bullet    加法使得成为一个具有 0 作为玄元的交换群  V^{+} 。

\bullet    对于V中的任意v ,有 1v = v

\bullet    结合律:对于 F 中的任意 ab 以及 V中的任意v,有 (ab)v = a(bv)。

\bullet    分配律:对于 F 中的任意 ab 以及 V中的任意vw,有 (a + b)v = av + bv a(v + w) = av + aw

        当加法和标量乘如惯常定义(3.1.1)时,列值位于场 F 的列向量空间 F^{n} 构成场F上的一个向量空间。

         实向量空间(ℝ上的向量空间)的更多一些例子:

例子 3.3.2 

(a)  令 V = ℂ 为复数集合。忽视关于两个复数的乘法。仅关注其两个复数的加法和一个复数α与一个实数 的标量乘法 这两种运算。这两种运算使得 成为一个实向量空间。

(b)  实数多项式 p(x) = a_{n} x^{n} + ...+ a_{0} 的集合是一个实数向量空间,以多项式加法和实数与多项式的标量乘法作为其合成律。

(c)  实数轴上连贯实数值函数的集合是一个实数向量空间,它以函数加法 f + g 和 实数与函数的乘法作为其合成律。

(d)  微分方程  \frac{d^{2}y}{dt^{2}}=-y 的解的集合构成一个向量空间。

我们的每个例子都具有比我们将其视为向量空间时所看到的更多的结构,这是很典型的。 任何特定的例子都肯定具有与其他示例区分开来的额外功能,但这不是缺点。相反,抽象方法的优势在于公理的结果可以应用于许多不同的情况

        子空间和同构这两个重要的概念与子群和群的同构类似。与 \mathbb{R}^{n} 子空间一样,一个场 F上的一个向量空间V的一个子空间 W 在加法和标量乘的合成律之下是一个非空的闭合子集。对于一个子空间W,如果它既不是整个空间V,又不是零子空间 {0}, 则它是一个真子空间(proper subspace)。例如,微分方程(3.3.2)(d)的解的空间是实数轴上所有连续函数构成的空间的真子空间。

命题 3.3.3 V = F^{2} 为列值位于场 的列向量向量空间。一个非零向量w的标量乘{cw}构成的V的每一个真子空间。不同的真子空间共有的向量仅为零向量

        证明命题3.1.4的证明对这个命题的证明继续有效,不再赘述。

例子 3.3.4  令 F 为素场 \mathbb{F}_{p} 。空间 F^{2} 包含  p^{2} 个向量,( p^{2}-1 ) 个向量非零。因为存在 p – 1 个非零标量,由一个非零向量 w 所张成的子空间 W = {cw} 将包含 p – 1 个非零向量。因此,F^{2} 包含 (p^{2} - 1)/( p - 1) = ( p + 1) 个真子集。

        从一个向量空间V到另一个向量空间V’的一个同构φ(两个空间都基于同一个场F )是一个与两个合成律相容的双射 φ V V ’,即,对于V中的任意vw 以及F中的任意c,这个双射使得

(3.3.5)       φ(v + w) = φ(v) +  φ(w) 和 φ(cv) = (v)

成立。

例子 3.3.6 

(a)  F^{n \times n} 表示列值位于场F 中的n × n 矩阵的集合。这个集合是场F上的一个向量空间,并且与长度为 n^{2} 的列向量空间同构。

(b)  如果我们将复数集合视为一个实向量空间(译注:应理解为将复数的实部和虚部看成是实向量的两个分量),例如在 (3.3.2)(a)中,发送 (a,b)^{t} \rightsquigarrow a+bi 的映射 \varphi :\mathbb{R}^{2} \rightarrow \mathbb{C} 是一个同构。

3.4  (向量空间的)基底和维数(BASES AND DIMENSION)

    我们讨论在向量空间中进行加法和标量乘法运算时使用的术语。涉及到的新概念有张成(span)、独立性(independence)和基底(basis)(译注:有的书上又使用“base”,可理解为以此为“基础”,或以此为“根基”,在不致引起混淆的情况下,简称为“基”,或“底”,因为在数学上,使用“基”作为术语的数学分支不只一个,比如,指数的底数和进制表示的底数也称为“基”或“底”)。

    在这里,我们使用向量的有序集(ordered sets)。我们将无序集合放在大括号中,并用圆括号将有序集合括起来,以便清楚地区分。因此,有序集合(v, w) 与有序集合 (w, v) 不同,而无序集合 { v, w } 和 { w, v } 相等。有序集中允许重复。所以 (v, v, w) 是有序集合,它与 (v, w) 不同,与无序集合的约定相反,其中 { v, v, w } 和 { v, w } 表示同一个集合。

V 为一个场 F上的一个向量空间,并令 S = ( v_{1},...,v_{n} ) 为 V 的元素的一个有序集。则 S 的一个线性组合(linear combination)是一个形如

(3.4.1)        w = c_{1} v_{1} + ... + c_{n} v_{n} (其中,c_{i} 在 S 中 )

的向量。

允许标量出现在向量的任一侧会很方便。我们简单地约定,如果v是向量而c 是标量,则符号 vccv 代表同一个向量,即通过标量乘法获得的向量。因此,c_{1} v_{1} + ... + c_{n} v_{n}=v_{1}c_{1} + ... + v_{n}c_{n} 。

        矩阵表示法提供了一种紧凑的方式来书写线性组合,并且我们在选择书写有序向量集的方式时考虑到了这一点。由于它的列值(entries)是向量因此我们将数组 S = ( v_{1},...,v_{n} ) 称为超向量(hypervector)。向量空间的两个元素的乘法没有定义,但我们确实有标量乘法。这就允许我们将 F^{n} 中的超向量 S 与一个列向量 X的乘积解释为矩阵乘法

(3.4.2) 

        SX=(v_{1},...,v_{n}) \begin{bmatrix} x_{1}\\ \vdots \\x_{n}\end{bmatrix}=v_{1}x_{1}+...+v_{n}x_{n} 。

通过计算右边的标量乘再向量加,我们获得另一个向量—— 一个标量系数在右的线性组合。

    我们取这个线性方程组的解的 \mathbb{R}^{3} 的子空间W

(3.4.3)     2x_{1} - x_{2} - 2x_{3} = 0 或 AX = 0 ,其中 A = (2,-1,-2)

作为例子。方便的两个特解 w_{1} 和 w_{2} 及其一个线性组合 w_{1}y_{1}+w_{2}y_{2} 如下所示:

(3.4.4)   

        w_{1}=\begin{bmatrix} 1\\0\\1 \end{bmatrix} ,w_{2}=\begin{bmatrix} 1\\2\\0 \end{bmatrix} ,w_{1}y_{1}+w_{2}y_{2}=\begin{bmatrix} y_{1}+y_{2}\\2y_{2}\\y_{1} \end{bmatrix} 。

若我们写成 S = (w_{1}, w_{2})  且 w_{i} 如 (3.4.4)的记法,并且 Y = (y_1,y_2 )^{t} ,则这个线性组合可以按矩阵形式记为 SY

\bullet    由向量 S = ( v_{1},...,v_{n} )  的所有线性组合构成的向量集合构成V的一个子空间,称其为由集合张成的子空间

正如3.1节所述,这个张成的子空间是V的含有S的最小子空间,通常记为 Span S。 一个单一的向量 \{ v_{1} \} 张成的子空间是 v_{1} 的标量乘 cv_{1} 构成的空间。

人们也可以针对一个向量无限集定义张成空间,我们将在3.7节讨论这个问题。现在我先假设集合是有限集。

引理 3.4.5  令 S 向量的一个有序集,并令的一个子空间。若 S W则有 Span S W (译注:如上所述,读作“这个张成的子空间是V的含有S的最小子空间”)。

         一个列值在中的 ×n 矩阵的列向量空间(column space)是由矩阵的列所张成的空间 F^{m} 的子空间。对此有一个重要的解释:

命题 3.4.6 令 A 为一个× n 矩阵,并令 为一个列向量,且两者列值都在场  则对于方程组 AX = B当且仅当 在 的列向量空间中时其具有一个位于 F^{m} 的 的解

证明:

        令 A_{1} ,...,A_{n} 表示 A 的列。对于任意列向量 X = (x_{1} ,...,x_{n})^t ,矩阵的积 AX 是列向量 A_{1} x_{1} + ... + A_{n} x_{n} 。这是列值(列向量空间的元素)的一个线性组合,并且若 AX = B ,则 B 便是这个线性组合。

        向量 x_{1} ,...,x_{n}  之间的一个线性关系(linear relation)是计算结果为0的任意线性组合——即,形如 

( 3.4.7 )          v_{1} x_{1} + v_{2} x_{2} + ... + v_{n} x_{n} = 0 

的在V中成立的任意方程,其中,系数 x_{i} 在场 F 中。线性组合很有用,因为,若 x_{n} 不等于0,则方程 ( 3.4.7 ) 可以对 v_{n} 求解。

定义 3.4.8  对于向量 S = ( v_{1},...,v_{n} ) 的一个有序集,若除了平凡的(trivial)(译注:即显而易见的)线性组合( X = 0这种情况,即,在其中,所有系数 x_{i} 都是0),不存在线性组合 SX = 0则称这个有序集是独立的(independent),或者线性独立的(linearly independent)不是线性独立的集合则是线性相关的(dependent)。(译注:线性独立性即线性无关性,集合之间没有共同部分,没有相似部分;相反,相关性即有相似性,一个集合可以用另一个相关性的集合线性表示。)

        一个独立的集合不能有任何重复向量。若的两个向量 v_{i} 和 v_{j} 是相等的,则   v_{i}-v_{j}=0 量是形如( 3.4.7 )的一个线性关系,其它的系数均为0。此外,在一个独立的集合中,向量 v_{i} 没有等于0 的。因为,若 v_{i} 是0 ,则 v_{i}=0 是一个线性关系。

引理 3.4.9 

(a)  对于一个向量构成的集合 (v_{1}) ,当且仅当 v_{1} \neq 0 时,其是独立的。

(b)  对于两个向量构成的集合 (v_{1} ,v_{2}) ,若任一向量都不是对方的倍数,则这两向量是相互独立的。

(c一个独立集合的任意重排序仍是独立的。

假设 是空间 F^{m} ,并且我们已知集合  S = ( v_{1},...,v_{n} ) 中的向量的坐标向量。则方程 SX = 0 给了我们一个含有个未知数  x_{i} 的m 个齐次(homogeneous)线性方程构成的方程组,并且我们可以通过解这个方程组来确定其方程之间的独立性。

例子 3.4.10  令 S = ( v_{1},v_{2},v_{3},v_{4} ) 为 \mathbb{R}^{3} 中的向量集,且其坐标向量分别是

(3.4.11) 

  A_{1}=\begin{bmatrix} 1\\ 0\\ 1 \end{bmatrix}  ,A_{2}=\begin{bmatrix} 1\\ 2\\ 0 \end{bmatrix} ,A_{3}=\begin{bmatrix} 2\\ 1\\ 2 \end{bmatrix} ,A_{4}=\begin{bmatrix} 1\\ 1\\ 3 \end{bmatrix} 。

A 表示由这些列向量构成的矩阵:

(3.4.12) 

             A=\begin{bmatrix} 1&1&2&1 \\ 0&2&1&1 \\ 1&0&2&3 \\ \end{bmatrix} 。

则一个线性组合将具有形式为 SX = v_{1} x_{1} + v_{2} x_{2} + v_{3} x_{3} + v_{4} x_{4} ,并且其坐标向量为 AX = A_{1} x_{1} + A_{2} x_{2} + A_{3} x_{3} + A_{4} x_{4} 。齐次方程 AX = 0 具有非平凡解(译注:即非零解,非显而易见的解,需要费一定周折才能求得的解),因为它是含有4个未知数的三个齐次方程组。因此,集合S是独立的。在另一方面,由矩阵(3.4.12)前三列所构成的 3×3 矩阵 A’的行列式等于1,因此方程 A’ X = 0 仅有平凡解。因此,( v_{1},v_{2},v_{3}) 是一个独立集合。

定义 3.4.13  一个向量空间V 的一个基(basis)是一个线性无关且也张成向量空间V 的向量的集合 ( v_{1},...,v_{n} ) 

        我们通常使用粗体符号(例如 B )来表示一个基。按以上定义的集合 ( v_{1},v_{2},v_{3}) 是 \mathbb{R}^{3} 的一个基,因为方程 A’ X = 0 对于所有的B都具有唯一解(见1.2.21)。按(3.4.4)定义的集合 ( w_{1} , w_{2} ) 是方程 2x_{1} - x_{2} - 2x_{3} = 0 的解空间的一个基,尽管我们还没有验证它。

命题 3.4.14  对于集合  B = \{v_{1} , ..., v_{n}\} 以及向量空间V 当且仅当中的每一个向量 w 都可以按唯一的方式写成一个线性组合  w = v_{1} x_{1} + ... + v_{n} x_{n} = \mathsf{B}X 的时候,这个向量 B 是V的一个基。

证明:

        称零向量仅可以按一种方式写成一个线性组,按照这种表述,可以重述独立性的定义。如果每一个向量都可以唯一地写成一个线性组合,则 B 是独立的,并张成 V ,因此,它是一个基(basis)。反之,假如 B 是一个基。则 V 中的每一个向量 w,都可以写成 B 的一个线性组合。假设 w 按两种方式写为线性组合,比如 w = BX = BX’。令 Y = XX’,则 BY = 0 ,这是向量 v_{1} ,...,v_{n} 之间一个线性组合,这些向量是独立的 。因此,XX’= 0 , 这说明这两个线性组合是相同的。

        令 V=F^{n} 为列向量空间。如前一样,用 e_{i} 表示第i个位置为1而其它位置为0的列向量(见(1.1.24))。集合 E=\{e_{1},...,e_{n}\}  是 F^{n} 的一个基,称其为标准基(standard basis)。若 F^{n} 中一个向量的坐标向量是 X = (x_{1} ,...,x_{n})^{t} ,则根据标准基, v = EX = e_{1} x_{1} + ... + e_{n} x_{n} 是v的唯一表达式。

我们现在讨论与张成(span)、独立性(independence)和(basis)这三个概念相关的主要事实。最重要的事实是定理 3.4.18。

命题 3.4.15  令  S = ( v_{1},...,v_{n} ) 为向量的一个有序集,令 中的任意向量,并令 S’ = (S w 为通过将加到S 所获得的集合。

(a) 当且仅当 w Span S 中时,Span S = Span S’

(b) 假设 S 是独立的。则当且仅当w 不在 Span S 中时,S’ 是独立的。

证明:

        这个内容非常基础,因此我们略去大部分的证明。我们仅证明若 S 是独立的而 S’ 不是独立的,则 w Span S 中这种情况。若 S’ 是独立的,则存在某种线性关系

        v_{1} x_{1} + ... + v_{n} x_{n} + wy = 0 ,

其中,系数 v_{1} ,...,v_{n} 和 y 不全为0 。若系数 y是0,则表达式缩减为 SX = 0 ,且因为假设 S 是独立的,我们也可以推断出 X = 0 ,这关系是平凡的,这与我们的假设是矛盾的。因此 y ≠ 0 ,则我们可以针对 w 求得 v_{1} ,...,v_{n} 的一个线性组合。

\bullet    对于一个线性空间V,若其可由某些有限向量张成,则称其是有限维的(finite-dimensional)。否则,称V无限维的(infinite-dimensional)。

在本节余下的部分,我们的向量都是有限维的。

命题 3.4.16 令V 为有限维向量空间。

(aS为张成的有限子集,并令 LV 的一个独立子集。通过将S的元素加到 的方式,可以获得的一个基。

(b为张成的有限子集。通过从中删去元素的方式,可以获得的一个基。

证明:

    (a)  S 包含于 Span L 中,则L张成V,因此,它是一个基(3.4.5)。否则,我们先择S中的一个不在Span L 中的元素v 。根据命题 3.4.15 ,L’ = (Lv)是独立的。我们用L替换 L’。因为S是有限的,通常我们仅对有限维的情况可以这样做。因此,最终我们获得一个基。

    (b)  假如S是独立的,则存在一个线性关系 v_{1} x_{1} + ... + v_{n} x_{n} = 0 , 其中,某些系数(比如说 c_{n} ) 不为0。我们可以针对 v_{n} 解这个方程,这就证明了 v_{n} 在由前面 (n - 1)个向量的集合 S_{1} 所张成的空间中。继续按这种方式进行下去,最后我们会获得一族独立且仍旧张成空间V 的一族基。

注意:按这个推理,当V是零向量空间{0}的时候,会存在一个问题。以V中向量的任一个集合S开始,所有向量都等于0,我们的处理例程将一次扔掉一个向量,直到只有一个向量 v_{1} 留下。而又因为 v_{1} 是0,集合 (v_{1}) 是相关的。我们如何进行下去呢?零空间并不是特别有趣,但它可能潜伏(lurk)在角落里,随时准备绊倒我们(trip us up)。我们必须考虑到在某些计算(例如求解齐次线性方程组)过程中出现的向量空间为零空间的可能性,尽管我们没有意识到这一点。为了避免将这种可能性作为特殊情况提及,我们采用以下定义:

(3.4.17)

\bullet    空集合是独立的。

\bullet    空集合张成的空间是零空间{0} 。

根据这个定义,则空集是零向量空间的一个基。这些定义允许我们扔掉最后一个向量 v_{1} ,这样,就挽救了以上这种证明方法。

        现在,我们触及到了关于独立性的主要事实:

定理 3.4.18   S L 为一个向量空间V的有限子集假设张成是独立的至少包含与 一样多的元素:| S ≥ | L |

    如前一样,| S |表示阶,即,集合 S 的元素个数。

证明:

        假设 S = ( v_{1},...,v_{m} )  和 L = ( w_{1},...,w_{n} )  。我们假设 |S|<|L| ,即,m < n,我们证明 L是独立的。为了实现这一点,我们证明存在一个线性关系  w_{1} x_{1} + ... + w_{n} x_{n} = 0 ,其中,系数 x_{i} 不全为0。我们将这个不确定的关系记为 LX = 0。

        因为 S 张成 V L的每一个元素 w_{j} 都是S的一个线性组合,比如说  w_{j} = v_{1} a_{1j }+ ... + v_{m} a_{mj} = SA_{j} ,其中,A_{j} 是系数的列向量。我们将这些列向量组成一个 × 矩阵

 (3.4.19)    

                \boldsymbol {A}= \begin{bmatrix} |&&|\\ A_{1}&\hdots&A_{n}\\ |&&| \end{bmatrix}  。

(3.4.20)     SA = (SA_{1},..., SA_{n}) = (w_{1},..., w_{n}) = L 。

我们在未确定的线性组合中用SA替换L

         LX = (SA)X

标量乘的结合律意味着 (SA)= S(AX )。这个证明与标题矩阵乘法的结合律的证明一样(我们略去)。若 AX = 0 ,则我们的线性组合 LX 也将为0。现在,因为 A 是一个 m×n ( m < n )矩阵,这个齐次方程组具有非平凡解 X 。则 LX = 0 正是我们所求的线性关系。

命题 3.4.21  令为一个有限维向量空间。

(a的任意两个基(bases)(译注:basis的复数bases)具有相同的阶(相同的元素数目)。

(bB为一个基。若一个有限向量集张成 V,则当且仅当S是一个基的时候, |S | ≥ |B| 。

(cB为一个基。若一个向量集是独立的,则 | L| ≤ |B| ,且当且仅当 L是一个基的时候,| L | = |B| 。

证明:

        (a)  在这里,我们指出,两个有限基 \mathsf{B}_{1} 和 \mathsf{B}_{2} 具有相同的阶,在推论3.7.7中我们将证明一个有限维向量空间的任一个基都是有限维的。在定理3.4.18中取  S=\mathsf{B}_{1} 和 L=\mathsf{B}_{2} 即可证明 |{\mathsf{B}_{1}}| \geq |{\mathsf{B}_{2}}| ,类似地,有 |{\mathsf{B}_{2}}| \geq |{\mathsf{B}_{1}}| 。

        (b)(c)部分可从(a)和命题3.4.16推断。

定义 3.4.22  一个有限维向量空间的维数是其一个基中的向量的数目。 维数将记为 div V

        列向量空间 F^{n} 的维数是n,因为标准基 E=\{ e_{1},...,e_{n}\} 含有个元素。

命题 3.4.23  若 W 是一个有限维向量空间 V 的一个子空间,则 W 是有限维的,且 div W ≤  div V 此外,当且仅当 W = V div W = div V

证明:

       我们以W中任意独立的向量集 L开始,有可能是空集。若L不张成 W ,我们选取在 W中但不在L的张成空间的一个向量w 。则 L’= (L , w)将是独立的(3.4.15)。我们用 L’替换L

       现在,很明显的是,若 LW的一个独立子集,则将其视为 V 的一个独立子集时,它也是独立的。因此,根据定理 3.4.18,有 | L|≤ dim V。因此,将元素加入到 L的这个过程必须会有结束的时候,且当它结束的时候,我们将得到W的一个基。因为L包含最多 dim V 个元素,因此,div W ≤  div V 。因为 | L| = div V ,则命题 3.4.21 (c)证明 LV 的一个基,因此,W = V

        

3.5  用基进行计算(COMPUTING WITH BASES)

    基的目的是提供一种计算方法,我们在本节中学习如何使用它们。 我们考虑两个主题:如何根据基表达向量,以及如何将同一向量空间的不同基关联起来。

假设给到我们一个场F上的一个向量空间的一个基 \mathbf{B} = (v_{1} ,...,v_{n} ) 。记住:这意味着在向量空间中的每一个向量都可以恰好按一种方式(3.4.14)被表述为一个线性组合 

(3.5.1)       v = v_{1} x_{1} + ... + v_{n} x_{n}  x_{i}  在场 F 中 )。

标量  x_{i} 是向量 v 关于基B坐标(coordinates),而列向量

(3.5.2) 

        \boldsymbol{X} = \begin{bmatrix} x_{1}\\ \vdots\\ x_{n} \end{bmatrix} 

是向量 v 关于基B坐标向量(coordinate vector)(译注:即向量在基上的各个分量)。

例如,(cos(t),sin(t))是微分方程 y’’ = -y 的解空间的一个基。这个方程的每一个解都是这个基的一个线性组合。若给到我们另一个解(t),则 (t) 的坐标向量  (x_{1} ,x_{2})^{t} 是使得 f(t) = x_{1}\cos(t) + x_{2}\sin(t)  成立的向量。显然,为了求得 X ,我们需要知道 f 的某些东西。不需要太多:只要确定两个系数足可。f 的大部分属性隐含于其作为这个微分方程的解这个事实中的。

        如果已知一个维数为 的向量空间的一个基B,我们总是可以定义一个从空间 F^{n} 到 向量空间同构(isomorphism of vector spaces)(见3.3.5):

(3.5.3)   \psi:F^{n} \rightarrow V ,

这个同构发送 XBX 。我们通用B表示这个同构,因为它发送了一个向量到 BX

命题 3.5.4  令   S = ( v_{1} ,... ,v_{n} ) 为一个向量空间的一个子集,并令 \psi:F^{n} \rightarrow V 为由  \psi( X ) = SX 所定义的映射

(a当且仅当S是独立的时候,ψ是单射的(injective),

(b当且仅当S是张成V的时候,ψ是满射的(surjective),和

(c当且仅当SV的一个基的时候,ψ是双射的(bijective)。

以上可以从独立,张成,和基的定义推导出。

    已知一个基,可通过对映射ψ (3.5.3)求逆的方式获得V中一个向量v的坐标向量。除非明确地给出一个基,否则我们没有求逆函数的公式,但是同构的存在性是有趣的:

推论 3.5.5 一个场 F 上的每一个n维向量空间V 都与列向量空间  F^{n} 同构

另请注意,当 m n的时候,F^{n} 与 F^{m} 不同构,因为 F^{n} 具有n个元素的基,而基的元素的数目仅取决于向量空间。因此一个场 F上的有限维向量空间完全是被分类的列向量空间  F^{n} 是同构类的代表元素

        一旦选定了一个基,一个维列向量空间与 F^{n} 同构的这个事实允许我们将向量空间上的问题转换到熟悉的列向量代数问题。 遗憾的是,同一向量空间V具有很多不同的基。当持有一个自然基的时候,将向量空间V 与一个同构空间 F^{n} 关联起来是十分有用的。在这种情况下,我们必需选择坐标,即,必需变换基。

      例如,一个齐次线性方程 AX = 0 的解空间几乎从不会有自然基。方程  2x_{1} - x_{2} - 2x_{3} = 0 的解空间 W 维数是2,此前我们列出过一个基: \mathbf{B} = ( w_{1} , w_{2 })  , 其中,w_{1}=(1,0,1)^{t} ,w_{2}=(1,2,0)^{t} (见 (3.4.4))。使用这个基,我们获得了一个向量空间同构 \mathbb{R}^{2} \rightarrow W ,我们可以使用B 来表示。因为方程中的未知数标为 x_{i} ,在这里,我们必须为 \mathbb{R}^{2} 的变元选择另一个符号。我们将使用 Y = (y_{1} ,y_{2})^{t} 。这个同构发送到  \mathbf{B}Y = w_{1} y_{1} + w_{2} y_{2} ,如(3.4.4)所示。

        然而,这两个特解 w_{1} 和 w_{2 } 并没什么特别之处。大部分其它的解对(pairs)同样契合良好。解 w_{1}^{'} = (0 ,2,-1)^{t} 和 w_{2}^{'} = (1 ,4,-1)^{t} 给到了我们 W 的第二个基 \mathbf{B}' = (w_{1}^{'},w_{2}^{' }) 。以上任一基都足以唯一地描述方程的解空间。方程的一个解可以写成以下任一形式

(3.5.6)

                     \begin{bmatrix} y_{1}+y_{2}\\ 2y_{2} \\y_{1} \end{bmatrix}    或 \begin{bmatrix} y_{2}^{'}\\ 2y_{1}^{'}+4y_{2}^{'} \\-y_{1}^{'}-y_{2}^{'} \end{bmatrix} 。

3.5.1  换基(Change Of Basis)

    假设给到我们同一个向量空间V的两个基,比如,\mathbf{B} = (v_{1} ,... ,v_{n}) 和 \mathbf{B}^{'} = (v_{1}^{'} ,... ,v_{n}^{'}) 。我们希望执行两个计算。首先,我们要问:这两个基之间是怎样的关系?第二,V中的一个向量v 针对这些基中的第一个基都有一个坐标向量。因此,我们要问:这两个坐标向量之间是怎样的关系?这些是有关换基的计算,并且它们在此后的章节中也十分重要。如果你不存细地组织好这些符号,它们可以令你发疯

         我们姑且将B视为旧的基,而将B’ 视为新的基。我们注意到,新的基B’ 的每一个向量都是旧的基的一个线性组合。我们将这个线性组合写为

(3.5.7)           v_{j}^{'} = v_{1} p_{1j} + v_{2} p_{2j} + ... + v_{n} p_{nj} 。

当使用旧的基向量进行计算的时候,列向量 p_{j} = (p_{1j}, ...,p_{nj})^{t} 是新的基向量 v_j^{'} 的坐标向量。我们将这些列向量聚成一个方阵P,获得了一个矩阵方程 B’ = B P

(3.5.8)

        \mathbf{B}' = ( v_{1}^{'} ,...,v_{n}^{'} ) = (v_{1} ,...,v_{n}) \begin{bmatrix} &&\\&P& \\&& \end{bmatrix} =\mathbf{B}P   。

这个矩阵是 P 换基矩阵(basechange matrix)(注:这个换基矩阵是在第一版中使用的矩阵的逆矩阵)。

命题 3.5.9 

(a) BB’ 为一个向量空间V的两个基,换基矩阵 P 是由两个基BB’ 唯一地确定的一个可逆矩阵。

(b)  令 \mathbf{B} = (v_{1} ,... ,v_{n}) 为一个向量空间V的一个基,另外的基是形如 B’ = B P 的集合,其中 P 可以是任意可逆的 ×n 矩阵。

证明:

    (a) 方程 B’ = B P 将基向量 v_{i}^{'} 描述为基 B 的一个线性组合。公有一种方式描述这个线性组合(3.4.14),因此,P是唯一的。为了证明P是可逆矩阵,我们交换BB’的角色。存一个矩阵 Q 使得 B = B’ Q 。则 B = B’ Q = B P Q ,或者

 (v_{1} ,...,v_{n}) = (v_{1} ,... ,v_{n}) \begin{bmatrix} &&\\&PQ& \\&& \end{bmatrix}  。这个方程将每个  v_{i} 描述为向量(v_{1} ,...,v_{n}) 的一个线性组合。这个乘法矩阵 P Q 的列值是系数。但是,因为B是一个基,仅有一种方式将 v_{i} 表述为 向量 (v_{1} ,...,v_{n}) 的一个线性组合,即, v_{i}=v_{i} ,或者,按矩阵记法,B = B I 。因此,P Q = I

        (b) 我们必须证明若 B 是一个基,且若P是一个可逆矩阵,则 B’ = B P 也是一个基。因为P是一个可逆矩阵,则 \mathbf{B} = \mathbf{B}^{'}P^{-1} 。这表明,向量 v_{i} 在基B’ 所张成的空间中,因此,B’ 张成V,又因为它具有与 B 同样多的元素数目,因此,它是一个基。

         令 X ’ 为同一任意向量 分别针对两个基进行计算得到的坐标向量,即,v = BX v = B X ’ 。使用替换 \mathbf{B} = \mathbf{B}^{'}P^{-1} 便给到我们矩阵方程

(3.5.10)     v = \mathbf{B}X = \mathbf{B}^{'} P^{-1}X  。

这就证明了针对新的基 B’ 的坐标向量是 P^{-1}X  ,我们称为 X ’ 。

        概言之,我们有一个单一矩阵 P (即换基矩阵),具有双重属性

(3.5.11)      B’ = B P P X ’ = X

其中,X ’ 表示同一任意向量 v 针对两个基的坐标向量。这两个属性的每一个都刻画了 P 。请注意在这两种关系中的位置。

        再次回到方程 2x_{1} - x_{2} - 2x_{3} = 0  ,令 BB’ 为如上所描述的(3.5.6)解空间W 的基。换基矩阵求解方程

        \begin{bmatrix} 0&1\\2&4 \\-1&-1 \end{bmatrix} = \begin{bmatrix} 1&1\\0&2 \\1&0 \end{bmatrix} \begin{bmatrix} p_{11}&p_{12}\\p_{21}&p_{22} \end{bmatrix} 。即, P=\begin{bmatrix} -1&-1\\1&2 \end{bmatrix} 。

已经向量 v 针对两个基的坐标向量Y Y ’ (在(3.5.6)中出现过)是按方程

        PY^{'}=\begin{bmatrix} -1&-1\\1&2 \end{bmatrix}\begin{bmatrix} y_{1}^{'}\\y_{2}^{'}\end{bmatrix} =\begin{bmatrix} y_{1}\\y_{2}\end{bmatrix} =Y 。

另一个例子:令 B = (cos(t),sin(t)) 为微分方程  \frac{d^{2}y}{dt^{2}}=-y 的解空间的一个基。若我们允许复数值函数,则指数函数 e^{\pm it} = \cos(t) \pm i \sin(t) 也是一个解,并且,\mathbf{B}^{'} = (e^{it}, e^{-it}) 是解空间的一个新的基。这个换基计算是

(3.5.12)           (e^{it}, e^{-it})=(\cos(t),\sin(t)) \begin{bmatrix} 1&1\\i&-i \end{bmatrix}  。

换基矩阵容易确定的一种情况是,V 是列向量空间 F^{n}  ,则旧基是标准基 E = \{ e_{1} ,...,e_{n} \} ,而新的基可以是任意的,我们仍用 \mathbf{B} = (v_{1} ,... ,v_{n}) 表示。令 v_{i} 针对标准基的坐标向量是列向量 B_{i} 。因此, v_{i}=\mathbf{E}B_{i} 。我们将这些列向量组装成一个n×矩阵并用[B]表示:

(3.5.13)

                [\mathbf{B}]= \begin{bmatrix} |&&|\\ B_{1}&\hdots&B_{n}\\ |&&| \end{bmatrix} 。则    (v_{1} ,... ,v_{n})=\{ e_{1} ,...,e_{n} \}\begin{bmatrix} |&&|\\ B_{1}&\hdots&B_{n}\\ |&&| \end{bmatrix} ,

即,[B] = E[B] 。因此,[B] 是从标准基E 到 B的换基矩阵。

3.6  (子空间的)直和(DIRECT SUMS)

一个向量集的独立张成的概念对子空间而言具有类似之处。若 W_{1} , ... , W_{k} 是一个向量空间V的子空间,则向量的集合可以写为和式

(3.6.1)    v = w_{1} +...+ w_{k } ,

其中,w_{i} 在 W_{i} 中,以上向量v的集合表达式被称为子空间的(sum),或者子空间的张成(span),并使用记法  W_{1} +...+ W_{k } 来表示这个和:

(3.6.2)      W_{1} +...+ W_{k} = \{ v \in V | v = w_{1} +...+ w_{k}, 且 w_{i } 在 W_{i} 中 \} 

这个子空间的和是含有所有子空间 W_{1} , ... ,W_{k} 的的最小子空间。它类似于向量的一个集合的张成。

        对于子空间 W_{1} ,... , W_{k} , 若不存在和  w_{1} +...+ w_{k } = 0 ( w_{i } 在  W_{i} 中 ) , 则除开平凡和(对于所有i , w_{i}=0 )这种情况,称其为独立的。换句话说,若

(3.6.3)     w_{1} +...+ w_{k } = 0 ( w_{i } 在 W_{i} 中 ) ,

意味着对每一个 i ,都有 w_{i}=0 ,则空间是独立的。

注意:假设 v_{1} ,... ,v_{n } 是的元素,并令 w_{i} 为向量 v_{i} 的张成。则当且仅当集合 (v_{1} ,... ,v_{n}) 是独立的时候,子空间 W_{1 }, ... ,W_{k} 是独立的。如果我们对比(3.4.8)  (3.6.3) ,这一点就变得显而易见。根据子空间的概念,这个表述事实上更为简洁,因为,在(3.6.3)中,标量系数不必置于向量 w_{i} 的前面。由于每个 W_{i} 在标量乘的定律下是闭合的,一个标量乘 cw_{i } 只不过是 W_{i} 的另一个元素而已。

        我们忽略以下命题的证明。

命题 3.6.4  令 W_{1} , ... ,W_{k} 是有限维向量空间的子空间,并令  \mathbf{B}_{i}   W_{i}  的一个基 。

(a下面的条件是等价的:

        \bullet  子空间 W_{i} 是独立的,其和 w_{1} +...+ w_{k} 等于 V

        \bullet  通过追加基 \mathbf{B}_{i} 所获得的集合 \mathbf{B} = ( \mathbf{B} _{1} ,..., \mathbf{B} _{k} ) 是的一个基。

(b)   \dim( W_{1} + ... + W_{k} ) \leq \dim(W_{1}) + ... + \dim(W_{k})  ,当且仅当每个子空间  独立的时候,可取得等号。

(c)  若对于 i = 1 ,.., k , W_{i}^{'} 是 W_{i} 的子空间,并且,若空间 W_{1} ,...,W_{k} 是独立的,则其子空间 W_{1}^{'} ,... ,W_{k}^{'} 也是独立的。

若满足命题 3.6.4 (a) 的条件,则我们称 V 是子空间 W_{1} ,...,W_{k} 的直和(direct sum)(译注:即由所有独立的子空间构的和,且恰好等于整个向量空间V  ),我们记为 V = W_{1} \oplus ... \oplus W_{k} :

(3.6.5)    W_{1} + ... + W_{k} = V 且 W_{1} ,...,W_{k} 是独立的,则

        V = W_{1} \oplus ... \oplus W_{k} 。

V 是各子空间的直和,则 V 中的每一个向量v 都可以恰好以一种方式写成(3.6.1)的形式。

命题 3.6.6  令 W_{1} 和 W_{2} 为一个有限维向量空间 V 的子空间

(a)   \dim W_{1} + \dim W_{2} = \dim (W_{1} \cap W_{2}) + \dim (W_{1} + W_{2}) 。

(b)  当且仅当 W_{1} \cap W_{2} = \{0\} 时, W_{1} 和 W_{2} 是独立的。

(c)  当且仅当 W_{1} \cap W_{2} = \{0\} 且 W_{1} + W_{2}=V 时,V 是直和 W_{1} \oplus W_{2} 。

(d)  若 W_{1} + W_{2}=V ,则存在  W_{2} 一个的一个子空间  W_{2}^{'} ,使得  W_{1}+W_2^{'}=V  。

证明

        我们证明关键部分(a):我们选取 W_{1} \cap W_{2} 的一个基 \mathbf{U} = \{u_{1} ,... ,u_{n}\}  , 并将其扩展为 W_{1}的一个基 (\mathbf{U} , \mathbf{V}) = (u_{1} ,...,u_{k} ;v_{1} ,...,v_{m}) 。我们也将\mathbf{U}扩展成 W_{2 } 的一个基 (\mathbf{U} , \mathbf{W}) = ( u_{1} ,...,u_{k} ;w_{1} ,...,w_{n} ) 。则 \dim (W_{1} \cap W_{2}) = k , \dim W_1 = k + m 和   \dim W_{2} = k + n 。如果我们证明 k + m + n 个元素的集合 (\mathbf{U} , \mathbf{V},\mathbf{W}) = (u_{1} ,...,u_{k} ;v_{1} ,...,v_{m};w_{1},...,w_{n}) 是 W_{1} + W_{2}  的一个基,这个论断将顺承。

    我们必须证明 (U , V , W ) 是独立的,并且张成 W_{1} + W_{2} 。W_{1} + W_{2} 的一个元素具有形如 w^{'}+ w^{''} 的形式,其中,w^{'} 在 W_{1} 中,而 w^{''} 在 W_{2} 中。根据 W_{1} 的基 U , V ),我们将 w^{'} 写成诸如  w^{'}= \mathbf{U}X + \mathbf{V}Y = u_{1} x_{1 }+ ... + u_{k} x_{k} + v_{1} y_{1} + ... + v_{m} y_{m} 的形式。我们与将 w^{''} 写成 W_{2} 的基 (U ,)的一个线性组合 \mathbf{U}X^{'} + \mathbf{W}Z 。则 \mathbf{V} = w^{'}+ w^{''}= \mathbf{U}(X + X^{'} ) + \mathbf{V}Y + \mathbf{W}Z 。

        下一步,假设给到我们一个向量(U , V , W )元素之间的线性关系 UX + V+ WZ = 0 。我们将其写为 UX + V= -WZ 。这个方程的左边在 W_{1} 中,而方程的右边在 W_{2} 中。因此,-WZ 在 W_{1}\cap W_{2} 中,因此,它是基 U的线性组合 U X’ 。这给予我们一个方程 UX’  + WZ  = 0 。因为集合 (U , W) 是 W_{2} 的一个基,它是独立的,因此,X’ Z 只能是 0 。这个已经关系就缩减为 UX + VY = 0 。但是,(U , V )也是一个独立集合。因此,是0 。这个关系是平凡的。

3.7  无限维空间(INFINITE-DIMENSIONAL SPACES)

    那种太大而不通过通有限向量集张成的空间被称为无限维向量空间(infinite-dimensional)。我们并不经常需要它们,但它们在分析中是非常重要的,因此,我们在此作简要讨论

        无限维向量空间最简单例子之一便是无限实行向量空间 \mathbb{R}^{\infty} 

  (3.7.1)       (a) = ( a_{1} , a_{2} , a_{3} , ...) 。

一个无限维向量可以视为一个实数序列   a_{1} , a_{2} , a_{3} , ... 。

        空间 \mathbb{R}^{\infty} 具有许多无限维子空间。在此列举几个;读者也可以编造更多:

例子 3.7.2

(a)  收敛序列:C = \{(a) \in R^\infty | 极限 \displaystyle \lim_{n->\infty}{a_{n}} 存在 \} 。

(b)  绝对收敛级数:\displaystyle \ell^{1} = \{(a) \in \mathbb{R}^{\infty} | \sum_{1}^{\infty}|a_{n}|< \infty \} 。

(c)   具有有限多项不同于0的项的序列。

        Z = \{(a) \in \mathbb{R}^{\infty} | a_{n} = 0 (对除了有限多n 的所有项) \} 。

现在,假设V是一个有限维或无限维向量空间。一个向量无限集的“张成(span)”指的是什么呢?将一个值赋予一个无限的线性组合  c_{1} v_{1} + c_{2} v_{2} + ... 并非总是可能。若是向量空间 \mathbb{R}^{n} ,如果级数 c_{1} v_{1} + c_{2} v_{2} + ... 是收敛的,则可以赋予其一个值。但是很多级数不收敛,那么我们并不知道应该赋予什么值。在代数中,习惯于仅讨论有限多个向量的线性组合。一个无限集S的张成被定义为向量的集合,这些向量是有限多个的元素的线组合的:

(3.7.3)          v=c_{1} v_{1} + c_{2} v_{2} + ...+c_{r}v_{r}  (其中,v_{1},...,v_{r } 在 S 中)。

S 中的向量 v_{i} 可以是任意的,允许数 r 依赖于向量v 并且可以任意大:

(3.7.4)   

           Span S = { 的元素的有限线性组合}。

例如,令 e_{i} = \{0 ,...,0 , 1 , 0 ,...\} 为 \mathbb{R}^{\infty} 中的行向量,且 1 作为其唯一非零坐标在第i个位置。令 E = \{ e_{1} ,e_{2},e_{3},... \} 为这些向量的集合。这个集合不会张成 \mathbb{R}^{\infty} ,因为向量

        w = \{1 ,1, 1 ,...\}

不是一个(有限)线性组合。集合 E 的张成是子空间 Z (3.7.2)(c)

        对于一个有限或无限集 S ,若除了平凡关系(即,c_1 = ... = c_r = 0 ),不存在有限线性关系

(3.7.5)        c_{1} v_{1} + c_{2} v_{2} + ... + c_{r} v_{r} = 0 (其中, v_{1},...,v_{r} 在 S 中),

则称集合 S 是独立的。此外,允许数 r 取任意值,即,对任意大的 r S 的任意元素

v_{1} ,...,v_{r} 这个条件都一定成立。例如,令 S ^{'} = (w;e_{1} ,e_{2} ,e_{3} ,...) ,若 w 和 e_{i} 是如上定义的元素,则其是独立的。根据独立性的这个定义,命题3.4.15 继续有效。

        与有限集一样,的一个基S 是张成 V 的一个独立集合。集合 S = (e_{1} ,e_{2} ,...) 是空间 Z的一个基。单项式(monomials) x^{i} 组成多项式空间(polynomials space)的一个基。使用 Zorn引理(Zorn’s lemma)和选择公理(Axiom o f Choice), 可以证明,每一个向量空间都有一个基(见附录,命题A.3.3)。然而,\mathbb{R}^{\infty} 的基有无数多个元素,并且不能说得非常准确。

让我们暂时回到向量空间 V 是有限维的情况(3.4.16),并询问是否可以有无限基。 我们在(3.4.21)中看到,任何两个有限基都有相同数量的元素。我们现在通过证明每个基都是有限的来完成这个图景。这是从下一个引理得出的。

引理 3.7.6  令为一个有限维向量空间为张成的任间集合。则 S 包含张成的有限子集。

证明:        假设,存在一个有限集,比如 ( u_{1} , ... , u_{m}) ,它张成V。因为S张成V,所以,每个向量 u_{i} 都是S的有限多个元素的一个线性组合。我们用于将向量的所有元素写成线性组合的S的元素组成S的一个有限子集S ’ 。则这个向量 u_{i} 在 Span S ’ 中,又因为 ( u_{1} , ... , u_{m}) 张成V, 因此,S ’ 也张成V

推论 3.7.7  令为一个有限维向量空间

\bullet    每一个基都是有限的。

\bullet    张成的每一个集合都有一个基。

\bullet    每一个独立集合L是有限的,且可被扩展成一个基。

                I don't need to learn 8 + 7: I'll remember 8 + 8 and subtract 1.

                (我不必学习 8 + 7: 我将记住 8 + 8 并减1 )

                                                                ——T. Cuyler Young, Jr.

     

内容来源:

<<Algebra>> Michael Artin, 2th

   

源码下载地址: https://pan.quark.cn/s/a4b39357ea24 Altium Designer 18是一款功能丰富的电子设计自动化工具,其集成了电路原理图绘制、PCB布局规划、三维视图展示、电路仿真分析以及生产文件生成等多项核心功能,为电子工程师们提供了一个全面的硬件设计解决方案。该软件的官方中文指导材料系统地阐述了从项目初始阶段到最终完成的全过程操作方法。 在“AD18 官方中文指导材料”中,使用者可以掌握以下核心内容要点: 1. **系统配置与界面认知**:熟悉Altium Designer 18的工作平台,涵盖菜单选项、工具栏配置、工作区域安排,以及个性化工作界面的设定方法。 2. **项目创建流程**:掌握如何建立新的项目工程,包括工程参数配置、项目模板选取,以及项目文件的添加操作。 3. **电路图绘制技术**:学习电路原理图的绘制流程,包括元件库的维护管理、元件放置技巧、连接线路绘制、属性编辑操作,以及网络表的自动生成方法。 4. **元件库构建与管理**:了解如何建立自定义元件库,执行元件的导入与导出任务,以及利用Altium Designer自带的元件资源库。 5. **PCB布局设计方法**:掌握PCB设计的基本准则,如元件布局策略、布线技巧、层叠结构调整、布线规则优化,以及冲突检测与短路处理技术。 6. **设计规范与约束条件**:理解设定设计规范和电气约束条件的关键性,包括间距参数设定、焊盘尺寸规格、过孔尺寸要求等,以及运用规则检查进行设计验证的流程。 7. **三维模型整合应用**:学习如何将三维模型与PCB设计内容相结合,以实现更为直观的机械配合验证。 8. **电路性能仿真技术**:掌握使用Altium Des...
源码链接: https://pan.quark.cn/s/a4b39357ea24 ### 接口测试知识要点说明 #### 一、接口测试的定义及分类 1. **概念阐释**: - 接口测试作为软件测试的关键环节,主要对系统之间的交互点进行验证。 - 它旨在核实接口的正确性、稳定性和功能性,保障各个系统组件能够依照预期执行交互操作。 2. **实施情境**: - 适用于多系统联合开发的环境。 - 适用于包含多个子系统的复杂应用系统开发过程。 3. **适用范围**: - 为其他系统提供支持的底层基础架构系统。 - 负责协调中心服务的系统架构。 4. **分类标准**: - **模块接口测试**:通常作为单元测试的一部分,适用于独立构建的功能模块。 - **Web接口测试**: - **服务端接口测试**:针对客户端与服务器端之间的接口进行验证。 - **外部接口测试**:对第三方提供的接口进行测试,例如支付平台提供的授权登录接口。 5. **测试角度**: - **接口功能验证**:核实接口功能是否满足预期要求。 - **接口性能评估**:衡量接口的处理能力及响应时间。 - **接口稳定性考察**:检测接口在长时间运行中的表现情况。 - **接口安全检测**:确保接口能够抵御非法访问或数据篡改。 6. **测试手法**: - **参数细致测试**:深入测试接口的输入参数和输出结果。 - **场景模拟测试**:依据实际业务场景进行测试验证。 #### 二、接口测试的详细流程 1. **测试规划**: - 明确测试范围、目标及所需资源。 - 规划测试策略,选择适宜的工具和技术手段。 2. **测试用例设计**: - 依据需求文档和接口规格文档设计测试用例。 - 覆...
内容概要:本文研究基于遗传算法(GA)与粒子群算法(PSO)相结合的无人机三维路径规划方法,旨在解决无人机在复杂三维环境中避障与路径优化的关键问题。通过构建包含障碍物、威胁区域等约束的三维仿真环境,系统实现了GA与PSO两种智能优化算法的Matlab代码,并对其在路径规划中的性能进行全面对比分析,重点关注路径长度、飞行安全性、算法收敛速度等核心指标。研究充分利用GA的全局搜索能力与PSO的快速局部收敛特性,提出一种混合优化策略,有效克服单一算法易陷入局部最优或收敛缓慢的缺陷。文中不仅详细阐述了算法的设计流程、数学模型与实现细节,还提供了完整的仿真结果,验证了所提混合方法在复杂动态场景下的优越性、有效性和鲁棒性,为无人机自主导航提供了可靠的理论依据和技术方案。; 适合人群:具备一定Matlab编程基础和优化算法理论知识,从事无人机系统设计、智能控制、路径规划、人工智能应用等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市峡谷、山区、灾害救援等复杂三维环境中的无人机自主避障与最优任务路径规划;②为智能优化算法(GA、PSO及其混合策略)的学习、性能对比与工程化应用提供详实的实践案例和代码参考;③服务于高校科研教学、算法原型快速复现、以及在此基础上的进一步改进与创新研究。; 阅读建议:建议读者结合所提供的Matlab代码进行仿真运行与调试,深入理解两种算法的参数设置、适应度函数设计及路径生成机制,可通过修改环境地图、增加动态障碍物或调整优化目标函数等方式进行扩展性研究,以深化对算法本质和应用场景的理解。
内容概要:LTK8870S是一款单通道H桥有刷直流电机驱动器,支持6.5V至20V工作电压,具备3.0A峰值电流驱动能力,适用于打印机、家用电器及工业设备等机电一体化应用。该芯片采用PWM控制接口,可通过IN1和IN2逻辑输入实现电机正转、反转、滑行与制动等多种工作模式,并支持快衰减和慢衰减两种电流衰减方式以优化电机控制性能。器件集成电流调节功能,通过VREF引脚和外部检测电阻设定限流值,有效控制电机电流并降低系统功耗。同时具备低功耗休眠模式,在IN1和IN2均为低电平时自动进入,显著节省能耗。LTK8870S还集成了多重保护机制,包括VM欠压锁定(UVLO)、过温保护(TSD)、过流保护(OCP)及自动故障恢复功能,提升系统可靠性。其ESOP-8封装带裸露焊盘,利于散热,符合无铅环保标准。; 适合人群:电子硬件工程师、电机控制系统开发者、嵌入式系统设计人员,尤其适用于从事电机驱动电路设计的中级技术人员。; 使用场景及目标:①用于控制中小型有刷直流电机的正反转与调速;②应用于需要电流限制和节能休眠功能的电池供电设备;③作为工业自动化、智能家电或办公设备中的核心驱动模块;④帮助开发者理解H桥驱动、PWM调速、电流衰减模式及保护电路的设计原理。; 阅读建议:此资源技术细节丰富,建议结合典型应用电路图与电气参数表进行硬件设计参考,重点关注PWM控制逻辑、电流调节设置及保护机制的实现方式,并在实际应用中配合示波器调试输出波形与电流响应。
内容概要:本文提出了一种基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法,旨在通过合作博弈框架协调风电、光伏与氢能系统之间的运行决策,实现多能源主体在满足个体理性前提下的整体效益最优。研究构建了考虑可再生能源出力随机性与氢能系统动态响应特性的多主体协同优化模型,采用纳什谈判机制设计利益分配规则,有效解决了各方在联合运行中的竞争与协作矛盾。通过Matlab平台完成了模型编程求解与仿真验证,结果表明该方法能够显著提升系统经济性、增强清洁能源消纳能力,并促进多主体间的合作意愿,为高比例可再生能源系统的市场化协同运行提供了理论依据与技术路径。; 适合人群:具备电力系统分析、优化建模与博弈论基础,从事新能源系统调度、综合能源系统规划与运行、能源市场机制设计等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究风–光–氢多能互补系统的协同优化机制与利益分配策略;②构建基于合作博弈的综合能源系统运行模型并进行仿真分析;③支撑硕士、博士论文复现及高水平学术论文撰写与投稿。; 阅读建议:建议结合Matlab代码深入理解纳什谈判模型的数学建模过程,重点掌握目标函数构造、约束条件处理及均衡求解算法的实现细节,同时可尝试将其拓展至Shapley值等其他合作博弈方法的对比研究,以深化对多主体协同机制的理解。
源码下载地址: https://pan.quark.cn/s/2a998390025c 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值