qr
qr(A [,pivot=Val{false}][;thin=true]) -> Q, R, [p]
Compute the (pivoted) QR factorization of A
such that either A = Q*R
or A[:,p] = Q*R
. Also see qrfact
. The default is to compute a thin factorization. Note that R
is not extended with zeros when the full Q
is requested.
Examples
julia> A = [1 2 3; 4 5 6; 7 8 9]
3×3 Array{Int64,2}:
1 2 3
4 5 6
7 8 9
julia> qr(A)
LinearAlgebra.QRCompactWY{Float64,Array{Float64,2}}
Q factor:
3×3 LinearAlgebra.QRCompactWYQ{Float64,Array{Float64,2}}:
-0.123091 0.904534 -0.408248
-0.492365 0.301511 0.816497
-0.861638 -0.301511 -0.408248
R factor:
3×3 Array{Float64,2}:
-8.12404 -9.60114 -11.0782
0.0 0.904534 1.80907
0.0 0.0 -1.66533e-15
julia> qr(A, Val{true})
LinearAlgebra.QRPivoted{Float64,Array{Float64,2}}
Q factor:
3×3 LinearAlgebra.QRPivotedQ{Float64,Array{Float64,2}}:
-0.123091 0.904534 -0.408248
-0.492365 0.301511 0.816497
-0.861638 -0.301511 -0.408248
R factor:
3×3 Array{Float64,2}:
-8.12404 -9.60114 -11.0782
0.0 0.904534 1.80907
0.0 0.0 -1.66533e-15
permutation:
3-element Array{Int64,1}:
3
2
1
julia> qr(A, pivot=Val{true}, thin=false)
LinearAlgebra.QRPivoted{Float64,Array{Float64,2}}
Q factor:
3×3 LinearAlgebra.QRPivotedQ{Float64,Array{Float64,2}}:
-0.123091 0.904534 -0.408248
-0.492365 0.301511 0.816497
-0.861638 -0.301511 -0.408248
R factor:
3×3 Array{Float64,2}:
-8.12404 -9.60114 -11.0782
0.0 0.904534 1.80907
0.0 0.0 -1.66533e-15
permutation:
3-element Array{Int64,1}:
3
2
1
The qr
function computes the QR factorization of a matrix A
. It returns the factors Q
and R
such that either A = Q*R
or A[:,p] = Q*R
, depending on the arguments passed to the function.
A
: The matrix for which the QR factorization is computed.pivot
: (Optional) A boolean value indicating whether pivoting should be performed. Default isVal{false}
.thin
: (Optional) A boolean value indicating whether a thin factorization should be computed. Default istrue
.
If pivot
is set to Val{true}
, a pivoted QR factorization is computed, and the permutation vector is returned as well.
If thin
is set to false
, a full factorization is computed, and Q
is a square matrix with orthonormal columns.
Note that R
is not extended with zeros when the full Q
is requested.
It's important to note that the actual values in the factorization examples may differ due to floating-point arithmetic.
See Also
User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.