JQR/JRQ/JQL/JLQ factorizations

JQR/JRQ/JQL/JLQ factorizations of an array
249 Downloads
Updated 1 Apr 2021

JQR/JRQ/JQL/JLQ computes a J-orthogonal (or J-unitary, or hyperbolic) QR/RQ/QL/LQ factorization of the matrix A. For example, the JQR factorization decomposes the matrix A = Q*R for a given signature matrix J, where R is an upper triangular matrix with positive values on the diagonal, and Q is a J-orthogonal matrix with Q'*J*Q = J. The given signature matrix J must be a diagonal matrix with 1 or -1 on the main diagonal and zeros on all the subdiagonals.
Example code:
A = randn(10);
J = blkdiag(-eye(5),eye(5));
[Q,R,Jp] = jqr(A,J);
norm(A-Q*R)
norm(Jp - Q'*J*Q)

Cite As

Ivo Houtzager (2024). JQR/JRQ/JQL/JLQ factorizations (https://github.com/iwoodsawyer/hyperbolic/releases/tag/v1.4.1.1), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Linear Algebra in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.1.1

See release notes for this release on GitHub: https://github.com/iwoodsawyer/hyperbolic/releases/tag/v1.4.1.1

1.4.0.1

See release notes for this release on GitHub: https://github.com/iwoodsawyer/hyperbolic/releases/tag/v1.4.0.1

1.4.0.0

Fixes to prevent overflow/underflow
Small speed improvements

1.3.0.0

Small code improvements
Fix bug with sign returning zero for zero

1.2.0.0

Made the diagonal values of the returned R matrix positive.

1.1.0.0

Changed default tolerance to be based on frobenius norm for speed

1.0.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.