看板 Prob_Solve 關於我們 聯絡資訊
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