[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[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
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?57033>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/