How to work with and load/save sparse compressed matrices? (numir, mir.sparse)

9il ilyayaroshenko at
Mon Oct 5 03:21:22 UTC 2020

On Tuesday, 29 September 2020 at 04:52:11 UTC, Shaleen Chhabra 
> I wish to use load / save for sparse compressed matrices using 
> mir.
>     import mir.sparse;
>     auto sp = sparse!double(5, 8);
>     auto crs = sp.compress;
> How can I save/load sparse compressed arrays in `npz` format?
> (format: ``csc``, ``csr``, ``bsr``, ``dia`` or coo``)

Mir doesn't have I/O support for sparse tensors for now.

> how can i again decompress the compressed sparse array to dense?

import mir.ndslice.allocation: slice;

// for DOK:
auto dense = slice(sp);

For crs you may need to iterate with byCoordinateValue
and initialize the dense slice.

To estimate the raw length one may need to iterate all rows and 
get the maximum of the last element indices.

> Thanks
> Shaleen

More information about the Digitalmars-d-learn mailing list