QR Factorization
Factor arbitrary matrix into unitary and upper triangular components
Libraries:
DSP System Toolbox /
Math Functions /
Matrices and Linear Algebra /
Matrix Factorizations
Description
The QR Factorization block uses a sequence of Householder transformations to triangularize the input matrix A.
QR factorization is an important tool for solving linear systems of equations because of good error propagation properties and the invertibility of unitary matrices:
Q
^{ –1} = Q
'
where Q'
is the complex conjugate transpose of
Q.
Unlike LU and Cholesky factorizations, the matrix A does not need to be square for QR factorization. However, QR factorization requires twice as many operations as LU Factorization (Gaussian elimination).
For more details on how the block performs the QR factorization, see Algorithms.
Examples
Ports
Input
Output
Parameters
Block Characteristics
Data Types 

Direct Feedthrough 

Multidimensional Signals 

VariableSize Signals 

ZeroCrossing Detection 

Algorithms
The block factors a column permutation of the MbyN input matrix A as A_{ e } = QR.
The columnpivoted matrix A_{e} contains the columns of A permuted as indicated by the contents of lengthN permutation vector E.
Here is the equivalent MATLAB code.
A_{e} = A(:,E)
The block selects a column permutation vector E which ensures that the diagonal elements of matrix R are arranged in order of decreasing magnitude.
$$\left{r}_{i+1,j+1}\right<\left{r}_{i,j}\right\text{}i=j$$
The size of matrices Q and R depends on the setting of the Output size parameter:
When you select
Economy
for the output size, Q is an Mbymin
(M,N) unitary matrix, and R is amin
(M,N)byN uppertriangular matrix.[Q R E] = qr(A,0) % Equivalent MATLAB code
When you select
Full
for the output size, Q is an MbyM unitary matrix, and R is a MbyN uppertriangular matrix.[Q R E] = qr(A) % Equivalent MATLAB code
References
[1] Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.
Extended Capabilities
Version History
Introduced before R2006a