Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.2 - Français

Change language to:
English - 日本語 - Português

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Aide Scilab >> Algèbre Lineaire > qr

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

  • rank — rang
  • svd — décomposition en valeurs singulières
  • rowcomp — compression de lignes, image
  • colcomp — compression de colonnes, noyau

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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu May 12 11:44:50 CEST 2011