線性代數之行列式的計算及其簡化演算法學習心得 - 有解無憂
文章推薦指數: 80 %
1.按照定義進行計算. 由高階行列式一級一級展開到低階行列式……一直展開到二階行列式,然后用公式算出得到這個高階 ...
菜單
網站主頁
前端設計
後端開發
.NET開發
軟體設計
企業開發
區塊鏈
移動端開發
軟體工程
資料庫
作業系統
其他
主頁 > 其他 > 線性代數之行列式的計算及其簡化演算法學習心得
線性代數之行列式的計算及其簡化演算法學習心得
2021-01-0512:11:23其他
第一次發文!
初入csdn,本人哈工大大一船舶與海洋工程專業,因為想學計算機相關專業再加上爹是搞開發的程式猿🐒,為大二輔修計算機做好準備,準備開始著手進行系統的計算機學習啦~
文章目錄
前言一、計算矩陣——行列式行列式的定義
二、行列式的演算法1.按照定義進行計算2.簡單行列式計算——三角矩陣行列式3.矩陣行列式的基本行變換
三、計算量的差別
前言
最近在準備線性代數的期末考試,發現一個很有啟發性的小問題和大家分享,
提示:以下是本篇文章正文內容,下面案例可供參考
一、計算矩陣——行列式
行列式的定義
行列式的定義在這里:
先來一個三階行列式的定義,我們的教材是英文版哦~對我來講,更有助于深入地理解概念以及本質,
可以看出行列式的定義比較簡單(analogousto2by2matrix),對矩陣的第一行進行展開到2*2的矩陣,即可得到3*3矩陣的行列式,
對于一般的矩陣來說,定義如下:
也是很簡單的,類比三階行列式即可得到高階行列式的定義——按照第一行展開就可以了,
二、行列式的演算法
1.按照定義進行計算
由高階行列式一級一級展開到低階行列式……一直展開到二階行列式,然后用公式算出得到這個高階行列式的value,
但是這么運算會導致計算量極其龐大,具體表現在下面的圖片:
上面的NOTE表明了計算一個行列式如果運用定義展開進行直接計算的話,雖然演算法結構簡單明了,但是給計算機可造成了不小的麻煩,
例如,以后在學習特征值、特征向量(EigenvalueEigenvector)時,計算特征多項式(Characteristicpolynomial)時,對行列式的計算是必須的,但是計算機的算力假如僅僅運用定義逐級展開,在處理一個較大的矩陣時是極其有限的,note中的例子表明這種演算法效率極其低下,如何去解決這個問題呢?
2.簡單行列式計算——三角矩陣行列式
三角矩陣的例子如下
這是一個看起來長得很“整齊”的矩陣,可以發現,矩陣的主對角線(Maindiagonal)下方的位置全都是0,上方的數字是隨機的,
而如何計算這個“三角矩陣”的行列式呢?
先引入一個定理——LaplaceExpansionTheorem
這個定理就是告訴我們,可以不用像定義一樣只用第一行來進行行列式展開,完全可以用任意的一行或者一列進行展開,使我們更進一步運用定義來處理矩陣的行列式,把問題變得更加簡單,
提示:不要忘記每一個子式的符號哦
接下來,運用這個LaplaceExpansionTheorem我們可以更加簡單地計算三角矩陣的行列式了!
對第一列進行展開(第一列只有第一項不是0,其他全都可以消掉):照葫蘆畫瓢,依次可以得到最終的三角矩陣A行列式:可以得到一個驚人的結論:三角矩陣的行列式是主對角線的乘積!(看定理:)這個定理是非常有用的,對于簡化行列式計算起到了至關重要的作用,
3.矩陣行列式的基本行變換
眾所周知,矩陣可以進行那個比較經典的高斯消元(GaussElimination)或者高斯-喬丹消元(Gauss-JordanElimination)來解線性方程組,那行列式可以這么玩嘛?如果能化簡成一個類似于行階梯形(Rowechelonform)的東東,是不是就可以化成類似三角矩陣進行計算了,這樣子一般行列式的計算,化簡完畢后就可以依照三角矩陣行列式的計算來進行計算了!問題來了,可以嗎?
經過一番推導,給出了幾個行列式的性質,表明這樣是可行的!
運用這些性質,完全可以對行列式進行行變換(當然規則有點不同,看不懂英文的童鞋可以自行問度娘),具體如何變換不再贅述,
進行完行變換后,如果矩陣可逆,一定會得到一個規規矩矩的三角矩陣(參見可逆矩陣基本定理),如果不可逆,行列式肯定為0(有一行是0,展開后一定全是0),接下來,就可以舒舒服服地用三角矩陣計算行列式的方法來計算行列式了!
三、計算量的差別
對于一個n階行列式來說,如果,運用計算機計算行列式應用定義或者是LaplaceExpansionTheorem,計算量將會是這個數:這個數比n的階乘(n!)要大,
如果運用行變換,再運用三角矩陣計算行列式的方法來計算行列式,可以得到這個計算量:只有:n的三次方!
相比于定義展開來進行計算,此方法會簡單很多,省去很多不必要的計算,使計算機作業的負擔減輕許多,
當然,計算矩陣行列式的方法還有很多種,但是優先選擇哪一種方法能帶來計算量的減少是我們一定要注意的事情,
在處理二維陣列時,尤其是對圖進行變換以及資料存盤等等問題時,一定有著很廣泛的應用,
碼字不易,感謝觀看!以后會持續更新學習心得!不局限但主要為:數學類、計算機類、工程類,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244782.html
標籤:AI
上一篇:廣和通再推5G利器,發布高性價比5G模組FM650下一篇:matlab強化學習DDPG演算法改編/菜鳥理解2——航天器三軸姿態穩定器學習算例
標籤雲
其他(123570)Java(13369)Python(12730)C(7542)區塊鏈(7372)JavaScript(7059)基礎類(6313)AI(6244)腳本語言(PerlPython)(5129)非技術區(4971)Android(4120)MySQL(4012)Linux(3394)C語言(3288)C++語言(3117)Java相關(2746)疑難問題(2699)單片機工控(2479)Web開發(1951)網絡通信(1793)數據庫相關(1767)VB基礎類(1755)PHP(1727)開發(1646)系統維護與使用區(1617).NETCore(1586)基礎和管理(1579)JavaEE(1566)C++(1527)專題技術討論區(1515)Windows客戶端使用(1484)HtmlCss(1466)ASP.NET(1428)Unity3D(1354)VCL組件開發及應用(1353)HTML(CSS)(1220)其他技術討論專區(1200)WindowsServer(1192).NET技术(1165)交換及路由技術(1149)語言基礎算法系統設計(1133)WindowsSDKAPI(1124)界面(1088)JavaSE(1075)Qt(1074)VBA(1048)新手樂園(1016)其他開發語言(947)Go(907)HTML5(901)新技術前沿(898)硬件設計(872)區塊鏈技術(860)網絡編程(857)非技術版(846)一般軟件使用(839)網絡協議與配置(835)Eclipse(790)Spark(750)下載資源懸賞專區(743)
熱門瀏覽
網閘典型架構簡述
網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。
三主機架構分別為內端機、外端機和仲裁機。
三機無論從軟體和硬體上均各自獨立。
首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。
從軟體上來看,三機有各自獨立的作業系統。
這樣能達到完全的三機獨立。
對于“2+1”系統,“2”分為......
uj5u.com2020-09-1002:00:44more
如何從xshell上傳檔案到centoslinux虛擬機里
如何從xshell上傳檔案到centoslinux虛擬機里及:虛擬機CentOs下執行yum-yinstalllrzsz命令,出現錯誤:鏡像無法找到軟體包前言一、安裝lrzsz步驟二、上傳檔案三、遇到的問題及解決方案總結前言提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具......
uj5u.com2020-09-1002:00:47more
一、SQLMAP入門
一、SQLMAP入門1、判斷是否存在注入sqlmap.py-u網址/id=1id=1不可缺少。
當注入點后面的引數大于兩個時。
需要加雙引號,sqlmap.py-u"網址/id=1&uid=1"2、判斷文本中的請求是否存在注入從文本中加載http請求,SQLMAP可以從一個文本檔案中......
uj5u.com2020-09-1002:00:50more
Metasploit簡單使用教程
metasploit簡單使用教程浩先生, 2020-08-2816:18:25分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全編輯 著作權metasploit使用教程前言一、Metasploit是什么?二、準備作業三、具體步驟前言Msfconsole......
uj5u.com2020-09-1002:00:53more
游戲逆向之驅動層與用戶層通訊
驅動層代碼:#pragmaonce#include
計算機網路資訊在電力系統中的應用,一方面使電力系統的運行......
uj5u.com2020-09-1002:01:03more
【CTF】CTFHub技能樹彩蛋writeup
?碎碎念CTFHub:https://www.ctfhub.com/筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。
感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。
而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。
個人還是非常喜歡這個......
uj5u.com2020-09-1002:04:05more
02windows基礎操作
我學到了一下幾點Windows系統目錄結構與滲透的作用常見Windows的服務詳解Windows埠詳解常用的Windows注冊表詳解hackerDOS命令詳解(netuser/type/md/rd/dir/cd/netusecopy、批處理等)利用dos命令制作......
uj5u.com2020-09-1002:04:18more
03.Linux基礎操作
我學到了以下幾點01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP01LINUXwindows:win038121619配置不繁瑣Linux:redhat,centos(紅帽社區版),Ubuntuserver,suseunix:金融機構,證券,銀......
uj5u.com2020-09-1002:04:30more
05HTML
01HTML介紹02頭部標簽講解03基礎標簽講解04表單標簽講解HTML前段語言js1.了解代碼2.根據代碼懂得挖掘漏洞(POST注入/XSS漏洞上傳)3.黑帽seo白帽seo客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單
在2.13中,可以撰寫一個更通用的隱式和另一個更具體的,但在Scala3中似乎不再可能。
typeOutcom...
uj5u.com2021-10-1616:16:46more
CatsScala中的序列和遍歷以映射型別
我有一個型別的值,List[EitherT[IO,String,Int]]我想對其進行序列處理以將其映射到EitherT[IO,String,List[Int]]我閱讀并找到了序列方法,但它給了我一個錯誤,說它需要[G]...
uj5u.com2021-10-1616:14:44more
為什么集合上的`contains`不需要正確的型別?
這是怎么編譯的:scala>valx:Vector[Int]=Vector(1,2,3)valx:Vector[Int]=Vector(1,2,3)scala>x.contains("hello")valres4:Boolean=falsescala>x.contains(...
uj5u.com2021-10-1616:14:15more
在Scala中將兩個不同的RDD與不同的鍵組合在一起
我有兩個文本檔案已經由sparkcontext創建為rdd。
其中一個(rdd1)保存相關詞:apple,applescar,carscomputer,computers另一個(rdd2)保存專案數:(apple,12)(apples,50)(car,5)(ca...
uj5u.com2021-10-1616:13:46more
將錯誤從catch塊記錄到Cosmosdb-spark
目標:-使用“get”api呼叫從S3存盤桶中檢索物件,將檢索到的物件寫入azure資料湖,并在出現404s(未找到物件)等錯誤時將錯誤訊息寫入CosmosDB“my_dataframe”由一列(s3O...
uj5u.com2021-10-1616:13:14more
如何處理用于理解和錯誤恢復的錯誤場景
目前我的錯誤處理沒有按照我的意愿作業,這就是我想要做的:UserApi.insert失敗,回傳錯誤,不要繼續WorkApi.insert失敗,呼叫UserApi.delete后回傳錯誤WorkApi.assign失敗,呼叫...
uj5u.com2021-10-1616:12:45more
如何發送多條訊息作為我的來源
我只是在嘗試這個當前有一個TextMessage作為源的示例流://printeachincomingstricttextmessagevalprintSink:Sink[Message,Future[Done]]=Sink.forea...
uj5u.com2021-10-1616:12:12more
如何在寫入時強制資料集匹配其架構?
經過一些轉換后,我想使用insertInto將spark資料集保存到鑲木地板表中。
ds.write.mode(SaveMode.Overwrite).insertInto(tablename)但是操作失敗,給我這個錯誤:[TABLENAME]...
uj5u.com2021-10-1616:11:31more
用于理解的模式匹配分配如何轉化為一元操作?
我熟悉的概念,即Scala的for內涵是對一元的操作只是語法糖(map,withFilter,foreach和flatMap)和脫糖中描述這個流行的答案。
通過這種邏輯,我驚訝地發現,當使用模式匹配作為推導式的...
uj5u.com2021-10-1616:10:58more
友情鏈接
有解無憂
延伸文章資訊
- 1n 階行列式的降階法The Reductive Algorithm for Determinant ...
二階好計算的優點,又能避免高階展開. 時的繁雜龐大算式。 關鍵詞:行列式,矩陣. Introduction. The definition of determinant is a.
- 2行列式- 維基百科,自由的百科全書
這個定義和行列式的計算並不矛盾,因為行列式中向量的坐標都是在取好坐標系後才決定 ... 兩人都用歸納法定義了更高階矩陣的行列式。1931年,奧斯丁·歐爾在一大類非交換 ...
- 3行列式降高階 - 老王的夢田
它的理論部分可以接受,實際用的時候,就不需要知道那麼多,所以又是個知難行易的東西,也就是容易成為補習班的公式。因此一般學生不需要學,對行列式運算 ...
- 4Chiò 演算法──另類行列式計算法 - 線代啟示錄
本文的閱讀等級:初級傳統的行列式手算方法多數採用餘因子(cofactor) 展開,也稱為Laplace 展開,作法是將高階行列式逐步降階至二階行列式, ...
- 5篇名: 高階行列式的快速降階
以上分別是它們的基本定義。特別的是,由於三階行列式使用直接的展開總共需要計算. 六項,過程比較繁複,所以另外可以使用降 ...