|
qrupdate-ng 1.2.0
|
A Library for Fast Updating of QR, Cholesky, and LU Decompositions
Version: 1.2.0 (2026-07-16)
The library supports the follwoing matrix decompositions
See QR Decompositions for details.
This following operations are supported:
QR rank-1 update (qr1up)
Updates the QR factorization after an additive rank-1 update to the original matrix. Works for full and economized factorization.
QR column insert (qrinc)
Updates the QR factorization after an inserting a column to the original matrix. Works for full and economized factorization.
QR column delete (qrdec)
Updates the QR factorization after an deleting a column from the original matrix. Works for full and economized factorization.
QR column shift (qrshc)
Updates the QR factorization after a circular shift of columns in the original matrix. Works for full and economized factorization.
QR row insert (qrinr)
Updates the QR factorization after an inserting a row to the original matrix. Works for full factorization only.
QR row delete (qrder)
Updates the QR factorization after an deleting a row from the original matrix. Works for full factorization only.
See Cholesky Decompositions for details.
This following operations are supported:
Cholesky rank-1 update (ch1up)
Updates the Cholesky factorization after positive rank-1 update.
Cholesky rank-1 downdate (ch1dn)
Updates the Cholesky factorization after positive rank-1 downdate.
Cholesky symmetric insert (chinx)
Updates the Cholesky factorization after a symmetric column/row insertion.
Cholesky symmetric insert (chdex)
Updates the Cholesky factorization after a symmetric column/row deletion.
Cholesky symmetric shift (chshx)
Updates the Cholesky factorization after a symmetric column/row left/right circular shift.
See LU Decompositions for details.
This following operations are supported:
LU rank-1 update (lu1up)
Updates the LU factorization after a rank-1 update. No pivoting available. Faster than lup1up, but less stable.
LU pivoted rank-1 update (lup1up)
Updates a row-pivoted LUP factorization after a rank-1 update. Also updates the row permutation matrix. Slower than lu1up, but more stable.
See the INSTALL file for installation details. Consult individual routines for documentation.
If you are using the Fortran Package Manager FPM you can add qrupdate-ng as dependency by including the following in your fpm.toml:
qrupdate-ng can be used with CMake's FetchContent mechanism. Therefore just include
and link your targets agains qrupdate::qrupdate.
CPM is a package manager on top of CMake's FetchContent mechnism. It simiplies the usage of FetchContent. Just include CPM and add qrupdate-ng using
and link your targets agains qrupdate::qrupdate.
qrupdate-ng is a modernized and maintained fork of:
qrupdate (Version 1.1.2)
For a list of original authors see CHANGELOG file.
License: GPL-3.0-or-later (opensource.org/licenses/GPL-3.0) See LICENSE for details.