「廣義相對論的鑰匙:張量」專題之一
「張量」是稍微高級一點的數學概念,下面的文章會對「張量是什麼」儘力去解釋,但是閱讀需要一定的線代基礎。有興趣學習線代基礎的同學,可以參加我們的「線代基礎班」(報名方法:關注微信公眾號:馬同學高等數學,公眾號ID:matongxue314,點擊菜單欄的「線代課程」)。
「張量」還是蠻複雜的,所以這挖一個坑,開一個專題來講解。
根據 維基百科 的介紹,「張量」一詞最初由威廉·羅恩·哈密頓在1846年引入。對,就是那個發明四元數的哈密頓:
1890年格雷戈里奧·里奇-庫爾巴斯托羅的《絕對微分幾何》、1900年列維-奇維塔的《絕對微分》進一步在數學上發展了「張量」的概念。
偉大的物理學家,愛因斯坦為了描述他的天才想法,惡補了黎曼幾何和張量分析,終於在這兩大數學工具的幫助下,創立了他最為得意的彎曲時空的物理理論:廣義相對論。至此張量在物理上大放光彩。如果想學習廣義相對論,張量肯定是需要學習的。
廣義相對論中最核心的思想就是質量會帶來時空彎曲,就好像保齡球滾過長絨地毯:
可以想像,時空彎曲中有大量的幾何關係,為了描述複雜的幾何關係,愛因斯坦引入了「張量」,比如著名的 愛因斯坦場方程 :
上面式子中, 就是各種的張量。
可以先有一個直觀印象,「張量」就是用來描述幾何的,這裡幾何指的是什麼?後面很快就會解釋。
1 關於張量的四種定義
「張量」在不同的運用場景下有不同的定義。
第一個定義,張量是多維數組,這個定義常見於各種人工智慧軟體。聽起來還好理解。
第二個定義,張量是某種幾何對象,不會隨著坐標系的改變而改變。
第三個定義,張量是向量和余向量(covector)通過張量積(tensor product)組合而成的。
第四個定義,張量是多重線性映射,即:
其中, 是矢量空間, 是對應的對偶空間。
好了,不鬧了,後面的文章會嘗試逐一解釋這四種定義,並且可以看到這四種定義是不斷認知升級的結果。
2 多維數組
從第一個定義:張量是多維數組開始。
現在機器學習很火,知名開源框架tensor-flow是這麼定義tensor(張量)的:
A tensor is a generalization of vectors and matrices to potentially higher dimensions
也就是說,張量(tensor)是多維數組,目的是把向量、矩陣推向更高的維度。
更具體點,也即是說:
把三維張量畫成一個立方體:
我們就可以進一步畫出更高維的張量:
從數據結構上來看,張量就是多維數組。
這個定義本身沒有錯,但是沒有真正反映張量的核心。
3 幾何對象
我們來看下第二個定義:張量是某種幾何對象,不會隨著坐標系的改變而改變。
3.1 二維平面
最簡單的幾何對象就是二維平面,在線性代數中稱為 (這是一個向量空間),下面用一個有顏色的方框來表示 :
這個 可以通過直角坐標系來描述(也就是單位正交基來張成):
也可以由別的坐標系來描述(別的基來張成),當然 本身不會因為基不同而發生改變:
上面的圖有幾點值得注意:
- 是一個幾何對象,它與坐標系(基)無關
- 可以通過不同的坐標系(基)來描述(張成)
- 並且,不同的坐標系(基)之間有明確的轉換規則(這個我們後面再說)
那這樣一個幾何對象, 就可以用張量來描述。
3.2 二維平面中的向量
中的向量,也是一個幾何對象:
當 被某個基張成的時候,向量也獲得了坐標值:
如果基發生了變換,坐標值也會不斷的變化:
從而可以得到如下的結論:
- 向量是一個幾何對象,它與基無關
- 不同的基下,有不同的坐標值
- 並且,不同的坐標值之間有明確的轉換規則
所以,向量這個幾何對象也可以用張量來描述。
3.3 二維平面之間的線性映射
假設有如下線性映射:
其實它也是一個幾何對象,可以圖示如下:
上圖表示左邊 中的一點(一點也對應一個向量),通過 ,和右邊 中的一點關聯了起來,這就是映射。
當用單位正交基來描述左右兩個 ,可以得到一個矩陣 來表示此 :
不同的基,會獲得不同的矩陣(也就是等價矩陣),比如說 :
進而得到如下的結論:
- 線性映射 是一個幾何對象,它與基無關
- 不同的基下,有不同的矩陣來代表
- 並且,不同的矩陣之間有明確的轉換規則
所以, 這個幾何對象也可以用張量來描述。
4 總結
可見,張量可以表達非常多的線性代數的研究對象。
借用線性代數中「張成」這個詞,或許「張量」這個名字的意思就是「可以張成很多線性代數研究對象的量」。
下一節,我們會仔細研究下,張量是怎麼去表示向量空間、矢量、線性映射的,以及不同基下的轉換規則是什麼。
推薦閱讀:
※關於方陣的特徵值和特徵向量的思考
※線性方程組(4)-變分原理與共軛梯度法
※線性方程組(3)-靜態迭代法
※矩陣的四個子空間及其聯繫