octave-bug-tracker
[Top][All Lists]

## [Octave-bug-tracker] [bug #57033] Replace CXSPARSE with SPQR

 From: Simon Subject: [Octave-bug-tracker] [bug #57033] Replace CXSPARSE with SPQR Date: Fri, 18 Oct 2019 17:16:31 -0400 (EDT) User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36

```Follow-up Comment #6, bug #57033 (project octave):

Hello,
here are some additional notes on the test script.

Let A be a sparse m x n matrix. The test script is divided into four
sections.
In the first section the QR-factorization [Q,R,E] = qr(A) is calculated. E is
an array of size n that represents a (fill-reducing) column permutation of A.
The script creates a permutation matrix P from E (with Q*R = A*P) and checks
whether Q*R*P' - A is small.
In the second section some overdetermined systems A*x = b (m > n) are solved
by calling x = qr(A,b). The script prints norm (A*x - b,2). Usually the values
of norm(A*x - b,2) are between 1.0 and 6.0. The n columns of A span a subspace
of the m-dimensional vector space. If b lies outside this subspace, there is
no x with A * x = b. Only an approximation A*x of b can be calculated.
In the third section some underdetermined systems A*x = b (m < n) are solved
by calling x = qr(A,b). The script prints norm(A*x - b,2). Usually the values
of norm(A*x - b,2) have the order of magnitude -16. If m < n, there is a high
chance that a column-subset of A spans the complete m-dimensional vector
space. In this case, there exists x with A*x = b and norm(A*x - b,2) is very
small. If no such subset exists, the value of norm (A*x - b,2) is large (>
0.1).
The fourth section checks whether the QR-factorization for a dense A still
works.

Simon

_______________________________________________________

<https://savannah.gnu.org/bugs/?57033>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

```