這次實作主要是熟悉一些 stl 使用,語法盡可能使用 C++,挑用兩種不同資料結構,結果感到有些意外。
第一種資料結構是單純用指標配置一維 heap,做 index 轉換 ( 就是數值分析習慣用的一維模擬二維) ;
另一種資料結構採用 vector< vararray<T> >。先把意外的結論寫下來。
edisonx 發表在 痞客邦 留言(3) 人氣(9,404)
Preface
Strassen Algorithm 發展到後期開始有所變型,諸如
(1) 將展開方式做為調整
(2) 運算順序做為調整
(3) 加入多行緒
(4) n 使用閥值
(5) 改善必需為 2 的整數次羃方陣之限制
(6) 展開更多項次
edisonx 發表在 痞客邦 留言(0) 人氣(5,868)
Preface
這裡探討的只是簡單,但可達到不錯效果的方法 (但還是很慢 )。以下之探討對於較大型之矩陣才有意義,小型之矩陣執行起來差沒多少。另本文並不會針對 cache hit 、open mp 做分析介紹,講的方法都屬較簡單方式,沒涉及演算法部份。若對效率沒太大要求,Basic 看完便行。若對效率有較高之要求,還是去找 library 吧。
edisonx 發表在 痞客邦 留言(0) 人氣(3,928)
算 determine 不只一種方法,也有人用餘因子方式求,
但筆者認為效率較不佳,還是以高斯進行上三角化求。
只宣告沒實作的程式碼 [C語言數值分析] 架構 matrix 基本函式 。
edisonx 發表在 痞客邦 留言(0) 人氣(622)
這份副函式除了檢查 rank 之外,也會拿來被 applicate 成,
檢查是否為 Singular matrix ( 也就是 inverse matrix 是否存在)。
edisonx 發表在 痞客邦 留言(1) 人氣(977)
一些 matrix 之範例碼在 main function 那裡覺得老是放不是重點的 code ,很麻煩,
建議自己先包過一些常用的 function 出來。
Basic unity
edisonx 發表在 痞客邦 留言(0) 人氣(1,730)
開始前...
在自己下手刻 matrix library 前,請細思:
edisonx 發表在 痞客邦 留言(0) 人氣(3,351)