我正在將matlab代碼轉換爲C++代碼,並嘗試在Lapack,Blas甚至Atlas中找到一個函數,它在matlab中的Diag(k)函數中執行相同的工作?有什麼建議麼 ?在C++中,Diag(k)的替代方法是什麼?
0
A
回答
0
static void create_diagonal_matrix(T* matrix,T* v,int size)
{
for(int i=0;i<size;i++)
{
for(int32_t j=0;j<size;j++)
{
if(i==j)
matrix[j*size+i]=v[i];
else
matrix[j*size+i]=0;
}
}
}
0
GSL, the Gnu Scientific Library有一個功能gsl_matrix_diagonal (gsl_matrix * m)
。這在矩陣中創建了一個「矢量視圖」,它或多或少是一個與矩陣對角線混疊的gsl矢量。不知道,如果你愛GSL,但它也包括BLAS支持。我認爲這是一個非常好的圖書館。
相關問題
- 1. 替代在MATLAB DIAG(X'* C * X)
- 2. Python中的替代方法是什麼?
- 3. 在C#中,HttpClient.getStringAsync()方法的同步替代是什麼?
- 4. 什麼是替代在C + +
- 5. 什麼是C#中的多繼承的替代方法?
- 6. session_register($ var)的替代方法是什麼?
- 7. Response.Redirect()asp.net的替代方法是什麼?
- 8. typeFactory.arrayType(xxx)的替代方法是什麼?
- 9. 什麼是C#中定時器控件的替代方法。 NET
- 10. 在matlab中等價於diag(x,k)
- 11. J2ME中String.Contains()方法的替代方法是什麼?
- 12. 什麼是替代方法`__call`
- 13. android的替代方法是什麼:代碼中的條目是什麼?
- 14. C++ variadic函數:什麼是最好的替代方法?
- 15. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 16. driver.findelements(「」)。get(i)在Ruby中的替代方法是什麼?
- 17. 在android sdk level 23中SSLParameter.setServerNames的替代方法是什麼?
- 18. 在Cassandra中建立M:M關係的替代方法是什麼?
- 19. 在tensorflow中numpy.newaxis的替代方法是什麼?
- 20. 在C++的windows線程編程中,pthread_setcanceltype的替代方法是什麼?
- 21. 什麼是C++方案的標記數據的替代方案
- 22. 什麼是在C#中的事件和代表的替代?
- 23. 對於C#4.0中昂貴的Enum.IsDefined(),有什麼替代方法?
- 24. 在java中可以使用readObject方法的替代方法是什麼?
- 25. Tensorflow版本0.12中的tf.Variable.ref()的替代方法是什麼?
- 26. Android中的AbsoluteLayout的替代方法是什麼?
- 27. RxJava中的AndroidSchedulers.mainThread()的替代方法是什麼?
- 28. 什麼是WPF中的ASP.NET DataBind()的替代方法?
- 29. Python中的'in'命令的替代方法是什麼?
- 30. C#什麼是設置的替代
「'Diag(k)'」?你的意思是,從矢量創建一個對角矩陣還是任意矩陣對角線的提取作爲矢量? – leftaroundabout 2012-04-12 18:49:25
...答案取決於你如何用C++表示矩陣和向量。特別是'k'的類型是什麼?無論哪種方式,你不需要Blas或Lapack(ATLAS只是這些的一個實現),因爲它只是一個簡單的循環索引:'for(i = 0; i
sly
2012-04-12 20:15:48