二階張量與矩陣的區別與聯繫是什麼?
在網上搜,有的說二階張量就是矩陣,有的說二階張量某些情形下是矩陣,有的說二階張量和矩陣完全是兩碼事。那麼究竟該怎麼理解張量和矩陣的關係呢?
類似的,一階張量和向量的區別與聯繫是什麼?
在域 F 上的線性空間 V 上的 k 階張量是這樣一個 k 元映射 T: V^k→F,它滿足,固定任意 r-1 個變元後,是線性空間 V→F 同態(線性函數,或者說對偶空間的元素)。
令所有 V 上 k 階張量的集合是 W,自然地定義其加法和數乘,則 W 成為 F 上的線性空間。
如果假設 V 是 n 維空間,則 W 是 n^k 維空間,當我們選定 V 的 k 組基後,可以構造一 W 和 F^(n^k) 間的同構。
以 n 維空間的二階張量為例,我們知道二階張量 T: F^n*F^n → F,滿足
[1] T(u+v, w) = T(u, w) + T(v, w)[2] T(u, v+w) = T(u, v) + T(u, w)如果選定一組基 e(1)...e(n),那麼對任意 u, v in F^n,考慮 u、v 的坐標分解,那麼T(u, v) = T(u(1)e(1)+...+u(n)e(n), v(1)e(1)+...+v(n)e(n)) = sum of u(i)v(j)T(e(i), e(j)) over i, j in [n].如果令 M = (T(e(i), e(j))) 是一個 n 階矩陣,u* = (u(i))、v* = (v(i)) 是 u、v 的坐標列向量,那麼T(u, v) = u*"Mv*其中 " 表示轉置。同理,如果我們希望 (T(e(i), e(j))) = M,只要令 T(u, v) = u*"Mv* 即可。換言之,選定 n 維線性空間的一組基,則任意二階張量決定於這組基兩兩作為自變數的函數值,且任意賦值都可構造惟一二階張量。
上面的話是否很熟悉?是,因為通常線性代數都會教這個定理:
選定線性空間的一組基,則它到任意線性空間的同態(它到任意線性空間的線性映射,特別地,它的自同態,即它上的線性變換,也是如此)決定於這組基的像,且任意賦值都可構造惟一自同態。【裝逼時刻:這是說線性空間 A→B 同態在 A 的任意一組基上自由。】當我們為兩個空間分別選定一組基(當考慮自同態的時候,也可以只選一組基),就可以把線性映射(resp. 線性變換)表示為一個矩陣,且同樣基下的矩陣的加、數乘與線性映射的加、數乘一致,恰當選擇的基下的矩陣的乘與線性映射的複合一致。
實際上上面兩者是可以聯繫起來的,回想對偶空間的定義與性質,對於有限維線性空間 V,對偶空間 V* 和 V 同構。
而一個 F^n*F^n → F 映射自然地可以看作 F^n → (F^n → F) 映射(通過 Currying)。
從定義的 [2] 知道 T(u, ·) 是線性函數(· 是自變數,對任意 u in F^n),也就是說 T(u, ·) 是 (F^n)* 中的元素。又從定義的 [1] 知道 x |→ T(x, ·) 是線性空間同態。於是選定了 F^n 和 (F^n)* 的一組基後,x |→ T(x, ·) 自然可以用矩陣表示,又因為 (F^n)* 和 F^n 同構,因此是方陣。【上面說選定 F^n 的一組基,實際上我們隱含選定了 (F^n)* 的一組和剛剛那組基配套的基。】特別地,選擇 F^n 的自然基,並選擇 (F^n)* 的「自然基」(就是把 (F^n)* 看成選了一個向量的「標準內積函數」,雖然只有 F = R 的時候才是內積,但是你懂得我的意思的),那麼 x |→ T(x, ·) 和 T 的矩陣是相同的。
結論:選定一組基後,方陣和二階張量沒有區別。
一階張量就是線性函數,對偶空間的知識回想一下就好了。有限維,則線性空間和一階張量空間同構,無限維,則一階張量空間的維數嚴格大於線性空間的維數。矩陣=線性變換+基=(1,1)型張量+基然而二階張量不一定是(1,1)型的。。例如高一的向量點積就是(0,2)型二階張量
這個問題其實挺有意義,不知道為什麼沒人關注。其實近代觀點下張量是用多重線性映射定義的,當然了還有很多等價的定義,詳情可以維基tensor詞條。馬上發現最明顯的一點就是二階張量都是N*N的。但是最本質的區別在於:張量是幾何的,矩陣是代數的。張量是幾何的,意味著用不同的基底來表示它,寫出來肯定不一樣,但是都表示同一個張量,一個確定的幾何對象不因為表述的不同而不同。同時也說明張量在變換時必須遵循一定的法則。就比如說,橢圓是幾何的,x2/a2+y2/b2=1是代數的;再比如,三維歐式空間中的一個點是幾何的,但是要用三個坐標來表述它。張量和矩陣運算很相似,因為本來就是對應的關係。
謝 @紙糊 邀。
我個人認為這倆沒啥太大區別。在數學形式上都是相同的。矩陣就是退化的張量,二階張量和矩陣數學形式上是一樣的。
你硬要扯出區別,那恐怕就是張量是一個比較幾何的定義。而矩陣則屬於比較代數的定義吧。
二階張量本質上是一個雙線性的映射,相當於一個機器,當我們投進去兩個向量或者1-形式(取決於二階張量的具體類型)以後,便會產出一個數。在數學上很多時候我們不需要知道張量的具體形式。但在物理學中我們經常需要計算出物理量的具體數值來跟實驗結果或觀測結果做比較,此時需要利用已知的對稱性或其他條件選定一個方便計算的參考系,在這個參考系中,用於計算的二階張量便有了一個具體的形式,也就是一個矩陣。
一直以來都或多或少的用到張量,但很少深究,最近終於決定好好的看看相關的內容,所以就我的目前的一些淺薄理解嘗試解釋回答一下。
張量和矢量屬於類似範疇內的概念,而矩陣、向量則是代數範疇內的概念,因此前面有人說「張量是幾何的,矩陣是代數的」也是有道理的。張量可以說是矢量概念向更高階次的推廣(不是維度),反過來說矢量只是張量的一種特殊形式。正如矢量可以與向量建立起聯繫一樣,更具一般性的張量也可以與更具一般性的矩陣之間建立起聯繫,但是這種聯繫更為複雜,不能單純的把他們看作是一一對應的等價關係。(更準確的說這裡應該是二階張量,當然它也是張量的一種特例形式,更高階的張量是否有對應的代數形式我不太清楚)我想著就可以解釋為什麼關於二階張量與矩陣的關係大家會眾說紛紜,其實只是從不同的角度和出發點去看問題而已。從概念上講,兩者是截然不同的;但兩者之間確實又可以建立聯繫,藉助矩陣來描述二階張量的一些特性,在某些特殊條件下二者甚至是完全對應等價的。PS:順便說下,之所以費力討論兩者間的聯繫是因為張量更多的是為了理論分析,在實際操作中,例如要對某些問題進行數值求解釋,使用代數工具對問題進行描述則更為有利。個人理解,張量表示的是一個作用效果,在確定坐標系後,可以用矩陣來表示,矩陣是張量在某個坐標系下的數學表現形式
我是從PHYSICAL PROPERTIES OF CRYSTALS ,THEIR REPRESENTATION BY TRNSORS AND MATRICES 中看到的,主要是從物理的角度比較,可以參考一下:
1)第三頁: a scalar is also called a tensor of zero rank. 也就是說標量和零階張量是同一個東西。a vector is also called a tensor of the first rank. 矢量和一階張量也是同一個東西。
2)第15頁,3.1節.Difference between the transformation matrix (a[ij]) and the tensor [T[ij]].原文有點長,大體意思就是變換矩陣和二階張量都是9個數組成,但是轉換矩陣是兩套坐標系之間的,而二階張量將同一坐標系下的兩個矢量物理量聯繫在一起。
總結:
借用格里菲斯電動力學中的例子,有三個分量的量不一定是矢量,比如盤子里有3個蘋果,4個梨,5個香蕉,因為將坐標系轉動時它還是(3,4,5),而矢量的坐標表示會按照一個轉動的矩陣而變化。矢量的定義和它在不同坐標系(如繞原點轉一個角度)下的變化是緊密相連的,它必須滿足轉動法則。個人理解:
張量是用兩個矢量物理量的關係定義的,它有確切的物理意義,比如在導電各向異性的導體中,電場強度和電流密度之間就有電導率這個二階張量聯繫。而矩陣呢,比較強調數學意義,比如,任意9個數按3×3排列起來就叫矩陣了。我說的比較亂。可以看開頭提到的那本書,上面講的比較清楚。張量是有方向的,而矩陣有時候只是代表一堆數
就像向量和坐標的關係
二階張量只有在特定基下才能寫成矩陣形式。
張量是向量空間上的多重線性映射,如果在線性空間中取定一組基矢,則二階張量可以用一個矩陣表示。
通常寫矩陣都是長方形的,其實可以寫成樹狀圖,就明白了,兩階就是兩層。一個向量是一層也就是一階。
可以參考 從張量應變和工程應變開始談起
其中工程應變對應的矩陣就不是張量。
拋裝引玉一下。
二階張量的表示形式就是一個矩陣,換句話說,矩陣是用來表示二階張量的一種工具,它還可以表示其他很多具有數理意義的對象,而張量本身也是一種工具。
所以,拙以為,題主的問題其實就是問,兩種工具在某些範疇下的比較?推薦閱讀:
※矩陣行列式是如何求二階導數?
※矩陣奇異值與矩陣範數之間有什麼聯繫?
※如何直觀理解矩陣和線性代數?
※hessian矩陣的特徵向量有什麼含義?
※如何對SPD流形上的測地距離進行凸近似?