Coding the Matrix (3):矩陣

 

1. 矩陣與映射

矩陣和映射包含兩方面的關係:code

  1. 簡單:已知矩陣 M, 從向量 x 映射到 M * x. (注:矩陣與行向量的點乘)blog

  2. 稍微複雜:已知映射 x ->M * x, 求矩陣 M。圖片

第一種狀況直接運算就能夠獲得映射,就不詳細寫了,着重寫第二種狀況。io

首先,假設 x 爲 n 維行向量, M*x 爲 m 維列向量,能夠知道 M 是 m × n 大小的矩陣。在點乘裏面,M 的列向量是基向量, x 向量的每一個份量是線性組合的係數,M 矩陣能夠寫成:方法

怎麼求出 v1, v2, ..., vn 向量呢?利用基向量帶入便可獲得:im

例一 :將一張圖片向右拉伸兩倍,即 (x, y) 變爲了 (2x, y), 它的變換矩陣能夠這樣求:img

求得的變換矩陣就是 M = (v1, v2)e2e

例二 :將一張圖片逆時針旋轉 90 度,變換矩陣 M 能夠這樣求:co

求得的變換矩陣也是 M = (v1, v2)錯誤

一樣,將圖像旋轉 theta 角度和平移操做 (translation) 也能夠用這個方法求出變換矩陣。

根據上述方法雖然能夠求出圖像平移的變換矩陣,可是若是咱們將 [0, 0] 左邊進行變換,發現原點仍是在原點,並無平移,結果顯然是錯誤的,這是什麼緣由呢?這裏就不得不說一說線性映射了。

 

2. 線性映射

線性映射須要知足兩個條件:

首先,左乘矩陣確定是一個線性映射。考慮上面的例子,圖像伸縮、旋轉都符合兩個條件,而圖像平移不符合,所以不是線性映射,不存在變換矩陣。更進一步,何時纔是一一映射呢?當矩陣 M 是一個滿秩矩陣,此時 M 可逆,該映射是一個 one-to-one and onto 的線性映射。

相關文章
相關標籤/搜索