Open AlexiaChen opened 4 years ago
线代有趣的部分之一就是线性映射了,有些时候也被称作线性变换。还是跟之前一样,F表示实数域或复数域,V表示F上的向量空间,W也是F上的向量空间
接下来给线性映射(linear map)下个定义:
从V到W的线性映射是具有下列性质的函数T:V -> W: 加性(additivity): 对于所有 u, v ∈ V 都有T(u + v) = T(u) + T(v) 齐性(homogeneity): 对所有 λ ∈ F 和 v ∈ V都有T(λv) = λ(T(v))
从V到W的线性映射是具有下列性质的函数T:V -> W:
加性(additivity): 对于所有 u, v ∈ V 都有T(u + v) = T(u) + T(v)
齐性(homogeneity): 对所有 λ ∈ F 和 v ∈ V都有T(λv) = λ(T(v))
下面我们需要引入一个线性映射集合的概念:
记L(V,W)是从V到W的所有线性映射构成的集合。
注意,V和W有可能是同一个向量空间,也就是L(V,V) 映射到自身的所有线性映射构成的集合。
如果你直觉够好,你会发现你知道很多函数都是线性的,比如: f(x) = k*x 且 k = 2
带入具体值计算试验,结果加性和齐性都满足: f(5 + 3) = f(8) = 2 * 8 = 16 f(5) + f(3) = 2 * 5 + 2 * 3 = 10 + 6 = 16 f(2*3) = f(6) = 2 * 6 = 12 2 * f(3) = 2 * 2 * 3 = 12
所以f(x) = k*x这样形式的函数都是线性函数。很多人可能会问, x的值和f(x)的值是向量吗? 不像啊? 如果你之前有看到向量空间的学习笔记,你就会知道,向量是个抽象的概念,可能是你所认为的向量,也可以是函数变换,或者是其他奇怪的东西。这个函数的定义域就是V,值域就是W,都是向量空间。
接下来关于线性映射有个特性需要记住:
设v1,v2,...,vn是V的基, w1,w2,.., wn ∈ W,则存在唯一一个线性映射T: V -> W 使得对任j = 1,2,..., n 都有 T(vj) = wj
这个特性的证明暂时不证明了,如果想知道,看linear map的wiki,Matrices小节有相关证明。
哈,看标题就知道又回到了某一节的学习笔记上,既然L(V,W)是一个集合,集合上的运算,自然又跟抽象代数扯上些许关系了。
L(V,W)上满足标量乘法,同时加法上也构成一个阿贝尔群。等等,貌似跟向量空间的定义有点像啊? 向量空间也是类似的定义,向量满足标量乘法,也在加法上构成一个阿贝尔群。
之前我说过什么来着?向量空间中的向量可以是函数,线性映射也是函数,只不过这个函数是线性的。L(V,W)其实也是一个向量空间。所以满足以下性质:
设S,T ∈ L(V,W),λ ∈ F。定义加法S + T与标量乘法λT是V到W的两个线性映射:对于所有v ∈ V都有 (S + T)(v) = S(v) + T(v), (λT)(v) = λ(T(v))
注意以上第二个公式,跟齐性那个公式不一样。
L(V,W)上的加法和标量乘法学了,接下来学下乘法:
首先定义线性映射的乘积:
若 T ∈ L(U,V), S ∈ L(V,W),则定义乘积 ST ∈ L(U,W),对于任意u ∈ U,(ST)(u) = S(T(u))
你看到了,其实线性映射的乘积就是函数的复合,根据以上,只有T映射到S的定义域时,ST才有定义。
好了,定义了线性映射的乘法,那么来看看乘法的性质:
首先满足结合律: (T1*T2)*T3 = T1*(T2*T3), 且乘积要有意义
单位元: T*I = I*T = T, 且 T ∈ L(V,W), 第一个I ∈ L(V,V), 第二个I ∈ L(W,W)
分配律: (S1 + S2)*T = S1*T + S2*T 和 S*(T1 + T2) = S*T1 + S*T2 ,且 T,T1,T2 ∈ L(U,V), S,S1,S2 ∈ L(V,W)
所以,你看到了,关于乘法,L(V,W)向量空间是个幺半群,而且乘法对其加法满足分配律,它是个加法上的交换群,乘法上的幺半群,那么根据环的公理,L(V,W)向量空间也是一个环。但是是非交换环。
当然,如果你抽象代数学得不错,你还会知道向量空间实际上是一个环上的模(a module over a ring), 也可以称作模,因为模的概念本来就需要在环的基础上建立。为什么是模? 因为对于向量空间的标量乘法中的标量可以来自于环上,也就是标量 ∈ L(V,W) 或标量 ∈ 任意给定环。这样从乘法上就更高层次统一了标量乘法和乘法的概念,它俩和谐地融合了。这样就对向量空间的概念进行了更高层次的推广。具体细节看module的wiki。
如果你直觉够好(擦,总是提直觉),你就会发现,矩阵乘法也是这样的,后面会讲到,矩阵实际上就是线性映射的表示。
先引入值域的概念:
对于V到W的映射T,T的值域是W中形如T(v) (其中v ∈ V)的向量组成的子集: range T = {T(v) | v ∈ V}
同时,值域也是目标空间的子空间:
若T ∈ L(V,W), 则range T是W的子空间
下面可以定义满射(surjective)了:
如果函数T:V -> W的值域range T等于W,则称T是满射
看到满射,说白话一点,你可以理解为,在T的映射作用下,W中任意一个向量(元素),在V中都有至少一个原像,也就是一对一,或者多对一的关系,要不一对一,要不多对一。
你也可以看到,线性映射是不是满射,与其映射到的目标向量空间有关,可能对于向量空间A就不是满的,但是对于向量空间B就是满的。
线性映射的基本定理(非常重要,所以定理的名字就牛逼些):
设V是有限维的, T ∈ L(V,W), 则range T是有限维的,并且满足: dim V = dim null T + dim range T
还有后面的一些性质:
性质1:如果V和W都是有限维向量空间,并且dim V > dim W,那么V到W的线性映射一定不是单射 性质2:如果V和W都是有限维向量空间,并且dim V > dim W那么V到W的线性映射一定不是满射
性质1:如果V和W都是有限维向量空间,并且dim V > dim W,那么V到W的线性映射一定不是单射
性质2:如果V和W都是有限维向量空间,并且dim V > dim W那么V到W的线性映射一定不是满射
下面我们就会看到这几个性质在线性方程组的理论中有重要应用,其想法是用线性映射来表述线性方程组的问题:
考虑一个m个方程,n个未知变量的n元齐次线性方程组(这里的齐次意思是每个方程右端的常数项都为0):
根据方程组定义一个线性映射T: F^n -> F^m:
T(x1,x2,...,xn) = (第1个方程的非常数项累加的和, 第2个方程的非常数项累加的和,..., 第m个方程的非常数项累加的和) = (0,0,...,0) = 0
可以看到以上的线性映射T,就是把一个n维的向量空间映射成一个m维的向量空间。(x1,x2,...,xn)未知变量组成的n维向量作为输入向量,输出一个m维的向量(0,0,...,0)。 其实向量(0,0,...,0)是F^m向量空间的加法单位元,即,由0组成的长度为m的向量,与上述齐次线性方程组是一样的。
如果你学过矩阵,你可以把项的系数提取出来,作为一个系数矩阵,这个系数矩阵刚好是n*m的,同时从侧面上也说明,矩阵实质上就是线性映射T,一个n*m的矩阵就是一个n维向量空间到m维向量空间的映射。 当然,后面我们会看到,矩阵本来就是线性映射的表述。
以上的齐次方程组,在线性映射T的作用下: T(x1,x2,...,xn) = 0, 如果明眼一看,就知道x1 = x2 = ... = xn = 0,方程组是有解的,但是这个是零解,我们想知道有没有非零解,也就是 null T是否严格大于 { 0 },也就是T是否是单射。
所以,由之前的线性映射性质1的应用可以得到一个结论(不作证明了):
对于齐次线性方程组而言,当变量多于方程组时(n > m),齐次线性方程组必有非零解。
那么再来看非齐次线性方程组(这里的非齐次意思就是每个方程右端的常数项都不为0):
现在的问题就是,根据以上方程组,是否存在某些常数b1,b2,..., bm ∈ F使得上述方程无解?
还是根据方成这样定义一个线性映射T: F^n -> F^m:
T(x1,x2,...,xn) = (第1个方程的非常数项累加的和, 第2个方程的非常数项累加的和,..., 第m个方程的非常数项累加的和) = (b1,b2,...,bm)
于是,我们想到是否range T ≠ F^m ,在什么条件下T不是满射?
所以由之前的线性映射性质2的应用可以得到一个结论(同上,不作证明):
对于非齐次线性方程组而言,当方程数量多于变量时(n < m), 必有一组常数项使得相应的非齐次线性方程组无解。
首先,定义矩阵:
设m和n都是正整数,m * n矩阵A是由F上的元素构成的m行n列的矩形阵列。记符号A(j,k)表示位于A中的第j行第k列的元素。
然后,引入线性映射矩阵(matrix of a linear map)的概念, 记作M(T):
设T ∈ L(V, W), 并设v1,v2, ... , vn是V的基,w1,w2,..., wm是W的基。规定T关于这些基的举证为m * n矩阵M(T),其中A(j,k)满足: T(vk) = A(1,k)w1 + A(2,k)w2 + ... + A(m,k)wm
由以上定义可以看出,一个n维的基向量,通过线性映射T得到的结果是w1,w2...,wm的线性组合,当然线性组合最后的结果当然是个m维的向量,所以如果T是从n维向量空间到m维向量空间的一个线性映射的话,则M(T)就是个m * n的矩阵。
其实说白了就是,在矩阵M(T)中的第k列可以被看做T对第k的标准基(n维空间的标准基)作用以后的向量,当然通过T作用后输出的列向量,自然就是m维空间的基向量,而且输出的向量是m维的,自然可以用w1,w2,...,wm的线性组合表示了,其中该线性组合的常数项,构成矩阵的列向量(A(1,k), A(2,k), ..., A(m,k))。
比如,设T ∈ L(F^2,F^3)定义如下:
T(x,y) = (x + 3y, 2x + 5y, 7x + 9y)
那么该线性映射对应的标准基矩阵是多少呢?根据以上的定义,显然M(T)是一个3 * 2的矩阵,所以T也是一个从2维映射到3维向量空间的线性映射,2维向量空间的标准基无非就是(1,0),(0,1),根据M(T)中第k列,就是第k个标准基经过T作用以后的向量,T(1,0) = (1,2,7), T(0,1) = (3,5,9), 然后,就可以写出矩阵形式了,如下:
1 3 2 5 7 9
第1个标准基被T作用后的向量就是(1,2,7),该向量是矩阵的第1列向量,依次类推。
当然,个别大学的老师没讲为什么,直接就根据T的定义写成线性方程组的系数矩阵:
x + 3y 1 3 2x + 5y => 把x的系数提取为第1列向量,y的系数为第2列向量: 2 5 7x + 9y 7 9
其实都是换汤不换药,你看看计算方式就明白了。T(2,3) = (11,19,41) = 2 (1,2,7) + 3 (3,5,9) = (2,4,14) + (9,15,27) = (11,19,41), 可以看出列向量是输出空间的基向量,其他向量可以用基向量的线性组合来表示。
我们前面知道两个线性映射是有和的,因为线性映射的集合L(V,W)也是一个线性空间,所以它有和和标量乘法。所以矩阵也是有和的,先定义矩阵和:
规定两个同样大小的矩阵的和是把矩阵中相对应的元素相加得到的矩阵: C(j,k) = (A + B)(j,k) = A(j,k) + B(j,k)
线性映射的和的矩阵:
设S,T ∈ L(V,W), 则M(S + T) = M(S) + M(T)
再来定义矩阵的标量乘法:
标量与矩阵的乘积就是用该标量乘以矩阵的每个元素: (λA)(j,k) = λ*A(j,k)
标量乘以线性映射的矩阵:
设λ ∈ F,T ∈ L(V,W), 则M(λT) = λ*M(T)
然后我们需要引入个矩阵集合的概念,定义一个符号:
对于正整数m和n,元素取自F的所有m * n的矩阵的集合记为F^m,n dim F^m,n = mn。设m和n是正整数,按照矩阵的加法和标量乘法,F^m,n是m \ n维向量空间
对于正整数m和n,元素取自F的所有m * n的矩阵的集合记为F^m,n
dim F^m,n = mn。设m和n是正整数,按照矩阵的加法和标量乘法,F^m,n是m \ n维向量空间
首先来定义矩阵乘法:
设A是m * n矩阵,B是n p矩阵。AB定义为m p矩阵。把A的第j行与B的第k列对应的元素相乘再求和,就得到AB的第j行第k列的元素
说白话一点:
例如:
1 2 6 5 4 3 10 7 4 1 3 4 * = 26 19 12 5 5 6 2 1 0 -1 42 31 20 9
注意,只有当第一个矩阵的列数等于第二个矩阵的行数时,我们才能定义这两个矩阵的乘积,很简单,因为,根据线性映射的乘法,第二个线性映射的输出空间要映射到第一个线性映射的输入空间上。
由此,我们定义线性映射乘积的矩阵:
若 T ∈ L(U,V) , S ∈ L(V,W), 则M(ST) = M(S)M(T)。
由上可以看到T的值域被映射到S的定义域。
首先定义可逆(invertible)和逆(inverse):
如果存在线性映射S ∈ L(W,V)使得ST等于V上的恒等映射(V上的单位元)且TS等于W上的恒等映射(W上的单位元) ,那么线性映射T ∈ L(V,W)称为可逆的。 满足ST = I(这个I是V上的恒等映射)和TS = I(这个I是W上的恒等映射)的线性映射S ∈ L(W,V)称为T的逆
如果存在线性映射S ∈ L(W,V)使得ST等于V上的恒等映射(V上的单位元)且TS等于W上的恒等映射(W上的单位元) ,那么线性映射T ∈ L(V,W)称为可逆的。
满足ST = I(这个I是V上的恒等映射)和TS = I(这个I是W上的恒等映射)的线性映射S ∈ L(W,V)称为T的逆
当然,可逆的线性映射的逆是唯一的,下面引入逆的符号T^-1:
若T可逆,则它的逆记为T^-1。也就是说,如果T ∈ L(V,W)可逆,则T^-1是L(W,V)中唯一一个使得T^-1*T = I 且 T*T^-1 = I的元素
可逆性还有一个重要的性质:
一个线性映射是可逆的当且仅当它既是单射又是满射
下面我们要从更高角度来刻画两个本质相同的向量空间,所以引入两个概念:
同构(isomorphism)就是可逆的线性映射 若两个向量空间之间存在一个同构,则称这两个向量空间是同构的(isomorphic)
同构(isomorphism)就是可逆的线性映射
若两个向量空间之间存在一个同构,则称这两个向量空间是同构的(isomorphic)
“同构”这个高大上的术语就是强调两个线性空间本质上相同,就是具有相同的性质。
维数也反映了向量空间是否同构:
F上的两个有限维向量空间同构当且仅当其维数相同
L(V,W)与F^m,n同构:
设v1,v2,...,vn是V的基,w1,w2,...,wm是W的基,则M是L(V,W)与F^m,n之间的一个同构
上面这句很好解释,V的基长度是n,W的基长度是m, 所以L(V,W)是n维到m维的所有线性映射构成的集合,F^m,n又是m n的所有矩阵构成的集合,m n的矩阵本来就是n维到m维的线性映射的具体表述,所以这两个向量空间自然是同构的,其中线性映射M是一个同构,既是单射也是满射。
所以显然,根据以上,会还有一个推论,因为F^m,n的维数是m * n维,又因为F^m,n与L(V,W)同构,所以:
设V,W都是有限维的,则dim L(V,W) = (dim V)(dim W) = m * n
之前定义了线性映射的矩阵,也就是线性映射的矩阵表述。现在来定义向量的矩阵(matrix of a vector),也就是向量的矩阵表述M(v)。注意,之前是M(T),这次可不一样。
设v ∈ V, 并设v1,v2,...,vn是V的基,则规定v关于这个基的矩阵是n * 1矩阵:
c1 c2 M(v) = . . cn
这里c1,c2,...,cn使得v = c1*v1 + c2*v2 + ... + cnvn, 其实说白了n维的向量向量v关于标准基的矩阵就是以v的坐标为元素而得到的n 1矩阵。
看到上面的想法,我们可能不由想到,对于一个m n矩阵A,则A的第k列,可以看做是一个m 1矩阵,下面可以引出一个性质:
设T ∈ L(V,W), v1,v2,..,vn是V的基,w1,w2,...,wm是W的基。设 1 <= k <= n,则M(T)的第k列(M(T). k)等于M(T(vk))
其实说白了,与之前说过的一样,矩阵的第k列就是对于线性映射T的输入向量空间的第k个基向量经过T的作用以后的输出向量的矩阵表示。所以看矩阵可以一列一列拆开来看的。
最终要的性质来了,它说明了线性映射的矩阵,向量的矩阵以及矩阵乘法是如何联系到一起的。
设T ∈ L(V,W), v ∈ V。设v1,v2,..,vn是V的基,w1,w2,...,wm是W的基。则 M(T(v)) = M(T)M(v)
其实就是线性映射的作用其实也是矩阵乘法。再直白点就是说,单独的一个矩阵,也可以拆分成矩阵乘法来看,每个m * n的矩阵其实就是诱导一个从F^n,1到F^m,1的线性映射。
向量空间到其自身的线性映射非常重要,所以有个特别的名字,叫算子(operator):
向量空间到其自身的线性映射称为算子,记号L(V)表示V上全体算子锁组成的集合,即L(V) = L(V,V)
接下来,对于算子有个重要的性质:
设V是有限维的,并且T ∈ L(V), 则以下陈述等价:
1. T是可逆的 2. T是单射 3. T是满射
说白点就是,三个性质中只要满足任意一个,就可以确定另外两个性质也存在。
通常在处理多个向量空间时,这些向量空间都应该在同一个域上,也就是F上的向量空间。
定义向量空间的积(product of vector spaces):
设V1,V2,...,Vm均为F上的向量空间,那么:
1. 规定积V1 × V2 × ... × Vm为 V1 × V2 × ... × Vm = {(v1,v2,...,vm) : v1 ∈ V1,v2 ∈ V2,... , vm ∈ Vm} 2. 规定V1 × V2 × ... × Vm上的加法为 (u1,u2,...,um) + (v1,v2,...vm) = (u1 + v1,u2 + v2, ..., um + vm) 3. 规定V1 × V2 × ... × Vm上的标量乘法为 λ(v1,v2,...,vm) = (λ*v1,λ*v2,...,λ*vm)
所以你可以看到,向量空间的积也就是各个向量空间任意选择一个向量构成的向量组的所有集合,并且满足加法和标量乘法这样的线性特征,运算封闭,所以你可以猜测到它们的积也是向量空间:
设V1,V2,...,Vm均为F上的向量空间,则V1 × V2 × ... × Vm是F上的向量空间
既然积也是向量空间,那么该向量空间的维数是多少?
设V1,V2,...,Vm均为F上的有限向量空间,则V1 × V2 × ... × Vm是有限维的,且 dim(V1 × V2 × ... × Vm) = dim V1 + dim V2 + ... + dim Vm
注意,字符Γ,是gamma的大写。
设U1,U2,... , Um均为V的子空间。线性映射Γ: U1 × U2 × ... × Um -> U1 × U2 × ... × Um定义为Γ(u1,u2,...,um) = u1 + u2 + ... + um。则子空间的和U1 + U2 + ... + Um是直和当且仅当Γ是单射
解释下,子空间的和相当于子集的并集,子空间的直和相当于子集的不相交并集,也就是各子集间没有交集
设V是有限维的,且U1,U2,... , Um均为V的子空间。则U1 + U2 + ... + Um是直和当且仅当dim(U1 + U2 + ... + Um) = dim U1 + dim U2 + ... + dim Um
其实也就是说,既然是V的子空间,那么子空间的和必定也是直和。
先定义向量与子空间的和,以便引入商空间:
设v ∈ V, U是V上的子空间。则v + U是V的子集: v + U = {v + u : u ∈ U}
其实说白了就是选定一个V空间里面的任意向量v,然后与子空间U里面的各个向量做加法,这个加法所有结果向量构成集合。当然,这个集合可不是向量空间。但是是V的子集而已,因为这个子集不满足向量空间的定义,且没有零元素。
你可以想象在一个二维向量空间V中,它的某个子空间U = {(x,2x) ∈ R^2 : x ∈ R},用描点法可以画出子空间U其实是个过原点,斜率为2的直线,随便在V中选择一个二维向量v(13,20), 那么v + U 其实就是一个过点(13, 20)斜率为2的直线,并且该直线平行于U。
如果把这个推向高维,其实道理也一样,这样就引申除了仿射子集(affine subset)的定义:
向量空间V的仿射子集是V的形如v + U的子集,其中v ∈ V, U是V的子空间。并且对于v ∈ V和V的子空间U,称仿射子集v + U平行于U
当然,某个U上的所有仿射子集构成了仿射子空间(affine subspace),仿射子空间是仿射空间(affine space)的子空间。仿射空间嘛,你可以理解为除去向量空间V中零元素的集合,这个集合不是线性空间,没有了零元素,就可以定义平移这样的概念了,它是相对的。零元素嘛,你如果不用高观点来看,暂时理解为n维坐标原点就好了,哎呀,还不理解就是这个空间的零向量,也就是向量空间加法单位元,没有群结构还叫向量空间?显然不是。
接下来,我们定义商空间(quotient space), V/U:
设U是V的子空间,则商空间V/U是指V的所有平行于U的仿射子集的集合,V/U = {v + U : v ∈ V}
所以你感觉平行于U的所有仿射子集构成商空间V/U貌似就是仿射子空间
再接下来是使V/U成为向量空间,所以需要以下命题:
平行于U的两个仿射子集要么相等要么不相交。
设U是V的子空间,v,w ∈ V。则以下陈述等价: 1. v - w ∈ V 2. v + U = w + U 3. (v + U) ∩ (w + U) = ∅
定义商空间V/U上的加法和标量乘法:
设U是V的子空间,则V/U上的加法和标量乘法定义为:对任意v,w ∈ V和λ ∈ F,则: 加法: (v + U) + (w + U) = (v + w) + U 标量乘法: λ(v + U) = (λ*v) + U
设U是V的子空间,则V/U上的加法和标量乘法定义为:对任意v,w ∈ V和λ ∈ F,则:
加法: (v + U) + (w + U) = (v + w) + U
标量乘法: λ(v + U) = (λ*v) + U
所以根据以上定义,商空间V/U也是向量空间。加法单位元是0 + U,也就是U。v + U的加法逆元是(-v) + U
商空间已经定义,那么就可以引入商映射(quotient map)的概念了:
设U是V的子空间。商映射pi是如下定义的线性映射pi: V -> V/U, 对任意v ∈ V, pi(v) = v + U
显然了,商空间也是线性空间,商映射也是线性映射,也可以用矩阵表示。商映射就是把V给降维,把不需要不关系的维给商掉了。至于应用上嘛,可以简化问题。
商空间的维数:
设V是有限维的,U是V的子空间,则dim V/U = dim V - dim U
上面说额,既然商空间的单位元是U,那我们就可以说对于商映射T,它的零映射就是null T = U, 零空间是U,显然range T = V/U。由此可以看到V上的每个线性映射都诱导V/(null T)上的一个线性映射T*,现在就来定义它:
设T ∈ L(V,W), 定义T: V/(null T) -> W 如下: T(v + null T) = T(v)
为什么要定义T 呢? 有没有意义呢? 从上述定义看V/(null T)是个商空间,(null T)是T的零空间,商映射pi: V -> V/(NULL T)的表示就是pi(v) = v + (null T)。其实就是为了表示一个“中间”映射过程,对于T ∈ L(V,W), 商映射pi ∈ L(V,V/(null T)), 最后再从商空间映射到W,也就是T ∈ L(V/(null T), W)。定义这么一个“中间”过程,其实是要发现一个同构。如下。
T*的零空间与值域
设T ∈ L(V,W)。则:
1. T*是V/(null T)到W的线性映射 2. T* 是单射 3. range T* = range T = W 4. V(null T)同构于range T,也就是同构于W
映射到标量域F的线性映射在线代中比较重要,跟算子一样,有自己一个特定的名字
线性泛函(linear functional): V上的线性泛函是从V到F的线性映射,也就是说,线性泛函是L(V,F)中的元素
比如,一个线性映射T:R^3 -> R, T(x,y,z) = 3x + 5y - 2z,那么,T是R^3上的线性泛函。
线性映射的向量空间L(V,F)也有一个特别的名字和一个特别的记号:
V上的所有线性泛函构成的向量空间称为V的对偶空间(dual space),记为V'。也就是说,V‘ = L(V,F) 设V是有限维的,则V'也是有限维的,且dim V' = dim V
V上的所有线性泛函构成的向量空间称为V的对偶空间(dual space),记为V'。也就是说,V‘ = L(V,F)
设V是有限维的,则V'也是有限维的,且dim V' = dim V
也就是说,V的对偶空间的维数等于V。V‘也同构于V。
下面要来定义对偶基的概念:
设v1,v2,...,vn是V的基,则v1,v2,...,vn的对偶基是V'中的元素组φ1,φ2,...,φn,其中的每个φj都是V上的线性泛函,使得 φj(vk) = 1(当 k = j) 或 0(当 k != j)
说白话就是将V中的基向量变为该向量的第j个坐标。对偶基也就是对偶空间中的基:
设V是有限维的,则V的一个基的对偶基是V'的基
下面定义对偶映射(dual map) T':
若T ∈ L(V,W),则T的对偶映射是线性映射T’ ∈ L(W',V'): 对于φ ∈ W‘,T'(φ) = φ(T), 也就是φ与T的复合
W' = L(W,F)
V' = L(V,F)
L(W', V') = L(L(W,F), L(V,F)), 因为φ ∈ L(W,F), T ∈ L(V,W) 所以T'(φ):V -> F, 也就是T'(φ) ∈ V'。
对偶映射的代数性质:
对所有S,T ∈ L(V,W)有(S + T)' = S' + T' 对所有λ ∈ F和所有T ∈ L(V,W)有(λT)' = λT' 对所有T ∈ L(U,V)和所有S ∈ L(V,W)有(ST)' = T'S'
先要引入零化子(annihilator)的定义:
对于V的子空间U,U的零化子(记为U^0)定义如下: U^0 = {φ ∈ V' : 对所有u ∈ U都有φ(u) = 0}
就是子空间U的零化子就是在V的对偶空间中让U中任意一个元素都可以映射到标量0的线性泛函的集合。其实U^0也相当于V'的子集。
根据以上,实际上U^0也是V'的子空间:
设U是V的子空间,则U^0是V'的子空间
显然,0 ∈ U^0, 这里的0表示V上的零线性泛函,因为零线性泛函将U中每个向量变为0
零化子的维数:
设V是有限维的,U是V的子空间,则 dim U + dim U^0 = dim V
T'的零空间:
设V和W都是有限维,T ∈ L(V,W),则: null T' = (range T)^0 dim null T' = dim null T + dim W - dim V
设V和W都是有限维,T ∈ L(V,W),则:
以上第一条请这样看,因为T' ∈ L(W',V'), null T' = { φ ∈ W' : T'(φ) = 0 } , (range T)^0 = (W的子空间)^0 = {φ ∈ W' : 对所有 u ∈ W的子空间都有φ(u) = 0}
T是满射等价于T'是单射:
设V和W都是有限维的,T ∈ L(V,W)。则T是满射的当且仅当T’是单射
T'的值域
设V和W都是有限维的,T ∈ L(V,W)。 则: dim range T' = dim range T range T' = (null T)^0
设V和W都是有限维的,T ∈ L(V,W)。 则:
T是单射等价于T'是满射:
设V和W都是有限维的,T ∈ L(V,W)。则T是单射的当且仅当T’是满射
说白了就是对偶映射这种线性映射对应的矩阵表述。
首先定义转置(transpose), A^t:
若矩阵A的转置是通过互换A的行和列角色所得到的矩阵。确切地说,若A是m*n矩阵,则A^t就是n*m的矩阵,就是列向量变行向量
转置具有很好的代数性质:对于所有m*n矩阵,A,C和所有λ ∈ F均有(A + C)^t = A^t + C^t, 且(λA)^t = λ(A^t)
矩阵乘积的转置:
若A是mn矩阵,C是n p矩阵,则: (AC)^t = C^tA^t
T'的矩阵是T的矩阵的转置:
设T ∈ L(V,W),则M(T') = (M(T))^t
首先定义与矩阵有关的两个非负整数
设A是元素属于F的m * n的矩阵,也就是n维到m维的线性变换。 A的行秩(row rank)是A的每个行向量在F^1,n中的张成空间的维数 A的列秩(column rank)是A的每个列向量在F^m,1中的张成空间的维数
设A是元素属于F的m * n的矩阵,也就是n维到m维的线性变换。
4 7 1 8 比如A = 3 5 2 9 A的行秩就是span((4,7,1,8), (3, 5, 2, 9))所张成的维数,该张成空间的维数是2,行向量共两个,并且线性无关,最多张成一个2维线性空间,A的行秩是2 A的列秩就是span((4,3),(7,5),(1,2),(8,9))所张成的维数,即使是4个线性无关的向量,但是由于是向量2维的,所以张成空间的维数是2,即A的列秩是2
range T的维数等于M(T)的列秩:
设V和W都是有限维的,T ∈ L(V,W)。则dim range T等于M(T)的列秩。
行秩等于列秩:
设矩阵A ∈ F^m,n , 则A的行秩等于A的列秩
定义矩阵的秩(rank):
矩阵A ∈ F^m,n的秩定义为A的列秩
这样以来我们以后就可以不区分行秩,列秩。因为相等,用更简单的秩来代替。
线性映射
线代有趣的部分之一就是线性映射了,有些时候也被称作线性变换。还是跟之前一样,F表示实数域或复数域,V表示F上的向量空间,W也是F上的向量空间
向量空间的线性映射
接下来给线性映射(linear map)下个定义:
下面我们需要引入一个线性映射集合的概念:
注意,V和W有可能是同一个向量空间,也就是L(V,V) 映射到自身的所有线性映射构成的集合。
如果你直觉够好,你会发现你知道很多函数都是线性的,比如: f(x) = k*x 且 k = 2
所以f(x) = k*x这样形式的函数都是线性函数。很多人可能会问, x的值和f(x)的值是向量吗? 不像啊? 如果你之前有看到向量空间的学习笔记,你就会知道,向量是个抽象的概念,可能是你所认为的向量,也可以是函数变换,或者是其他奇怪的东西。这个函数的定义域就是V,值域就是W,都是向量空间。
接下来关于线性映射有个特性需要记住:
这个特性的证明暂时不证明了,如果想知道,看linear map的wiki,Matrices小节有相关证明。
L(V,W)上的代数运算
哈,看标题就知道又回到了某一节的学习笔记上,既然L(V,W)是一个集合,集合上的运算,自然又跟抽象代数扯上些许关系了。
L(V,W)上满足标量乘法,同时加法上也构成一个阿贝尔群。等等,貌似跟向量空间的定义有点像啊? 向量空间也是类似的定义,向量满足标量乘法,也在加法上构成一个阿贝尔群。
之前我说过什么来着?向量空间中的向量可以是函数,线性映射也是函数,只不过这个函数是线性的。L(V,W)其实也是一个向量空间。所以满足以下性质:
注意以上第二个公式,跟齐性那个公式不一样。
L(V,W)上的加法和标量乘法学了,接下来学下乘法:
首先定义线性映射的乘积:
你看到了,其实线性映射的乘积就是函数的复合,根据以上,只有T映射到S的定义域时,ST才有定义。
好了,定义了线性映射的乘法,那么来看看乘法的性质:
首先满足结合律: (T1*T2)*T3 = T1*(T2*T3), 且乘积要有意义
单位元: T*I = I*T = T, 且 T ∈ L(V,W), 第一个I ∈ L(V,V), 第二个I ∈ L(W,W)
分配律: (S1 + S2)*T = S1*T + S2*T 和 S*(T1 + T2) = S*T1 + S*T2 ,且 T,T1,T2 ∈ L(U,V), S,S1,S2 ∈ L(V,W)
所以,你看到了,关于乘法,L(V,W)向量空间是个幺半群,而且乘法对其加法满足分配律,它是个加法上的交换群,乘法上的幺半群,那么根据环的公理,L(V,W)向量空间也是一个环。但是是非交换环。
当然,如果你抽象代数学得不错,你还会知道向量空间实际上是一个环上的模(a module over a ring), 也可以称作模,因为模的概念本来就需要在环的基础上建立。为什么是模? 因为对于向量空间的标量乘法中的标量可以来自于环上,也就是标量 ∈ L(V,W) 或标量 ∈ 任意给定环。这样从乘法上就更高层次统一了标量乘法和乘法的概念,它俩和谐地融合了。这样就对向量空间的概念进行了更高层次的推广。具体细节看module的wiki。
如果你直觉够好(擦,总是提直觉),你就会发现,矩阵乘法也是这样的,后面会讲到,矩阵实际上就是线性映射的表示。
零空间与值域
先引入值域的概念:
同时,值域也是目标空间的子空间:
下面可以定义满射(surjective)了:
看到满射,说白话一点,你可以理解为,在T的映射作用下,W中任意一个向量(元素),在V中都有至少一个原像,也就是一对一,或者多对一的关系,要不一对一,要不多对一。
你也可以看到,线性映射是不是满射,与其映射到的目标向量空间有关,可能对于向量空间A就不是满的,但是对于向量空间B就是满的。
线性映射基本定理以及相关性质
线性映射的基本定理(非常重要,所以定理的名字就牛逼些):
还有后面的一些性质:
下面我们就会看到这几个性质在线性方程组的理论中有重要应用,其想法是用线性映射来表述线性方程组的问题:
考虑一个m个方程,n个未知变量的n元齐次线性方程组(这里的齐次意思是每个方程右端的常数项都为0):
根据方程组定义一个线性映射T: F^n -> F^m:
可以看到以上的线性映射T,就是把一个n维的向量空间映射成一个m维的向量空间。(x1,x2,...,xn)未知变量组成的n维向量作为输入向量,输出一个m维的向量(0,0,...,0)。 其实向量(0,0,...,0)是F^m向量空间的加法单位元,即,由0组成的长度为m的向量,与上述齐次线性方程组是一样的。
如果你学过矩阵,你可以把项的系数提取出来,作为一个系数矩阵,这个系数矩阵刚好是n*m的,同时从侧面上也说明,矩阵实质上就是线性映射T,一个n*m的矩阵就是一个n维向量空间到m维向量空间的映射。 当然,后面我们会看到,矩阵本来就是线性映射的表述。
以上的齐次方程组,在线性映射T的作用下: T(x1,x2,...,xn) = 0, 如果明眼一看,就知道x1 = x2 = ... = xn = 0,方程组是有解的,但是这个是零解,我们想知道有没有非零解,也就是 null T是否严格大于 { 0 },也就是T是否是单射。
所以,由之前的线性映射性质1的应用可以得到一个结论(不作证明了):
那么再来看非齐次线性方程组(这里的非齐次意思就是每个方程右端的常数项都不为0):
现在的问题就是,根据以上方程组,是否存在某些常数b1,b2,..., bm ∈ F使得上述方程无解?
还是根据方成这样定义一个线性映射T: F^n -> F^m:
于是,我们想到是否range T ≠ F^m ,在什么条件下T不是满射?
所以由之前的线性映射性质2的应用可以得到一个结论(同上,不作证明):
矩阵
用矩阵表示线性映射
首先,定义矩阵:
然后,引入线性映射矩阵(matrix of a linear map)的概念, 记作M(T):
由以上定义可以看出,一个n维的基向量,通过线性映射T得到的结果是w1,w2...,wm的线性组合,当然线性组合最后的结果当然是个m维的向量,所以如果T是从n维向量空间到m维向量空间的一个线性映射的话,则M(T)就是个m * n的矩阵。
其实说白了就是,在矩阵M(T)中的第k列可以被看做T对第k的标准基(n维空间的标准基)作用以后的向量,当然通过T作用后输出的列向量,自然就是m维空间的基向量,而且输出的向量是m维的,自然可以用w1,w2,...,wm的线性组合表示了,其中该线性组合的常数项,构成矩阵的列向量(A(1,k), A(2,k), ..., A(m,k))。
比如,设T ∈ L(F^2,F^3)定义如下:
那么该线性映射对应的标准基矩阵是多少呢?根据以上的定义,显然M(T)是一个3 * 2的矩阵,所以T也是一个从2维映射到3维向量空间的线性映射,2维向量空间的标准基无非就是(1,0),(0,1),根据M(T)中第k列,就是第k个标准基经过T作用以后的向量,T(1,0) = (1,2,7), T(0,1) = (3,5,9), 然后,就可以写出矩阵形式了,如下:
第1个标准基被T作用后的向量就是(1,2,7),该向量是矩阵的第1列向量,依次类推。
当然,个别大学的老师没讲为什么,直接就根据T的定义写成线性方程组的系数矩阵:
其实都是换汤不换药,你看看计算方式就明白了。T(2,3) = (11,19,41) = 2 (1,2,7) + 3 (3,5,9) = (2,4,14) + (9,15,27) = (11,19,41), 可以看出列向量是输出空间的基向量,其他向量可以用基向量的线性组合来表示。
矩阵的加法与标量乘法
我们前面知道两个线性映射是有和的,因为线性映射的集合L(V,W)也是一个线性空间,所以它有和和标量乘法。所以矩阵也是有和的,先定义矩阵和:
线性映射的和的矩阵:
再来定义矩阵的标量乘法:
标量乘以线性映射的矩阵:
然后我们需要引入个矩阵集合的概念,定义一个符号:
矩阵的乘法
首先来定义矩阵乘法:
说白话一点:
例如:
注意,只有当第一个矩阵的列数等于第二个矩阵的行数时,我们才能定义这两个矩阵的乘积,很简单,因为,根据线性映射的乘法,第二个线性映射的输出空间要映射到第一个线性映射的输入空间上。
由此,我们定义线性映射乘积的矩阵:
由上可以看到T的值域被映射到S的定义域。
可逆性与同构的向量空间
可逆的线性映射
首先定义可逆(invertible)和逆(inverse):
当然,可逆的线性映射的逆是唯一的,下面引入逆的符号T^-1:
可逆性还有一个重要的性质:
同构的向量空间
下面我们要从更高角度来刻画两个本质相同的向量空间,所以引入两个概念:
“同构”这个高大上的术语就是强调两个线性空间本质上相同,就是具有相同的性质。
维数也反映了向量空间是否同构:
L(V,W)与F^m,n同构:
上面这句很好解释,V的基长度是n,W的基长度是m, 所以L(V,W)是n维到m维的所有线性映射构成的集合,F^m,n又是m n的所有矩阵构成的集合,m n的矩阵本来就是n维到m维的线性映射的具体表述,所以这两个向量空间自然是同构的,其中线性映射M是一个同构,既是单射也是满射。
所以显然,根据以上,会还有一个推论,因为F^m,n的维数是m * n维,又因为F^m,n与L(V,W)同构,所以:
将线性映射视为矩阵乘
之前定义了线性映射的矩阵,也就是线性映射的矩阵表述。现在来定义向量的矩阵(matrix of a vector),也就是向量的矩阵表述M(v)。注意,之前是M(T),这次可不一样。
这里c1,c2,...,cn使得v = c1*v1 + c2*v2 + ... + cnvn, 其实说白了n维的向量向量v关于标准基的矩阵就是以v的坐标为元素而得到的n 1矩阵。
看到上面的想法,我们可能不由想到,对于一个m n矩阵A,则A的第k列,可以看做是一个m 1矩阵,下面可以引出一个性质:
其实说白了,与之前说过的一样,矩阵的第k列就是对于线性映射T的输入向量空间的第k个基向量经过T的作用以后的输出向量的矩阵表示。所以看矩阵可以一列一列拆开来看的。
最终要的性质来了,它说明了线性映射的矩阵,向量的矩阵以及矩阵乘法是如何联系到一起的。
其实就是线性映射的作用其实也是矩阵乘法。再直白点就是说,单独的一个矩阵,也可以拆分成矩阵乘法来看,每个m * n的矩阵其实就是诱导一个从F^n,1到F^m,1的线性映射。
算子
向量空间到其自身的线性映射非常重要,所以有个特别的名字,叫算子(operator):
接下来,对于算子有个重要的性质:
说白点就是,三个性质中只要满足任意一个,就可以确定另外两个性质也存在。
向量空间的积与商
向量空间的积
通常在处理多个向量空间时,这些向量空间都应该在同一个域上,也就是F上的向量空间。
定义向量空间的积(product of vector spaces):
所以你可以看到,向量空间的积也就是各个向量空间任意选择一个向量构成的向量组的所有集合,并且满足加法和标量乘法这样的线性特征,运算封闭,所以你可以猜测到它们的积也是向量空间:
既然积也是向量空间,那么该向量空间的维数是多少?
积与直和
注意,字符Γ,是gamma的大写。
解释下,子空间的和相当于子集的并集,子空间的直和相当于子集的不相交并集,也就是各子集间没有交集
其实也就是说,既然是V的子空间,那么子空间的和必定也是直和。
向量空间的商
先定义向量与子空间的和,以便引入商空间:
其实说白了就是选定一个V空间里面的任意向量v,然后与子空间U里面的各个向量做加法,这个加法所有结果向量构成集合。当然,这个集合可不是向量空间。但是是V的子集而已,因为这个子集不满足向量空间的定义,且没有零元素。
你可以想象在一个二维向量空间V中,它的某个子空间U = {(x,2x) ∈ R^2 : x ∈ R},用描点法可以画出子空间U其实是个过原点,斜率为2的直线,随便在V中选择一个二维向量v(13,20), 那么v + U 其实就是一个过点(13, 20)斜率为2的直线,并且该直线平行于U。
如果把这个推向高维,其实道理也一样,这样就引申除了仿射子集(affine subset)的定义:
当然,某个U上的所有仿射子集构成了仿射子空间(affine subspace),仿射子空间是仿射空间(affine space)的子空间。仿射空间嘛,你可以理解为除去向量空间V中零元素的集合,这个集合不是线性空间,没有了零元素,就可以定义平移这样的概念了,它是相对的。零元素嘛,你如果不用高观点来看,暂时理解为n维坐标原点就好了,哎呀,还不理解就是这个空间的零向量,也就是向量空间加法单位元,没有群结构还叫向量空间?显然不是。
接下来,我们定义商空间(quotient space), V/U:
所以你感觉平行于U的所有仿射子集构成商空间V/U貌似就是仿射子空间
再接下来是使V/U成为向量空间,所以需要以下命题:
定义商空间V/U上的加法和标量乘法:
所以根据以上定义,商空间V/U也是向量空间。加法单位元是0 + U,也就是U。v + U的加法逆元是(-v) + U
商空间已经定义,那么就可以引入商映射(quotient map)的概念了:
显然了,商空间也是线性空间,商映射也是线性映射,也可以用矩阵表示。商映射就是把V给降维,把不需要不关系的维给商掉了。至于应用上嘛,可以简化问题。
商空间的维数:
上面说额,既然商空间的单位元是U,那我们就可以说对于商映射T,它的零映射就是null T = U, 零空间是U,显然range T = V/U。由此可以看到V上的每个线性映射都诱导V/(null T)上的一个线性映射T*,现在就来定义它:
为什么要定义T 呢? 有没有意义呢? 从上述定义看V/(null T)是个商空间,(null T)是T的零空间,商映射pi: V -> V/(NULL T)的表示就是pi(v) = v + (null T)。其实就是为了表示一个“中间”映射过程,对于T ∈ L(V,W), 商映射pi ∈ L(V,V/(null T)), 最后再从商空间映射到W,也就是T ∈ L(V/(null T), W)。定义这么一个“中间”过程,其实是要发现一个同构。如下。
T*的零空间与值域
对偶
对偶空间与对偶映射
映射到标量域F的线性映射在线代中比较重要,跟算子一样,有自己一个特定的名字
比如,一个线性映射T:R^3 -> R, T(x,y,z) = 3x + 5y - 2z,那么,T是R^3上的线性泛函。
线性映射的向量空间L(V,F)也有一个特别的名字和一个特别的记号:
也就是说,V的对偶空间的维数等于V。V‘也同构于V。
下面要来定义对偶基的概念:
说白话就是将V中的基向量变为该向量的第j个坐标。对偶基也就是对偶空间中的基:
下面定义对偶映射(dual map) T':
W' = L(W,F)
V' = L(V,F)
L(W', V') = L(L(W,F), L(V,F)), 因为φ ∈ L(W,F), T ∈ L(V,W) 所以T'(φ):V -> F, 也就是T'(φ) ∈ V'。
对偶映射的代数性质:
线性映射的对偶的零空间和值域
先要引入零化子(annihilator)的定义:
就是子空间U的零化子就是在V的对偶空间中让U中任意一个元素都可以映射到标量0的线性泛函的集合。其实U^0也相当于V'的子集。
根据以上,实际上U^0也是V'的子空间:
显然,0 ∈ U^0, 这里的0表示V上的零线性泛函,因为零线性泛函将U中每个向量变为0
零化子的维数:
T'的零空间:
以上第一条请这样看,因为T' ∈ L(W',V'), null T' = { φ ∈ W' : T'(φ) = 0 } , (range T)^0 = (W的子空间)^0 = {φ ∈ W' : 对所有 u ∈ W的子空间都有φ(u) = 0}
T是满射等价于T'是单射:
T'的值域
T是单射等价于T'是满射:
对偶映射的矩阵
说白了就是对偶映射这种线性映射对应的矩阵表述。
首先定义转置(transpose), A^t:
转置具有很好的代数性质:对于所有m*n矩阵,A,C和所有λ ∈ F均有(A + C)^t = A^t + C^t, 且(λA)^t = λ(A^t)
矩阵乘积的转置:
T'的矩阵是T的矩阵的转置:
矩阵的秩
首先定义与矩阵有关的两个非负整数
range T的维数等于M(T)的列秩:
行秩等于列秩:
定义矩阵的秩(rank):
这样以来我们以后就可以不区分行秩,列秩。因为相等,用更简单的秩来代替。