作者EdisonX (閉上眼的魚)
站內Prob_Solve
標題[問題] 請教是否有快速判斷可逆矩陣之演算法?
時間Fri Apr 6 15:30:52 2012
matrix 問題許多都基於一假設:可逆,
但若一些在複雜度較高之問題上,計算過程中才發現是不可逆,
便大大浪費了時間。
目前小弟驗證可逆之方式為 :
(1) 先 allocate 一塊新的 matrix ( 大矩陣就費時了 ), 此稱 tmp_mat
(2) src_mat 複製到 tmp_mat , 避免破壞 (memcpy, 又費時).
(3) 對 tmp_mat 進行下三角化運算 , 判斷是否有一列為零 ( 簡單的說是求 det. )
請教在概念上,這是否算是唯一方法? ( 是否只剩從細結進行修改而已? )
謝謝各位不吝指導。
--
If there is no tomorrow,
I want to see u last time.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.161
→ H45:這問題挺有意思的,讓我檢視最近寫JAVA一直在用的Apache Commo 04/08 13:35
→ H45:ns Math函式庫,有定義Matrix類別的isSingular方法,演算法和 04/08 13:36
→ H45:你的方法概念上完全一樣,只是說做LU分解時,可以在內部迴圈提 04/08 13:36
→ H45:早發現有一行為零,馬上跳離迴圈可加速一些運算時間。 04/08 13:37
→ EdisonX:目前我的方法便是 H45 提的,只是我想很多人會有經驗, 對大 04/08 13:41
→ EdisonX:矩陣而言,算了很久,最後跑出來竟然是Singular .. 04/08 13:42