lufact
fatoração LU esparsa
Seqüência de Chamamento
[hand,rk]=lufact(A,prec)
Parâmetros
- A
matriz quadrada esparsa
- hand
manipulador para fatores LU esparsos
- rk
inteiro (posto de A)
- prec
vetor de tamanho 2
prec=[eps,reps]
fornecendo os limiares absoluto e relativo.
Descrição
[hand,rk]=lufact(A)
realiza a fatoração LU da
matriz esparsa A
. hand
(sem
exibição) é usado por lusolve
(para resolver sistemas
lineares) e luget
(para retirar os fatores).
hand
deve ser limpo pelo comando:
ludel(hand)
;
A matriz A não precisa ser de posto cheio, mas deve ser quadrada (desde que A é assumida como sendo esparsa, pode-se adicionar 0, se necessário, para quadrá-la).
- eps :
a magnitude absoluta que um elemento deve ter para ser considerado um candidato a pivô, exceto como último recurso. Este número deve ser posto de modo a ser significantemente menor que o menor elemento da diagonal que se espera estar localizado na matriz. O valor padrão é
%eps
.- reps :
Este número determina qual será o limiar relativo do pivô. Deve estar entre 0 e 1. Se for 1, então o método de pivoteamento torna-se pivotação completa, que é muito lento e tende a completar a matriz. Se o número acertado é próximo de 0, o método de pivoteamento torna-se estritamente de Markowitz, sem limiar. O limiar de pivô é usado para eliminar candidatos a pivô que poderiam causar crescimento excessivo de elementos se fossem usados. Crescimento de elementos é a causa dos erros de arredondamento. Crescimento de elementos ocorre mesmo em matrizes bem condicionadas. Definir o reps como um número grande reduzirá o crescimento de elementos e os erros de arredondamento, mas colocá-lo muito grande aumentará muito o tempo de execução e resultará num grande número de preenchimentos. Se isto ocorrer, a precisão pode ficar prejudicada por causa do grande número de operações requeridas na matriz devido ao grande número de preenchimentos. 0.001 parece um bom valor, e é o valor default. O default é escolhido fornecendo-se um valor maior que 1 ou menor que ou igual a 0. Este valor deve ser aumentado e a matriz resolvida se o crescimento for excessivo. Mudar o limiar do pivô não melhora o desempenho em matrizes onde o crescimento é baixo, como é geralmente o caso de matrizes mal-condicionadas. reps foi escolhido para uso com matrizes quase diagonalmente dominantes como uma matriz de admissão de nó e nó modificado. Para estas matrizes, geralmente o melhor é usar pivotação diagonal. Para matrizes sem uma diagonal forte, geralmente é melhor usar um limiar maior, como 0.01 ou 0.1.
Report an issue | ||
<< ludel | Sparse Decompositions | luget >> |