行列式，記作 det A 或 A，是一個在方塊矩陣上計算得到的標量。行列式可以看作是有向面積或體積的概念在一般的歐幾里得空間中的推廣。或者說，在歐幾里得空間中，行列式描述的是一個線性變換對 體積 所造成的影響。無論是線上性代數、多項式理論，還是在微積分學中（比如說換元積分法中），行列式作為基本的數學工具，都有著重要的應用。 行列式概念最早出現在解線性方程組的過程中。十七世紀晚期，關孝和與萊布尼茨的著作中已經使用行列式來確定線性方程組解的個數以及形式。十八世紀開始，行列式開始作為獨立的數學概念被研究。十九世紀以後，行列式理論進一步得到發展和完善。矩陣概念的引入使得更多有關行列式的性質被發現，行列式在許多領域都逐漸顯現出重要的意義和作用，其定義也被推廣到諸如線性自同態和向量組等結構上。 行列式的特性可以被概括為一個交替多線性形式，這個本質使得行列式在歐幾里德空間中可以成為描述 體積 的函式項武義，《基礎代數學》，第 92 頁。 記法 矩陣 A 的行列式記作 det A。行列式經常使用豎直線記法（例如：克萊姆法則和子式）。例如，對於一個矩陣： A begin bmatrix a b cd e fg h i end bmatrix det A 也記作 A，或以細長的垂直線取代矩陣的方括號，明確的寫為居餘馬，《線性代數》第 25 頁張賢科，《高等代數學》，第 38 頁： det A A begin vmatrix a b cd e fg h i end vmatrix 當這個記法用於絕對值時，其作用物件為數，矩陣的絕對值是無定義的。矩陣範數通常以雙垂直線來表示（如：cdot），且可以使用下標。故不會與二者造成混淆。 直觀定義 一個 n 階方塊矩陣 A 的行列式可直觀地定義如下： det A sum_sigma in S_n sgn sigma prod_i1n a_isigma i 其中，S_n 是集合 left 12n right 上置換的全體，即集合 left 12n right 到自身上的一一對映（雙射）的全體； sum_sigma in S_n 表示對 S_n 全部元素的求和，即對於每個 sigma in S_n，sgn sigma prod_i1n a_isigma i 在加法算式中出現一次；對每一個滿足 1leq i jleq n 的數對 left ij right，a_ij 是矩陣 A 的第 i 行第 j 列的元素。 sgn sigma 表示置換 sigma in S_n 的符號差，具體地說，滿足 1leq ileq jleq n 但 sigma isigma j 的有序數對 left ij right 稱為 sigma 的一個逆序。 如果 sigma 的逆序共有偶數個，則 sgnsigma1，如果共有奇數個，則 sgnsigma1。 舉例來說，對於 3 元置換 sigmaleft 231 right（即是說 sigma 12，sigma 23，sigma 31）而言，由於 1 在 2 後，1 在 3 後，所以共有 2 個逆序（偶數個），因此 sgn sigma1，從而 3 階行列式中項 a_1 2 a_2 3 a_3 1 的符號是正的。但對於三元置換 sigmaleft 321 right（即是說 sigma 13，sigma 22，sigma 31）而言，可以數出共有 3 個逆序（奇數個），因此 sgnsigma1，從而 3 階行列式中項 a_1 3 a_2 2 a_3 1 的符號是負號，第 461 頁張賢科，《高等代數學》，第 33 頁。 注意到對於任意正整數 n，S_n 共擁有個元素，因此上式中共有 n 個求和項，即這是一個有限多次的求和。 對於簡單的 2 階和 3 階的矩陣，行列式的表示式相對簡單，而且恰好是每條主對角線（左上至右下）元素乘積之和減去每條副對角線（右上至左下）元素乘積之和（見圖中紅線和藍線）。 2 階矩陣的行列式：begin vmatrix a_11 a_12 a_21 a_22 end vmatrix a_11 a_22 a_12 a_21 Harold，頁 34 3 階矩陣的行列式：displaystyle begin vmatrix a_11 a_12 a_13 a_21 a_22 a_23 a_31 a_32 a_33 end vmatrix a_11 a_22 a_33 a_12 a_23 a_31 a_13 a_21 a_32 a_13 a_22 a_31 a_11 a_23 a_32 a_12 a_21 a_33 Harold，頁 35 但對於階數 ngeq 4 的方陣 A，這樣的主對角線和副對角線分別只有 n 條，由於 A 的主、副對角線總條數 2nleft n1 right nnS_n 的元素個數 因此，行列式的相加項中除了這樣的對角線乘積之外，還有其他更多的項。例如 4 階行列式中，項 a_1 2 a_2 3 a_3 1 a_4 4 就不是任何對角線的元素乘積。不過，和 2、3 階行列式情況相同的是，階行列式中的每一項仍然是從矩陣中選取個元素相乘得到，且保證在每行和每列中都恰好只選取一個元素，而整個行列式恰好將所有這樣的選取方法遍歷一次。 另外，ntimes n 矩陣的每一行或每一列也可以看成是一個 n 元向量，這時矩陣的行列式也被稱為這 n 個 n 元向量組成的向量組的行列式張賢科，《高等代數學》，第 40 頁。 幾何意義：二維和三維歐氏空間中的例子 行列式的一個自然的源起是維平行體的體積。行列式的定義和維平行體的體積有著本質上的關聯，第 92 頁。。 二維向量組的行列式 thumb300px 行列式是向量形成的平行四邊形的面積 在一個二維平面上，兩個向量 Xleft ac right 和 Xleft bd right 的行列式是： det XXbegin vmatrix a b c dend vmatrixadbc 比如說，兩個向量 Xleft 21 right 和 Xleft 34 right 的行列式是： det XXbegin vmatrix 2 3 1 4end vmatrix2 cdot 4 3 cdot 1 5 經計算可知，當係數是實數時，行列式表示的是向量 X 和 X 形成的平行四邊形的有向面積，並有如下性質： 行列式為零當且僅當兩個向量共線（線性相關），這時平行四邊形退化成一條直線。 如果以逆時針方向為正向的話，有向面積的意義是：平行四邊形面積為正當且僅當以原點為不動點將 X 逆時針 轉到 X 處時，掃過的地方在平行四邊形裡，否則的話面積就是負的。如右圖中，X 和 X 所構成的平行四邊形的面積就是正的。 行列式是一個雙線性對映。也就是說，det lambda Xmu YXlambda det XXmu det YX， 並且 det Xlambda Xmu Ylambda det XXmu det XY。 其幾何意義是：以同一個向量 v 作為一條邊的兩個平行四邊形的面積之和，等於它們各自另一邊的向量 u 和 u 加起來後的向量：uu 和 v 所構成的平行四邊形的面積，如左圖中所示。 三維向量組的行列式 在三維的有向空間中，三個三維向量的行列式是： det XX Xbegin vmatrix x x x y yy zzz end vmatrixxyzxyzxyzxyzxyzxyz 。 比如說，三個向量 left 215 right、left 608 right 和 left 324 right 的行列式是： det XX Xbegin vmatrix 2 6 3 1 0 2 58 4 end vmatrix2 cdot 0 cdot 46 cdot 2 cdot 53 cdot 1 cdot 8 2 cdot 2 cdot 8 6 cdot 1 cdot 4 3 cdot 0 cdot 5 28 當係數是實數時，行列式表示 X、X 和 X 三個向量形成的平行六面體的有向體積，也叫做這三個向量的混合積。同樣的，可以觀察到如下性質 Harold，頁 36： 行列式為零當且僅當三個向量共線或者共面（三者線性相關），這時平行六面體退化為平面圖形，體積為零。 三維空間中有向體積的定義要比二維空間中複雜，一般是根據右手定則來約定。比如右圖中 uvw 所形成的平行六面體的體積是正的，而 uwv 所形成的平行六面體的體積是負的。這個定義和行列式的計算並不矛盾，因為行列式中向量的座標都是在取好座標系後才決定的，而座標系的三個方向一般也是按照右手規則來設定的。如果計算開始時座標系的定向反過來的話，有向體積的定義也要跟著反過來，這樣行列式才能代表有向體積 Gilbert Strang Linear algebra and its applications 第 234 頁。 這時行列式是一個 三線性對映，也就是說，對第一個向量有 det aXbYXXadet XX Xbdet YX X，對第二、第三個向量也是如此。其幾何意義和二維時基本相同，是指當生成兩個平行六面體的每組三個向量中如果有兩個是重合的，比如分別是：uvw 和 uvw，那麼它們的體積之總和等於將 u 和 u 加起來後的向量 uu 和 v w 所形成的平行六面體的體積，如右圖所示。 基底的選擇 在以上的行列式中，我們不加選擇地將向量在所謂的正交基（即直角座標系）下分解，實際上在不同的基底之下，行列式的值並不相同。這並不是說平行六面體的體積不唯一。恰恰相反，這說明體積的概念依賴於衡量空間的尺度，也就是基底的取法。用基底的變換可以看作線性對映對基底的作用，而不同基底下的行列式代表了基變換對 體積 的影響。可以證明，對於所有同定向的標準正交基，向量組的行列式的值在絕對值意義上是一樣的張賢科，《高等代數學》，第 283 頁。也就是說，如果我們選擇的基底都是 單位長度，並且兩兩正交，那麼在這樣的基之下，平行六面體的體積的絕對值是唯一的 werner 第 136140 頁。 線性變換 設是一個一般的維的有向歐幾里得空間。一個線性變換把一個向量線性地變為另一個向量。比如說，在三維空間中，向量 xyz 被對映到向量 xyz： begin matrix x a_1x b_1y c_1z y a_2x b_2yc_2z za_3xb_3yc_3z end matrix 其中 a、b、c 是係數。如右圖，正方體（可以看作原來的一組基形成的）經線性變換後可以變成一個普通的平行六面體，或變成一個平行四邊形（沒有體積）。這兩種情況表示了兩種不同的線性變換，行列式可以將其很好地分辨出來（為零或不為零）。 更詳細地說，行列式表示的是線性變換前後平行六面體的體積的變化係數。如果設左邊的正方體體積是一，那麼中間的平行六面體的（有向）體積就是線性變換的行列式的值，右邊的平行四邊形體積為零，因為線性變換的行列式為零。這裡我們混淆了線性變換的行列式和向量組的行列式，但兩者是一樣的，因為我們在對一組基作變換，第 234235 頁。 行列式與空間定向 以上二維和三維行列式的例子中，行列式被解釋為向量形成的圖形的面積或體積。面積或體積的定義是恆正的，而行列式是有正有負的，因此需要引入有向面積和有向體積的概念。負的面積或體積在物理學中可能難以理解，但在數學中，它們和有向角的概念類似，都是對空間鏡面對稱特性的一種刻畫。如果行列式表示的是線性變換對體積的影響，那麼行列式的正負就表示了空間的定向 Werner，頁 132。 如上圖中，左邊的黃色骰子（可以看成有單位的有向體積的物體）在經過了線性變換後變成中間綠色的平行六面體，這時行列式為正，兩者是同定向的，可以透過旋轉和拉伸從一個變成另一個。而骰子和右邊的紅色平行六面體之間也是透過線性變換得到的，但是無論怎樣旋轉和拉伸，都無法使一個變成另一個，一定要透過鏡面反射才行。這時兩者之間的線性變換的行列式是負的。可以看出，線性變換可以分為兩類，一類對應著正的行列式，保持空間的定向不變，另一類對應負的行列式，顛倒空間的定向項武義，《基礎代數學》，第 9293 頁。 一般域上的行列式：嚴格的定義 由二維及三維的例子，可以看到一般的行列式應該具有怎樣的性質。在 n 維歐幾里得空間中，作為 平行多面體 的 體積 的概念的推廣，行列式繼承了 體積 函式的性質。首先，行列式需要是線性的，這可以由面積的性質類比得到。這裡的線性是對於每一個向量來說的，因為當一個向量變為原來的 a 倍時，平行多面體 的 體積 也變為原來的 a 倍。其次，當一個向量在其它向量組成的 超平面 上時，n 維 平行多面體 的 體積 是零（可以想像三維空間的例子）。也就是說，當向量線性相關時，行列式為零。在一般係數域上的線性空間中，行列式也正是由這樣的特性所刻劃的： 交替多線性形式（多重線性函式） 行列式是係數域為 K 的有限維線性空間 E 上射到 K 的交替線性形式 Werner，頁 102。 具體來說，設 E 是一個係數在域 K 上的有限維線性空間，維數為 n。一個 E 上的交替 n 線性形式是指滿足以下性質的函式 DEn to K： n 重線性： D a_1ldotsc a_i a_ildotsa_n c D a_1ldotsa_ildotsa_n D a_1ldotsa_ildotsa_n 交替性：D a_1a_2ldotsa_n D a_2a_1ldotsa_n 或者說，當 a_i a_j 的時候 D a_1ldotsa_ildotsa_jldotsa_n 0 所有上的交替 n 線性形式的集合記作 A_nE。 定理： A_nE 的維度是 1。也就是說，設 Be_1dotse_n 是 E 的一組基，那麼，所有的交替 n 線性形式 fEn to K 都可以寫成 f a_1dotsa_n left sum_sigmain mathfrak S_n sgn sigma prod_j1n a_sigma jj right f e_1dotse_n 其中 a_j sum_i1n a_ij e_i 是在基 B 下的展開張賢科，《高等代數學》，頁 4346。 證明： 對任一個 n 線性形式 DEn to K，考慮將 D 依照多線性性質展開， D a_1dotsa_n Dleft sum_i_11n a_i_11 e_i_1 dots sum_i_n1n a_i_nn e_i_nrightsum_i_11n dots sum_i_n1n prod_j1n a_i_jj D e_i_1dotse_i_n 這時，由交替性，D e_i_1dotse_i_n ne 0 當且僅當 i_1dotsi_n 是 1dotsn 的一個排列，所以有 D a_1dotsa_n D I_n cdot sum_sigma in S_n sgn sigma prod_i1n a_isigma i 這裡，I_n e_1dotse_n。 向量組的行列式 設 Be_1dotse_n 是 E 的一組基，根據上面的定理和線性形式的性質，可以定義 B 下的行列式。 定義： E 上的一組基 mathit Be_1dotse_n 的行列式是唯一一個滿足： det _mathit B e_1 e_n1 的交替線性形式 det _mathit B En to K。 其中的唯一性是因為如果有兩個交替 n 線性形式滿足條件，則它們的差在一組基上為 0，從而恆等於 0。於是，一組基上的一個向量組的行列式就是： 定義： 確定了 E 上的一組基 B 後，向量組 a_1dotsa_n 在 B 下的行列式是： det _B a_1dotsa_n left sum_sigmain mathfrak S_n sgn sigma prod_j1n a_sigma jj right det _B e_1dotse_n sum_sigmain mathfrak S_n sgn sigma prod_j1n a_sigma jj 其中 a_j sum_i1n a_ij e_i 是在 B 下的展開 Steven Roman Advanced Linear Algebra，第 387388 頁。 可以見到這個定義與之前直觀的定義是吻合的，它有時也被稱作萊布尼茲公式。 基變更公式 設 B 與 B 是向量空間中的兩組基，則將上面定理中的 f 改為 det _B 就得到向量組在兩組基下的行列式之間的關係： det _Ba_1dots a_ndet _BBtimes det _Ba_1dots a_n， 矩陣的行列式 設 displaystyle mathit M_n K 為所有定義在係數域 K 上的 ntimes n 矩陣的集合。將 ntimes n 矩陣 M（M 的元素記為 displaystyle m_ij 的 n 列寫成 m_1ldotsm_n，displaystyle m_j 可以看作是 mathbb Rn 的正則基上的向量。矩陣 M 的行列式定義為向量組 m_1ldotsm_n 的行列式。這裡的向量都在 mathbb Rn 的正則基上展開，因此矩陣的行列式不依賴於基的選擇。 定義： 矩陣 M 的行列式 det M det m_1ldotsm_n sum_sigma in mathfrak S_n sgn sigma prod_i1n m_sigma ii Werner，頁 109 這樣定義的矩陣 M 的行列式與向量組的行列式有同樣的性質。單位矩陣的行列式為 1，若矩陣的某幾行線性相關，則它的行列式為零。 由萊布尼茲公式，可以證明矩陣行列式的一個重要性質： 定理： 一個矩陣的行列式等於它的轉置矩陣的行列式：det M det left t Mright，Steven Roman Advanced Linear Algebra，第 405406 頁 也就是說矩陣的行列式既可以看作 n 個行向量的行列式，也可以看作 n 個列向量的行列式。因此也可以透過行向量組來定義矩陣行列式，並且得到的定義是等價的。 證明： 矩陣 A 的轉置矩陣的行列式是： det t Asum_sigma in mathfrak S_n sgn sigma prod_i1n a_isigma i 令 jsigma i，由於每個排列都是雙射，所以上式變成： det t Asum_sigma in mathfrak S_n sgn sigma prod_j1n a_sigma1jj 令 tau sigma1，當 sigma 取遍所有置換時， tau 也取遍所有排列。另一方面，1 sgn sigma1 sigma sgn tau sigmasgn tau sgn sigma，因此而且 sgn sigma sgn tau 。所以 det t Asum_tau in mathfrak S_n sgn sigma prod_j1n a_tau jj sum_tau in mathfrak S_n sgn tau prod_j1n a_tau jjdet A 線性變換的行列式 設 f 是 n 維線性空間 E 到自身的線性變換（自同態），對於給定的一組基，可以定義線性變換在這組基下的行列式。 定義： 設 B 是 E 的一組基。設 f 在 B 的變換矩陣為 left f right_B，那麼 f 在 B 下的行列式就是： det f det left f_B right。 的變換矩陣滿足 left f x_1dots f x_nright left f right_B cdot left x_1dots x_n right 也就是說對所有的向量組 x_1dots x_n， det _B f x_1dots f x_ndet left f_B right times det _B x_1dots x_n det f times det _B x_1cdots x_n。 可以證明，在的任意一組基下的變換矩陣的行列式都是相等的 Werner，頁 104。 證明： 考慮對映 d_fB 使得 x_1cdots x_n 被對映到 d_fBx_1dotsx_n det _B f x_1 dots f x_n， d_fB 是一個交替線性形式，因此由前面證的定理，d_fB 和 det_B 只相差一個係數。 d_ fB lambda cdot det _B。 而由變換矩陣的性質可以知道：lambda det left f_B right 也就是說 det _B f x_1dots f x_ndet left f_B right times det _B x_1dots x_n qquad 1 對於另外一組基 B，運用基變更公式，可以得到： det _B f x_1dots f x_n det _BB times det _Bf x_1dots f x_n begin align det left f_B right times det _B x_1dots x_n det _B f x_1dots f x_n det _BB times det _Bf x_1dots f x_n det _BB times det left f_B right times det _Bx_1dots x_n det left f_B right times det _B x_1dots x_n end align 從而可以得出 det left f_B right 等於 det left f_B right。於是 det left f_B right 是一個不依賴於基，只依賴於的數。 因此線性變換的行列式定義可以修改為不依賴於基的形式： 定義： 設線性變換在某組基下的變換矩陣為 left f right_B，那麼 f 的行列式就是： det f det left f_B right。 前一節裡對正方體做線性變換時，x_1cdots x_n 是原來的基，det _B x_1dots x_n 1，因此可以混淆向量組的行列式和線性變換的行列式。 特別地，行列式為 1 的線性變換保持向量組的行列式，它們構成一般線性群 GL E 的一個子群 SL E，稱作特殊線性群胡冠章，王殿軍，《應用近世代數》，第 47 頁。可以證明，SL E 是由所有的錯切生成的，即所有具有如下形式的矩陣代表的線性變換： begin bmatrix 1 1 lambda 1 1 end bmatrixI_nlambda E_ij 其中 E_ij 是隻在第 i 行第 j 列處係數取 1，其餘係數為 0 的矩陣。也就是說，錯切變換保持向量組形成的 平行多面體 的體積居餘馬，《線性代數》，第 710 頁。同樣，可以證明兩個相似矩陣有相等的行列式，第 6768 頁。 係數的取值 以上的定義中都假設矩陣的係數取自域 mathbb K 中，實際上矩陣的係數可以是任意的交換環 k，這時有限維線性空間變為以 B e_1dots e_n 為基的自由 k 模，而相應的關於行列式的定義和性質依然成立（在可定義的範疇內）。如果矩陣係數是非交換環的話，以上的行列式定義將不再唯一。1845 年，阿瑟凱萊首次開始研究非交換環上行列式定義的問題。他注意到，對於係數是四元數（不可交換）的二階行列式 begin vmatrix a_11 a_12 a_21 a_22 end vmatrix 表示式 a_11 a_22 a_12 a_21 和 a_11 a_22 a_21 a_12 是不一樣的。1926 年，阿蘭德海廷和 A 理查德森提出了非交換環上的行列式的不同定義。理查德森將二階行列式定義為：a_11 a_12 a_221 a_21 a_22，而海廷則提倡使用 a_11 a_12 a_221 a_21。兩人都用歸納法定義了更高階矩陣的行列式。1931 年，奧斯丁歐爾在一大類非交換環（後來命名為歐爾環）上定義了行列式的概念。最著名的非交換環上的行列式的定義當屬讓迪厄多內的定義。迪厄多內是布林巴基學派的代表成員之一，他將除環 mathbb K 中的行列式定義在商域 mathbb Kmathbb K mathbb K 上，而不是在 mathbb K 中。這個定義下的行列式有接近交換環中行列式的性質。例如，迪爾多內的行列式可以保持行列式的乘法定理。而這種行列式與交換環中行列式的區別是：將矩陣的兩行或兩列互換後，行列式的值不變。之後、佐藤幹夫等人對迪厄多內的定義進行了探究和擴充套件。 行列式的性質 行列式的一些基本性質，可以由它的多線性以及交替性推出。 在行列式中，一行（列）元素全為 0，則此行列式的值為 0 居餘馬，《線性代數》，第 711 頁。 begin vmatrix color blue 0 color blue 0 dots color blue 0 a_21 a_22 dots a_2n vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix begin vmatrix color blue 0 a_12 dots a_1n color blue 0 a_22 dots a_2n vdots vdots ddots vdots color blue 0 a_n2 dots a_nn end vmatrix 0 在行列式中，某一行（列）有公因子 k，則可以提出 k。 Dbegin vmatrix a_11 a_12 dots a_1n vdots vdots ddots vdots color blue k a_i1 color blue k a_i2 dots color blue k a_in vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix color blue kbegin vmatrix a_11 a_12 dots a_1n vdots vdots ddots vdots a_i1 a_i2 dots a_in vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix color blue k D_1 在行列式中，某一行（列）的每個元素是兩數之和，則此行列式可拆分為兩個相加的行列式。 begin vmatrix a_11 a_12 dots a_1n vdots vdots ddots vdots color blue a_i1color OliveGreen b_i1 color blue a_i2color OliveGreen b_i2 dots color blue a_incolor OliveGreen b_in vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix begin vmatrix a_11 a_12 dots a_1n vdots vdots ddots vdots color blue a_i1 color blue a_i2 dots color blue a_in vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix begin vmatrix a_11 a_12 dots a_1n vdots vdots ddots vdots color OliveGreen b_i1 color OliveGreen b_i2 dots color OliveGreen b_in vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix 行列式中的兩行（列）互換，改變行列式正負符號。 begin vmatrix vdots vdots vdots vdots color blue a_i1 color blue a_i2 dots color blue a_in color OliveGreen a_j1 color OliveGreen a_j2 dots color OliveGreen a_jn vdots vdots vdots vdots end vmatrix begin vmatrix vdots vdots vdots vdots color OliveGreen a_j1 color OliveGreen a_j2 dots color OliveGreen a_jn color blue a_i1 color blue a_i2 dots color blue a_in vdots vdots vdots vdots end vmatrix 在行列式中，有兩行（列）對應成比例或相同，則此行列式的值為 0。 begin vmatrix color blue 2 color blue 2 dots color blue 2 color blue 8 color blue 8 dots color blue 8 vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix 0 將一行（列）的 k 倍加進另一行（列）裡，行列式的值不變。 begin vmatrix vdots vdots vdots vdots a_i1 a_i2 dots a_in a_j1 a_j2 dots a_jn vdots vdots vdots vdots end vmatrix begin vmatrix vdots vdots vdots vdots a_i1 a_i2 dots a_in a_j1color blueka_i1 a_j2color blueka_i2 dots a_jncolor blueka_in vdots vdots vdots vdots end vmatrix 注意：一行（列）的 k 倍加上另一行（列），行列式的值改變。 begin vmatrix vdots vdots vdots vdots a_i1 a_i2 dots a_in a_j1 a_j2 dots a_jn vdots vdots vdots vdots end vmatrix color rednebegin vmatrix vdots vdots vdots vdots a_i1 a_i2 dots a_in color red k a_j1color reda_i1 color red k a_j2color reda_i2 dots color red k a_jncolor reda_in vdots vdots vdots vdots end vmatrix 將行列式的行列互換，行列式的值不變，其中行列互換相當於轉置 Steven Roman Advanced Linear Algebra 第 405406 頁。這個性質可以簡單地記作 Dbegin vmatrix a_ij end vmatrix begin vmatrix a_ji end vmatrix Dtextrm T 例如 begin vmatrix a_11 a_12 dots a_1n a_21 a_22 dots a_2n vdots vdots ddots vdots a_n1 a_n2 dots a_nn end vmatrix begin vmatrix a_11 a_21 dots a_n1 a_12 a_22 dots a_n2 vdots vdots ddots vdots a_1n a_2n dots a_nn end vmatrix 行列式的乘法定理：方塊矩陣的乘積的行列式等於行列式的乘積。displaystyle det ABdet A det B。特別的，若將矩陣中的每一行每一列上的數都乘以一個常數 r，那麼所得到的行列式不是原來的 r 倍，而是 rn 倍：項武義，《基礎代數學》，第 89 頁 det rA det rI_n cdot A det rI_n cdot det A rn det A。 以上的乘法公式還可以進一步推廣為所謂柯西比內公式，從而使得只要兩個矩陣的乘積是方塊矩陣，就有類似於以上的結果：假設 A 是一個 m times n 矩陣，而 B 是一個 n times m 矩陣。如果 S 是 left1 cdots nright 中具有 m 個元素的子集 leftS_1 cdots S_mright，我們記 A_S 為 A 中列指標位於 S 中的 m times m 子矩陣。類似地，記 B_S 為 B 中行指標位於 S 中的 m times m 子矩陣。那麼 det AB sum_S det A_Sdet B_S 這裡求遍 left1 cdots nright 中 m 個元素的所有可能子集 S（共有 C nm 個）。 如果 mn，即 A 與 B 是同樣大小的方塊矩陣，則只有一個容許集合 S，柯西比內公式退化為通常行列式的乘法公式。如過 m1 則有 n 容許集合 S，這個公式退化為點積。如果 mn，沒有容許集合 S，約定行列式 det AB 是零。 若 A 是可逆矩陣，displaystyle det A1 det A 1 居餘馬，《線性代數》，頁 65。 由行列式的乘法定理以及 displaystyle det A1 det A 1 可以知道，行列式定義了一個從一般線性群 GL_n mathbb Ftimes 到 mathbb Ftimes 上的群同態。 若將方塊矩陣中的元素取共軛，得到的是矩陣的共軛矩陣。共軛矩陣的行列式值等於矩陣行列式值的共軛：det overline A overline det A 這是由於行列式按照定義可以看成關於矩陣係數的多項式。另一方面，若干個複數乘積或和的共軛等於其共軛的乘積或和。從而當每個係數都取共軛後，行列式這個多項式的值也變成原來的共軛。 若兩個矩陣相似，那麼它們的行列式相同。這是因為兩個相似的矩陣之間只相差一個基底變換，而行列式描述的是矩陣對應的線性對映對體積的影響，而不是體積，所以基底變換並不會影響行列式的值。用數學語言來說，就是： 如果兩個矩陣 mathbf A 與 mathbf B 相似，那麼存在可逆矩陣 mathbf P 使得 mathbf A mathbf PB mathbf P1，所以 det mathbf A det mathbf PB mathbf P1 det mathbf P cdot det mathbf B cdot det mathbf P1 det mathbf B cdot det mathbf P cdot det mathbf P1 det mathbf B 行列式是所有特徵值（按代數重數計）的乘積。這可由矩陣必和其若爾當標準型相似推匯出 。特殊地，三角矩陣的行列式等於其對角線上所有元素的乘積。 由於三角矩陣的行列式計算簡便，當矩陣的係數為域時，可以透過高斯消去法將矩陣變換成三角矩陣，或者將矩陣分解成三角矩陣的乘積之後再利用行列式的乘法定理進行計算。可以證明，所有的矩陣 A 都可以分解成一個上三角矩陣 U、一個下三角矩陣 L 以及一個置換矩陣 P 的乘積： A P cdot L cdot U 。這時，矩陣 A 的行列式可以寫成： det A det Pcdot det Lcdotdet U Gilbert Strang Linear Algebra and its applications 第 236237 頁 分塊矩陣的行列式並不能簡單地表示成每個分塊的行列式的乘積組合。對於分塊的三角矩陣，仍然有類似的結論： begin vmatrix A 0 C Dend vmatrix begin vmatrix A B 0 Dend vmatrix det A det D，矩陣的行列式等於對角元素的行列式之乘積。 對於一般情況，若對角元素中有一個是可逆矩陣，比如說 A 可逆，那麼矩陣的行列式可以寫做 begin vmatrix A B C Dend vmatrix det A det D C A1 B 。 矩陣的行列式和矩陣的跡數有一定的關聯，當矩陣的係數為域時，在定義了矩陣的指數函式後，有如下的恆等式： det exp A exp mathrm trA ，第 439 頁 行列式的展開 餘因式 對一個 n 階的行列式 M，去掉 M 的第 i 行第 j 列後形成的 n1 階的行列式叫做 M 關於元素 m_ij 的餘因式。記作 M_ij 居餘馬，《線性代數》，頁 35。 M_ij begin vmatrix m_11 dots m_1j1 m_1j1 dots m_1n vdots vdots vdots vdots m_i11 dots m_i1j1 m_i1j1 dots m_i1n m_i11 dots m_i1j1 m_i1j1 dots m_i1n vdots vdots vdots vdots m_n1 dots m_nj1 m_nj1 dots m_nnend vmatrix 代數餘子式 M 關於元素 m_ij 的代數餘子式記作 C_ij。 C_ij 1ij cdot M_ij。 行列式關於行和列的展開 一個 n 階的行列式 M 可以寫成一行（或一列）的元素與對應的代數餘子式的乘積之和，叫作行列式按一行（或一列）的展開。 det Msum_i1n m_ij C_ij det Msum_j1n m_ij C_ij 這個公式又稱拉普拉斯公式，把 n 維矩陣的行列式計算變為了 n 個 n1 維的行列式的計算張賢科，《高等代數學》，頁 4748。另一方面，拉普拉斯公式可以作為行列式的一種歸納定義：在定義了二維行列式後，n 維矩陣的行列式可以藉助拉普拉斯公式用 n1 維的行列式來定義。這樣定義的行列式與前面的定義是等價的。 行列式的計算 計算行列式的值是一個常見的問題。最簡單的方法是按照定義 det A sum_sigma in S_n sgn sigma prod_i1n a_isigma i 計算或按照拉普拉斯公式進行遞迴運算。這樣的演算法需要計算 n 次的加法，複雜度是指數函式。在實際的計算中只能用於計算階數很小的行列式。注意到拉普拉斯公式的性質，如果一行或一列裡面有很多個 0，那麼就可以把行列式按這一行或一列展開，這時數值為零的係數所對應的代數餘子式就不必計算了，因為最後要乘以 0，這樣就可以簡化計算。然而更加簡便的演算法是利用高斯消去法或 LU 分解法，把矩陣透過初等變換變成三角矩陣或三角矩陣的乘積來計算行列式的值。這些演算法的複雜度都是 n3 級別，遠遠小於直接計算的複雜度。 如果一個演算法可以在 mathit Ons 時間內算出矩陣乘法，那麼可以構造出一種 mathit Ons 時間內的行列式求值演算法。這說明求矩陣的行列式的值和矩陣的乘法有相同的複雜度。於是，透過分治演算法或者其它的方法，可以達到比 mathit On3 更好的結果。比如，存在複雜度 mathit On2376 的行列式求值演算法。 行列式函式 由行列式的一般表達形式中可以看出，矩陣 A 的行列式是關於其係數的多項式。因此行列式函式具有良好的光滑性質。 單變數的行列式函式 設矩陣函式 tmapsto A t 為 mathcal Ck（k 階連續可導）的函式，則由於行列式函式 tmapsto det A t 只不過是矩陣 A t 的某些係數的乘積，所以也是 mathcal Ck 的。其對 t 的導數為 frac rm drm d t left det A_1 tdots A_n t right sum_i1n det A_1 tdots A_i1tA_i tA_i1tdots A_n t，其中的每個 A_i t 是矩陣 A t 的第 i 個行向量（也可以全部是列向量）。，第 2324 頁 矩陣的行列式函式 函式 A mapsto det A 是連續的。由此，n 階一般線性群是一個開集，因為是開區間 mathbb Rleft0right 的原像，而特殊線性群則是一個閉集，因為是閉集合 left1 1 right 的原像。 函式 A mapsto det A 也是可微的，甚至是光滑的（mathcal Cinfty）。它在某個矩陣 A 處的展開為 det AHdet A rm tr t rm ComAHo H 也就是說，在裝備正則範數的矩陣空間 M_n mathbb R 中，伴隨矩陣是行列式函式的梯度 nabla det A rm ComA，第 272 頁特別當 A 為單位矩陣時， det IH1 rm tr Ho H qquad nabla det I I 可逆矩陣的可微性說明一般線性群 GL_n mathbb R 是一個李群。 與外代數的關係 行列式與外代數有密切的關係，因為外代數正是在給定的交換環 mathbb K 上的自由 mathbb K 模 V 上最 一般性 的有交替性質的結合代數，記為 wedge V。外代數是由楔積構造而成的，而楔積在 V 上的交替性質表現如下（定義）： 楔積是滿足結合律的雙線性的二元運算，使得對於所有向量 vin V，vwedge v 0 這表示 對於所有向量 uvin V，uwedge v vwedge u，以及 當 v_1ldotsv_kin V 線性相關時，v_1wedge v_2wedgecdots wedge v_k 0。所有形同 v_1wedge v_2wedgecdots wedge v_k 的元素稱為 k 向量。所有 k 向量構成了 wedge V 的一個子空間，稱為 V 的 k 階外冪，記為 wedgek V。行列式函式是 n 重交替線性形式，所以可以看成是將 n 個 mathbb Kn 裡面的向量對映到它們對應的 n 階外冪 wedgen mathbb Kn 這樣一個對映。由於 mathbb Kn 的 k 階外冪 wedgek mathbb Kn 的維數等於組合數 binom nk，wedgen mathbb Rn 的維數是 binom nn 1，因此 wedgen mathbb Kn 實際上同構於 mathbb K，所以將行列式看做 n 個 mathbb Kn 裡面的向量對映到它們對應的 n 階外冪 wedgen mathbb Kn 的對映與之前的行列式定義並沒有衝突。外代數理論實際上涵蓋了行列式理論。張賢科，《高等代數學》，第 311319 頁，第 747760 頁 對三維歐幾里得空間中 mathbb R3 可以建立一個線性同構 phi Lambda2 mathbb R3 rightarrow mathbb R3 如下：任取 mathbb R3 的右手的標準正交基 boldsymbol i，boldsymbol j，boldsymbol k，規定 phi 把 boldsymbol i wedge mathbf j，boldsymbol j wedge boldsymbol k，boldsymbol k wedge boldsymbol i 分別對映為 boldsymbol k，boldsymbol i，boldsymbol j，則 phi 的定義與右手的標準正交基如何選取無關。 不難看出，對任意向量 boldsymbol u 和 boldsymbol v，這個線性同構把楔積 boldsymbol u wedge boldsymbol v 對映為叉積 boldsymbol u times boldsymbol v。這就是叉乘（向量積）的實質。叉積可以用帶向量的行列式： mathbf atimesmathbf b begin vmatrix mathbf i mathbf j mathbf k a_1 a_2 a_3 b_1 b_2 b_3 end vmatrix 來表示，但要注意這個行列式形式並不代表一個 真正 的行列式，因為第一行的分量不是數，而是向量。這個計算之所以正確是得益於線性同構 phi。 歷史 行列式的概念最初是伴隨著方程組的求解而發展起來的。行列式的提出可以追溯到十七世紀，最初的雛形由日本數學家關孝和與德國數學家戈特弗裡德萊布尼茨各自獨立得出，時間相差 132 年。 早期研究 1545 年，吉羅拉莫卡爾達諾在著作《》中給出了一種解兩個一次方程組的方法。他把這種方法稱為 母法（regula de modo）。這種方法和後來的克萊姆法則已經很相似了，但卡爾達諾並沒有給出行列式的概念 E Knobloch Determinants in I GrattanGuinness ed Companion Encyclopedia of the History and Philosophy of the Mathematical Sciences London 1994 766774。 1683 年，日本數學家關孝和在其著作《解伏題之法》中首次引進了行列式的概念。書中出現了 2 times 2、3 times 3 乃至 5 times 5 的行列式，行列式被用來求解高次方程組 。 1693 年，德國數學家萊布尼茨開始使用指標數的系統集合來表示有三個未知數的三個一次方程組的係數。他從三個方程的系統中消去了兩個未知量後得到一個行列式。這個行列式不等於零，就意味著有一組解同時滿足三個方程萊布尼茲，《萊布尼茲數學文獻》（Leibnizens mathematische Schriften） A Asher，第二卷，頁 229245。由於當時沒有矩陣的概念，萊布尼茨將行列式中元素的位置用數對來表示：代表第行第列。萊布尼茨對行列式的研究成果中已經包括了行列式的展開和克萊姆法則，但這些結果在當時並不為人所知 E Knobloch Der Beginn der Determinantentheorie Leibnizens nachgelassene Studien zum Determinantenkalkül Hildesheim 1980。 任意階數的行列式 1730 年，蘇格蘭數學家科林麥克勞林在他的《論代數》中已經開始闡述行列式的理論，記載了用行列式解二元、三元和四元一次方程的方法，並給出了四元一次方程組的一般解的正確形式，儘管這本書直到麥克勞林逝世兩年後（1748 年）才得以出版 C B Boyer A History of Mathematics John Wiley 1968。 1750 年，瑞士的加布里爾克萊姆首先在他的《代數曲線分析引論》給出了元一次方程組求解的法則，用於確定經過五個點的一般二次曲線的係數，但並沒有給出證明加布里爾克拉默 Introduction à lanalyse des lignes courbes algébraique 1750。其中行列式的計算十分複雜，因為是定義在奇置換和偶置換上的 M Cantor Geschichte der Mathematik Teubner 1913。 此後，關於行列式的研究逐漸增多。1764 年，法國的艾蒂安裴蜀的論文中關於行列式的計算方法的研究簡化了克萊姆法則，給出了用結式來判別線性方程組的方法艾蒂安裴蜀 Recherches sur le degré des équations résultantes de lévanouissement des inconnues et sur le moyens quil convient demployer pour trouver ces équations Mém Acad Roy Sci Paris 1764 pp 288338。同是法國人的範德蒙德則在 1771 年的論著中第一個將行列式和解方程理論分離，對行列式單獨作出闡述。這是數學家們開始對行列式本身進行研究的開端 Mémoire sur lélimination Hist de lAcad Roy des Sciences Paris 1772 2e partie pp 516532。 1772 年，皮埃爾 西蒙拉普拉斯在論文《對積分和世界體系的探討》中推廣了範德蒙德著作裡面將行列式展開為若干個較小的行列式之和的方法，發展出子式的概念。一年後，約瑟夫拉格朗日發現了 3 times 3 的行列式與空間中體積的聯絡。他發現：原點和空間中三個點所構成的四面體的體積，是它們的座標所組成的行列式的六分之一拉格朗日 Nouvelle solution du problème du mouvement de rotation dun corps de figure quelconque qui nest animé par aucune force accélératrice Nouveaux mémoires de lAcadémie royale des sciences et des belleslettres de Berlin 1773。 行列式在大部分歐洲語言中被稱為 determinant（某些語言中詞尾加 e 或 o，或變成 s），這個稱呼最早是由卡爾弗里德里希高斯在他的《算術研究》中引入的。這個稱呼的詞根有 決定 意思，因為在高斯的使用中，行列式能夠決定二次曲線的性質。在同一本著作中，高斯還敘述了一種透過係數之間加減來求解多元一次方程組的方法，也就是現在的高斯消元法。 行列式的現代概念 進入十九世紀後，行列式理論進一步得到發展和完善。奧古斯丁路易柯西在 1812 年首先將 determinant 一詞用來表示十八世紀出現的行列式，此前高斯只不過將這個詞限定在二次曲線所對應的係數行列式中。柯西也是最早將行列式排成方陣並將其元素用雙重下標表示的數學家（垂直線記法是阿瑟凱萊在 1841 年率先使用的）《古今數學思想》第三卷，第 198 頁。柯西還證明了行列式的乘法定理（實際上是矩陣乘法），這個定理曾經在的書中出現過，但沒有證明。 十九世紀五十年代，凱萊和詹姆斯約瑟夫西爾維斯特將矩陣的概念引入數學研究中《古今數學思想》第三卷，208209 頁。行列式和矩陣之間的密切關係使得矩陣論蓬勃發展的同時也帶來了許多關於行列式的新結果，例如阿達馬不等式、正交行列式、對稱行列式等等《古今數學思想》第三卷，第 207 頁。 與此同時，行列式也被應用於各種領域中。高斯在二次曲線和二次型的研究中使用行列式作為二次曲線和二次型劃歸為標準型時的判別依據。之後，卡爾魏爾斯特拉斯和西爾維斯特又完善了二次型理論，研究了 lambda 矩陣的行列式以及初等因子。行列式被用於多重函式的積分大約始於十九世紀三十年代。1832 年至 1833 年間卡爾雅可比發現了一些特殊結果，1839 年，歐仁夏爾卡塔蘭發現了所謂的雅可比行列式《古今數學思想》第三卷，第 200 頁。1841 年，雅可比發表了一篇關於函式行列式的論文，討論函式的線性相關性與雅可比行列式的關係。 應用 行列式與線性方程組 行列式的一個主要應用是解線性方程組。當線性方程組的方程個數與未知數個數相等時，方程組不一定總是有唯一解。對一個有 n 個方程和 n 個未知數的線性方程組，我們研究未知數係數所對應的行列式。這個線性方程組有唯一解當且僅當它對應的行列式不為零。這也是行列式概念出現的根源《古今數學思想》第二卷，第 361 頁。 當線性方程組對應的行列式不為零時，由克萊姆法則，可以直接以行列式的形式寫出方程組的解。但用克萊姆法則求解計算量巨大，因此並沒有實際應用價值，一般用於理論上的推導。 行列式與矩陣 矩陣的概念出現得比行列式晚，直到十九世紀中期才被引入，然而兩者在本質上仍然有密切關係。透過矩陣，線性方程組可以表示為 mathbf A x b 其中 mathbf A 是由方程組中未知數的係數構成的方塊矩陣，x x_1 x_2 cdots x_nmathbf T 是未知數，而 b b_1 b_2 cdots b_nmathbf T。 在矩陣理論中，行列式也有各種用途。多項式 p x det xI A 稱為方塊矩陣 A 的特徵值多項式。這是一個由行列式定義的多項式，它的解是矩陣所有的特徵值。換句話說，x 是矩陣 A 的特徵值當且僅當 xI A 不是可逆矩陣。特徵值多項式在矩陣理論中有重要的應用居餘馬，《線性代數》，頁 213214。 行列式與多項式 早在高斯的時代，行列式就和多項式的研究聯絡在一起。行列式的一個應用是在所謂的 結式 上。結式是兩個多項式 displaystyle p 和 displaystyle q 的西爾維斯特矩陣的行列式。兩個多項式的結式等於 0 當且僅當它們有高於或等於一次的公因子多項式。結式還可以判斷多項式是否有重根：如果多項式 displaystyle p 和它的微分多項式 displaystyle pprime 的結式不為零，那麼這個多項式沒有重根，否則有重根。 行列式在多項式逼近理論中也有出現。給定一組插值點，判別插值多項式的存在性需要看所謂的範德蒙矩陣，而由於範德蒙矩陣的行列式不為零，因此根據克萊姆法則，插值多項式唯一存在（次數小於插值點個數）第 247 頁。 朗斯基行列式 朗斯基行列式是函式矩陣的行列式，因此本身也是一個函式。給定 n 個 n1 次連續可微函式，f1、、fn，它們的朗斯基行列式 W f1 fn 為： W f_1 ldots f_nt begin vmatrix f_1 t f_2 t cdots f_n t f_1t f_2t cdots f_nt vdots vdots ddots vdots f_1n1t f_2n1t cdots f_nn1t end vmatrix，第 1517 頁 可以證明，如果 f1、、fn 線性相關，那麼它們的朗斯基行列式恆等於零。 線上性微分動力系統理論中，朗斯基行列式用來判別若干個解的線性相關性。如果 n 個解 f1、、fn 線性無關，那麼它們的朗斯基行列式將總不為零。根據劉維爾定理，n 維空間上的線性微分方程： YprimeA t Y 的基礎解系所構成的朗斯基行列式 W t 滿足： Wtrm tr A t W t， 同樣地，線性微分方程： yna_0 t y a_1 t y a_2 t y a_n1t yn1 的基礎解系所構成的朗斯基行列式 W t 滿足： Wta_n1t W t 行列式與多重積分 行列式體現了線性變換對於空間體積的作用，對於非線性的函式，其對體積的影響更為複雜，但對於足夠 良好 的函式，在一個微小的範圍內，比如說在空間中一點的附近，可以將函式的效果近似地用線性的變換來代替。由此，對於某些函式，也可以將它在某一點附近的作用效果用它在這一點上的偏導數構成的矩陣（稱為雅可比矩陣）來表示。這類行列式被稱為 雅可比行列式，即是雅可比矩陣的行列式，只對連續可微的函式有定義，第 112115 頁。 在計算 體積 的多重積分中，雅可比行列式應用於換元積分的時候。積分的思想是將空間割成許多個微小的體積元，稱為積分元素，再將每個體積元上的函式值乘以體積元的體積後相加。將一個積分元素換為另一個積分元素時，實際上作了一次對空間中體積的度量方式的改變：分劃體積元的方式不同了。譬如在二維空間中，將直角座標積分換為極座標積分時，面積元素由方塊區域變成扇形區域。因此，要測量這種體積度量方式的改變，可以將這種變換看成一個非線性的變換函式（實際上是一個微分同胚）：varphi mathbb Rn longrightarrow mathbb Rn 。而它在每一點的影響可以透過雅可比行列式來體現第 7985 頁。 行列式與非線性方程組及分枝理論 運用雅可比行列式的還有非線性方程組的數值求解。對於一般的非線性方程組，不存在求解公式，只 能夠用數值分析的方法求近似解。求近似解的基本思想也是將非線性問題在區域性的地方逐步線性化，化歸為線性方程組來求解。設有方程組： begin cases f_1 x_1 x_2 cdots x_n 0 quadvdots qquad qquad qquad vdots quad f_n x_1 x_2 cdots x_n 0 end cases 其中 f f_1 cdots f_n 是連續可微函式，並在解的附近雅可比行列式不為零，那麼可以用牛頓法迭代求得近似解。迭代程式為： f xk1 xk det mathbf J_f xk1 f xk qquad k0 1 cdots 其中的 xk x_1kx_2k cdots x_nk 是第 k 次迭代時的解的近似數值。每次迭代時先求解關於線性方程組 mathbf J_f xk Delta xk f xk 然後計算新的近似值 xk1 xk Delta xk 在實際應用中，還需要考慮帶有引數的非線性方程組： begin cases f_1 x_1 x_2 cdots x_n lambda 0 quadvdots qquad qquad qquad vdots quad f_n x_1 x_2 cdots x_n lambda 0 end cases 其中的 lambda 可以代表溫度、外力等環境因素。當環境改變時，方程解上的雅可比行列式可能從非零變為零。雅可比行列式為零的點稱為臨界點或分支點，是方程的解改變性質的地方。和線性方程組類似，當雅可比行列式的值為零時，方程組會出現區域性多值的情況。尋找分支點和分支方向的研究是非線性方程求解的一大問題。 參見 多重線性對映 矩陣論 伴隨矩陣 結式 子式和餘子式 不變因子 黑塞矩陣 格拉姆矩陣 體積形式 空間定向 混合積 積和式 斯萊特行列式 阿達馬不等式 廣義克羅內克函式 量子行列式 薩呂法則 參考文獻 註釋 引用 來源 書籍 外部連結 Online Matrix Calculator 線上行列式計算器 Online Matrix Calculator 線上矩陣計算器 《新理解矩陣 5》：體積 行列式 來自科學空間 H H