如何證明行列式值能表示一個平行六面體的體積?

一個頂點在原點,其他三個頂點為(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),體積值即為以以上三個坐標為單行的行列式的值,為什麼?怎麼證明?大神出現吧


我來給一個嚴謹的證明吧.
首先我們要說清楚什麼是"體積"? 按照直觀, 我們自然希望在mathbb{R}^n中的一個長方體[a_1,b_1]	imes ...	imes[a_n,b_n]的體積是(b_1-a_1)(...)(b_n-a_n). 這引出的就是mathbb{R}^n上的標準Lebesgue測度. 所以要證明的說穿了是這樣一件事:
對於一個由向量v_1,...v_n張成的平行六面體E, 其Lebesgue測度mE恰好等於行列式|det(v_1,...,v_n)|. 回憶一下, 可測集的Lebesgue測度定義為其外測度和內測度的公共值(或者按照抽象測度的語言, 是長方體生成的sigma代數的完備化上自然擴張出來的那個測度), 所以這個結論的證明其實並不那麼直接. 注意, 我們固然可以從直觀上得出"平行四邊形的面積=底乘高"這種結論的推廣, 但是這種純解析幾何的證明會非常複雜, 和測度論的聯繫表述起來也會比較繁瑣. 所以這裡給一個不那麼解析幾何的證明.
相應地, 這個結論非常重要: 它是積分換元公式的基礎. 有了這個結論, 才能夠證明積分換元公式.
我們很容易把問題歸結到這n個向量線性無關的情形. 為了方便說話, 選定mathbb{R}^n的一組基底{e_1,...e_n}, 並且規定Euclidean內積langle e_i,e_j
angle=delta_{ij}. 下文中也不區分線性運算元和它在這組基底下的矩陣. 把向量組v_1,...v_n記成列向量. 這樣, 矩陣A=(v_1,...v_n)就相應於一個線性運算元A:mathbb{R}^n
ightarrowmathbb{R}^n. Lebesgue測度關於平移變換的不變性是很容易證明的, 所以我們不妨就假設平行六面體E的一個頂點(所有邊的起點)都在原點處. 把取定的標準正交基底{e_1,...e_n}張成的正方體記作I. 這樣, 有E=A(I)(集合論的意義下). 由於線性變換都是Lipchitz連續的, 所以它把可測集變到可測集.
下面就來證明核心的結論.
我們先來claim兩件在直觀上很顯明的事:
1)對於對角化了的運算元D=mathrm{diag}(lambda_1,...,lambda_n),mD(I)=|det D|.
2)對於正交運算元Omega, 有mOmega(E)=mE, 也就是說正交運算元保持測度不變.
第一個結論容易證明, 因為運算元D=mathrm{diag}(lambda_1,...,lambda_n)代表的是伸縮(加上反射)變換, 因而正方體I的像實際上就是一個各邊平行於坐標軸的長方體.
第二個結論稍微困難一些. 我們回憶一下正交群可以由(關於超平面的)對稱變換生成, 所以只需要對對稱變換證明這個結論(注意到det(AB)=det Acdotdet B). 從測度論的標準構造, 又可以歸結為對各邊平行於坐標軸的正方形進行證明. 但歸結到這裡就很明顯了.
現在可以完成對命題本身的證明了.
回憶一下線性運算元的奇異值分解: 存在正交變換Omega_1,Omega_2和一組正數lambda_1,...,lambda_n, 使得
A=Omega_1cdotmathrm{diag}(lambda_1,...,lambda_n)cdotOmega_2.
(奇異值分解告訴我們: 線性變換可以通過找到合適的正交基底而"化歸"成"伸縮".)
這樣根據行列式的性質det(AB)=det Acdotdet B, 和前面證明過的兩條claim, 立刻可以得到要證明的結論.
這個證明的想法是將線性運算元一步步拆分成簡單運算元的複合. 也許結論本身的直觀意義是很明顯的, 但是真正嚴格地證明起來還是需要用到行列式的重要性質det(AB)=det Acdotdet B(當然, 有了這種直觀意義之後, 這個式子也有了很明顯的幾何意義), 和正交幾何以及奇異值分解的相關結論. 這也許就是數學證明和直觀推演不同的地方. 當然, 幾何直觀為我們提供了極其重要的導引和啟發.
最後提一句純解析幾何的證明. 它也依賴於線性運算元的分解, 關鍵的步驟是分解成准上三角方陣和正交方陣的乘積(對應著找到"底"和"高").


感覺大家都沒說到重點啊,首先如何定義一個平行六面體的體積?

一般我們會採用mathbf{R}^3中的Jordan測度(或Lebesgue測度)來定義平面六面體的體積,由於平面六面體是Jordan可測的,所以它的體積是定義良好的。那麼接下來就是證明一個頂點在原點,另外三個頂點為(x_1,y_1,z_1),(x_2,y_2,z_2),(x_3,y_3,z_3)的平面六面體的Jordan測度等於
|det(A)|,這裡A是矩陣
A=egin{pmatrix} x_1y_1z_1\
x_2y_2z_2\
x_3y_3z_3
end{pmatrix}
這個平面六面體可以看作mathbf{R}^3中的單位盒子B=[0,1]	imes[0,1]	imes[0,1]在線性變換L_A:mathbf{R}^3	omathbf{R}^3下的像,這裡
L_Am{x}:=Am{x}quad forall m{x}inmathbf{R}^3
因為L_A在標準基在的矩陣就是A,所以det(L_A)=det(A)。然後根據對於Jordan可測的集合E和線性變換L,我們有
m(L(E))=|det(L)|m(E)
所以m(L_A(B))=|det(L_A)|m(B)=|det(A)|


這個問題。。我能說「由定義得」么?


行列式是n維線性空間上的規範的,反對稱的n重線性函數。(這是一種定義)
而有向體積也滿足這些性質。


首先把這個行列式化成三個邊向量的形式

然後,三階行列式=混合積=任意兩個向量的叉積與第三個向量的點積=底面積乘以高=平行六面體的體積。


一個平行六面體是一個正方體做一次線性變換得到的

因此由正方體的體積是一個積分,用變數替換法則,Q.E.D.


行列式定義為自變數為矩陣的函數,或者說自變數為矩陣的所有列向量的函數。要求這個函數滿足如下性質:

1. 對每個列向量的線性性;

2. 如果相鄰兩列相同,則函數值為0;

3. 當矩陣為單位矩陣時,函數值為1。

然後會發現,這三條正是「有向面積」該有的性質,不多不少。所以,有向面積=行列式。


從這三條可以唯一確定任意一個矩陣的行列式的值,也就是通常教科書上n!個帶符號的完全置換乘積的和。邏輯鏈大致如下:

1. 有一列全為0,則行列式為零;

2. 把一列的倍數加到任何其它列不改變行列式;

3. 交換兩列行列式換號;

4. 任何兩列相同則行列式為0;

5. 把所有列亂序後的行列式等於原行列式乘以一個正負號,正負號與只亂序方式有關;

6. 每列換成原來所有列的線性組合,則新的行列式等於原行列式乘以這些係數組成的行列式(即n!個帶符號的完全置換乘積的和)。把「原行列式」換成單位矩陣的行列式,則得到任意矩陣的行列式的計算公式。

[具體邏輯鏈比上面寫的長一些]


From:Emil Artin的Galois theory,第11頁開始。

在低維情形可以直接用「初等」方法證明(不通過上面那種公理化的方法)。比如,在二維情形,面積 = |A||B|sin(theta) = |A||B|sqrt(1-cos(theta)^2) = |A||B|sqrt(1-(A.B/(|A||B|))^2) = sqrt(|A|^2|B|^2-(A.B)^2) = |行列式|。這裡需要用到A.B=|A||B|cos(theta),這個通過和差化積公式可得,而和差化積公式可通過輔助線證明。這樣就沒有邏輯循環了。三維情形,在二維情形的基礎上(即知道AxB是A和B組成的平行四邊形的面積),再知道AxB垂直於A和B就可證明了。


《introduction to linear algebra》裡面有一個非常直觀的解釋。


體積V=(a	imes b)cdot c a,b,c分別為向量(x1,y1,z1),(x2,y2,z2)(x3,y3,z3),然後帶進去算一下就知道了
諸位還是看其他幾位大神的解法吧,我這個解法太trivial


我在學習這裡的時候也不太理解,也想知道為什麼行列式的值就等於面積/體積。

於是自己作圖嘗試證明。 此處是證明的面積,其實理解了這個後體積也就理解了。

向量x1 = (a, b)

向量x2 = (c, d)

平行四邊形面積S = 正方形面積 - 2個梯形面積 - 2個三角形面積, 即:

S = (a+c) * (b+d) - (c+(a+c ))*b / 2 - (b + (b+d))*c / 2 - dc / 2 - ab / 2

= ab + cd + ad + bc - (2ab + 2cd + 4bc) / 2

= ad - bc

所以通過幾何方法算出來的面積,還真是等於行列式的值。

p.s. ad-bc直觀幾何意義就是大矩形減小矩形,不過沒有想到如何證明


最近想把大學數學重新學一遍,幾乎所有名詞都忘了啊,連導數是啥都忘了,所以兩個高票答案看不懂啊。。。
我現在看的是麻省的公開課,學完了單變數和多變數微積分,這幾天在看線性代數,有一堂課教授講到體積等於行列式的時候開了個頭來不及證明就下課了,讓大家回去看教材。我也沒教材就自己證明了一下,只能用剛剛學過的行列式的性質來證明,不知道證得對不對
在三維空間里,取一個正交矩陣[q1,q2,q3],三個向量組成一個單位立方體,體積為1,因為正交矩陣行列式是1,所以此時體積 = 行列式。
把q2加上任意係數的q1等到一個新向量q4,q4在q1和q2生成的平面內,和q1組成一個平行四邊形(底為q1),這個平行四邊形的高還是q2的長度,所以q1,q4,q3組成的平行六面體體積不變還是1。同時我們知道行變換不改變行列式的值,所以行列式保持1,所以此時體積 = 行列式。
上一步得到的六面體中q3垂直於q1,q4(或q2,其實是一樣的)生成的平面,還不是一般情況,但是我們可以同樣處理,給q3加上任意係數的q1q4平面中的向量,此時六面體的高還是q3的長度,體積保持不變,還是1。同時矩陣中的q3也只是加了q1q4的線性組合,也就是做的行變換,行列式不變,還是1,所以此時體積 = 行列式。
各個單位向量乘以不同係數就能得到任意六面體的體積了,行列式各個行乘以係數剛好也是放大同樣多倍。
貌似這樣就證明好了


如何證明這個大家說得都很多。
但是如何理解呢?
讓我們先結構一下這個問題。題主想必知道怎樣求平行六面體的體積,那就是底面積乘以高。這是平行四邊形面積公式的一個推廣。平行四邊形面積公式怎麼來的?通過對長方形進行切割和拼接得來的。在這裡我們用到了

  • 長方形面積公式(定義)
  • 體(面)積的可加性
  • 全同圖形面積相等

也就是說,這一套面積或體積計算公式是建立在測度意義上的——測度天然有可加性,並且作為拓撲空間上的附加結構,在滿足一定規則的前提下是可以任意定義的,比如基礎集合的面積測度,以及等測度集合類等等。
而行列式是純代數方法,有人說雅克比行列式是體積的定義,這是純代數意義上的體積,嚴格說和我們在中小學學習的方法和日常直覺是有一定差距的。
所以要理解他們相等,關鍵要理解這兩種體(面)積定義的等價性。可以通過證明代數定義同樣滿足上面三個條件來理解,只要元規則滿足了,那麼之後導出的公式就會相同。

  • 長方形面積在代數中來源於歐氏度規
  • 體積可加性是線性代數自然擁有的性質
  • 全同圖形在代數方法中是完全等價的

用向量解釋,分行列式為三個行向量組


令a=[x1 .. ], b=[x2 .. ], c=[x3 .. ]
a叉乘b得到矢量m
假設ab夾角為theta
這個矢量大小是|a| |b| sin(theta) 也就是以a b為邊的平行四邊形的面積
方向垂直於ab平面 , 右手法則

c在m方向的投影的長度 就等於c的終點到ab平面的距離
因此(m點乘c)的絕對值等於體積

回到題目的式子本身
你把m=a叉乘b 寫成行列式形式, 然後再點乘一下c就知道了


用三維坐標下的平行法則做輔助線即可證明,這是線性代數的經典題啊..


從幾何意義上看就比較好理解了。
混合積 向量a叉乘b再叉乘c 就是題主提到的三個向量
而叉乘對應的也就是兩個向量組成的平行四邊形面積
三個叉乘就是體積咯

我是這樣理解的


推薦閱讀:

如何對球體和長方體進行碰撞檢測?
謝爾賓斯基三角形能用編程寫出來么?該怎麼寫?
使用目前的高配GPU 如何實時渲染一顆黑洞?
你寫過什麼有趣的程序?
是什麼原因導致中國電影作品特效效果普遍不如歐美電影?

TAG:數學 | 趣味數學 | 線性代數 | 計算機圖形學 |