问题标签 [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.
f# - MathNet Numerics 内存不足异常
我在我的 F# 项目中使用 MathNet.Numerics,但在处理应该在其职权范围内的矩阵时,它会耗尽内存。
编辑:问题绝对不在于 MathNet.Numerics。这是我正在做的事情,虽然我还没有弄清楚那可能是什么。
这是我构建 MNIST 矩阵的方式。也许我要打开文件流或其他东西,但我看不出情况会如何。
使用这个,
炸毁。
是他们还是我?我从http://yann.lecun.com/exdb/mnist/中提取了文件,以防有人想自己尝试。
编辑 1:罪魁祸首是对loadMnistImage
. 根据 Gene Belitski 的建议,我运行了代码
行前和行后
行前,还好;在该行之后,它因同样的内存不足异常而爆炸。我原以为这些use
声明会发布文件,我会没事的(这不是一个庞大的文件)。但是,我错过了一些东西,所以我会继续挖掘,如果有人看到任何东西,请告诉我。
编辑2:当我如下简化文件阅读器时,问题就消失了。看起来问题出在列表的惰性评估上。
f# - math.net DenseVectors 与 DenseMatrix 1xn | nx1
这真的很简单,但由于我是 math.net 的菜鸟,我可能需要指出正确的方向:
结果是:
矩阵向量乘法在这里太自由了。我需要执行适当的维度检查。我应该只使用DenseMatrix
, 创建 1xn, nx1 矩阵吗?Vectors
在我的情况下,这基本上是DenseVectors
多余的。
f# - Matrix 到 Generic.Matrix 的 math.net 转换
这m2
是一个Matrix
. 然而,invm
和invt
是Generic.Matrix<float>
。为什么要进行这种转换?
f# - 从 Deedle 中提取行并转换为矩阵
我正在尝试从 Deedle 中提取一行Frame
并将其转换为 flat (1x4) DenseMatrix
。所有缺失值都已删除,并且 中的值Frame
是数字。
我的代码:
产生错误:
错误 FS0192:内部错误:convMethodRef:无法绑定到方法
有趣的是还要注意:
产生相同的错误。
我已使用 .Net 4.5.50709 更新到 11.0.061030.00(更新 4),但仍然面临同样的问题。
c# - MathNET 矩阵转换
我最近开始使用 MathNET 库,它很棒。我正在大量使用矩阵和向量。该库运行良好,但我发现我必须一直使用强制转换;这方面的一个例子是:
或者
为什么我必须使用 ( (DenseMatrix)
/ (DenseVector)
) 进行投射,有没有办法为每个操作都这样做?
c# - SVD 是否包含在 MathNet.Numerics x86 中?
我需要计算密集矩阵的奇异值分解,但它似乎没有包含在我正在使用的包中:MathNet.Numerics x86 v2.4.0.26
从 Nuget 包管理器下载。
我正在引用这个问题Svd recomposition..
链接的答案中包含的语法是:
我正在寻找一个使用 MathNet.Numerics x86 库生成 DenseMatrix SVD 的简单示例。
不幸的是,该方法inverse()
只是返回 NaN,所以我希望使用奇异值分解来近似逆。
c# - 求解约束结果的最小二乘矩阵
我有一个矩形矩阵,因此:
1, 3, 2, 4, n..
4, 2, 1, 5, n..
n..
以及一个向量:
1, 2, 5, 6, 7, n..
我需要求解矩阵中所有列的最小二乘方程,但我想限制结果,使所有答案都大于零。
我已经添加了 Math.NET 包并达到了
matrix.QR().Solve(...
大概有一些方法可以迭代地解决这个问题,但似乎没有一种方法可以指定该Solve
方法的约束/条件,而且我不确定我应该使用哪些其他方法。
部分代码添加如下:
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 中可用。有什么建议吗?或者也许我不应该依赖这个库,而标准是不同的?