首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Accord.NET中创建和使用稀疏矩阵

在Accord.NET中创建和使用稀疏矩阵
EN

Stack Overflow用户
提问于 2020-03-03 23:23:03
回答 1查看 237关注 0票数 0

如果有任何关于如何在Accord.NET或C#中生成稀疏矩阵的提示,而无需从头开始创建库,我将不胜感激。问题是,我想做一个大小为30k * 30k的矩阵来表示图的邻接矩阵,它几乎总是稀疏的。超过15000行或列后,以下代码将生成错误:

代码语言:javascript
运行
复制
var A = new double[n, n];

错误:数组维度超出了支持的范围。

ps。我知道Sparse Class,但从描述中可以看出,这个类只能用来生成稀疏向量,不能用来做矩阵。

如果可以生成稀疏矩阵,那么下一个直接的问题是,在线性代数运算中,是否可以将其视为正常矩阵,例如,在减去两个矩阵时,或者使用以下方法找到一个子矩阵:

代码语言:javascript
运行
复制
Accord.Math.Matrix.Get(A, IVI, BVI, B);
EN

回答 1

Stack Overflow用户

发布于 2020-03-05 19:47:36

30kx30k不是很多..

无论如何,你都可以通过Nuget下载这个MathNet。确切的稀疏矩阵从新MathNet.Numerics.LinearAlgebra.Double.SparseMatrix M= MathNet.Numerics.LinearAlgebra.Double.SparseMatrix(30000);这个Math.Net看起来很慢,雅阁在一些操作中更好,我不知道如何在雅阁做稀疏矩阵,我宁愿使用而不是MathNet。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60510437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档