CFD理論掃盲|02 矩陣與張量

2021-01-17 CFD之道

本文描述CFD理論中常用的矩陣、張量及其運算法則。

註:本文內容譯自《The finite volume method in computational fluid dynamics _ an advanced introduction with OpenFOAM® and Matlab》,F.Moukalled, L.Mangani, M.Darwish

1 矩陣

一個

因此,向量

如果兩個階次相同的矩陣對應的元素都相等,那麼這兩個矩陣相等。兩個相同階次的矩陣可以逐元素加減。例如,矩陣

則有

矩陣與標量的乘積得到的矩陣為原矩陣的所有元素與標量的乘積:

兩個矩陣的乘積較為複雜,其對矩陣的階次存在要求。若矩陣

如矩陣

則矩陣

2 方陣

若矩陣

方陣具有一些其它類型矩陣所不具有的特性,如對稱性和反對稱性。此外,許多運算(如取行列式和計算特徵值等)只對方陣有意義。一個N階方陣與自身相乘的結果仍然是一個N階方陣,因此一個方陣可以根據需要與自身進行多次乘積運算,標記

當方陣

下面的4階矩陣是一個反對稱矩陣。

對角方陣D是一個除主對角外其它所有元素都是零的矩陣。下面的矩陣是一個3階的對角方陣:

主對角線上的所有元素都是1的N階對角矩陣稱為N階單位矩陣,通常標記為

方陣

上三角矩陣

下三角矩陣

如下面兩個矩陣分別為上三角矩陣與下三角矩陣:

3 利用矩陣描述方程組

利用矩陣可以非常方便地描述方程組。一個有N個未知數N個方程的方程組可以寫成:

可以將其轉化為矩陣方程的形式:

寫成緊湊形式的矩陣方程為:

4 矩陣的行列式

行列式是一個與方陣

2階矩陣的行列式的計算很簡單,它是主對角線上元素的乘積減去交叉對角線上元素的乘積,可以表述為數學計算方式為:

對於高階矩陣,這個過程更加複雜,並且基於餘子式與代數餘子式的概念。

元素

一個方陣

很容易得到一個N階的上三角矩陣、下三角矩陣或對角矩陣

5 特徵向量與特徵值

當方陣

若矩陣

通常,一個N階方陣

根據定義,特徵向量非零,則有:

可將方程展開為:

求解此方程即可得到特徵值

6 正定矩陣

N階對稱矩陣

則稱矩陣

如矩陣

對於任意3階向量

因此,矩陣

如果矩陣

其具備以下一些特性:

若矩陣

8 張量與張量運算

張量可以被看作是已經在定義標量和向量等量時所使用的思想的擴展。標量是一個秩為0的張量,而向量是一個秩為1的張量。高秩張量的主要用途是處理和變換方程組。在CFD中只需要秩為2的張量。與速度向量

張量也可以使用以

上式允許定義第三種向量積,其用於將兩個向量相乘,稱為向量並積(dyadic product),其結果為一個張量,它的分量由兩個向量的有序對組成。具體地說,向量

向量

兩個張量

張量

張量

展開後可得到:

可進一步化簡為:

上面的方程可以寫成矩陣乘法的形式:

張量

張量

將上式展開並應用相應的計算規則,如:

最終結果為:

CFD理論中存在眾多的矩陣及張量計算,若有志於從事CFD理論研究的道友,則很有必要找一兩本場論或張量分析方面的專業教材仔細研究。若僅為CFD應用的話,找本計算流體力學書籍的附錄看看也差不多夠用了。

相關焦點

  • CFD理論掃盲|03 向量微積分
    CFD理論中的數學公式很多都可以用向量來表示。因此,掌握向量微積分的基本公式是很有幫助的。
  • 手把手教你將矩陣畫成張量網絡圖
    在之前的一篇文章中,我們介紹過如何將矩陣&概率畫成圖,讀者表示妙不可言。最近,該文作者又動手實現了新的想法:將矩陣畫成張量網絡圖。今天,我想分享一種不同的方法來描繪矩陣,它不僅用於數學,也用於物理、化學和機器學習。基本想法是:一個帶有實數項的 m×n 矩陣 M 可以表示從 R^n→R^m 的線性映射。這樣的映射可以被描繪成具有兩條邊的節點。
  • 縮並任意張量網絡研究取得進展
    張量網絡在物理中有著廣泛的應用。在量子物理中,張量網絡可以作為高效的變分波函數擬設;在統計物理中,配分函數可以轉換成張量網絡的縮並進而利用重整化群和低秩近似方法來進行有效的計算;另外,在量子計算中,量子線路可以視為具有么正性的特殊張量網絡,其單個振幅的計算亦可以轉換成張量網絡縮並問題。然而,經典的張量網絡縮並方法,例如張量重整化群方法,通常假設系統定義在格點之上。
  • 歡迎來到AI的張量世界。是時候直面維度災難了
    張量vs矩陣本文標題靈感來自Charles F.Van Loan教授在2010年所作的關於張量的模展開矩陣的演講中的一句話——所有張量暗地裡都希望它們是矩陣!這一陳述表明了張量研究領域想要先把張量展開成矩陣,然後利用成熟的矩陣理論框架對其進行研究。
  • 科學家在縮並任意張量網絡研究中取得進展
    張量網絡在物理中有著廣泛的應用。在量子物理中,張量網絡可以作為高效的變分波函數擬設;在統計物理中,配分函數可以轉換成張量網絡的縮並進而利用重整化群和低秩近似方法來進行有效的計算;另外,在量子計算中,量子線路可以視為具有么正性的特殊張量網絡,其單個振幅的計算亦可以轉換成張量網絡縮並問題。然而,經典的張量網絡縮並方法,例如張量重整化群方法,通常假設系統定義在格點之上。
  • 深度學習基礎:張量運算
    因此,在底層,我們討論的所有這些權重都是n維矩陣或張量。由於每個權值都是一個n維矩陣或張量,權值的學習和優化涉及數百萬個矩陣乘法。在過去的6-7年中,我們已經看到許多DL框架的出現,它們簡化了這個任務。
  • 全國研究生短期課程張量分析講習班在上海大學開班
    尚七網4月25日訊   4月17日,由上海大學數學系和上海大學張量與矩陣理論國際研究中心主辦的張量分析講習班在本次講習班由張量研究研究專家,來自香港理工大學的祁力群教授以及他的研究團隊擔任主講;吸引了來自中國科學院、上海交通大學、復旦大學、南開大學、天津大學、蘭州大學、上海大學等近50家高校院所的研究生和年輕教師。           開幕式由數學系主任、上海大學張量與矩陣理論國際研究中心主任王卿文教授主持。
  • 百倍提升張量計算:谷歌開源TensorNetwork
    谷歌表示,這個工具是與加拿大圓周理論物理研究所(Perimeter Institute for Theoretical Physics)、谷歌 X 公司共同開發的產品。它使用 TensorFlow 作為後端,針對 GPU 進行優化,與 CPU 上的運行速度相比實現了 100 倍的加速。
  • 進展|有限溫量子體系的張量網絡方法
    張量網絡方法是研究量子多體問題的利器。為了和有限溫度下的實驗測量建立直接的聯繫,同時也為了更好地刻畫熱漲落和量子漲落共存時所發生的豐富物理現象,有必要發展針對有限溫量子體系的張量網絡算法。這方面早期的代表性工作是物理所向濤研究員與上海交大王孝群教授等在九十年代中期所發展的轉移矩陣重正化群方法。在那之後的二十多年裡,新方法層出不窮。
  • 進展|有限溫量子體系的張量網絡方法
    張量網絡方法是研究量子多體問題的利器。為了和有限溫度下的實驗測量建立直接的聯繫,同時也為了更好地刻畫熱漲落和量子漲落共存時所發生的豐富物理現象,有必要發展針對有限溫量子體系的張量網絡算法。這方面早期的代表性工作是物理所向濤研究員與上海交大王孝群教授等在九十年代中期所發展的轉移矩陣重正化群方法。在那之後的二十多年裡,新方法層出不窮。
  • 線性代數知識點掃盲(一輪)
    (ps:本次複習為知識點掃盲,具體怎麼出題是三輪複習的事情)       第一章:行列式       行列式的題型有兩種,抽象型和具體型的計算。而在矩陣的伴隨和逆中,歷年來考到的知識點有伴隨矩陣和原矩陣秩的關係、伴隨矩陣和行列式的關係(公式)、特徵值和可逆的關係、E的恆等變形。而在初等變換和矩陣方程中,歷年來考到的知識點有根據變換寫初等矩陣、寫出初等矩陣的逆、直接求解矩陣方程。
  • 物理所等提出應用於有限溫量子體系的張量網絡方法
    張量網絡方法是研究量子多體問題的重要工具。為了與有限溫度下的實驗測量建立直接聯繫,並更好地刻畫熱漲落和量子漲落共存時發生的物理現象,需發展針對有限溫量子體系的張量網絡算法。該領域早期的代表性工作是中國科學院物理研究所研究員向濤與上海交通大學教授王孝群等在九十年代中期發展的轉移矩陣重正化群方法。近期,物理所/北京凝聚態物理國家研究中心凝聚態理論與材料計算重點實驗室研究員王磊,與北京大學物理學院國際量子材料科學中心博士生唐維、德國德勒斯登工業大學助理教授塗鴻浩合作,提出一類應用於有限溫量子體系的張量網絡方法。
  • 一文弄清深度學習、TensorFlow和張量之間的關係
    矩陣和向量的(左)乘積可以被視為具有向量的矩陣行的重複點積,並且兩個矩陣的乘積可以被視為矩陣的矩陣向量積和另一個矩陣的列的組合。通過單個值對所有元素進行逐元素加法和乘法,這些操作可以建立所有必需的線性代數機器。 部分原因是它們的規律性,以及它們可以通過大量的並行性操作得以實現,所以計算機可以以極高的速度評估使用線性代數編寫的程序。
  • 能「看到」的張量運算:因子圖可視化
    因子圖不僅會在概率圖模型中出現,而且也會現身於物理學當中,這時候它被稱為張量網絡或矩陣積狀態(matrix product states)。但是,這裡不會介紹這些應用的細節。有一點需要注意,因子分解所需的內存實際上比整個聯合要少得多(存儲一個 10×10×10 張量對比存儲三個 10 維張量)。
  • 如何用張量分解加速深層神經網絡?(附代碼)
    完全不同的是,張量分解的辦法只用到層的權重,假設網絡層是參數化的,它的權重能夠用一個矩陣或者是一個低秩的張量來表示。這意味這個它們在參數化的網絡下效果最佳。像VGG神經網絡設計為完全參數化的。另外一個關於參數化模型的例子是使用更少的類別對網絡進行微調以實現更簡單的任務。和裁剪(pruning)相似,分解之後通過模型需要微調來恢復準確性。
  • MIT Taco項目:自動生成張量計算的優化代碼,深度學習加速效果提高...
    該系統的名字叫Taco,即「張量代數編譯器」的縮寫。在計算機科學上,類似亞馬遜的表格這樣的數據結構被稱為「矩陣」,張量只是一個矩陣的更高維的模擬。如果亞馬遜表格還將客戶和產品與亞馬遜網站上的客戶的產品評級以及產品評論中使用的字詞進行了對比,那麼這可以用四維張量來表示。Taco的殺手鐧:內核融合對張量的數學運算對於大數據分析和機器學習都是至關重要的問題。
  • 深度學習-Pytorch框架學習之張量處理篇
    數據類型根據官方文檔顯示,張量定義為包含單一數據類型元素的多維矩陣。在Pytorch中,有9種CPU張量類型和9種GPU張量類型。具體類型如下圖所示:在Pytorch中,可以通過Python 列表和torch.tensor()構造函數構造一個張量。torch.tensor([[1., -1.], [1., -1.]])
  • 【力學中的張量分析】- 力學與 Mathematica 系列 03
    因此,本帖系統地總結了一下Mathematica中各種張量函數的用法,並輔以部分例題,為大家展示如何使用Mathematica進行張量分析。限於篇幅,希望本帖能起到拋磚引玉的作用。1. 張量的表示在Mathematica中,使用多層列表表示張量。例如,二階對稱克羅內克符號為二階張量,我們可以手動輸入,或者藉助內置函數產生。
  • 進展|張量網絡的微分編程
    張量網絡方法經過多年的發展已經成為經典統計、量子多體物理等領域重要的理論和計算工具。近年來,張量網絡方法也被應用於機器學習問題中。然而,針對張量網絡的優化仍是一個長期存在的難點。這個瓶頸阻礙了張量網絡方法在一系列複雜問題中的充分應用。
  • 量子信息的很多虛算符的張量空間表示
    量子糾纏就是從一個量子態坍縮到另一個量子態,由於量子算法是離散的,這裡就是量子數矩陣。對象:由量子糾纏構成的量子計算機稱為:量子計算機。裝備:硬體配置:arm、core、q91等。軟體上,沒有量子算法和sas不能處理量子計算。價格:10萬人民幣左右。技術:有新奇技術存在,但在傳統通信、計算機科學、量子理論、量子算法等學科基礎上。材料:人造光晶體。環境:極強的磁場。狀態:無波粒二象性。