Hi Sam,
I'm not sure about the IDR implementation in MAGMA -- someone else may know more about its history -- but I wanted to mention that
we are currently in the process of deprecating a lot of MAGMA-sparse. If possible, we encourage interested users to check out the
Ginkgo library (
https://ginkgo-project.github.io). Ginkgo was started by Hartwig Anzt -- the main driving force behind MAGMA-sparse --
but it is under much more active development at this point than MAGMA-sparse (not to be confused with the main MAGMA library, which
is focused on dense LA). Ginkgo has an IDR solver for general matrices (
https://ginkgo-project.github.io/ginkgo-generated-documentation/doc/develop/classgko_1_1solver_1_1Idr.html).
Ginkgo does require C++, however (or writing your own C wrappers) -- not sure if that will work for you.
That being said, I'm not sure why they are missing from the documentation, but I think the magma_*idr and magma_*pidr (with preconditioner) routines are supposed to work
with general matrices (vs *idr_merge). It also seems to depend on whether you are doing real or complex matrices -- I just did a quick test with a non-symmetric matrix,
and magma_zpidr worked, while magma_zpidr_merge didn't -- but magma_dpidr_merge *did* work.
-- Natalie