det

計算機函數

det是一個計算機函數,在FreeMat、Matlab中,該函數用於求一個方陣(squarematrix)的行列式(Determinant)。

函數簡介


語法格式

(1)功能:det為矩陣的行列式值。det計算某一方陣(行列相等的二維數組)的對應行列式值每一矩阼都有一個對應的行列式。行列式是對矩陣表按一定規則進行運算之後所得到的一個數值。行列式可以確定出對應矩陣是否存在著逆,即確定矩陣的奇異性,可以用來解線性方程組等。當行列式為0或近似於0時,其對應逆矩陣不存在,或雖然存在,但計算機計算出來的結果不正確。
(2)語法:
返回方陣X的行列式值。如果X僅包含一個整數元素,返回的結果d也是一個整數。
(3)解析:將作為對矩陣奇異性的測試僅適合具有階和較小整數元素的矩陣。使用作為檢測矩陣奇異性的方法同樣也不是推薦方法,原因在於正確選擇的容差tolerance非常困難。函數cond(X)則可以檢查奇異或者接近奇異的矩陣。
(4)演演算法:行列式的值是通過高斯消元法得到三角矩陣的係數得到的。
這一值總為+1或-1
(5)應用實例
語句得到
該矩陣恰好是一個奇異的矩陣,所以的結果為。將元素改變為可以將A變為一個非奇異的矩陣。則的結果為。
(5)詳解
在FreeMat中,一個方陣的行列式是通過LU分解計算得到的。需要注意的是,若干個矩陣相乘得到的矩陣的行列式等於這些矩陣的行列式相乘。於是,我們得到:
這裡L是一個對角線上元素全為1的下三角矩陣(lowertriangular),U是一個上三角矩陣(uppertriangular),P是一個行置換矩陣(row-permutationmatrix):
這裡我們應用了L的行列式為1這個結論。P的行列式為1或-1。
所謂置換矩陣,是指交換一個的單位矩陣的兩行得到的矩陣(在線性代數中,這種操作叫做矩陣的初等變換)。置換矩陣的每行/列都只有一個1,其餘元素全為0。

程序示例


在FreeMat中的示例:
-->;
-->det(A)
-->;
-->det(B)

性質


性質1:如果則平行四邊形變成正方形,面積=1,A為單位陣,即
性質2:若A有相同的兩行,則
看一個極端情況,如果,即向量與重合,面積肯定為0。