replacement of CXSPARSE by SPQR

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

replacement of CXSPARSE by SPQR

Simon Hau
Hello, 

I have a question concerning the Open-Projects-List (https://wiki.octave.org/Projects). Is there still a need for replacing CXSPARSE by SPQR? 

Regards

Simon
Reply | Threaded
Open this post in threaded view
|

Re: replacement of CXSPARSE by SPQR

siko1056
On 7/19/19 7:23 AM, Simon Hau wrote:
> Hello, 
>
> I have a question concerning the Open-Projects-List
> (https://wiki.octave.org/Projects). Is there still a need for replacing
> CXSPARSE by SPQR? 
>
> Regards
>
> Simon

Dear Simon,

AFAIK Octaves development branch still uses CXSPARSE for the
QR-factorization of sparse matrices:


https://hg.savannah.gnu.org/hgweb/octave/file/378d3c91f85b/liboctave/numeric/sparse-qr.cc

Do you want to work on this project?

Kai

Reply | Threaded
Open this post in threaded view
|

Re: replacement of CXSPARSE by SPQR

Simon Hau
Hello Kai,

yes, I would like to work on this project. I replaced the CXSPARSE function calls in the sparse_qr_rep-constructor and in the R- and Q-methods by the corresponding SPQR function calls (for the REAL-case). I tested those changes by starting Octave with the run-octave-script and calling [Q,R] = qr(A). It seems to work. Nevertheless I am newbie to C++ and I have only a basic undestanding of (sparse) numerical linear algebra. So I can't give any guaratees about the time I will need to replace all CXSPARSE functionality. Maybe I will have to ask some questions in this mailing list if I don't know what to do next.

Simon

Am Fr., 19. Juli 2019 um 07:37 Uhr schrieb Kai Torben Ohlhus <[hidden email]>:
On 7/19/19 7:23 AM, Simon Hau wrote:
> Hello, 
>
> I have a question concerning the Open-Projects-List
> (https://wiki.octave.org/Projects). Is there still a need for replacing
> CXSPARSE by SPQR? 
>
> Regards
>
> Simon

Dear Simon,

AFAIK Octaves development branch still uses CXSPARSE for the
QR-factorization of sparse matrices:


https://hg.savannah.gnu.org/hgweb/octave/file/378d3c91f85b/liboctave/numeric/sparse-qr.cc

Do you want to work on this project?

Kai
Reply | Threaded
Open this post in threaded view
|

Re: replacement of CXSPARSE by SPQR

Marco Caliari-4
Hi Simon,

have you seen

https://savannah.gnu.org/bugs/?51950

Does your code fix that problem?

Marco


On Fri, 19 Jul 2019 12:32:41 +0200
Simon Hau <[hidden email]> wrote:

> Hello Kai,
>
> yes, I would like to work on this project. I replaced the CXSPARSE
> function calls in the sparse_qr_rep-constructor and in the R- and
> Q-methods by the corresponding SPQR function calls (for the
> REAL-case). I tested those changes by starting Octave with the
> run-octave-script and calling [Q,R] = qr(A). It seems to work.
> Nevertheless I am newbie to C++ and I have only a basic undestanding
> of (sparse) numerical linear algebra. So I can't give any guaratees
> about the time I will need to replace all CXSPARSE functionality.
> Maybe I will have to ask some questions in this mailing list if I
> don't know what to do next.
>
> Simon
>
> Am Fr., 19. Juli 2019 um 07:37 Uhr schrieb Kai Torben Ohlhus <
> [hidden email]>:  
>
> > On 7/19/19 7:23 AM, Simon Hau wrote:  
> > > Hello,
> > >
> > > I have a question concerning the Open-Projects-List
> > > (https://wiki.octave.org/Projects). Is there still a need for
> > > replacing CXSPARSE by SPQR?
> > >
> > > Regards
> > >
> > > Simon  
> >
> > Dear Simon,
> >
> > AFAIK Octaves development branch still uses CXSPARSE for the
> > QR-factorization of sparse matrices:
> >
> >
> >
> > https://hg.savannah.gnu.org/hgweb/octave/file/378d3c91f85b/liboctave/numeric/sparse-qr.cc
> >
> > Do you want to work on this project?
> >
> > Kai
> >  



--
Dr. Marco Caliari
Dipartimento di Informatica
Universita` degli Studi di Verona
Secondo piano, 2.03
Ca' Vignal 2
Strada le Grazie 15
37134 VERONA

tel: +39 045 802 7904
fax: +39 045 802 7068

Le informazioni trasmesse sono intese soltanto per la persona o l'ente
cui sono indirizzate e possono avere contenuto confidenziale e/o
riservato. La visione, la trasmissione, la diffusione o altro uso delle
informazioni di cui sopra e` proibita a chiunque ad esclusione del
legittimo destinatario. Se avete ricevuto queste informazioni per
errore, siete pregati di contattare il mittente e cancellare il
materiale ricevuto.

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you
received this in error, please contact the sender and delete the
material from any computer.

Reply | Threaded
Open this post in threaded view
|

Re: replacement of CXSPARSE by SPQR

Simon Hau
Hello Marco,

thank you for the link. I tested two of the code examples in the bug report, see attachment
sparse_qr_test.m. They both worked without errors. I also created a patch with my current changes (see attachement test_spqr.patch).

Some remarks:
*) I changed the methods Q and R only for the REAL-case.
*) Output E is a permutation vector. If E is considered as column permutation matrix, Q * R = A * E holds.
*) This is only a test patch. There are many issues in the patch that I will have to improve or reconsider. E.g. error handling, handling of econ parameter, handling of order parameter (currently I chose SPQR_ORDERING_DEFAULT) etc.
*) In order to link the executable to the spqr-library, I exported the shell variable "LIBS=-lspqr" before calling the configure script. As a result the Makefile-variable LIBOCTAVE_LINK_DEPS contains "-lspqr". On my os, Ubuntu 18.04, libspqr.so is found in /usr/lib/x86_64-linux-gnu/ and it is part of the package libsuitesparse-dev. 

Simon

Am Fr., 19. Juli 2019 um 13:37 Uhr schrieb Marco Caliari <[hidden email]>:
Hi Simon,

have you seen

https://savannah.gnu.org/bugs/?51950

Does your code fix that problem?

Marco


On Fri, 19 Jul 2019 12:32:41 +0200
Simon Hau <[hidden email]> wrote:

> Hello Kai,
>
> yes, I would like to work on this project. I replaced the CXSPARSE
> function calls in the sparse_qr_rep-constructor and in the R- and
> Q-methods by the corresponding SPQR function calls (for the
> REAL-case). I tested those changes by starting Octave with the
> run-octave-script and calling [Q,R] = qr(A). It seems to work.
> Nevertheless I am newbie to C++ and I have only a basic undestanding
> of (sparse) numerical linear algebra. So I can't give any guaratees
> about the time I will need to replace all CXSPARSE functionality.
> Maybe I will have to ask some questions in this mailing list if I
> don't know what to do next.
>
> Simon
>
> Am Fr., 19. Juli 2019 um 07:37 Uhr schrieb Kai Torben Ohlhus <
> [hidden email]>: 
>
> > On 7/19/19 7:23 AM, Simon Hau wrote: 
> > > Hello,
> > >
> > > I have a question concerning the Open-Projects-List
> > > (https://wiki.octave.org/Projects). Is there still a need for
> > > replacing CXSPARSE by SPQR?
> > >
> > > Regards
> > >
> > > Simon 
> >
> > Dear Simon,
> >
> > AFAIK Octaves development branch still uses CXSPARSE for the
> > QR-factorization of sparse matrices:
> >
> >
> >
> > https://hg.savannah.gnu.org/hgweb/octave/file/378d3c91f85b/liboctave/numeric/sparse-qr.cc
> >
> > Do you want to work on this project?
> >
> > Kai
> > 



--
Dr. Marco Caliari
Dipartimento di Informatica
Universita` degli Studi di Verona
Secondo piano, 2.03
Ca' Vignal 2
Strada le Grazie 15
37134 VERONA

tel: +39 045 802 7904
fax: +39 045 802 7068

Le informazioni trasmesse sono intese soltanto per la persona o l'ente
cui sono indirizzate e possono avere contenuto confidenziale e/o
riservato. La visione, la trasmissione, la diffusione o altro uso delle
informazioni di cui sopra e` proibita a chiunque ad esclusione del
legittimo destinatario. Se avete ricevuto queste informazioni per
errore, siete pregati di contattare il mittente e cancellare il
materiale ricevuto.

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you
received this in error, please contact the sender and delete the
material from any computer.

test_spqr.patch (14K) Download Attachment
sparse_qr_test.m (4K) Download Attachment