det

det

det是一個計算機函式,在FreeMatMatlab中,該函式用於求一個方陣(square matrix)的行列式(Determinant)。

基本介紹

  • 中文名:方陣函式
  • 外文名:det
  • 功能:求一個方陣的行列式
  • 類型:計算機函式
函式簡介,語法格式,相關函式,程式示例,性質,

函式簡介

語法格式

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

相關函式

rank,inv

程式示例

在FreeMat中的示例:
--> A = [0 0 0; 1 2 3; 4 5 6];
--> det(A)
ans =
0
--> B = [1 2; 3 4];
--> det(B)
ans =
-2

性質

性質1:如果(a,b)=(1,0),(c,d)=(0,1)則平行四邊形變成正方形,面積=1,A為單位陣,即
性質1性質1

  
性質2:若A有相同的兩行,則det(A)=0.
看一個極端情況,如果(a,b)=(c,d),即向量(a,b)與(c,d)重合,面積肯定為0。

相關詞條

熱門詞條

聯絡我們