***************===matrix***************===
matmul 矩陣乘法,
matrixinverse 逆矩陣, 引入逆矩陣的原因之一是用來實現矩陣的除法, 任何矩陣乘以單位矩陣的結果都是其本身
matrixdeterminant 方陣的行列式
------------矩陣理解-------------
比如,你畫乙個座標系,x軸上的衡量單位是2,y軸上的衡量單位是3,在這樣乙個座標系裡,座標為(1,1)的那一點,實際上就是笛卡爾座標系裡的點(2, 3)。而讓它原形畢露的辦法,就是把原來那個座標系:
2 00 3
的x方向度量縮小為原來的1/2,而y方向度量縮小為原來的1/3,這樣一來座標系就變成單位座標系i了。保持點不變,那個向量現在就變成了(2, 3)了。
怎麼能夠讓「x方向度量縮小為原來的1/2,而y方向度量縮小為原來的1/3」呢?就是讓原座標系:
2 00 3
被矩陣:
1/2 0
0 1/3
左乘。而這個矩陣就是原矩陣的逆矩陣。
「對座標系施加變換的方法,就是讓表示那個座標系的矩陣與表示那個變化的矩陣相乘。」
至於矩陣乘以向量為什麼要那樣規定,那是因為乙個在m中度量為a的向量,如果想要恢復在i中的真像,就必須分別與m中的每乙個向量進行內積運算
還留下乙個行列式的問題。矩陣m的行列式實際上是組成m的各個向量按照平行四邊形法則搭成乙個n維立方體的體積
如果把矩陣的行解釋為座標系的基向量,矩陣與向量相乘(或向量與矩陣相乘)相當於執行一次座標轉換,ax=y可表述為x經矩陣a變換後變為y。
因此,追溯矩陣的由來,與向量的關係,我們會覺得矩陣並不神秘,它只是用一種緊湊的方式來表達座標轉換所需的數**算。
先介紹矩陣乘法的幾何意義。
矩陣乘法對應了乙個變換,是把任意乙個向量變成另乙個方向或長度的新向量。在這個變化過程中,原向量主要發生旋轉、伸縮的變化。
如果矩陣對某些向量只發生伸縮變換,不產生旋轉效果,那麼這些向量就稱為這個矩陣的特徵向量,伸縮的比例就是特徵值。
-------------------------
初等變換
一般採用消元法來解線性方程組,而消元法實際上是反覆對方程進行變換,而所做的變換也只是以下三種基本的變換所構成:
(1)用一非零的數乘以某一方程
(2)把乙個方程的倍數加到另乙個方程
(3)互換兩個方程的位置
於是,將變換(1)、(2)、(3)稱為線性方程組的初等變換
單位矩陣,就是主對角線是1,其他為零的矩陣。是特殊的復合三角矩陣。
單位矩陣也不過是對角線為1,其它是0的矩陣, i代表單位矩陣。
矩陣的行列式等於所有特徵值的乘積,所以只要有乙個特徵值為0,行列式就等於0,矩陣就為奇異矩陣。
有相同的兩行,則行列式為0
把矩陣化為上三角或者下三角,矩陣的值就是臨界線上元素乘積。
由於帶三角矩陣的矩陣方程容易求解,在解多元線性方程組時,總是將其係數矩陣通過初等變換化為三角矩陣來求解
又如三角矩陣的行列式就是其對角線上元素的乘積,很容易計算
矩陣的秩
矩陣的秩是方陣經過初等行變換或者列變換後的行秩或列秩
化為階梯形矩陣,階梯形的非零行數即為矩陣的秩
化為三角矩陣後,非0行的個數或者非0列的個數即矩陣的秩,沒有非0的行或者列時這個矩陣叫滿秩矩陣。
逆矩陣求出逆矩陣的3種手算方法:待定係數法、伴隨矩陣法、初等變換法(只介紹初等行變換)
設a是數域上的乙個n階方陣,若在相同數域上存在另乙個n階矩陣b,使得: ab=ba=i。 則我們稱b是a的逆矩陣,而a則被稱為可逆矩陣。
a是可逆矩陣的充分必要條件是,即可逆矩陣就是非奇異矩陣。(當 時,a稱為奇異矩陣)
可逆矩陣也被稱為非奇異矩陣、滿秩矩陣
求逆矩陣(用初等變換法)
對 矩陣*單位矩陣 進行初等變換,當矩陣變換成為單位矩陣時,最早的單位矩陣變換後的矩陣就是逆矩陣。
伴隨矩陣
二階矩陣的伴隨矩陣求法口訣:主對角線元素互換,副對角線元素加負號
余子式行列式的階越低越容易計算,於是很自然地提出,能否把高階行列式轉換為低階行列式來計算,為此,引入了余子式和代數余子式的概念。
在n階行列式中,把所在的第i行與第j列劃去後,所留下來的n-1階行列式叫元的余子式
矩陣的行列式等於所有特徵值的乘積
特徵值(eigenvalue)和特徵向量(eigenvector)
a為n階矩陣,若數λ和n維非0列向量x滿足ax=λx,那麼數λ稱為a的特徵值,x稱為a的對應於特徵值λ的特徵向量。
式ax=λx也可寫成( a-λe)x=0,並且|λe-a|叫做a 的特徵多項式。(e是單位矩陣,特徵多項式=0,用來求特徵向量)
矩陣的特徵方程的表示式為|λe-a|=0
機器學習的一些方法,如特徵降維方法如svd和pca,線性判別法(linear discriminant analysis,lda)等方法的時候都涉及到特徵值和特徵向量
對於給定矩陣a,尋找乙個常數λ(可以為複數)和非零向量x,使得向量x被矩陣a作用後所得的向量ax與原向量x平行,並且滿足ax=λx。
如果把矩陣看作是運動,那麼特徵值就是運動的速度,特徵向量就是運動的方向
如果說乙個向量v是方陣a的特徵向量,將一定可以表示成下面的形式:
λ為特徵向量 v 對應的特徵值。特徵值分解是將乙個矩陣分解為如下形式:
其中,q是這個矩陣a的特徵向量組成的矩陣,σ是乙個對角矩陣,每乙個對角線元素就是乙個特徵值,裡面的特徵值是由大到小排列的,這些特徵值所對應的特徵向量就是描述這個矩陣變化方向(從主要的變化到次要的變化排列)。也就是說矩陣a的資訊可以由其特徵值和特徵向量表示。
對於矩陣為高維的情況下,那麼這個矩陣就是高維空間下的乙個線性變換。可以想象,這個變換也同樣有很多的變換方向,我們通過特徵值分解得到的前n個特徵向量,那麼就對應了這個矩陣最主要的n個變化方向。我們利用這前n個變化方向,就可以近似這個矩陣(變換)。
總結一下,特徵值分解可以得到特徵值與特徵向量,特徵值表示的是這個特徵到底有多重要,而特徵向量表示這個特徵是什麼。不過,特徵值分解也有很多的侷限,比如說變換的矩陣必須是方陣。
特徵值和向量求法:
得到特徵值後,進行基礎解系,得到特徵向量。
求「基礎解系」,需要將帶求矩陣變為「階梯形矩陣」(變換方法為「初等行變換」)
-------k-l--------
pca主成份分析
主成分分析(principalcomponents analysis。即pca,也稱為k-l變換),是影象壓縮中的一種最優正交變換。
pca用於統計特徵提取構成了子空間法模式識別的基礎。它從影象整體代數特徵出發,基於影象的總體資訊進行分類識別。
pca的核心思想是利用較少數量的特徵對樣本進行描述以達到降低特徵空間維數的目的
-------k-l--------
***************===matrix***************===
對Canvas和Matrix的理解
我們看到的view檢視其實最終都是在canvas這個畫板上畫出來的,可以想象這個canvas有無限大,只是view元件在繪製時,即父元件呼叫dispatchdraw canvas c 分發給各個子元件繪製時,根據子元件的大小和位置,分別呼叫canvas的translate int dx,int dy...
對Canvas和Matrix的理解
我們看到的view檢視其實最終都是在canvas這個畫板上畫出來的,可以想象這個canvas有無限大,只是view元件在繪製時,即父元件呼叫dispatchdraw canvas c 分發給各個子元件繪製時,根據子元件的大小和位置,分別呼叫canvas的translate int dx,int dy...
指標概念與理解
1 為什麼要使用指標?變數的普通訪問方法 從記憶體的開頭,逐一向後查詢。2 指標的理解 先要理解位址和資料,你可以想象有很多盒子,每個盒子有對應的號碼,那個號碼叫做 位址 而盒子裡放的東西叫做 資料 把上面的過程理解了,p和 p的區別就不難解釋了。p是指標變數,用來存放位址,你可以認為是上面所說的盒...