(for acmer : 道路千萬條,別走這一條)
優點 :七次乘法和十八次加法完成運算
基於遞迴分治策略
缺點 :不穩定,佔記憶體大
邏輯實現
p1 = (a11 + a22)(b11 + b22)
p2 = (a21 + a22) * b11
p3 = a11 * (b12 - b22)
p4 = a22 * (b21 - b11)
p5 = (a11 + a12) * b22
p6 = (a21 - a11) * (b11 + b22)
p7 = (a12 - a22) * (b21 + b22)
c11 = p1 + p4 - p5 +p7
c12 = p3 + p5
c21 = p2 + p4
c22 = p1 + p3 - p2 + p6
函式實現
void strassen()
看起來些許高深,其實不算太難。
參考 coppersimith - windograd 演算法推薦 矩陣的快速演算法或參考coppersimith – windograd 演算法
函式實現
int product ()
for(i = 0; i < kmr; i++)
}
void inverse(float mat[10],int r, int c)
b[i][i] = 1;
}for(k = 0; k < r; k++)}}
}for(i = 0; i < r; i++)
for(i = 0; i < c; i++)
} clrscr(); 如編譯器不通過可換為system("cls")
上三角矩陣
void triu(int m[3], int rows, int cols )
printf("\n");
}}嚴格上三角矩陣(將條件j<i改為 <=)
#includevoid triu(int m[3], int rows, int cols )
printf("\n");
}}
void toeplitz(int rows[10],int cols[10], int r, int c)
for(i = 0; i < r; i++)
}
陣列與矩陣
toc 陣列是我們比較常接觸的一種資料結構了,就我們所了解的,陣列從一維到多維不等,由陣列演變出來的另一概念,被稱之為矩陣,但是其實質還是一種有序的序列。接下來給出一維陣列的實現。class array int arraysize int operator int i const 過載下標符 arr...
陣列與矩陣
建立陣列 建立簡單的陣列 x a b c d e f 建立包含指定元素的行向量。x first last 建立從first開始,加1計數,到last結束的行向量。x increment last 建立從first開始,加increment計數,到last結束的行向量。x linspace first...
陣列與矩陣
陣列 一維陣列 陣列就是有序的元素序列 元素 簡單說就是存放在每個格中的內容 值 二維陣列 釋義 一維陣列的每個元素都是一維陣列 矩陣 在數學中,矩陣 matrix 是乙個按照長方陣列排列的複數或實數集合 矩陣與二維陣列類似 特殊矩陣 零矩陣 內部元素全部為0,一般用0m n表示 方陣 對於行教和列...