Sparse Multidimensional Array or Matrix Libraries in .NET

.net, .net-3.5, directed-graph, graph, sparse-matrix

Solution

I would recommend dnAnalytics. It supports sparse matrices, and has many options including robust solvers, support for IMKL, etc.

Problem

I have a need for a sparse matrix in up to 4 dimensions in a .NET application. The size of the matrix (if represented as a .NET Array) would potentially top 400MB. The array is likely to be very sparse, and I need to be able to instantiate and dispose it very quickly (although that's not a no go). I'm therefore after a sparse array library, consumable from .NET 3.5 (which I believe rules out using BGL from Managed C++?) that is as dense as possible as I can get and the supports fast random access indexing. It must be serializable to some dense format that can be inexpensively cached. Does such a thing exist (yet) for .NET? FOSS? Mature? TIA Andrew Matthews

Original source