Dear all,
For the use of Prof. Tim Davis' SPQR library for QR-factorization of sparse matrices, i stumbled accross unresolved dependencies when linking with the ATLAS 3.10.1 lapack version.
The dependencies were:
dlarf_
dlarfg_
zlarf_
zlarfg_
Fortunately ATLAS has both functions available as src/lapack/ATL_larf.c and src/lapack/ATL_larfg.c so i went ahead and wrote a patch which added the fortran77 interfaces for these functions as well as the single precision counterparts.
The only catch was the passing of a TYPE scalar to ATL_larf.c from the f77 wrapper. It's a value in single/double precision, but a pointer in complex/zomplex precision.
I used an include macro to fix this. It's not that pretty but it works.
The dlarf_ and dlarfg_ functions work with SPQR, i haven't tested the other interfaces though.
Let me know what you guys think of it. I didn't bother changing the header files for credits/dates since this was a late-night quickie.
Thanks for the good work on ATLAS btw!
I just now saw this request, 2+ years after the fact :(
I certainly like to help other open source folks, and Tim's efforts in particular. If I don't answer such requests within a short time, please e-mail me.
I hadn't thought of folks needing to call larf/larfg outside QR, but I guess it make sense, and should be added. Do you guys still need it, and is there urgency?
Sorry,
Clint
Thanks for the reply. If there is any future pressing need for adding interfaces to atlas for other opensource numerical libraries, i'll drop you a line, though i don't expect this to happen soon.
There is no urgency whatsoever BTW. I simply added the patch for other folks running the atlas-SPQR combination. Since then i have adapted the patch for the current development branch and am using it in production.
Since SPQR only has double and complex-double support, i'm missing a test for slarf(g)/clarf(g). Also, about the scalar interface passing i wasn't sure if my method holds water. Finally i should test it with the latest versions of atlas and SPQR to make sure the patch is correct.
I can provide a patch for the current development branch and will test it with Tim's latest incarnation of SPQR but it will take a couple of weeks because holidays. Let me know how i can help ease the workload.
Frank