Hi,
I'm not sure whether it's possible to access the reordering using the
builtin julia interface to the suitesparse library. If you have access to
the Pardiso solver (or MKL, which includes a version of Pardiso) you can do
so using the Pardiso.jl package. At some point there was an interface to
the MUMPS package that was aiming to expose the full MUMPS API (thus
allowing access to reordering/analysis phase of the solver) but I couldn't
find it using a quick google search. The two MUMPS julia interfaces I know
of off hand (https://github.com/JuliaSparse/MUMPS.jl and
https://github.com/JuliaSmoothOptimizers/MUMPS.jl) don't allow you to save
the results of the analysis phase but if you know a little Fortran (for the
JuliaSparse interface) or C (for the JuliaSmoothOptimizers version) you
could add that functionality and make a pr.
Also, fwiw, in my experience with both MUMPS and Pardiso on moderate
problem sizes (10^5, maybe 5 X 10^5 unknowns) the analysis phase is quite
quick and for some reason there's significant overhead associated with
calling the analysis and factorization phases of the solvers separately.
Enough overhead that it's been faster to make a new combined
analyze/factorize call for each new matrix rather than performing the
analysis once and then just calling factorize a bunch of times. That
experience comes from symmetric indefinite matrices.
Patrick
On Friday, July 8, 2016 at 1:40:45 AM UTC-7, Gabriel Goh wrote:
>
> Hey,
>
> I have a sequence of sparse matrix factorizations I need to do, each one a
> different matrix but with the same sparsity structure. Is there a way I can
> save the AMD (or any other) ordering that sparsesuite returns, it does not
> need to be recomputed each time?
>
> Thanks a lot for the help!
>
> Gabe
>