「廣義相對論的鑰匙:張量」專題之一

「張量」是稍微高級一點的數學概念,下面的文章會對「張量是什麼」儘力去解釋,但是閱讀需要一定的線代基礎。有興趣學習線代基礎的同學,可以參加我們的「線代基礎班」(報名方法:關注微信公眾號:馬同學高等數學,公眾號ID:matongxue314,點擊菜單欄的「線代課程」)。

「張量」還是蠻複雜的,所以這挖一個坑,開一個專題來講解。

根據 維基百科 的介紹,「張量」一詞最初由威廉·羅恩·哈密頓在1846年引入。對,就是那個發明四元數的哈密頓:

威廉·羅恩·哈密頓

1890年格雷戈里奧·里奇-庫爾巴斯托羅的《絕對微分幾何》、1900年列維-奇維塔的《絕對微分》進一步在數學上發展了「張量」的概念。

阿爾伯特·愛因斯坦

偉大的物理學家,愛因斯坦為了描述他的天才想法,惡補了黎曼幾何和張量分析,終於在這兩大數學工具的幫助下,創立了他最為得意的彎曲時空的物理理論:廣義相對論。至此張量在物理上大放光彩。如果想學習廣義相對論,張量肯定是需要學習的。

廣義相對論中最核心的思想就是質量會帶來時空彎曲,就好像保齡球滾過長絨地毯:

可以想像,時空彎曲中有大量的幾何關係,為了描述複雜的幾何關係,愛因斯坦引入了「張量」,比如著名的 愛因斯坦場方程 :

{displaystyle R_{mu 
u }-{	frac {1}{2}}R, g_{mu 
u }+Lambda g_{mu 
u }={frac{8pi G}{c^{4}}}T_{mu 
u }}

上面式子中, displaystyle R_{mu 
u },g_{mu 
u },T_{mu 
u } 就是各種的張量。

可以先有一個直觀印象,「張量」就是用來描述幾何的,這裡幾何指的是什麼?後面很快就會解釋。

1 關於張量的四種定義

「張量」在不同的運用場景下有不同的定義。

第一個定義,張量是多維數組,這個定義常見於各種人工智慧軟體。聽起來還好理解。

第二個定義,張量是某種幾何對象,不會隨著坐標系的改變而改變。

第三個定義,張量是向量和余向量(covector)通過張量積(tensor product)組合而成的。

第四個定義,張量是多重線性映射,即:

{displaystyle {egin{matrix} T: & underbrace{V^{*}	imes dots 	imes V^{*}} & 	imes & underbrace{V	imes dots 	imes V} & 
ightarrow mathbb {R} , \ & {	ext {m}} & & {	ext {n}} & & end{matrix}}}

其中, V 是矢量空間, V^* 是對應的對偶空間。

好了,不鬧了,後面的文章會嘗試逐一解釋這四種定義,並且可以看到這四種定義是不斷認知升級的結果。

2 多維數組

從第一個定義:張量是多維數組開始。

現在機器學習很火,知名開源框架tensor-flow是這麼定義tensor(張量)的:

A tensor is a generalization of vectors and matrices to potentially higher dimensions

也就是說,張量(tensor)是多維數組,目的是把向量、矩陣推向更高的維度。

更具體點,也即是說:

把三維張量畫成一個立方體:

我們就可以進一步畫出更高維的張量:

從數據結構上來看,張量就是多維數組。

這個定義本身沒有錯,但是沒有真正反映張量的核心。

3 幾何對象

我們來看下第二個定義:張量是某種幾何對象,不會隨著坐標系的改變而改變。

3.1 二維平面

最簡單的幾何對象就是二維平面,在線性代數中稱為 mathbb {R}^2 (這是一個向量空間),下面用一個有顏色的方框來表示 mathbb {R}^2

這個 mathbb {R}^2 可以通過直角坐標系來描述(也就是單位正交基來張成):

也可以由別的坐標系來描述(別的基來張成),當然 mathbb {R}^2 本身不會因為基不同而發生改變:

上面的圖有幾點值得注意:

  • mathbb {R}^2 是一個幾何對象,它與坐標系(基)無關
  • 可以通過不同的坐標系(基)來描述(張成)
  • 並且,不同的坐標系(基)之間有明確的轉換規則(這個我們後面再說)

那這樣一個幾何對象, mathbb {R}^2 就可以用張量來描述。

3.2 二維平面中的向量

mathbb {R}^2 中的向量,也是一個幾何對象:

mathbb {R}^2 被某個基張成的時候,向量也獲得了坐標值:

如果基發生了變換,坐標值也會不斷的變化:

從而可以得到如下的結論:

  • 向量是一個幾何對象,它與基無關
  • 不同的基下,有不同的坐標值
  • 並且,不同的坐標值之間有明確的轉換規則

所以,向量這個幾何對象也可以用張量來描述。

3.3 二維平面之間的線性映射

假設有如下線性映射:

mathcal{L}:mathbb {R}^2	o mathbb {R}^2

其實它也是一個幾何對象,可以圖示如下:

上圖表示左邊 mathbb {R}^2 中的一點(一點也對應一個向量),通過 mathcal{L} ,和右邊 mathbb {R}^2 中的一點關聯了起來,這就是映射。

當用單位正交基來描述左右兩個 mathbb {R}^2 ,可以得到一個矩陣 A 來表示此 mathcal{L}

不同的基,會獲得不同的矩陣(也就是等價矩陣),比如說 A

進而得到如下的結論:

  • 線性映射 mathcal{L} 是一個幾何對象,它與基無關
  • 不同的基下,有不同的矩陣來代表 mathcal{L}
  • 並且,不同的矩陣之間有明確的轉換規則

所以, mathcal{L} 這個幾何對象也可以用張量來描述。

4 總結

可見,張量可以表達非常多的線性代數的研究對象。

借用線性代數中「張成」這個詞,或許「張量」這個名字的意思就是「可以張成很多線性代數研究對象的量」。

下一節,我們會仔細研究下,張量是怎麼去表示向量空間、矢量、線性映射的,以及不同基下的轉換規則是什麼。

推薦閱讀:

關於方陣的特徵值和特徵向量的思考
線性方程組(4)-變分原理與共軛梯度法
線性方程組(3)-靜態迭代法
矩陣的四個子空間及其聯繫

TAG:高等數學 | 線性代數 | 張量 |