SparseArrays.jl icon indicating copy to clipboard operation
SparseArrays.jl copied to clipboard

implement dmperm

Open thorek1 opened this issue 3 years ago • 8 comments

Hi,

it would be nice to have dmperm implemented as well.

I coudn't find a julia implementation and am using a python workaround for now.

thorek1 avatar Feb 03 '22 09:02 thorek1

We don't ship CSparse unfortunately, which would make this easy. A contribution would be welcome. The code can probably be translated - and being LGPL, there is no licensing concern.

Do any of the other suitesparse libraries have a dmperm in them?

ViralBShah avatar Feb 10 '22 18:02 ViralBShah

No not as far as I can tell. I can translate in another package? It's probably also in his textbook, in which case I may be able to do one from scratch (I have several others I need to do).

rayegun avatar Feb 10 '22 19:02 rayegun

I'll also wrap CSparse and CXSparse in another package just to provide that functionality in the meantime.

rayegun avatar Feb 10 '22 20:02 rayegun

doesn't CSparse use zero based indexing? so any call to CSparse needs to be converted to a 0 based indexing?

SobhanMP avatar Jun 26 '22 15:06 SobhanMP

All of our C libs are like this.

I have it wrapped, I'll release it Monday or Tuesday.

rayegun avatar Jun 26 '22 16:06 rayegun

Whenever we have the wrapped packages, we should note them in the README for this package.

ViralBShah avatar Jul 12 '22 21:07 ViralBShah

We already ship BTF from SuiteSparse. So the solution outlined in https://discourse.julialang.org/t/block-triangular-form-permutation/818 should be usable here.

PR anyone?

ViralBShah avatar Aug 10 '22 02:08 ViralBShah

With respect to BTF I have a BlockTriangularForm.jl about to be released. It's a direct translation of the SuiteSparse version, just writing a few more tests.

For dmperm I was hitting some weird issues with CSparse, I will release the wrapper this weekend

rayegun avatar Aug 10 '22 04:08 rayegun