gpt4 book ai didi

c# - 如何在 MathNet 中找到最大矩阵元素?

转载 作者:行者123 更新时间:2023-11-30 21:53:55 25 4
gpt4 key购买 nike

在 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 )。

关于c# - 如何在 MathNet 中找到最大矩阵元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com