- 程序員數(shù)學(xué):用Python學(xué)透線性代數(shù)和微積分
- (美)保羅·奧蘭德
- 5647字
- 2022-01-10 14:44:18
4.2 線性變換
下面要重點(diǎn)介紹一種良態(tài)(well-behaved)的向量變換,稱為線性變換。除了向量,線性變換也是線性代數(shù)的一個(gè)主要研究對(duì)象。線性變換是一種向量運(yùn)算在變換前后看起來一樣的特殊變換。下面通過一些圖例來說明其含義。
4.2.1 向量運(yùn)算的不變性
向量加法和標(biāo)量乘法是向量算術(shù)運(yùn)算中最重要的兩個(gè)。回到能夠反映這些運(yùn)算的二維圖片,看看對(duì)它們應(yīng)用變換前后的樣子。
把兩個(gè)向量的和想象成將它們頭尾相接放置時(shí)得出的新向量,或者指向它們所張成平行四邊形頂點(diǎn)的向量。例如,圖4-22展示了向量和。

圖4-22 向量和的幾何表示
我們想問的問題是:如果對(duì)圖中的三個(gè)向量應(yīng)用同樣的向量變換,三個(gè)向量的關(guān)系是否會(huì)保持不變?下面嘗試一種關(guān)于原點(diǎn)做逆時(shí)針旋轉(zhuǎn)的向量變換。圖4-23顯示
、
和
通過變換
旋轉(zhuǎn)了相同的角度。

圖4-23 將、
和
旋轉(zhuǎn)同樣的角度,其關(guān)系仍然不變
旋轉(zhuǎn)后的圖例表示向量。只要
,那么對(duì)三個(gè)向量
、
和
中的每個(gè)向量應(yīng)用同樣的旋轉(zhuǎn)變換
,
依然成立。為了描述這個(gè)特性,我們說旋轉(zhuǎn)保持(preserve)了向量和。
同樣,旋轉(zhuǎn)也會(huì)保持標(biāo)量乘積。如果是一個(gè)向量,
是
乘以標(biāo)量
,那么
指向與
相同的方向,只是被按照系數(shù)
進(jìn)行了縮放。如果對(duì)
和
做同樣的旋轉(zhuǎn)
,
就是
與相同系數(shù)
的標(biāo)量乘積(見圖4-24)。

圖4-24 旋轉(zhuǎn)保持了標(biāo)量乘積
同樣,這只是一個(gè)直觀的示例而不是證明,但對(duì)于任意向量、標(biāo)量
和旋轉(zhuǎn)
,圖中都保持了相同的特性。旋轉(zhuǎn)或其他任意保持向量和與標(biāo)量乘積的向量變換被稱為線性變換。
線性變換
線性變換是保持向量和與標(biāo)量乘積的向量變換
。也就是說,對(duì)于任意輸入向量
和
,有:
而對(duì)于任意一對(duì)標(biāo)量
和向量
,有:
請(qǐng)務(wù)必停下來消化并理解這個(gè)定義。線性變換非常重要,以至于整個(gè)線性代數(shù)學(xué)科都以它命名。為了幫助你在看到線性變換時(shí)認(rèn)出它們,我們?cè)倏磶讉€(gè)示例。
4.2.2 圖解線性變換
首先看一個(gè)反例:一個(gè)非線性的向量變換。示例變換接收向量
并輸出一個(gè)坐標(biāo)被平方后的向量:
。舉一個(gè)例子,
和
的和是(2, 3) + (1, -1) = (3, 2)。這個(gè)向量加法如圖4-25所示。

圖4-25 圖解向量和
的和
現(xiàn)在把應(yīng)用到每個(gè)向量上:
,
,
。圖4-26明顯表明,
和
不一致。

圖4-26 沒有保持向量和,
和
相差甚遠(yuǎn)
作為練習(xí),你可以試著找到一個(gè)反例來證明也不保持標(biāo)量乘積。現(xiàn)在,我們來研究另一個(gè)變換。
是按系數(shù)2對(duì)輸入向量進(jìn)行縮放的向量變換,換句話說,
。它確實(shí)保持了向量和:如果
,那么
也成立。圖4-27提供了一個(gè)直觀的示例。

圖4-27 將向量的長(zhǎng)度增加1倍,可以保持它們的和:如果,那么
同樣,也保持了標(biāo)量乘積。這有些難畫,但可以從代數(shù)上看出,對(duì)于任意標(biāo)量
,
。
那么平移呢?假設(shè)將任意輸入向量
按照(7, 0)平移。令人驚訝的是,這不是線性變換。圖4-28提供了一個(gè)直觀的反例,其中
,但
和
不同。

圖4-28 因?yàn)?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/451.gif?sign=1755126986-M7QKfPQlzyboZIPvE7U3FrEtK9RGapve-0-48af18393f429638d3434340fbeb30dd">不等于,所以平移變換
不保持向量和
事實(shí)證明,只有不移動(dòng)原點(diǎn)的變換才能是線性的(在后面的練習(xí)中可以看到原因)。任何使用非零向量的平移都會(huì)將原點(diǎn)變換到不同的點(diǎn)上,所以它不可能是線性的。
其他線性變換的例子包括鏡像、投影、剪切以及前面這些線性變換的任何三維類推。練習(xí)部分定義了這些變換,你應(yīng)該通過幾個(gè)示例來讓自己相信,這些變換中的每一種都保持了向量和與標(biāo)量乘積。通過練習(xí),你可以識(shí)別哪些變換是線性的、哪些不是。接下來將介紹線性變換的特殊性質(zhì)有什么用。
4.2.3 為什么要做線性變換
因?yàn)榫€性變換保持了向量和與標(biāo)量乘積,所以也保持了一類更廣泛的向量算術(shù)運(yùn)算。最常規(guī)的運(yùn)算稱為線性組合。一個(gè)向量集合的線性組合是它們的標(biāo)量乘積之和。例如,是向量
和
的線性組合。給定三個(gè)向量
、
和
,表達(dá)式
是它們的線性組合。因?yàn)榫€性變換保持了向量和與標(biāo)量乘積,所以也保持了線性組合。
用代數(shù)方式重新描述:如果有一個(gè)包含個(gè)向量(
)的集合,以及任意
個(gè)標(biāo)量(
),則線性變換
可以保持線性組合。
我們之前見過一個(gè)很容易繪制的線性組合:和
的組合
,它相當(dāng)于
。圖4-29顯示,兩個(gè)向量的這種線性組合可以讓我們得到連接它們的線段的中點(diǎn)。

圖4-29 兩個(gè)向量和
的頭部之間的中點(diǎn)可以用線性組合
求得
這意味著線性變換能將一些中點(diǎn)變換為其他中點(diǎn)。例如,如圖4-30所示,就是連接
和
的線段的中點(diǎn)。

圖4-30 因?yàn)閮蓚€(gè)向量之間的中點(diǎn)是向量的線性組合,所以線性變換將
和
之間的中點(diǎn)設(shè)為
和
的中點(diǎn)
雖然不太明顯,但像這樣的線性組合也位于
和
之間的線段上(見圖4-31)。具體來說,是從
到
路徑上75%處的點(diǎn),同樣,
是
到
路徑上40%處的點(diǎn),以此類推。

圖4-31 點(diǎn)位于連接
和
的線段上
到
的75%處。你可以用具體的示例觀察,比如當(dāng)
和
時(shí)的情況
事實(shí)上,兩個(gè)向量之間線段上的每個(gè)點(diǎn)都是形如的“加權(quán)平均值”,其中
介于0和1之間。為了證明這一點(diǎn),圖4-32顯示了對(duì)于
和
的向量組合
,分別展示了10個(gè)和100個(gè)介于0和1之間的
值。

圖4-32 用0和1之間的10個(gè)值(左)和100個(gè)
值(右)繪制(-1, 1)和(3, 4)的各種加權(quán)平均值
這里的關(guān)鍵思想是,連接兩個(gè)向量和
的線段上的每一個(gè)點(diǎn)都是加權(quán)平均值,因此也是點(diǎn)
和
的線性組合。考慮到這一點(diǎn),我們可以思考線性變換對(duì)整個(gè)線段的作用。
因?yàn)檫B接和
的線段上的任意點(diǎn)都是
和
的加權(quán)平均值,所以對(duì)于某個(gè)值
,點(diǎn)的形式是
。線性變換
將
和
變換成新的向量
和
。線段上的點(diǎn)被轉(zhuǎn)化為某個(gè)新的點(diǎn)
或
。這又是
和
的加權(quán)平均值,所以如圖4-33所示,它是位于連接
和
的線段上的一點(diǎn)。

圖4-33 線性變換將
和
的加權(quán)平均值轉(zhuǎn)化為
和
的加權(quán)平均值。原加權(quán)平均值位于連接
和
的線段上,而變換后的加權(quán)平均值位于連接
和
的線段上
正因如此,線性變換把連接
和
的線段上的每一個(gè)點(diǎn)都轉(zhuǎn)移到連接
和
的線段上的一個(gè)點(diǎn)。這是線性變換的一個(gè)關(guān)鍵性質(zhì):它們將每一條現(xiàn)有的線段都轉(zhuǎn)移到一條新的線段上。因?yàn)槲覀兊娜S模型是由多邊形組成的,而多邊形是由線段勾勒出來的,所以可以預(yù)期線性變換會(huì)在一定程度上保持三維模型的結(jié)構(gòu)(見圖4-34)。

圖4-34 對(duì)構(gòu)成三角形的點(diǎn)進(jìn)行線性變換(旋轉(zhuǎn)60°),結(jié)果是一個(gè)(向左)旋轉(zhuǎn)的三角形
相反,如果使用非線性變換將
轉(zhuǎn)移到
,可以看到線段是扭曲的。這意味著由向量
、
和
定義的三角形并沒有真正被轉(zhuǎn)移到另一個(gè)由
、
和
定義的三角形,如圖4-35所示。

圖4-35 應(yīng)用非線性變換不能保持三角形邊的直線性
總而言之,線性變換遵循向量的代數(shù)性質(zhì),保持了向量和、標(biāo)量乘積和線性組合。它們還遵循向量集合的幾何性質(zhì),將向量定義的線段和多邊形轉(zhuǎn)移到由變換后的向量定義的新線段和多邊形上。接下來,我們將看到線性變換不僅從幾何學(xué)的角度看特殊,還很容易計(jì)算。
4.2.4 計(jì)算線性變換
第2章和第3章介紹了如何將二維和三維向量分解為分量。例如,向量(4, 3, 5)可以分解為(4, 0, 0) + (0, 3, 0) + (0, 0, 5)。這樣就很容易想象出向量在三維空間中每一個(gè)維度上延伸的距離。這可以進(jìn)一步分解為線性組合(見圖4-36)。

圖4-36 三維向量(4, 3, 5)為(1, 0, 0)、(0, 1, 0)和(0, 0, 1)的線性組合
這似乎是一個(gè)簡(jiǎn)單的事實(shí),但又是能從線性代數(shù)中得到的深刻見解之一:任何三維向量都可以被分解為(1, 0, 0)、(0, 1, 0)和(0, 0, 1)這三個(gè)向量的線性組合。這種分解中出現(xiàn)的向量的標(biāo)量正是
的坐標(biāo)。
(1, 0, 0)、(0, 1, 0)和(0, 0, 1)這三個(gè)向量被稱為三維空間的標(biāo)準(zhǔn)基(standard basis),分別表示為、
和
。因此,前面的線性組合可以寫成
。在二維空間中,
,
。例如,
(見圖4-37)。(當(dāng)我們說
時(shí),可能是指(1, 0)或(1, 0, 0),但一旦確定了是在二維還是三維空間中,通常就可以清楚地知道指的是哪一個(gè)。)

圖4-37 標(biāo)準(zhǔn)基向量和
線性組合成的二維向量(7, -4)
這里只是用稍微不同的方式表示了相同的向量,但事實(shí)證明,這種視角的改變使得計(jì)算線性變換變得很容易。因?yàn)榫€性變換保持了線性組合,所以在計(jì)算線性變換時(shí)只需知道它如何影響標(biāo)準(zhǔn)基向量即可。
來看一個(gè)直觀的示例,如圖4-38所示。假設(shè)已知二維向量變換是線性的,并且知道
和
是什么,其他未知。

圖4-38 當(dāng)線性變換作用于兩個(gè)二維標(biāo)準(zhǔn)基向量時(shí),會(huì)得到兩個(gè)新的向量作為結(jié)果
對(duì)于其他任意向量,我們都會(huì)自動(dòng)知道
的終點(diǎn)。假如
,那么可以做如下斷言。
如圖4-39所示,因?yàn)?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/496.gif?sign=1755126986-xyTxrr5D5UEnGmwpP1Rr7Uo6XDFADFrN-0-403d9bb28ba1b63a4259c987fcdfb1d0">和的位置已知,所以可以找到
。

圖4-39 對(duì)于任意向量,可以將
計(jì)算為
和
的線性組合
為了更具體地說明這個(gè)問題,我們來完成一個(gè)完整的三維示例。假設(shè)是一個(gè)線性變換,我們只知道
,
,
。如果
,那么
是什么?首先,可以把
展開為三個(gè)標(biāo)準(zhǔn)基向量的線性組合。因?yàn)?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/507.gif?sign=1755126986-yFbFtElOGU6pgdQrbg1rA1H9uVLdl0NI-0-fcad60aa431ea808b2fd4493ab5d10fb">,可以代入得到:
接下來,利用是線性的并且保持線性組合的事實(shí):
最后,將已知的、
和
的值代入,化簡(jiǎn)得到:
為了證明我們真的知道如何運(yùn)作,把它應(yīng)用到茶壺上。
Ae1 = (1,1,1) ←---- 將A應(yīng)用于標(biāo)準(zhǔn)基向量的結(jié)果已知 Ae2 = (1,0,-1) Ae3 = (0,1,1) def apply_A(v): ←---- 構(gòu)建函數(shù)apply_A(v),返回將A作用于輸入向量v的結(jié)果 return add( ←---- 結(jié)果應(yīng)該是這些向量的線性組合,其中標(biāo)量是目標(biāo)向量v的坐標(biāo) scale(v[0], Ae1), scale(v[1], Ae2), scale(v[2], Ae3) ) draw_model(polygon_map(apply_A, load_triangles())) ←---- 使用polygon_map將A應(yīng)用到茶壺中每個(gè)三角形的每個(gè)向量上
圖4-40顯示了轉(zhuǎn)換的結(jié)果。

圖4-40 在旋轉(zhuǎn)、扭曲下,可以看到茶壺是沒有底的
這里的啟示是,二維線性變換完全由
和
的值來定義,也就是總共2個(gè)向量或4個(gè)數(shù)。同樣,三維線性變換
完全由
、
和
的值來定義,也就是總共3個(gè)向量或9個(gè)數(shù)。在任意維中,線性變換的行為由一個(gè)向量列表或數(shù)組陣列來規(guī)定。這類包含數(shù)組的陣列稱為矩陣,我們將在下一章中看到如何使用矩陣。
4.2.5 練習(xí)
練習(xí)4.10:再考慮對(duì)所有坐標(biāo)執(zhí)行二次方運(yùn)算的向量變換
,用代數(shù)方法證明
并不是對(duì)所有標(biāo)量
和二維向量
都成立。
解:令
,則
,
。對(duì)于大多數(shù)
和向量
來說,
,并不等于
。一個(gè)具體的反例是
和
,其中
,但是
。這個(gè)反例證明
不是線性變換。
練習(xí)4.11:假設(shè)
是一個(gè)向量變換,且
,其中
代表所有坐標(biāo)都等于零的向量。根據(jù)定義,為什么
是非線性的?
解:對(duì)于任意向量
,
。
保持向量加法,應(yīng)滿足
。因?yàn)?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/529.gif?sign=1755126986-iVtU4hJvfAJaNKspKxL7mW0dRN8JC3mk-0-23362eb07224716184ed9bd46f3e215b">,這就要求
或
。鑒于情況并非如此,
不可能是線性的。
練習(xí)4.12:恒等變換是返回向量與接收向量相同的向量變換,用大寫的
表示。因此,對(duì)于所有向量
,其定義寫成
。為什么
是一個(gè)線性變換?
解:對(duì)于任意向量
和
,
;對(duì)于任意標(biāo)量
,
。這些等價(jià)性表明,恒等變換保持了向量和與標(biāo)量乘積。
練習(xí)4.13:(5, 3)和(-2, 1)之間的中點(diǎn)是什么?把這三個(gè)點(diǎn)都畫出來,看看你的做法是否正確。
解:中點(diǎn)是1/2(5, 3) + 1/2(-2, 1)或(5/2, 3/2) + (-1, 1/2),等于(3/2, 2)。可以按比例畫出來看看正確性,如圖4-41所示。
![]()
圖4-41 連接(5, 3)和(?2, 1)的線段的中點(diǎn)是(3/2, 2)
練習(xí)4.14:再考慮把
轉(zhuǎn)移到
的非線性變換
。用第2章的繪圖代碼將整數(shù)坐標(biāo)為0~5的36個(gè)向量
全部繪制成點(diǎn),然后分別繪制它們的
。在
的作用下,向量在幾何上會(huì)發(fā)生什么?
解:開始時(shí),點(diǎn)與點(diǎn)之間的空間是均勻的,但在變換后的圖片中,隨著
坐標(biāo)和
坐標(biāo)的增大,點(diǎn)與點(diǎn)之間在水平和垂直方向上的間距也分別增大了(見圖4-42)。
![]()
圖4-42 網(wǎng)格中的點(diǎn)間距最初是均勻的,但在應(yīng)用變換
后,點(diǎn)與點(diǎn)之間的間距是不同的,甚至同一條直線上的點(diǎn)間距也不同
練習(xí)4.15(小項(xiàng)目):基于屬性的測(cè)試是一種單元測(cè)試,涉及為程序創(chuàng)造任意輸入數(shù)據(jù),然后檢查輸出是否滿足所需條件。一些流行的Python庫(kù),如Hypothesis(可通過pip獲得),可以很容易地配置它。使用你選擇的庫(kù),實(shí)現(xiàn)基于屬性的測(cè)試來檢查向量變換是否是線性的。
具體來說,給定一個(gè)以Python函數(shù)形式實(shí)現(xiàn)的向量變換
,生成大量隨機(jī)向量對(duì),并對(duì)所有這些向量斷言,
會(huì)保持它們的和。然后,對(duì)每組標(biāo)量和向量做同樣的事情,來確定
保持了標(biāo)量乘積。應(yīng)該可以發(fā)現(xiàn),像
rotate_x_by(pi/2)
這樣的線性變換可以通過測(cè)試,但是像坐標(biāo)-平方變換這樣的非線性變換不能通過。
練習(xí)4.16:二維向量變換是相對(duì)于
軸的鏡像,這種變換接收一個(gè)向量并返回其相對(duì)于
軸的鏡像向量。它應(yīng)該保持
坐標(biāo)不變,改變
坐標(biāo)符號(hào)。將這種變換稱為
,圖4-43展示了向量
和變換后的向量
。
![]()
圖4-43 向量
及其相對(duì)于
軸的鏡像(3, -2)
畫出這兩個(gè)向量、它們的和,以及這三個(gè)向量的鏡像,來證明這種變換保持了向量和。再畫出另一張圖,同樣證明這種變換保持了標(biāo)量乘積,從而證明線性的兩個(gè)標(biāo)準(zhǔn)。
解:圖4-44是一個(gè)相對(duì)于
軸鏡像的示例,它保持了向量和。
![]()
圖4-44 對(duì)于如圖所示的
,在
軸上的鏡像保持了向量和
圖4-45中的示例顯示鏡像保持了標(biāo)量乘積:
位于
的預(yù)期位置。
![]()
圖4-45 相對(duì)于
軸的鏡像保持了標(biāo)量乘積
要證明
是線性的,需要證明可以為每一個(gè)向量和與標(biāo)量乘積畫出類似的圖像。這些圖像有無限多,所以最好用代數(shù)方法證明。(你能想出如何用代數(shù)方法證明這兩個(gè)事實(shí)嗎?)
練習(xí)4.17(小項(xiàng)目):假設(shè)
和
都是線性變換。解釋為什么
和
的組合也是線性的。
解:如果對(duì)于任意向量和
,有
,而且對(duì)于任意標(biāo)量乘積
,有
,則組合
是線性的。這只是一個(gè)必須被滿足的定義聲明。
現(xiàn)在來看它為什么為真。首先,假設(shè)對(duì)于任意給定輸入向量
和
,有
。那么由于
是線性的,亦知
。因?yàn)榇讼蛄亢褪浅闪⒌模?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/434.gif?sign=1755126986-oO1G723vEbS93gULb3sgwv3wgCLX9Nmj-0-5f8170dd5a60322f72ace3d094e5f419">的線性告訴我們,它在
下被保持了:
。這意味著
保持了向量和。
同樣,對(duì)于任意標(biāo)量乘積
,
的線性告訴我們
。根據(jù)
的線性,
也是如此。這意味著
保持了標(biāo)量乘積,因此
滿足前面所說的線性的全部定義。可以得出結(jié)論,兩個(gè)線性變換的組合是線性的。
練習(xí)4.18:設(shè)
是Python函數(shù)
rotate_x_by(pi/2)
所做的線性變換,那么、
和
分別是什么?
解:相對(duì)于坐標(biāo)軸的任意旋轉(zhuǎn)都不會(huì)使軸上的點(diǎn)受到影響,所以由于
在
軸上,
。在
平面內(nèi)逆時(shí)針旋轉(zhuǎn)
,把此向量從
軸正方向上1個(gè)單位處移到
軸正方向上1個(gè)單位處,所以
。同樣,
從
軸正方向逆時(shí)針旋轉(zhuǎn)到
軸負(fù)方向上。
在這個(gè)方向上的長(zhǎng)度仍為1,所以它是
或(0, -1, 0)。
![]()
圖4-46 在
平面內(nèi)沿逆時(shí)針方向轉(zhuǎn)1/4圈,將
轉(zhuǎn)移到
,將
轉(zhuǎn)移到
練習(xí)4.19:實(shí)現(xiàn)函數(shù)
linear_combination(scalars, *vectors)
,接收一個(gè)標(biāo)量列表和相同數(shù)量的向量,并返回一個(gè)向量。例如,linear_combination([1,2,3], (1,0,0), (0,1,0), (0,0, 1))
應(yīng)該返回,即(1, 2, 3)。
解:
from vectors import * def linear_combination(scalars,*vectors): scaled = [scale(s,v) for s,v in zip(scalars,vectors)] return add(*scaled)
可以確認(rèn),這樣做能得到如前所述的預(yù)期結(jié)果。
>>> linear_combination([1,2,3], (1,0,0), (0,1,0), (0,0,1)) (1, 2, 3)
練習(xí)4.20:編寫函數(shù)
transform_standard_basis(transform)
,將一個(gè)三維向量變換作為輸入,并輸出它對(duì)標(biāo)準(zhǔn)基的影響。它應(yīng)該輸出一個(gè)由3個(gè)向量組成的元組,這些向量是transform
分別作用于、
和
的結(jié)果。
解:按照建議,我們只需要對(duì)每個(gè)標(biāo)準(zhǔn)基向量應(yīng)用
transform
。def transform_standard_basis(transform): return transform((1,0,0)), transform((0,1,0)), transform((0,0,1))
打印
rotate_x_by(pi/2)
輸出的地方(在浮點(diǎn)誤差范圍內(nèi))證實(shí)了我們關(guān)于前一個(gè)練習(xí)的解決方法。>>> from math import * >>> transform_standard_basis(rotate_x_by(pi/2)) ((1, 0.0, 0.0), (0, 6.123233995736766e-17, 1.0), (0, -1.0, 1.2246467991473532e-16))
這些向量大概是(1, 0, 0)、(0, 0, 1)和(0, -1, 0)。
練習(xí)4.21:假設(shè)
是一個(gè)線性變換,滿足
、
、
和
。
是什么?
解:因?yàn)?img alt="" class="h-pic-x" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/562.gif?sign=1755126986-1UZp5ukBAl0hh5cqpaXiLYiKxObW8R9W-0-8c0a9c0d862e02449d4d7e344e4e0f7a">,所以
。因?yàn)?img alt="" class="h-pic-1" src="https://epubservercos.yuewen.com/8EA7F4/22124474309908206/epubprivate/OEBPS/Images/45.gif?sign=1755126986-rt7Ct5Cl3J6ZvQgGEdCaDuiJ3wXEmNty-0-72adcd6721e194beeacd794ea7ab0d1a">是線性的,所以它保持了這種線性組合:
。現(xiàn)在有了所有需要的信息:
。
練習(xí)4.22:假設(shè)
和
都是線性變換,而且
、
、
、
、
、
。那么
、
和
是什么?
解:
是將
應(yīng)用于
。已知
,所以
。
是將
應(yīng)用于
。這是
、
、
的線性組合,標(biāo)量為(2, 1, 0):
。
最后,
是將
應(yīng)用于
。這就是線性組合
。
請(qǐng)注意,現(xiàn)在知道了
和
對(duì)于所有標(biāo)準(zhǔn)基向量的組合結(jié)果,所以可以計(jì)算關(guān)于任意向量
的
了。
線性變換是良態(tài)的且容易計(jì)算,因?yàn)榭梢杂煤苌俚臄?shù)據(jù)來指定它。下一章在用矩陣符號(hào)計(jì)算線性變換時(shí)將進(jìn)一步探討這個(gè)問題。
- R語言數(shù)據(jù)分析從入門到精通
- OpenShift開發(fā)指南(原書第2版)
- 軟件項(xiàng)目管理(第2版)
- Developing Middleware in Java EE 8
- Programming ArcGIS 10.1 with Python Cookbook
- Apache Kafka Quick Start Guide
- Python算法詳解
- D3.js By Example
- Scala for Machine Learning(Second Edition)
- Web性能實(shí)戰(zhàn)
- MATLAB GUI純代碼編寫從入門到實(shí)戰(zhàn)
- 并行編程方法與優(yōu)化實(shí)踐
- 從零開始學(xué)Android開發(fā)
- 算法圖解
- Python預(yù)測(cè)之美:數(shù)據(jù)分析與算法實(shí)戰(zhàn)(雙色)