向量和向量空間
數域F中的n個數x1,⋯,xn 組成的有序數組[x1,⋯,xn] ,在數學上稱爲數域F上的n維(行)向量。
向量的運算
設α=[a1,⋯,an]T ,β=[b1,⋯,bn]T 都是n維列向量。
- 加法 α+β=[a1+b1,⋯,an+bn]T.
- 數乘 設k爲一數,則kα=[ka1,⋯,kan]T.
- 內積 也稱爲點乘,若α,β 都是實向量則⟨α,β⟩=α⋅β=∑ni=1aibi
- 外積 也稱爲叉乘和向量積,兩個向量的外積依然是向量,方向與兩個向量組成的平面垂直遵守右手定則。大小 |α×β|=|α|⋅|β|⋅sinθ
Cauchy-Schwarz不等式:
|⟨α,β⟩|≤|α|⋅|β|.
即兩個向量內積的絕對值小於等於兩個向量的模相乘。
等號在兩個向量方向相同或相反時成立。
向量組的線性相關性和向量組的秩
給定向量組α1,α2,⋯,αs ,如果存在不全爲零的數k1,⋯,ks 使得
k1α1+⋯+ksαs=0,
則稱向量組線性相關。否則,稱這個向量組線性無關。
對向量α 和向量組α1,α2,⋯,αs ,如果有一組數k1,k2,⋯,ks ,使:
α=k1α1+⋯+ksαs
則稱α 可用α1,α2,⋯,αs線性表出。
定理(線性相關和線性表出的關係):向量組α1,α2,⋯,αs(s≥2) 線性相關的充要條件是其中至少有一個向量能用其餘向量線性表出。
下面討論向量組的關係;
設有兩個組:
(a)α1,⋯,αr;
(b)β1,⋯,βr.
如果向量組a與向量組b能相互線性表出,則稱這兩個向量組等價,記作a≅b 。
定理:如果兩個線性無關向量組α1,⋯,αr 和β1,⋯,βr 等價,則r=s 。
設S是一個向量組,α1,α2,⋯,αr 是它的一個子組,如果α1,α2,⋯,αr 線性無關,且S中任一向量都可用這個子組線性表出,則稱α1,α2,⋯,αr 是向量組S的一個極大線性無關組。一般來說向量組的極大線性無關組不是唯一的,但它們之間必定是等價的,極大線性無關組所含向量的個數r是由原向量組唯一確定的,我們稱這個數爲該向量組的秩。
向量空間
向量空間定義:設V是數域F上的n 維向量組成的非空集合,如果集合V對於加法及數乘兩種運算封閉,則稱V爲F上的向量空間。
子空間定義:設V1 和V2 都是同一數域F上的向量空間,若V1⊆V2 ,則稱V1 是V2 的子空間。
基和維數定義:設V是向量空間,如果α1,α2,⋯,αr 是V中給定順序的一個極大線性無關組,則稱它是V的一個基,即爲B={α1,α2,⋯,αr} ,其向量個數r稱爲V的維數。記作dimV=r
正交基和標準正交基的定義:設{α1,α2,⋯,αr} 是n維向量空間V的一個基,若它們兩兩正交,則稱該基爲V的一個正交基。若每個向量αi 還都是單位向量,則稱它爲V的一個標準正交基。
Schmidt正交化方法:
設{α1,α2,⋯,αr} 是向量空間V的一個基,用如下做法得出一個標準正交基:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪β1=α1,ϵ1=β1|β1|,β2=α2−⟨α2,ϵ1⟩ϵ1,ϵ2=β2|β2|,⋮βn=αn−⟨αn,ϵ1⟩ϵ1−⋯−⟨αn,ϵn−1⟩ϵn−1,ϵn=βn|βn|,
例題 已知{α1=[1,1,0]T,α2=[2,0,1]T,α3=[2,2,1]T} 是三維歐氏空間R3 的一個基,用這個基求R3 得一個標準正交基。
解 取β1=α1=[1,1,0]T ,單位化後得
ϵ1=β1|β1|=12√[1,1,0]T
由於
⟨α2,ϵ1⟩=2√ ,所以
β2=α2−⟨α2,ϵ1⟩ϵ1=[2,0,1]T−[1,1,0]T=[1,−1,1]T
單位化得
ϵ2=β2|β2|=13√[1,−1,1]T.
β3=α3−⟨α3,ϵ1⟩ϵ1−⟨α3,ϵ2⟩ϵ2=[2,2,1]T−[2,2,0]T−13[1,−1,1]T=13[−1,1,2]
單位化後得:
ϵ3=16√[−1,1,2]T
關於Schmidt正交化方法的python實現代碼:
import numpy as np
def schmidt_norm_orth(array):
col = array.shape[0]
for i in range(col):
j = i
col_now = array[i]
beta_now = col_now
while j > 0:
j -= 1
beta_now -= np.dot(col_now, array[j]) * array[j]
epsilon_now = beta_now / np.linalg.norm(beta_now)
array[i] = epsilon_now
return array