最近在學xAct 的使用,做瞭不少筆記,發一篇最基本的到知乎體驗體驗它的編輯器功能。由於是隨手一發,在基礎的筆記上沒有做太多改動,因此可能有用詞不準確的地方,如果出現這種情況,明白想要表達的意思即可。

xTensor 是xAct 下的一個軟件包。其主要用於處理抽象指標張量計算,包括基本的流形,張量,度規,協變導數(聯絡),曲率張量,李導數與參數導數等量及他們之間的聯系,以及大量用於計算的輔助函數。可以說xTensor 正是整個xAct 軟件包的核心,其他各軟件包的功能基本都是由xTensor 延伸出去的。需要註意的是,在xTensor 中處理的流形與參數都是實的。本篇筆記用於對xTensor 的基本使用做一個介紹。

首先要瞭解的是,雖然xTensor 中含有大量函數(及變量),但可以根據其類型粗略地分為幾大類:

  1. DefType:用來定義 "Type" 類型的量。類似的還有UndefType,用來取消定義。
  2. Type:返回一個 "Type" 類型的量。
  3. AToB(化簡與轉化函數):這種類型的函數一般有兩種。一種是把A 用B 展開,另一種是將A (某個含有B 類量的量)表示成不同的B 的形式。
  4. $A:全局變量,通常有著特殊用途。在這些全局變量中,有一類較為特殊的是$Types,用來給出全局中所有已定義的 "Type" 類型的量。
  5. TypeQ:檢查某量是否為 "Type" 類型。
  6. 其他:各種實現計算,非AToB 型化簡,表示對稱性等便捷功能的功能函數。

通常這些函數都有著若幹個需要輸入的參數,但它們同時也有著大量的缺省參數。在一般的使用情形下這些缺省參數不需要專門考慮,但利用好這些參數便可以使用xTensor 處理一些更為復雜的問題。因此可以使用Options 來查看這些函數的所有缺省參數並學習。

在對xTensor 有瞭基本的一些瞭解後,便可以開始使用它瞭。首先需要在默認路徑中添加它的路徑,之後直接導入即可。

Dirname = "...\xAct"; (*指定xAct 所在路徑*)
Quiet@AppendTo[$Path, Dirname]; (*將路徑加入默認路徑*)

<< xTensor` (*導入xTensor 包*)