问题标签 [mathnet-numerics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
623 浏览

f# - MathNet Numerics 内存不足异常

我在我的 F# 项目中使用 MathNet.Numerics,但在处理应该在其职权范围内的矩阵时,它会耗尽内存。

编辑:问题绝对不在于 MathNet.Numerics。这是我正在做的事情,虽然我还没有弄清楚那可能是什么。

这是我构建 MNIST 矩阵的方式。也许我要打开文件流或其他东西,但我看不出情况会如何。

使用这个,

炸毁。

是他们还是我?我从http://yann.lecun.com/exdb/mnist/中提取了文件,以防有人想自己尝试。

编辑 1:罪魁祸首是对loadMnistImage. 根据 Gene Belitski 的建议,我运行了代码

行前和行后

行前,还好;在该行之后,它因同样的内存不足异常而爆炸。我原以为这些use声明会发布文件,我会没事的(这不是一个庞大的文件)。但是,我错过了一些东西,所以我会继续挖掘,如果有人看到任何东西,请告诉我。

编辑2:当我如下简化文件阅读器时,问题就消失了。看起来问题出在列表的惰性评估上。

0 投票
1 回答
468 浏览

f# - math.net DenseVectors 与 DenseMatrix 1xn | nx1

这真的很简单,但由于我是 math.net 的菜鸟,我可能需要指出正确的方向:

结果是:

矩阵向量乘法在这里太自由了。我需要执行适当的维度检查。我应该只使用DenseMatrix, 创建 1xn, nx1 矩阵吗?Vectors在我的情况下,这基本上是DenseVectors多余的。

0 投票
1 回答
316 浏览

f# - Matrix 到 Generic.Matrix 的 math.net 转换

m2是一个Matrix. 然而,invminvtGeneric.Matrix<float>。为什么要进行这种转换?

0 投票
1 回答
373 浏览

f# - 从 Deedle 中提取行并转换为矩阵

我正在尝试从 Deedle 中提取一行Frame并将其转换为 flat (1x4) DenseMatrix。所有缺失值都已删除,并且 中的值Frame是数字。

我的代码:

产生错误:

错误 FS0192:内部错误:convMethodRef:无法绑定到方法

有趣的是还要注意:

产生相同的错误。

我已使用 .Net 4.5.50709 更新到 11.0.061030.00(更新 4),但仍然面临同样的问题。

0 投票
2 回答
4250 浏览

c# - 使用 MathNET 的置信区间

我有一个IEnumerable<double>数据样本。我想计算信号/数据的 90% 置信区间。我可以使用MathNET 库,但我对如何正确使用该库感到困惑。给定我的数据,想法是返回两个额外的数据数组,其中包含原始信号的置信区间

这在数学方面确实并不复杂,我只是对如何正确使用MathNET 库中可用的函数/方法感到困惑。

0 投票
1 回答
4009 浏览

c# - MathNET 矩阵转换

我最近开始使用 MathNET 库,它很棒。我正在大量使用矩阵和向量。该库运行良好,但我发现我必须一直使用强制转换;这方面的一个例子是:

或者

为什么我必须使用 ( (DenseMatrix)/ (DenseVector)) 进行投射,有没有办法为每个操作都这样做?

0 投票
2 回答
3077 浏览

c# - SVD 是否包含在 MathNet.Numerics x86 中?

我需要计算密集矩阵的奇异值分解,但它似乎没有包含在我正在使用的包中:MathNet.Numerics x86 v2.4.0.26从 Nuget 包管理器下载。

我正在引用这个问题Svd recomposition..

链接的答案中包含的语法是:

文档中也没有 svd()列出。

我正在寻找一个使用 MathNet.Numerics x86 库生成 DenseMatrix SVD 的简单示例。

不幸的是,该方法inverse()只是返回 NaN,所以我希望使用奇异值分解来近似逆。

0 投票
2 回答
5426 浏览

c# - 对列表中对象的属性使用 Math.NET 统计函数的最佳方法

我试图找出快速执行计算的最佳方法,并想了解人们在这种情况下通常会采用哪种方法。

我有一个对象列表,这些对象具有我想要计算的平均值和标准差的属性。我认为使用这个Math.NET 库可能会更容易/优化性能。

不幸的是,这些函数的输入参数是数组。编写自己的函数来计算均值和 STD 是我唯一的解决方案吗?我可以为使用 lambda 函数的列表编写某种扩展方法?或者我最好编写返回对象属性数组的函数并将它们与 Math.NET 一起使用。

大概答案取决于一些事情,比如列表的大小?为了论证的缘故,我们假设该列表有 50 个元素。我关心的是纯粹的性能。

0 投票
1 回答
1012 浏览

c# - 求解约束结果的最小二乘矩阵

我有一个矩形矩阵,因此:

1, 3, 2, 4, n..
4, 2, 1, 5, n..
n..

以及一个向量:
1, 2, 5, 6, 7, n..

我需要求解矩阵中所有列的最小二乘方程,但我想限制结果,使所有答案都大于零。

我已经添加了 Math.NET 包并达到了
matrix.QR().Solve(...

大概有一些方法可以迭代地解决这个问题,但似乎没有一种方法可以指定该Solve方法的约束/条件,而且我不确定我应该使用哪些其他方法。

部分代码添加如下:

0 投票
2 回答
242 浏览

f# - 用于 F# 的 math.net 安装

我对 F# 很陌生,正在尝试在 Ubuntu 13.04 上安装 math.net。以下页面推荐使用 Package Manager Console 在 Linux 64 上安装

https://www.nuget.org/packages/MathNet.Numerics.MKL.Linux-x64/

但令我困惑的是,据我所知,PMC 仅在 VS 中可用,因此仅在 Windows 中可用。有什么建议吗?或者也许我不应该依赖这个库,而标准是不同的?