JuliaSmoothOptimizers / MUMPS.jl

A Julia Interface to MUMPS
Other
42 stars 14 forks source link

Initial move to MUMPS native C-API #47

Closed wrs28 closed 2 years ago

wrs28 commented 5 years ago

Per Issue #46, here is a first pass at upgrading MUMPS.jl to using the MUMS C-API. See commit comments for details, but essentially this PR keeps both the original code and ports MUMPS3.jl. For now there are two include lines in MUMPS.jl which govern which set of codes is used. It is easy for a developer to toggle between the two for testing.

The exported methods of this PR have the same signature as the original codes, and no new methods are exported. All tests pass with both codes, with one test being slightly modified as noted in the commit comment, as does the example in examples/mumps_mpi.jl, again, with suitable updating. This is so that anyone using MUMPS.jl will experience minimal changes.

As it stands, sparse rhs is now supported. Other features, such as computing and accessing the Schur complement are implemented inside the code, but not exported.

coveralls commented 5 years ago

Coverage Status

Coverage decreased (-70.8%) to 15.658% when pulling cf8a18d9762a1916fc750ad6e7bb23a181fce673 on wrs28:master into 09718993161554e70ecaba78884b9e47c6bc6a82 on JuliaSmoothOptimizers:master.

dpo commented 5 years ago

Many, many thanks for this. I need a little time to review and test but will do asap!

wrs28 commented 5 years ago

Do take your time. I'm sure there is something that will break that I missed, and it's important to get it right.

wrs28 commented 4 years ago

@dpo have you had a chance to look at this? There’s probably some updating to do to make compatible with Julia 1, but it can probably wait till the initial port is done

dpo commented 4 years ago

@wrs28 Sorry for the long delay. I've been overloaded. I really do want to merge this but it'll have to wait until January.

dpo commented 2 years ago

Merged in #64.