# rankqr

fatoração QR com revelação do posto

## Seqüência de Chamamento

    [Q,R,JPVT,RANK,SVAL]=rankqr(A, [RCOND,JPVT])

## Parâmetros

A

  matriz de reais ou complexos

RCOND

  número real usado para determinar o posto efetivo de `A`, que é definido como sendo a ordem da maior submatriz regente triangular `R11` na fatoração QR com pivoteamento de `A`, cujo número de condicionamento estimado é < `1/RCOND`.

JPVT

  vetor de inteiros nas entradas, se `JPVT(i)` não é 0, a `i`-ésimo coluna de `A` épermtutada para a frente de `AP`, senão, a coluna `i` é uma coluna livre. Na saída, se `JPVT(i) = k`, então a `i`-ésima coluna de `A*P` era a `k`-ésima coluna de `A`.

RANK

  posto efetivo de `A`, i.e., a ordem da submatriz `R11`. É o mesmo que a ordem da submatriz `T1` na fatoração ortogonal completa de `A`.

SVAL

  vetor de reais com 3 componentes; as estimativas de alguns dos valores singulares do fator triangular `R`.

  `SVAL(1)` é o maior valor singular de `R(1:RANK,1:RANK)`;

  `SVAL(2)` é o menor valor singular de `R(1:RANK,1:RANK)`;

  `SVAL(3)` é o menor valor singular de `R(1:RANK+1,1:RANK+1)`, se `RANK` < `MIN(M,N)`, ou de `R(1:RANK,1:RANK)`, caso contrário.

## Descrição

Computa (opcionalmente) uma fatoração QR com revelação do posto de uma matriz de reais geral M-por-N, ou de complexos `A`, que pode ser deficiente de posto, e estima seu posto efetivo usando estimativa de condição incremental.

A rotina usa uma fatoração QR com pivoteamento de colunas:

    A * P = Q * R,  onde  R = [ R11 R12 ],
                              [  0  R22 ]

com `R11` definida como a maior submatriz regente cujo número de condição estimado é menor que `1/RCOND`. A ordem de `R11`, `RANK`, é o posto efetivo de`A`.

Se a fatoração triangular revela o posto (que será o caso se as colunas regentes forem bem condicionadas), então `SVAL(1)` também será uma estimativa para o maior valor singular de `A`, e `SVAL(2)` e `SVAL(3)` serão estimativas para o `RANK`-ésimo e `(RANK+1)`-ésimo valores singulares de `A`, respectivamente.

Examinando-se estes valores, pode-se confirmar que o posto é bem definido a respeito do valor escolhido de `RCOND`. A razão `SVAL(1)/SVAL(2)` é uma estimativa do número de condicionamento de `R(1:RANK,1:RANK)`.

## Exemplos

    A=rand(5,3)*rand(3,7);
    [Q,R,JPVT,RANK,SVAL]=rankqr(A,%eps)

## Ver Também

- qr
- rank

## Funções Usadas

Rotinas da biblioteca Slicot MB03OD, ZB03OD.