ETH HomeD-MATH Home

Home
Teaching
Students
Software
Lyapunov equations
QR updates
Publications
CV

Purpose

To update a QR factorization of a matrix when additional rows are added to the matrix. The software provided below may only be used for academic purposes. It is not tested thoroughly and should be understood as research code. Please contact me before intending to include this software in academic production code or commercial libraries.

Block algorithms for updating QR factorizations

file dbqru.f   (requires subroutines dbqru_appq.f, dbqru_larf.f,
                                     dbqru_larfb.f, dbqru_larft.f)
Updates a real QR factorization.

Example routine: testdbqru.f
Example data:    testdbqru.dat    testdbqru.res
Timing routine:  timdbqru.f

file zbqru.f   (requires subroutines dbqru_appq.f, zaxpyc.f, zbqru_larf.f,
                                     zbqru_larfb.f, zbqru_larft.f)
Updates a complex QR factorization.

Example routine: testzbqru.f
Example data:    testzbqru.dat    testzbqru.res
Timing routine:  timzbqru.f

tar ball blockqrupdate.tar.gz
Contains all files listed above.

Warning: To compile any of the files above you need BLAS and LAPACK.
Usually, the LAPACK routines DLARAN and DLARND are not included in
distributions of LAPACK and you might have to invoke them explicitly.

Documentation

Section 2.3.2 in S. Hammarling and C. Lucas. Updating the QR factorization and the least squares problem. November 2008.

D. Kressner. A note on using compact WY representations for updating QR decompositions. March 2009.