如何提高犰狳複數矩陣乘法結果的精度。它接近4位小數[這是結果(35.9682,-150.246)]的一個例子],但我想要精確到小數點後8位。由於犰狳複雜矩陣乘法早期逼近
1
A
回答
2
正如你似乎不相信我在評論中說:
#include <armadillo>
using namespace std;
using namespace arma;
int main(int argc, char** argv) {
mat A = randu<mat>(4,5);
mat B = randu<mat>(4,5);
mat C = A*B.t();
cout << C << endl;
cout.precision(11);
cout.setf(ios::fixed);
C.raw_print(cout, "With increased precisions:");
return 0;
}
這確實如預期:
[email protected]:/tmp$ g++ -o eze eze.cpp -larmadillo -lblas -llapack
[email protected]:/tmp$ ./eze
0.9713 1.3566 0.7946 1.6896
1.2593 1.1457 0.9011 1.6260
1.1954 0.8484 1.0444 1.6753
1.6225 1.5009 1.2935 2.2019
With increased precisions:
0.97126557882 1.35660885673 0.79462856896 1.68955180769
1.25933041551 1.14565671740 0.90105251304 1.62595390611
1.19543745264 0.84844286454 1.04436441020 1.67528315350
1.62246223165 1.50087016389 1.29351914350 2.20190979625
[email protected]:/tmp$
士氣:打印精度是幾乎從來沒有計算精度爲。
+0
謝謝,Dirk Eddelbuettel –
+0
由於您在這裏似乎是新手,現在a)接受答案(只有您看到的點擊標記)和/或b)upvote(點擊向上三角形) 。 –
+0
@DirkEddelbuettel不認爲OP可以upvote(低代表),但應(最終)接受它,因爲的確可以解決問題。 – vsoftco
相關問題
- 1. 犰狳複雜稀疏矩陣逆
- 2. 犰狳:乘法時出錯
- 3. 差異在犰狳乘法
- 4. 犰狳:矩陣乘法損失的精度
- 5. 乘開方(-1)在C矩陣++和犰狳
- 6. RCPP犰狳,子矩陣和子向量
- 7. 在課堂上使用犰狳矩陣
- 8. Matlab +犰狳和逆矩陣崩潰
- 9. 是犰狳C++矩陣線程安全
- 10. 載體導入矩陣犰狳
- 11. 在犰狳中用矢量除矩陣
- 12. 犰狳C++ typecast雙矩陣mat來浮動矩陣fmat
- 13. 任意矩陣乘法的複雜性
- 14. 大矩陣乘法的複雜性
- 15. 加法和減法不適用於犰狳稀疏矩陣
- 16. C++犰狳:最近的鄰居
- 17. RCPP犰狳randg()
- 18. 複數矩陣乘法
- 19. C++犰狳鑄造/轉換爲整型矢量或矩陣
- 20. 使用fftw與列主要方形矩陣(犰狳庫)
- 21. C++犰狳重塑僅有一個尺寸大小的矩陣
- 22. 犰狳矩陣尺寸初始化錯誤
- 23. 打印後禁用換行符犰狳向量/矩陣(C++)
- 24. 犰狳 - 從列向量中的值填充矩陣
- 25. C++中的矩陣的動態名稱(犰狳庫)
- 26. 犰狳:堆上的高效矩陣分配
- 27. 選擇犰狳子矩陣具有非連續的索引
- 28. 在鍵盤輸入矩陣類型變量在犰狳C++
- 29. 如何重塑一個立方體矩陣犰狳
- 30. 犰狳整數矩陣的決定因素
這是常見問題。您可以隨時增加打印輸出的**精度**超出您所看到的默認值。 –
@Dirk Eddelbuettel,我該怎麼做?在我的matlab代碼中,我的複數矩陣乘法具有10或更多的精度,但在我的armadillo C++中,早期逼近確實影響結果。感謝 –
您仍然混淆了打印精度與計算精度。在這裏沒有_early approximation_。 –