QR decomposition with constrained diagonal phases (Lapack interface)

The code computes the QR decomposition with specific diagonal phases.
572 téléchargements
Mise à jour 22 sept. 2014

Afficher la licence

Matlab provides QR decomposition routines based on Lapack subroutines ZGEQRF/ZGEQPF and ZUNGQR. Such routines make the diagonal entries be real.
For general diagonal conditions, this code 'qr_lapack' supports that any given diagonal complex phases are allowed in QR decomposition such as all non-negative, the same as in the original matrix A, or any others. For example,
DIAG_VEC = diag(A);
[Q, R] = qr_lapack (A, ECON, DIAG_VEC);
This code accesses Lapack routines directly, not using matlab command qr. After QR decomposion based on Lapack, Q and R are recomputed to have specific phases of the diagonal entries of R.
There are other sample codes for specific tests:
* qr_diag_pos.m: QR making diagonal positive real.
* qr_diag_phase.m: QR making the same diagonal phases as in A.
* qr_diag_arg.m: another implementation using argment measure.

Note that qr_lapack.m uses the code in qr_diag_phase.m for control the diagonal phases.

qrd.m file provides options to select user subroutines among qr_lapack, qr_diag_pos, qr or others. Now we can use:
[Q, R] = qrd (A, ECON, DIAG_VEC);

test_qrd.m is for usage examples.

For fat matrices, it computes the LQ decomposition of A = L*Q, where A' = Q'*L' and [L,Q] = qr_lapack (A).

Citation pour cette source

Sung-Eun Jo (2026). QR decomposition with constrained diagonal phases (Lapack interface) (https://fr.mathworks.com/matlabcentral/fileexchange/47875-qr-decomposition-with-constrained-diagonal-phases-lapack-interface), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2013a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Help Center et MATLAB Answers
Version Publié le Notes de version
1.3.0.0

revised qr_diag_arg.m by using sind and cosd functions.

1.2.0.0

updated comments.

1.1.0.0

added LQ decomposition for fat matrices.
added qrd.m for multiple routine options.
added test_qrd.m for usage exmples for qrd.m

1.0.0.0