行列式求面積和體積

2021-08-15 20:00:52 字數 4383 閱讀 7923

出於某種內驅的需要,我們定義單位矩陣

\begin 1 & 0\\ 0 & 1 \\ \end的行列式為1。各位親愛的讀者,如果你們在xy座標系中畫出(1,0)和(0,1)這兩個向量,然後分別平移之,你們會發現這4條線段剛好組成1個面積為1的正方形。現在,讓我們把第乙個向量(1,0)變成(1,1),像下面

1 0        a  b

1 1        c  d

各位親愛的讀者,你們想想,這兩個向量分別平移後形成的平行四邊形的面積又是多少呢?你們可能會去作圖,然後作垂直線。現在我們有了2階行列式的行列式公式

ad-bc

所以我們可以很容易算出新的面積:1x1-0x1=1

面積解決了,那體積呢?

和之前一樣,我們可以定義\begin 1 & 0 & 0 \\ 0 & 1 & 0 \\0 & 0 &1 \\ \end的行列式為1——即體積為1。

看到這裡,相信聰明的讀者已經發現了——在單位矩陣中,行列式的值似乎等於"\"對角線元素的乘積。事實是否這樣呢?為此,我將給出下面三個不容反駁和質疑的定義。

定義二:交換矩陣的兩行,行列式的值將取反。

這即是說,如果我們把

1 0                  0  1

0 1    交換為    1  0 ,行列式的值將變為-1。

這個定義的用處是,如果我們在任意大的乙個矩陣中發現有兩行相等,則這個矩陣的行列式的值為0。why?

because 假設矩陣行列式的值為a,交換這相等的兩行後,矩陣行列式的值仍為a,but according to 定義二,a should be to -a,

什麼樣的數字的負值等於其本身呢?只有0 ——   0=-0。

定義三a+x  b+y    行列式的值      =      a   b    行列式的值    +     x   y     行列式的值 

c      d                                      c   d                                c   d

attention:這個x和y加在任意一行都是可以的。

這是因為,根據公式,原矩陣行列式的值 = (a+t)d  - (b+t)c  

= ad-bc  +  td-tc

定義四at  bt   行列式的值  =   t  *  a  b    

c   d                                  c   d        

現在,我們如何求

\begin 1 & 2 & 3 \\ 4 & 5 & 6 \\7 & 8 & 9 \\ \end一臉懵逼?哈哈哈。

親愛的讀者,在上面所有關於行列式的定義中,還記得定義一嗎?我們說,單位矩陣的行列式為1。而所謂的單位矩陣,指的是除了"\"這條線上的元素,其餘元素皆為0,並且"\"這條線上的元素全部為1的矩陣。

在上面的矩陣中,如果我們只保留"\"上的元素,像下面

\begin 1 & 0 & 0 \\ 0 & 5 & 0 \\0 & 0 & 9 \\ \end你們是不是迫不及待的要告訴我這個矩陣的行列式為 1*5*9=45 了!

答案是正確的,因為根據定義4,我們可以把5和9看成5x1和9x1,把5和9分別提出,又根據定義一單位矩陣的值為1,perfect!

所以,現在我們的目標是如何把原矩陣 \begin 1 & 2 & 3 \\ 4 & 5 & 6 \\7 & 8 & 9 \\ \end1,5,9下面的4,7,8化為0。

要讓4為0,我們只需第二行(4,5,6)減去4倍第一行(1,2,3)就好了,並且不會影響到行列式的值。這是因為,根據定義三和定義四,

1         2         3                 1   2     3               1   2   3           又根據定義二我們知道,     1    2   3        

4-4*1  5-4*2   6-4*3    =    4    5    6   -  4*      1   2   3           有兩行相等的矩陣行列        1    2   3

7        8         9                  7    8    9               7   8   9           式的值為0,所以                7    8   9    為0!

因此,我們可以把原矩陣化簡為

\begin 1 & 2 & 3 \\ 0& -3& -6 \\7 & 8 & 9 \\ \end接著再用(7,8,9)減去7倍(1,2,3),這樣7又會變為0,用同樣的方法,我們發現無法把(1,5,9)上面的(2,3,6)化為0——當且僅當這個矩陣是奇異矩陣!換言之,當我們把"\"下面的所有元素都化為0後,發現有任意"\"上的元素為0,則行列式為0,例如   \begin 1 & 2 & 9\\ 0& 0& 6 \\0 & 0 &3 \\ \end只要(0,0,6)減去2倍(0,0,3),(0,0,6)就會變成(0,0,0),事實上,無論這兩個數字是3和6或   其它的,我們總能找到它們的最大公約數,使其中一行全為0,恰巧的是,0又可以看成0*0,根據定義4,我們可以把0提取出來,於是矩陣的行列式為0!

just keep on! 相信你們會得出答案的!——答案是0!what's it mean?這意味著由這三個向量組成的只是乙個平面!意味其中任意乙個向量在其它兩個向量所組成的平面上!因為

1           3                    2

4    +    6    =  2倍       4            !   

7          9                     8   

好了,下面終於要開始進入正題了!

一開始就提到,二階矩陣 

\begin a & b \\ c& d\\ \end的行列式公式是ad-bc,在此,我希望你們深刻認識到乙個道理:任何的數學公式,都是從最基本的公理或者定義推出來的!下面,我將給大家證明這個公式。

首先,根據定義三,

a b                       a+0   0+b             a   0             0    b            a  0       a   0          0   b         0  b 

c d     可以看成     c       d          =     c    d     +     c     d   =      c  0   +  0   d   +    c   0    +   0  d  ,

其中     a   0     和    0  b    的值都為0,剩下    a    0    和   0   b

c    0            0  d                                0    d          c    0,

前者的行列式的值為ad,後者根據定義2交換兩行,因此為-bc,加起來為ad-bc,至此得證。

我的目標,是給出求任意矩陣的公式,但,在此之前,讓我們先看下三階矩陣的情況\begin a & b & c\\ d& e& f\\g & h & i \\ \end經過前面的一番鋪墊後,你們也不知道接下來要怎麼做。。。

讓我們先把[a  b  c]單獨拿出來,轉換為[a+0+0  0+b+0  0+0+c]   !!!然後再次根據定義三,原矩陣就就可以拆解為下面三個矩陣之和

a 0  0          0  b  0         0  0  c

d e  f    +    d  e  f    +   d  e  f

g h  i           g  h  i         g  h  i            

要求行列式,我們希望除了"\"上的元素外,其它的地方0越多越好!

因為,只要出現一行或者一列的元素全為0,我們就不用再次理會其它的元素了!

keep on !保持 [a 0 0] 不變, 我們可以得到 \begin a & 0 & 0\\ d& 0& 0\\g & h & i \\ \end再次保持[d 0 0]不變,我們又可以得到\begin a & 0 & 0\\ d& 0& 0\\g & 0 & 0 \\ \end顯然,這個矩陣行列式的值為0!事實上,在由[a 0 0] 組成的九個矩陣中,只有2個的行列式是不為0的!分別是

a   0  0               a   0    0

0   e  0     和       0   0    f

0   0   i               0   h    0

對於第二個矩陣,交換第二和第三行,因此可得aei-afh。

用同樣的方法,我們可以求出[ 0  b 0]和[0  0  c] 。

謝謝閱讀。

求行列式的值

肯定要用遞迴,肯定要用陣列 用乙個二維陣列來表示這個矩陣,但是引數傳遞的時候我們不能確定這個矩陣的行數列數,所以編譯器會報錯 所以定義乙個一維陣列來模擬這個行列式,而一維陣列作為引數傳遞給函式時又不用指定大小,符合我們的需要。同時我們定義乙個結構體來表示這個余子式 typedef struct yu...

《新理解矩陣5》 體積 行列式

乙個 n 階矩陣 a 可以看成是 n 個 n 維列向量x1 x2,xn的集合 a x1 x2,xn 從代數的角度來看,這構成了乙個矩陣 從幾何的角度來看,這 n 個向量可以建立乙個平行 n 維體。比如 平行四邊形就是 平行二維體 平行六面體就是 平行三維體 高階的只需要相應模擬,不需要真正想象出高維...

方陣和的行列式 方陣行列式的和

考慮同階方陣 a,b 問它們和的行列式與它們各自行列式的和是否相等 a b a b 結論是二者是不相等的。行列式的性質,我們知道,若行列式某 i 列 行 的元素都是 都可轉化為 兩數之和,則等於兩個行列式之和。d a11 a21 a n1a12 a22 a n2 b 1i c 1i b2i c2i ...