3.1 向量空间定义
令V为一定义了加法和标量乘法的集合。对V中的任意元素x,y,x+y仍在V中。对于任意标量c,积cx仍在V中。同时若V还满足下面的公理,则V称为向量空间。
- 对V中任意x和y,x+y=y+x
- 对V中任意x,y和z,(x+y)+z = x+(y+z)
- V中存在一个元素0,满足对任意的x都有x+0=x
- V中任意元素x,都存在一个元素-x,满足x+(-x)=0
- 对任意标量c,都有c(x+y)=cx+cy
- 对任意标量a,b都有(a+b)x = ax + bx
- 对任意标量a,b都有(ab)x = a(bx)
- V中任意元素x,都有1*x = x
3.2 子空间
子空间:若S为向量空间V的非空子集,且S满足对加法与标量乘法封闭,则称S为V的子空间。
线性组合:令
vi
为向量空间V中的向量,
ci
为标量。则
c1v1+c2v2+...+cnvn
称为向量
(v1,...,vn)
的线性组合。
张成:向量
(v1,...,vn)
的所有线性组合构成的集合称为
(v1,...,vn)
的张成(Span),记作
Span(v1,...,vn)
。可证
Span(v1,...,vn)
为向量空间V的子空间。
张集:若
Span(v1,...,vn)=V
,此时我们说
{v1,...,vn}
是V的一个张集。此时V中的每个向量均可写作
v1,...,vn
的线性组合。
3.3 线性无关
线性无关:若向量空间V中的向量
v1,...,vn
满足
c1v1+c2v2+...+cnvn=0
,当且仅当
ci=0
,则称它们是线性无关的。
线性相关:若存在不全为零的标量
ci
,使得向量空间V中的向量
v1,...,vn
满足
c1v1+c2v2+...+cnvn=0
,则称它们是线性相关的。
两个向量线性相关的几何解释是二者方向相同
线性无关与非奇异矩阵的关系:向量 v1,...,vn 是线性无关的充要条件是由 v1,...,vn 构成的矩阵是非奇异的。
3.4 基与维数
基的定义:若
v1,...,vn
为V的基,则
v1,...,vn
线性无关,且
v1,...,vn
张成V。将V的基的元素个数称为V的维数。
定理:若
{v1,...,vn}
为向量空间V的张集,则V中任何m(m>n)个向量必线性相关。
推论:若
[v1,...,vn]
和
[u1,...,um]
均为向量空间V的基,则n=m
定理:若V的维数为n,则任意n个线性无关的向量张成V。同时任何张成V的n个向量必是线性无关的。
3.5 基变换
在向量空间V中,向量v默认是由标准基来进行表示的,标准基是一组单位向量,每个向量只有一个位置的元素为1,其他位置均为0,按1的所在的位置记做 e1,e2,...,en 。
令V为一向量空间,且令E=[
v1,...,vn
]为V的一组有序基。则V中任一元素v可写为
v=c1v1+c2v2+...+cnvn
,因此可以将每个向量v惟一的对应于一个向量
c=(c1,c2,...,cn)T
。采用这种方法定义的向量
c
为v相应于E的坐标向量,记作
例如向量 (2,2) 可写为 2e1+2e2 ,如果由基(2,0),(0,-2)来表示,可表示为(1,-1),可得迁移矩阵 [200−2] 。
令E=[ v1,...,vn ],F=[ u1,...,un ],令 vi 的矩阵记作V, ui 的矩阵记作U,则V和U分别为相对于标准基的转移矩阵,则由E到F的( [v]E 变换为 [v]F )转移矩阵为 U−1V 。
证明如下:因为一个标准基下的向量v可由E和F分别表示,即 v=V[v]E=U[v]F ,因此 [v]F=U−1V[v]E ,即证由E到F的迁移矩阵为 U−1V 。
3.6 行空间与列空间
若A为m*n的矩阵,A的每一行可看作一个向量,则称A的m个行的向量为A的行向量,同样的n个列的向量为A的列向量。
行空间与列空间:如果A为m*n矩阵,由A的行向量张成的子空间称为A的行空间,由A的列向量张成的子空间称为A的列空间
定理:两个行等价的矩阵有相同的行空间
秩: A的行空间的维数称为A的秩(rank)
定理:线性方程组相容性定理,一个线性方程组Ax=b相容的充要条件是b在A的列空间中。
定理:令A为m*n矩阵,当且仅当A的列向量张成
Rm
时,对每个
b∈Rm
,线性方程组Ax=b是相容的,当且仅当A的列向量线性无关时,对每个
b∈Rm
,方程组Ax=b至多有一个解。
推论: 当且仅当n阶矩阵A的列向量是
Rn
的基时,A是非奇异的。
矩阵的零空间:若A为m*n矩阵,令N(A)为所有齐次方程组Ax=0的解的集合,则:
可证N(A)为 Rn 的子空间,我们称N(A)为A的零空间(nullspace),零空间的维数称为矩阵的零度,
秩-零度定理若A为m*n的矩阵,则A的秩与A的零度的和为n
定理:若A为m*n矩阵,则A的列空间的维数等于A的行空间的维数,即dim(A行空间)=dim(A列空间)
3.7 使用numpy计算矩阵的秩
import numpy as np
A = np.array([[1,2],
[3,4],
[5,6]])
print np.ndim(A) #2