簡體   English   中英

如何在MathNet中找到最大矩陣元素?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM