版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1用主元連乘法定義行列式用主元連乘法定義行列式——工科線性代數(shù)現(xiàn)代化和大眾化的思路之二工科線性代數(shù)現(xiàn)代化和大眾化的思路之二西安西安電子科技大學(xué)子科技大學(xué)陳懷陳懷琛高淑萍高淑萍email:hchchen1934@vip.摘要:摘要:提出了用主元連乘積法來定義行列式,可以把高斯消元法與行列式有機地聯(lián)系起來,大大簡化行列式的理論講授難度,可以避開的許多困惑的概念,并且使行列式的計算和編程十分方便快捷。這從1995到2004的十年間,為了把科學(xué)
2、計算軟件用于機械、電子、控制等類工科課程,我寫了五本書,涉及十多門課程,解了超百道的線性代數(shù)問題,真正體驗了后續(xù)課程和工程問題對線性代數(shù)的需要。發(fā)現(xiàn)工科線性代數(shù)現(xiàn)代化和大眾化的首要手段是引進(jìn)機算。其次,許多老師根本不知道工程上是如何應(yīng)用線性代數(shù)的,憑想象選材。造成在內(nèi)容上,“有用的不教,教了的沒用”。本文只就行列式的用法和算法問題做些探討。一、一、工科后續(xù)課究竟如何用行列式的?工科后續(xù)課究竟如何用行列式的?工科學(xué)生遇到的主要線性代數(shù)問題
3、是解方程組。其階數(shù)通常為五階以上,直到成百上千。求解的基本原理是高斯消元法,采用的工具是計算機,用手工筆算是不可能的。不過現(xiàn)在的大學(xué)數(shù)學(xué)就是偏偏只教筆算,只管解三階以下的題目。“不教機算”的問題我已談得很多,2009年高教司已立項“用MATLAB和建模實踐改造工科線性代數(shù)”來解決這個問題,有19所大學(xué),45000名學(xué)生參與了試點,深受師生歡迎,現(xiàn)在正在繼續(xù)推廣,本文就不多說了。在這里我要談的是線性代數(shù)中的一個困難的理論問題——行列式,應(yīng)
4、該如何教。大家知道,“行列式不為零”是判斷線性方程組解存在的根據(jù),從數(shù)學(xué)上看,必不可少。因此現(xiàn)在的線性代數(shù)老師教給學(xué)生的是這樣一個概念:拿來一個線性方程組,先算它的系數(shù)行列式,如果它不等于零,再去求解;否則就不算了。實際情況遠(yuǎn)非如此,我解的上百道矩陣應(yīng)用題目,都是直接求解方程,沒有先算行列式“判解”這個步驟。其原因何在呢?1.先判解,后求解,這樣的操作順序要有一個前提,那就是,判解應(yīng)該比求解容易。如果求解快,判解慢,那有何必多此一舉去“
5、判解”呢?因此,計算復(fù)雜度是關(guān)鍵,當(dāng)前線性代數(shù)中不考慮計算復(fù)雜度是一個大的缺陷。2.方程組求解現(xiàn)在都用高斯消元法,數(shù)學(xué)上早有證明,那是最快的方法。行列式的計算法則隨定義而定,現(xiàn)有三種定義方法[1]:顯式法、代數(shù)余子式法和主元連乘積法。我國的現(xiàn)有教材從來都不講第三種,而前兩種定義下的計算復(fù)雜度極高。三階及以上的系統(tǒng),判解遠(yuǎn)慢于求解。階數(shù)愈高,兩者的差距愈大。因此,判解實際上是不進(jìn)行的。3.消元法求解的過程中,已經(jīng)經(jīng)歷了解的存在性的判斷。只
6、要消元所得的行階梯矩陣的主對角線上的元素不為零,方程組就有解;主元出現(xiàn)零,方程就無解。其實,求出了行階梯矩陣,用主元連乘積的定義,已經(jīng)可以很方便地通過N1次連乘,得到行列式的值,所以求解和求行列式幾乎是同時完成的,并不需要多付出雙倍以至千百倍的無用功來先判解的。尤其是使用計算機解題時,如果出現(xiàn)了某個零主元,計算機會發(fā)出出錯告警,指出系數(shù)行列式接近或等于于零。3三、三、高階行列式的三種定義方法高階行列式的三種定義方法可以認(rèn)為三種高階行列式
7、定義方法都是從二、三階行列式從形式上向上演繹而得出的。顯式法是從各元素下標(biāo)的排列組合規(guī)律向上演繹,代數(shù)余子式法是從矩陣按行展開的規(guī)則進(jìn)行演繹,而主元連乘積法則是從消元法所得上三角矩陣向上演繹的。1顯式法:顯式法:按照這個定義,nn矩陣的行列式中每一項將由不同行不同列的n個矩陣元素乘積組成(即要做n1次乘法),這些項應(yīng)該能覆蓋所有可能的排列方式,根據(jù)排列理論,行列式將有N=n!項相加。即使n=10,N將達(dá)3628800,而需要的乘法次數(shù)為
8、n(n1)!之多,而每項的正負(fù)號將由這n項下標(biāo)排列的逆序數(shù)決定,還需要更多的計算量。所以顯式法也稱為‘大公式’法。顯式法中的逆序和排列計數(shù)對非數(shù)學(xué)系的大學(xué)新生往往是攔路虎。而它的運算量不僅超越了人們筆算可能性,也超越了計算機的能力。一個25階的行列式若按這個大公式來算,用每秒1萬億次的超級計算機,也要算1200萬年才能得出結(jié)果。這種現(xiàn)象在計算數(shù)學(xué)上稱為“維數(shù)災(zāi)難”。所以它的主要用途是數(shù)學(xué)推理,搞數(shù)學(xué)的當(dāng)然不可缺少,但在應(yīng)用上并沒有多少價
9、值。2代數(shù)余子式法,代數(shù)余子式法,其思路是將nn矩陣的行列式化為n個(n1)(n1)較小的行列式(考慮正負(fù)號后稱為代數(shù)余子式)的線性組合。逐級分解,可以減少高階行列式的計算量;逐級綜合,就可由n1階行列式向上定義n階行列式。因為二階行列式要兩次乘法,按照這個方法,三階行列式要三個二階行列式的線性組合,即要332=9次乘法,四階行列式要449=40次乘法,…依此類推,當(dāng)n很大時,要算的是n!個二階行列式的線性組合,近似為2n!次乘法。因此
10、,這種方法的計算量與顯式法相差不大,其主要好處是可以避開逆序定義和排列組合理論,但不可能成為有實用計算價值的方法。3主元連乘法,主元連乘法,它的核心是高斯消元法,通過等價變換消元,將系數(shù)矩陣化為上三角陣,然后把主對角線上n個主元連乘;得到行列式。這種定義的運算量已經(jīng)在消元法中討論過,實現(xiàn)上三角矩陣所需的計算量約為N≈n33,n=10時,N=333次,n=25時,N≈5200,用現(xiàn)有的微機可以在微秒級的時間內(nèi)完成。求行列式只要做一個n元的
11、連乘,其運算量可忽略不計。它的另一個好處是把方程組求解和求系數(shù)行列式在同一個運算過程用同一個程序來完成,也就是把判解(的存在唯一性)和求解統(tǒng)一起來,實際上所有數(shù)學(xué)軟件計算行列式時都采用這種方法。用MATLAB為例,只用兩條語句:[LU]=lu(A)%對方陣A做LU分解D=prod(diag(U))%U的主對角線元素連乘積即為A的行列式行列式的三種定義方法所需乘法次數(shù)列表如下階數(shù)N23451025高斯消元法求主元N333112141333
12、5208消元法求行列式N33N141324453425233代數(shù)余子式法求行列式≈2N!294020572576003.1022e025顯式法求行列式(N1)N!21272480326592003.7227e026從此表可以看出,只有N=2時,用顯式法判解才比消元法方便。N=3時,兩者的計算量基本相同。N3時,N每加一,用顯式法定義的計算量成十倍地增長。代數(shù)余子式法計算量與顯式法基本相同,只有消元法的計算量最小,而且不引進(jìn)其他新概念,理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論