Please note that the recommended version of Scilab is 2026.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
            kiè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))
Voir aussi
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.
| Report an issue | ||
| << pinv | Linear Equations | aff2ab >> |