-
1 # 劉新宇老師
-
2 # 數學救火隊長馬丁
線性變換滿足結合律,但不滿足交換律,這是有關線性變換運算的兩條最基本的結論。下面來詳細闡述一下這一問題,需要分成以下幾個方面。
1.什麼是變換?線性變換(linear transformation)是線性代數(linear algebra)的基本概念,它是一類滿足某些特殊性質的變換(transformation)。那麼什麼是變換呢?
變換從本質上講就是函式的意思。函式是一個我們非常熟悉的概念了,它的意思就是把一個集合中元素對應到另外一個集合中元素的對應法則。
不過,我們在高中學習的函式一般都是從數集到數集的對應。把這個概念再放寬一些,變成從向量集合到向量集合的對應,那這時就把這個函式特意地稱為“變換”。
線上性代數里面,由所有n維向量組成一個集合,這些向量之間可以進行加減法運算和數乘運算。把可以進行這兩種運算的集合通常成為一個線性空間(linear space),它其中的一組基(basis)所包含的向量的個數,稱為線性空間的維度(dimension)。可以看出,所有n維向量組成的集合就是一個n維線性空間,通常記為R^n。所以總結為一句話:變換的本質,就是從一個線性空間到另一個線性空間的函式。
2.什麼是線性變換?任何一個從線性空間到線性空間的對應法則,都可以稱為一個變換。那這樣的變換太多了,雜亂無章,研究起來沒有什麼意義,我們從裡面挑出一些滿足一定性質的、有意義的變換,於是就有了線性變換這個概念。
線性變換(linear transformation)指的是滿足下列性質的變換:
這兩條性質其實也被稱為運算的線性性,線性變換這個名字也因此而來。
線性其實是廣泛存在於自然界中與我們日常生活當中的一種現象,它描述的是一種不同數量可以“簡單疊加”的性質。舉個例子,買同一種商品所花的錢就是一個關於商品數量的線性函式,比如我買3+4個,即7個麵包所花的錢,就等於買3個麵包的錢,加上買4個麵包的錢。
線性變換中最常見的一類就是所謂的矩陣變換(事實上,下文我們將會看到,線性變換的本質就是矩陣變換)。矩陣變換(matrix transformation)指的是這樣一種把向量變成向量的對應法則:先給定一個矩陣m×n階矩陣A,然後對於一個n維向量x,給它左邊乘上A,變成Ax,根據乘法行與列的運演算法則,這樣得到的就是個m維向量。所以它把一個n維向量變成一個m維向量,這樣的變換我們稱為由矩陣A誘匯出的線性變換,簡稱為矩陣變換。這種變換一定是線性的,因為很容易驗證,對於任何矩陣A,都有:
矩陣變換在電腦做圖中非常有用,在電腦中對一張圖片進行拉伸,旋轉,翻轉等操作,本質就是矩陣變換。因為一張圖片是由很多畫素點組成的,每一個畫素可以看成是一個2維向量。對圖片進行操作,就相當於把每個向量都變換一下。比如我想把一張圖片等比例拉伸三倍,就相當於把每一個向量都拉伸三倍,方法就是讓每一個向量都乘以一個3倍單位矩陣:
於是就會產生以下的效果:
3.幾種基礎的矩陣變換除了上面講的拉伸變換,其他常見的矩陣變換還有如下幾種
翻轉變換前面分別乘以如下兩個矩陣:
實現的效果就是把圖片關於x軸翻轉,以及關於y軸翻轉:
旋轉變換想把一個圖形逆時針方向旋轉角度φ,可以在前面乘上如下矩陣:
於是就可以得到如下效果
剪下變換剪下變換就是把一張圖片斜著拉伸,比如下面這個效果
實現方法就是前面乘以如下的矩陣:
當然還可以對影象進行多次變換,那就是不停地在前邊乘以矩陣,於是就是下面這個效果
上面的圖片就是在矩陣研究中做出巨大貢獻的德國數學家雅可比(Jacobi,1804-1851)
4.線性變換的矩陣前面我們已經介紹到,給我一個矩陣就可以匯出一個矩陣變換而,每一個矩陣變換都是一個線性變換。那麼反過來,給我一個線性變換,它跟矩陣有沒有關係呢?下面來探討一下這個問題。
首先面臨的第一個問題就是,一個線性變換是把線性空間中的每一個向量都對應到另一個線性空間中的向量。但是一個線性空間裡邊包含無數多個向量,你需要知道每一個向量對應過去是啥才算是知道了這個線性變換的全部資訊。那無數多個向量我怎麼可能列的完呢?好線上性空間不是孤立的集合,它的元素與元素之間有運算關係,所以整個空間就具有某種結構,我們線上性代數里面學過一個線性空間,都至少有一組基。這一組基是由若干個向量組成的,它們之間線性無關,並且使得線性空間中的每一個向量都可以被這一組基中的向量所線性表示。
又根據線性變換本身具有線性性,所以我們只需要知道這個線性變換把這組基中的每個向量變成啥,就相當於知道了這個線性變換的全部資訊。利用這一點,我們只需要研究所有基的象即可。
只需要研究線性變換把上面這n個向量變成啥就可以了,而每一個向量變過去之後的向量還屬於該集合,因此它也能被這一組基所表示。我們不妨假設
我們把前面的係數提取出來,按列組成一個n×n階的矩陣:
這個矩陣就稱為線性變換T在這一組基下所誘匯出的矩陣。
於是可以看出,給我一個矩陣就可以匯出一個線性變換;反過來,給我一個線性變換就可以匯出一個矩陣。因此,線性變換和矩陣就是一一對應的,所以我們得出一個自然的結論,就用一個矩陣來代表一個線性變換。於是就可以把線性變換的關係轉化為矩陣的關係。
5.線性變換的運算與矩陣的運算我們知道,矩陣可以進行運算,比如加減法,數乘,以及最複雜的矩陣乘法。那麼,不同的線性運算之間可以做運算麼?如果可以的話,線性表換的運算和矩陣的運算有什麼關係呢?本節就來討論這個問題。
我們知道,線性變換的本質就是函式,而我們講函式時學過它的五種運算:加減乘除,以及複合。所以線性變換也可以進行這五種運算,其中與本文有關係的是最後一種——複合運算(composite):
可以看出來,它也是R^n到R^n的線性變換。兩個線性變換的複合變換仍然是線性變換,可以如下簡單的證明:
先看第一條:
再看第二條:
所以兩個線性變換的複合變換仍然是線性變換,那麼根據上文,它就對應一個矩陣。
那這個矩陣與前兩個線性變換的矩陣有什麼關係呢,我們有如下結論
這個結論的證明比較簡單,我們暫時略去。但是這個結論所具有的意義卻是非常重要的,它表明,線性變換的複合運算就完全等同於矩陣的乘法運算。
這個結論的重要意義就在於,我們要想研究線性變換之間的關係,那麼直接轉化成研究矩陣之間的關係就可以了。而矩陣之間的運算我們是研究得很清楚的。
6.結論我們知道矩陣的乘法滿足結合律,即對任意的三個矩陣A,B,C,(假設乘法可以進行),一定滿足
因此線性變換的複合運算也是滿足結合律的。
但是矩陣的運算是不滿足交換律的,我們可以隨便舉一個例子來,比如給出下面兩個矩陣:
可以計算一下:
很明顯二者是不相等的。只要舉出一個例子來,就可以說明矩陣的乘法不滿足交換律的,因此對應過來,線性變換的複合運算也不滿足交換律。
我們舉一個具體的例子好了,就拿上面的兩個矩陣匯出的線性變換:
我們就讓它們複合,然後作用在單位向量〈0,1〉上,比較一下兩個結果:
明顯是不一樣的。只要有一個向量作用過去不一樣,那這就是兩個不同的線性變換,這就說明了兩個線性變換的複合運算是不滿足交換律的。
6.結束語本文我們使用了一種在數學裡邊非常常用的手法,當我們面對一種難以處理的數學物件時,可以把它轉化成另外一種數學物件,並且這兩種數學物件之間具有相同的結構。於是我們只需要把新的數學物件的性質研究清楚了,就可以返回去得到舊的數學物件的性質,這就是“同構”(isomorphism)的思想。在本文中我們就建立起了所有線性變換與所有矩陣之間的同構,於是透過研究矩陣的性質得到線性變換的性質。
“同構”(isomorphism),是數學中的核心概念之一,它研究的就是兩種不同的結合所具有的相同的性質,通常指的是相同的運算性質。因此但凡含有運算的集合,都有同構這個概念,比如線性空間的同構,群的同構,環的同構等等。同構的集合,我們在研究性質時可以看成相同的結合,因此這一概念就在不同的數學物件之間尋找到了某種統一性,用它就可以來解決很多複雜的數學問題。
參考文獻[1] Linear Algebra and Its Applications,David C. Lay,Pearson.[2] Precalculus, Tenth Edition, Michael Sullivan, Pearson.[3] 《高等代數》,第三版,北京大學數學系代數與幾何教研室前代數小組,北京,高等教育出版社[4] 《工程數學線性代數》,第五版,同濟大學數學系,北京,高等教育出版社
回覆列表
線性代數中的線性變換是包括矩陣的加減法和數乘運算,那麼我們就從矩陣出發先來看一下為什麼不滿足交換律。
1.從矩陣乘法規則來看-矩陣相乘是前一個矩陣中的行向量組 乘以 後一矩陣的列向量組,交換順序之後,所有的向量組都被打亂重組了,所以乘積也就和以前不同。
2. 從更廣義的角度來看,線性變換也可以稱為線性對映。任意對映包括 一一對映,多對一對映,或一對多對映。所以,對映當然存在多對一的現象如果是多對一對映,則交換律就無法滿足。
3.如果學過更多的數學之後,可以理解到線性代數是依託線性空間以及其中的線性變換,而線性空間是由一個二元集合上所定義的,要數域P和向量集合V,其中定義了數乘和加法,加以八條性質得到一個線性空間。這也是抽象代數的一個特例。抽象代數中大多不滿足交換律如下圖。