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
QR decomposição
Seqüência de Chamamento
[Q,R]=qr(X [,"e"]) [Q,R,E]=qr(X [,"e"]) [Q,R,rk,E]=qr(X [,tol])
Parâmetros
- X
- matriz de reais ou complexos 
- tol
- número real não-negativo 
- Q
- matriz quadrada ortogonal ou unitária 
- R
- matriz com as mesmas dimensões de - X
- E
- matriz de permutação 
- rk
- inteiro (posto QR de - X)
Descrição
- [Q,R] = qr(X)
- pproduz uma matriz triangular superior - Rde mesma dimensão que- Xe uma matriz ortogonal (unitária no caso de matriz de complexos)- Qtais que- X = Q*R.- [Q,R] = qr(X,"e")produz um "economia de tamanho": Se- Xé m-por-n com m > n, então, apenas as primeiras n colunas de- Qsão computadas assim como as primeiras n linhas de- R.- De - Q*R = X, segue que a k-ésima coluna da matriz- X, é expressa como combinação linear das k primeiras colunas de- Q(com coeficientes- R(1,k), ..., R(k,k)). As k primeiras colunas de- Qformam uma base ortogonal para o subespaço gerado pelas k priemiras colunas de- X. Se a coluna- kde- X(i.e.- X(:,k)) é uma combinação linear das- pprimeiras colunas de- X, então, as entradas de- R(p+1,k), ..., R(k,k)são zeros. Neste caso,- Ré trapezoidal superior. Se- Xtem posto- rk, as linhas- R(rk+1,:), R(rk+2,:), ...são zeros.
- [Q,R,E] = qr(X)
- produz uma matriz de permutação (de colunas) - E, uma matriz triangular superior- Rcom elementos na diagonal decrescentes e uma matriz ortogonal (ou unitaria)- Qtais que- X*E = Q*R. Se- rké o posto de- X, as- rkprimeiras entradas ao longo da diagonal de- R, i.e.- R(1,1), R(2,2), ..., R(rk,rk)são todas diferentes de zero.- [Q,R,E] = qr(X,"e")produz uma "economia de tamanho": Se- Xié m-por-n com m > n, então, apenas as n primeiras colunas de- Qsão computadas tanto quanto as n priemiras linhas de- R.
- [Q,R,rk,E] = qr(X ,tol)
- retorna - rk= estimativa do posto de- Xi.e.- rké o número elementos da diagonal de- Rque são maiores que um dado limiar- tol.
- [Q,R,rk,E] = qr(X)
- retorna - rk= estimativa do posto de- Xi.e.- rké o número de elementos da diagonal de- Rque são maiores que- tol=R(1,1)*%eps*max(size(R)). Veja- rankqrpara uma fatoração QR que revela o posto usando o número de condicionamento de- R.
Exemplos
// fatoração QR, caso genérico // X é alta (posto cheio) X=rand(5,2);[Q,R]=qr(X); [Q'*X R] //X é gorda (posto cheio) X=rand(2,3);[Q,R]=qr(X); [Q'*X R] //coluna 4 de X é uma combinação linear das colunas 1 e 2: X=rand(8,5);X(:,4)=X(:,1)+X(:,2); [Q,R]=qr(X); R, R(:,4) //X tem posto 2, linhas 3 a $ de R são zero: X=rand(8,2)*rand(2,5);[Q,R]=qr(X); R //Avaliando o posto rk: pivotação por colunas ==> rk primeiras //As entradas diagonais de R são não-nulas: 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)) (span="gerado")
Funções Usadas
A decomposição qr é baseada nas rotinas de Lapack DGEQRF, DGEQPF, DORGQR para as matrizes de reais ZGEQRF, ZGEQPF, ZORGQR para as matrizes de complexos.
| Report an issue | ||
| << pinv | Linear Equations | rankqr >> |