[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #57033] Replace CXSPARSE with SPQR
From: |
Markus Mützel |
Subject: |
[Octave-bug-tracker] [bug #57033] Replace CXSPARSE with SPQR |
Date: |
Sun, 13 Oct 2019 11:14:43 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0 |
Follow-up Comment #5, bug #57033 (project octave):
Thanks, Rik.
The attached patch adds a test for -lspqr to configure. However, I don't know
how to check for a function from a template. Instead I checked for the C
function "SuiteSparseQR_C" which happens to live in the same library.
Also some more logic could probably be added to make sure that we don't link
to CXSparse in case SPQR can be used. (If this is what we want to do.)
There is a comment in configure.ac that the order of the suitesparse flags
matters on some systems. The current order works on my system (Ubuntu). I
don't know what the "correct" order is though.
The patch applies on top of the patch from comment #0. Feel free to merge the
patches if you want to.
During compilation, I see a few shadowed declaration warnings:
../liboctave/numeric/sparse-qr.cc: In member function ‘SPARSE_T
octave::math::sparse_qr<SPARSE_T>::sparse_qr_rep::R(bool) const [with SPARSE_T
= SparseMatrix]’:
../liboctave/numeric/sparse-qr.cc:371:59: warning: declaration of ‘econ’
shadows a member of ‘octave::math::sparse_qr<SparseMatrix>::sparse_qr_rep’
[-Wshadow]
sparse_qr<SparseMatrix>::sparse_qr_rep::R (bool econ) const
^~~~~
../liboctave/numeric/sparse-qr.cc:130:23: note: shadowed declaration is here
octave_idx_type econ;
^~~~
../liboctave/numeric/sparse-qr.cc: In member function ‘RET_T
octave::math::sparse_qr<SPARSE_T>::sparse_qr_rep::wide_solve(const RHS_T&,
octave_idx_type&) const [with RHS_T = SparseMatrix; RET_T = SparseMatrix;
SPARSE_T = SparseMatrix; octave_idx_type = long int]’:
../liboctave/numeric/sparse-qr.cc:1059:23: warning: declaration of ‘S’
shadows a member of ‘octave::math::sparse_qr<SparseMatrix>::sparse_qr_rep’
[-Wshadow]
cholmod_sparse *S;
^
../liboctave/numeric/sparse-qr.cc:132:57: note: shadowed declaration is here
typename cxsparse_types<SPARSE_T>::symbolic_type *S;
^
../liboctave/numeric/sparse-qr.cc: In member function ‘SPARSE_T
octave::math::sparse_qr<SPARSE_T>::sparse_qr_rep::R(bool) const [with SPARSE_T
= SparseComplexMatrix]’:
../liboctave/numeric/sparse-qr.cc:1542:66: warning: declaration of ‘econ’
shadows a member of
‘octave::math::sparse_qr<SparseComplexMatrix>::sparse_qr_rep’ [-Wshadow]
sparse_qr<SparseComplexMatrix>::sparse_qr_rep::R (bool econ) const
^~~~~
../liboctave/numeric/sparse-qr.cc:130:23: note: shadowed declaration is here
octave_idx_type econ;
^~~~
The tests from the .zip file also produce some results and don't crash for me.
I'm also not sure how to interpret the results though.
I'll try to cross-build for Windows next.
(file #47661)
_______________________________________________________
Additional Item Attachment:
File name: bug57033_spqr_configure.patch Size:3 KB
<https://savannah.gnu.org/file/bug57033_spqr_configure.patch?file_id=47661>
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?57033>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/