通俗理解張量 Tensor

2021-10-05 20:51:09 字數 2692 閱讀 1402

江湖人稱冷不丁

關注22018.07.20 17:20:26

字數 1,500

閱讀 49,100

我們的目的是要用數學量來表示物理量,可是標量加上向量,都不足以表達所有的物理量,所以就需要擴大數學量的概念,張量就出現了。

幾何代數中定義的張量是基於向量和矩陣的推廣,通俗一點理解的話,我們可以將標量視為零階張量,向量視為一階張量,那麼矩陣就是二階張量。

張量的嚴格定義是利用線性對映來描述的。與向量相類似,定義由若干座標系改變時滿足一定座標轉化關係的有序數組成的集合為張量。 從幾何角度講, 它是乙個真正的幾何量,也就是說,它是乙個不隨參照系的座標變換(其實就是基向量變化)而變化的東西。最後結果就是基向量與對應基向量上的分量的組合(也就是張量)保持不變,比如一階張量(向量)a可表示為a= x*i+ y*j。由於基向量可以有豐富的組合,張量可以表示非常豐富的物理量。

換一種定義方式

乙個(p,q)型張量,就是乙個對映:

其中v是向量空間,v

*是對應的對偶空間。

囉嗦一下

如果乙個物理量,在物體的某個位置上只是乙個單值,那麼就是普通的標量,比如密度。如果它在同乙個位置、從不同的方向上看,有不同的值,而且這個數恰好可以用矩陣乘觀察方向來算出來,就是張量。

張量的理解:張量是有大小和多個方向的量。這裡的方向就是指張量的階數。

空間維度n:一般我們使用3維空間,也可以是4維及以上維度。

張量階數m:在固定的3維度空間再談張量的階數,階數小於等於維數,即m<=n。

下面區分這個量:張量的階數(張量的方向數)和所在空間的維數(所在空間的方向數)的區別

在二維空間裡,二維二階張量(平面應力張量)的每個方向都可以用二維空間兩個方向表示。(區分2階張量的2個方向,和二維空間的兩個方向x,y)所以共有2^2=4個方向。

在三維空間裡,三維二階張量(空間應力張量)的每個方向都可以用三維空間三個方向表示。(區分2階張量的2個方向,和三維空間的三個方向x,y、z)所以共有3^2=9個方向。

你認識矩陣乘積

向量的內積

以及矩陣和向量的乘法

於是你發現了共同點,有乙個相同指標在經過求和之後就看不見了。如果你只是把兩個量放在一起,不求和,只是構造多重線性的話,你就發現了張量積,比如向量

於是你構造了乙個矩陣,也就是二階張量。。類似的,對於矩陣當然也可以,

這裡你就構造了乙個四階張量。

張量積這種東西有很多種理解方式,在不同的語境下面會有不同的看法。但是如果拿來跟矩陣乘積比較的話,我覺得比較好的說法是,張量積是一種萬有乘積,而矩陣乘法是一種具體化。

我們現在手裡有很多矩陣,然後希望把兩個矩陣乘起來。一開始肯定想不到怎麼乘,但是可以猜一些乘積的最基本的性質,比如說要和數乘是匹配的,也要和加法匹配也就是分配律。不管這個乘積是什麼,都應當有這些基本的性質。那麼這個時候張量積就出現了,他代表了最廣的乘積,也是最弱的乘積,就僅僅滿足上面說的那些基本性質。正因為是最弱的,所以一切具體的乘積都可以看成是從張量積的結果具體化得到的,也就是可以看成是萬有乘積,或者是乙個包絡的乘積。

在數學中,張量積,記為

可以應用於不同的上下文中如

向量、矩陣、

張量、向量空間、

代數、拓撲向量空間和

模。在各種情況下這個符號的意義是同樣的: 最一般的

雙線性運算。在某些上下文中也叫做

外積。有兩個(或更多)張量積的分量的一般公式。例如,如果

u 和

v 是秩分別為

n 和

m 的兩個

協變張量,則它們的張量積的分量給出為

所以兩個張量的張量積的分量是每個張量的分量的普通積。

向量可以表示什麼?

比如,我們可以用乙個平面的法向量代表這個平面;物理上可以用向量代表力等。看來,向量可以表示很多東西,不過仔細想想向量也只表示了幅度(magnitude)與方向(direction)兩個要素而已。

乙個向量有很多種表示方式,我們可以用[0, 1]表示乙個二維向量,也可以用平面、三維或更高維空間中的一條帶箭頭的線表示乙個向量。我們都是知道(0, 0) —> (1, 1)可表示乙個從(0, 0)到(1, 1)的有向線段(向量),那麼,為什麼可以用[0, 1]表示乙個向量呢?

根據前面的講解,我們知道乙個向量就是空間中的一條有向線段,可以用一組座標系的基和向量相應分量的乘積組合來表示。由於座標系有很多種定義方式,基也就有很多種,對應的分量也會有很多種,但如果大家預設使用同一套基向量,那麼基向量都不需要了,此時,想要表示乙個向量,只要給定這三個分量即可,比如用0, 1表示乙個向量,如果加上兩個括號,這就是我們在書上經常看到的向量的列表示(0, 1),三維的有(1, 2, 1)。貼乙個很有愛的圖

參考資料

reference:

通俗理解張量tensor

我們的目的是要用數學量來表示物理量,可是標量加上向量,都不足以表達所有的物理量,所以就需要擴大數學量的概念,張量就出現了。幾何代數中定義的張量是基於向量和矩陣的推廣,通俗一點理解的話,我們可以將標量視為零階張量,向量視為一階張量,那麼矩陣就是二階張量。張量的嚴格定義是利用線性對映來描述的。與向量相類...

對張量的理解,Tensor

講解contiguous,因為view需要連續的,但是現在reshape已經實現了congtiguous和view功能。個人覺的這個解釋很好 什麼是張量 tensor實際上就是乙個多維陣列 multidimensional array 其目的是能夠創造更高維度的矩陣 向量。為什麼用variable ...

詳細理解Tensor中的張量

最通俗的語言解釋什麼是張量,最近有混亂和不理解的可以詳細看一下,耐心看就行。emmmm我今天遇到了個問題把我一下子亂了所以再回憶一下基礎。一 一維張量 從一維開始 tf.constant 1.0 3.0 6.0 表示 生成乙個一維張量 向量 shape是1行3列即shape是 3 為什麼不是 1,3...