strassen

    0熱度

    2回答

    我想在C++中實現Strassen的矩陣乘法算法,並且我想要找到一種方法將兩個矩陣分成四個部分,每個部分在不同的時間。這是當前的方式,我這樣做: for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ A11[i][j] = a[i][j]; A12[i][j] = a[i][j+n]; A21[

    0熱度

    1回答

    設計並分析一個算法,將兩個數A和B(每個n位長)相乘,然後將它們分成3個相同大小的小塊,並使用Strassen算法。什麼是你可以得到的最佳運行時間? 我有兩個數字是n長度,並將它們分成三個相等的部分。例如,123分爲1,2和3.根據我的理解,我必須使用矩陣。但是,Strassen的算法對我來說沒有任何意義。 我看過視頻並閱讀講座,但仍不知道如何進行。任何幫助將不勝感激,謝謝!

    0熱度

    4回答

    嗯,這是一個來自「算法介紹」的問題,其編號爲4.2-6。它的描述是這樣的: 你能多快地乘以a kn*n matrix by an n*kn matrix,使用Strassen's algorithm作爲subroutine? 我在考慮將兩個矩陣都用於kn*kn matrix,然後我可以將Strassen的算法應用到這個問題上。但我會得到一個Math.pow(kn, lg7) running tim

    1熱度

    1回答

    比方說,我有一個NxN矩陣,其中包含1到10範圍內的隨機整數。現在,我想打電話給 PROC(A(1:n/2, 1:n/2)+A(n/2+1:n, n/2+1:n)...其中n是矩陣的大小。換句話說,我想創建一個從A的第一行和第一列開始的子矩陣,直到A的大小的一半,然後將其添加到以A的大小的一半加1開始的子矩陣並且一直延續到A. ,我使用的分區函數是這樣的: public Matrix partit

    1熱度

    2回答

    我試圖在Python中實現Strassen矩陣乘法。我有點工作。這裏是我的代碼: a = [[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]] b = [[5,5,5,5],[6,6,6,6],[7,7,7,7],[8,8,8,8]] def new_m(p, q): # create a matrix filled with 0s matrix =

    0熱度

    2回答

    我想在C++中實現Strassen算法。我想將方陣「hA」分成4個相等的塊。 // Initialize matrices on the host float hA[N][N],ha11[N/2][N/2], ha12[N/2][N/2], ha21[N/2][N/2], ha22[N/2][N/2]; for (int i = 0; i < N; i++) { for

    -4熱度

    1回答

    Caesar教授希望開發一種比Strassen算法漸近更快的矩陣乘法算法 。他的算法將使用分而治之的方法,將每個矩陣分割成大小爲n/4 x n/4的棋子,並且分割和合並步驟將花費Theta(n^2)時間。

    3熱度

    2回答

    我一直在閱讀關於矩陣乘法的Strassen算法。如在Cormen算法導論中所提到的,該算法不直觀。但是我很想知道是否存在該算法的嚴格數學證明以及該算法的實際設計。 我試着在谷歌和stackoverflow上搜索,但所有的鏈接只是比較斯特拉森的標準矩陣乘法方法,或者他們詳細說明了算法提供的過程。

    1熱度

    1回答

    什麼時候Strassen的矩陣乘法算法在實際的計算機上變得更高效?它有沒有實際實現?任何參考將是最受歡迎的。 謝謝。

    2熱度

    1回答

    斯特拉森的整數乘法算法的版本使用三路分裂(將n位數除以3位n/3位)並且取O(n^1.46)。 我的問題是爲什麼這種方法通常不會比通常的使用O(n^1.59)的雙向拆分更受歡迎? 任何可以幫助我理解的想法或鏈接? (我在網上查了一下,但找不到任何東西)