[英]How can I find maximum matrix element in MathNet?
在C#中使用MathNet查找最大矩陣元素的最佳(可讀且快速)方法是什么? 這是我的方式:
int size = 4;
var matrix = Matrix.Build.Dense(size, size, Matrix.One);
matrix[3, 3] = 3;
var max = matrix.ReduceRows((v1, v2) => v1.AbsoluteMaximum() > v2.AbsoluteMaximum()? v1 : v2).AbsoluteMaximum()
嘗試使用matrix.Enumerate().Maximum()
,這既簡單又快捷。 您也可以使用Enumerable.Max
擴展方法,但是在密集矩陣的情況下, Statistics.Maximum
明顯更快。
對於稀疏矩陣,您可能需要執行matrix.Enumerate(Zeros.AllowSkip).Maximum()
,盡管如果返回值為負(但可能必須為零)則需要特殊處理。
另請注意, AbsoluteMaximum
實際上是絕對最大值,與最大值( |-5| > |3|
,但-5 < 3
)不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.