- Manuel Scilab
- Algèbre Lineaire
- bdiag
- chfact
- chol
- chsolve
- cmb_lin
- coff
- colcomp
- companion
- cond
- det
- expm
- fullrf
- fullrfk
- givens
- glever
- gspec
- hess
- householder
- inv
- kernel
- linsolve
- lu
- lyap
- nlev
- orth
- pbig
- pinv
- polar
- proj
- qr
- range
- rank
- rcond
- rowcomp
- spec
- sqroot
- squeeze
- sva
- svd
- trace
- aff2ab
- balanc
- classmarkov
- eigenmarkov
- ereduc
- fstair
- genmarkov
- gschur
- im_inv
- kroneck
- lsq
- pencan
- penlaur
- projspec
- psmall
- quaskro
- randpencil
- rankqr
- rowshuff
- rref
- schur
- spaninter
- spanplus
- spantwo
- sylv
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
qr
factorisation QR
Séquence d'appel
[Q,R]=qr(X [,"e"]) [Q,R,E]=qr(X [,"e"]) [Q,R,rk,E]=qr(X [,tol])
Paramètres
- X
matrice réelle ou complexe
- tol
nombre réel positif
- Q
matrice carrée unitaire
- R
matrice de même dimensions que
X
- E
matrice de permutation
- rk
entier (rang de
X
)
Description
[Q,R] = qr(X)
renvoie une matrice triangulaire supérieure
R
de même
dimensions que X
et une matrice carrée othogonale
(unitaire dans le cas complexe) Q
telles que
X = Q*R
.
[Q,R] = qr(X,"e")
renvoie une decomposition de
taille réduite: si X
est une matrice m x
n
avec m > n
alors seulement les
n
premières colonnes de Q
sont calculées
ainsi que les n
premières lignes de
R
.
Il découle de Q*R = X
que la
k
ième colonne de X
peut s'exprimer comme
une combinaison linéaire des k
premieres colonnes de
Q
(avec les coefficients R(1,k), ...,
R(k,k)
. Les k
premieres colonnes de
Q
forment une base orthogonale du sous espace généré
par les Les k
premieres colonnes de
X
. Si la colonne k
de X
est
une combinaison linéaire des p
premiéres colonnes de
X
alors les éléments R(p+1,k), ...,
R(k,k)
sont nuls. Dans cette situation R
est
une matrice trapézoidale supérieure. Si X
est de rang
rk
alors les lignes R(rk+1,:), R(rk+2,:),
...
sont nulles.
[Q,R,E] = qr(X)
renvoie une matrice de permutations (de
colonnes) E
,
une matrice triangulaire supérieure R
dont les
éléments diagonaux sont classés par ordre décroissant et une
matrice unitaire Q
telles que X*E = Q*R
.
si rk
est le rang de X
les
rk
premiers éléménts diagonaux de R
sont
tous non nuls. [Q,R,E] = qr(X,"e")
renvoie une decomposition de
taille réduite: si X
est une matrice m x
n
avec m > n
alors seulement les
n
premières colonnes de Q
sont calculées
ainsi que les n
premières lignes de
R
.
[Q,R,rk,E] = qr(X [,tol])
renvoie de plus
rk
=rang estimé de X
.
Plus précisément,
rk
est le nombre d'éléments diagonaux de
R
supérieurs à tol
. La valeur par défaut
de tol
est R(1,1)*%eps*max(size(R))
renvoie rk
= rang estimé de X
. Ici,
rk
est le nombre d'éléments diagonaux de R
supérieurs à R(1,1)*%eps*max(size(R)
.
Exemples
// QR factorization, generic case // X is tall (full rank) X=rand(5,2);[Q,R]=qr(X); [Q'*X R] //X is fat (full rank) X=rand(2,3);[Q,R]=qr(X); [Q'*X R] //Column 4 of X is a linear combination of columns 1 and 2: X=rand(8,5);X(:,4)=X(:,1)+X(:,2); [Q,R]=qr(X); R, R(:,4) //X has rank 2, rows 3 to $ of R are zero: X=rand(8,2)*rand(2,5);[Q,R]=qr(X); R //Evaluating the rank rk: column pivoting ==> rk first //diagonal entries of R are non zero : A=rand(5,2)*rand(2,5); [Q,R,rk,E] = qr(A,1.d-10); norm(Q'*A-R) svd([A,Q(:,1:rk)]) //span(A) =span(Q(:,1:rk))
Fonctions Utilisées
La décomposition QR est basée sur les routines Lapack DGEQRF, DGEQPF, DORGQR pour les matrices réelles et ZGEQRF, ZGEQPF, ZORGQR pour le cas complexe.
<< proj | Algèbre Lineaire | range >> |