句芒演算法(morn)詳情 矩陣運算

2021-12-30 04:48:57 字數 1183 閱讀 8852

因為這兩天有人質疑句芒演算法的執行速度,想想,我也從來沒有測試過,所以被質疑也很正常,所以打算以後測一測,然後順便介紹一下句芒演算法。

因為這是第一次寫關於句芒演算法的部落格,先說一句,句芒演算法是乙個輕量級的,用純編寫的演算法庫

這篇先說一下演算法庫里最簡單的幾個矩陣運算。

先看一下測試程式,這段程式再簡單不過了,就是開了乙個nn的方陣,然後矩陣裡的元素賦(0,1)之間的隨機值。測試了三種基本的矩陣運算,①首先,算一下這個矩陣的行列式;②如果行列式不為0的話,算一下這個矩陣的逆;③把原來的矩陣乘以逆矩陣,驗證一下是不是等於單位矩陣。

#include

#include

#include "morn_math.h"

void main()

這裡試了一下88的矩陣

結果一點可解釋的東西都沒有,完全符合預期。

eigen是乙個高層次的c ++庫,有效支援線性代數,矩陣和向量運算,數值分析及其相關的演算法(這句是從百度百科copy的),為啥要和eigen比,因為它用的廣泛。

eigen的程式就不貼了,截個結果圖看一下:

可以看到句芒和eigen的結果是完全一樣的,說明算對了。

上面的結果也看到了,對於88這種簡單的矩陣,句芒和eigen都很快,快到測不出耗時。

那現在把測試的矩陣放大一點。先用200200的矩陣,看一下結果(矩陣就不列印出來了)

差距就很明顯了,句芒要快得多得多(這裡的單位是100ns,不過這個耗時跟電腦的硬體有關,絕對值沒啥意義,對比才有意義),是吧。

再試一下10001000的矩陣,看一下結果:

更大的矩陣就不測了,實在沒有耐心等到它出結果。

結論很明顯了,句芒比eigen要快10倍以上。

等我以後有時間再去寫句芒做矩陣運算的時候的具體實現演算法吧。

演算法生成N芒星

前面兩個影象生成演算法是 道教的太極八卦圖和佛教的卐和卍字圖。這一節整個洋氣的影象 芒星。但願我別召喚出什麼恐怖的禁忌,尤其今晚還是萬聖節之夜。平時看玄幻 經常讀到有關六芒星,七芒星,九芒星的技法。芒星是由幾個完全的等腰三角形 有時是正三角形 和乙個正多邊形組成的二維圖形。等腰三角形的個數與正多邊形...

演算法生成七芒星

玄幻 中經常會有七芒星的技法,這一節就使用演算法生成下七芒星的影象。在西方,7被認為是乙個很有魔力的數字。上帝用7天造人,第7天休息 聖經啟示錄中有7封印 7燈台 7號角等等。但是魔法符號中卻很少見到七芒星。不過在神秘學上,七芒星陣是存在的,他蘊含著非常強大的力量,無數的人都在尋覓並探索著他,但是七...

演算法生成N芒星

前面兩個影象生成演算法是 道教的太極八卦圖和佛教的卐和卍字圖。這一節整個洋氣的影象 芒星。但願我別召喚出什麼恐怖的禁忌,尤其今晚還是萬聖節之夜。平時看玄幻 經常讀到有關六芒星,七芒星,九芒星的技法。芒星是由幾個完全的等腰三角形 有時是正三角形 和乙個正多邊形組成的二維圖形。等腰三角形的個數與正多邊形...