Quando as transformações ortogonais superam a eliminação gaussiana?

22

Como sabemos, os métodos de transformações ortogonais (rotações de Givens e reflexões de Housholder) para sistemas de equações lineares são mais caros que a eliminação gaussiana, mas teoricamente possuem propriedades de estabilidade mais agradáveis, no sentido de que não alteram o número de condição do sistema. Embora eu conheça apenas um exemplo acadêmico de uma matriz que é estragada pela eliminação gaussiana com rotação parcial. E existe uma opinião comum de que é muito improvável encontrar esse tipo de comportamento na prática (consulte as notas desta palestra [pdf] ).

Então, onde procuraremos a resposta sobre o assunto? Implementações paralelas? Atualizando? ..

faleichik
fonte

Respostas:

24

Precisão

Trefethen e Schreiber escreveram um excelente artigo, Estabilidade média da eliminação gaussiana , que discute o lado preciso da sua pergunta. Aqui estão algumas de suas conclusões:

  1. "Para a fatoração QR com ou sem pivô da coluna, o elemento máximo médio da matriz residual é , enquanto na eliminação gaussiana é . Essa comparação revela que a eliminação gaussiana é levemente instável , mas a instabilidade só seria detectável para problemas de matriz muito grandes resolvidos com baixa precisão. Para a maioria dos problemas práticos, a eliminação gaussiana é altamente estável, em média. "(Ênfase minha)S ( n )O(n1/2)O(n)

  2. "Após os primeiros passos da eliminação gaussiana, os elementos remanescentes da matriz são aproximadamente normalmente distribuídos, independentemente de terem começado dessa maneira".

Há muito mais no artigo que não posso capturar aqui, incluindo a discussão da matriz de pior caso que você mencionou, por isso recomendo fortemente que você a leia.

atuação

Para matrizes reais quadradas, a LU com pivotagem parcial requer aproximadamente flops, enquanto o QR baseado em chefe de família requer aproximadamente flops. Assim, para matrizes quadradas razoavelmente grandes, a fatoração QR será apenas duas vezes mais cara que a fatoração LU. 4 / 3 n 32/3n34/3n3

Para matrizes, em que , LU com pivô parcial requer 3/3 flops, versus do QR (que ainda é o dobro da fatoração da LU) . No entanto , é surpreendentemente comum que aplicações produzam matrizes magras muito altas ( ), e Demmel et al. tenha um bom artigo, fatoração QR paralela e seqüencial para evitar a comunicação , que (na seção 4) discute um algoritmo inteligente que exige apenas que mensagens sejam enviadas quando os processadores são usados, versus as mensagens das abordagens tradicionais . A despesa é quem n m n 2 - N 3 / 3 2 m n 2 - 2 n 3 / 3 m » n log p p n log P ó ( n 3 log P ) nm×nmnmn2n3/32mn22n3/3mnlogppnlogpO(n3logp) flops extras são executados, mas para muito pequeno isso costuma ser preferido ao custo de latência do envio de mais mensagens (pelo menos quando apenas uma única fatoração QR precisa ser executada).n

Jack Poulson
fonte
10

Estou surpreso que ninguém tenha mencionado problemas lineares mínimos quadrados , que ocorrem com freqüência na computação científica. Se você deseja usar a eliminação gaussiana, deve formar e resolver as equações normais, que se parecem com:

ATAx=ATb,

onde é uma matriz de pontos de dados que corresponde a observações de variáveis ​​independentes, é um vetor de parâmetros a serem encontrados é um vetor de pontos de dados que corresponde a observações de uma variável dependente.x bAxb

Como Jack Poulson frequentemente indica, o número de condição de é o quadrado do número de condição de , de modo que as equações normais podem ser desastrosamente mal condicionadas. Nesses casos, embora as abordagens baseadas em QR e SVD sejam mais lentas, elas produzem resultados muito mais precisos.AATAA

Geoff Oxberry
fonte
2
Voto positivo, mas o QR realmente deve estar em pé de igualdade com a LU se considerar as operações desnecessárias necessárias para formar (o QR requer apenas mais flops que a LU). A abordagem SVD ainda deve ser mais lenta (pode-se pensar em seu custo em aproximadamente ). A H A 2 / 3 N 3 6 N 3n3AHA2/3n36n3
Jack Poulson
1
Além da estabilidade garantida pelo uso de transformações ortogonais, a grande vantagem do SVD é que a decomposição fornece sua própria verificação de condição, pois a razão do maior para o menor valor singular é precisamente o número da condição (2-norma). Para as outras decomposições, o uso de um estimador de condições (por exemplo, Hager-Higham) é, embora não tão caro quanto a decomposição propriamente dita, um pouco "adiado".
JM
1
@JackPoulson Por curiosidade, você tem uma referência para sua contagem de flop para SVD? Pelo que posso ver de uma rápida olhada em Golub & Van Loan (p. 254 3ª edição), a constante pareceria mais alta para usar o SVD na solução de problemas de mínimos quadrados, mas posso estar enganado. Desde já, obrigado.
OscarB
1
@OscarB: Era um número muito aproximado do topo da minha cabeça, mais baixo do que a formação do SVD completo (porque podemos evitar custos de retrotransformação). é necessário trabalho para a redução da forma bidiagonal (digamos, ), alguma quantidade de trabalho, digamos , é necessária para o SVD bidiagonal ( ), e então , que deve exigir trabalho de . Portanto, é tudo uma questão de quão grande é ... se o MRRR funcionar aqui, será , mas até então é cúbico e depende do problema. A = F B G H C B = L Σ V H x : = ( L ( V ( i n v ( Σ ) ( L H ( F H b ) ) ) ) ) S ( n 2 ) C O ( n 2 )8/3n3A=FBGHCB=UΣVHx:=(G(V(inv(Σ)(UH(FHb)))))O(n2)CO(n2)
22612 Jack Poulson
1
@JM Note, no entanto, que o número da condição do problema dos mínimos quadrados não é o número de condição "clássico" de uma matriz; é uma quantidade mais complicada. σ1σn
Federico Poloni
3

Como você mede o desempenho? Rapidez? Precisão? Estabilidade? Um teste rápido no Matlab fornece o seguinte:

>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
   1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc             
ans =
   5.0311e-14
Elapsed time is 7.563242 seconds.

Portanto, resolver um único sistema com uma decomposição de LU é cerca de três vezes mais rápido que resolvê-lo com uma decomposição de QR, ao custo de meio dígito decimal de precisão (neste exemplo!).

Pedro
fonte
Quaisquer méritos que você sugeriu são bem-vindos.
faleichik
3

O artigo que você cita defende a Eliminação Gaussiana dizendo que, embora seja numericamente instável, tende a se dar bem em matrizes aleatórias e, como a maioria das matrizes que se pode pensar são como matrizes aleatórias, devemos ficar bem. Essa mesma afirmação pode ser dita sobre muitos métodos numericamente instáveis.

Considere o espaço de todas as matrizes. Esses métodos funcionam bem em quase todos os lugares. Isso é 99,999 ...% de todas as matrizes que se poderia criar não terá problemas com métodos instáveis. Existe apenas uma fração muito pequena de matrizes para a qual a GE e outras terão dificuldades.

Os problemas com que os pesquisadores se preocupam tendem a estar nessa pequena fração.

Não construímos matrizes aleatoriamente. Construímos matrizes com propriedades muito especiais que correspondem a sistemas não-aleatórios muito especiais. Essas matrizes geralmente são mal condicionadas.

Geometricamente, você pode considerar o espaço linear de todas as matrizes. Há um subespaço de volume / medida zero de matrizes singulares que corta esse espaço. Muitos problemas que construímos estão agrupados em torno desse subespaço. Eles não são distribuídos aleatoriamente.

Como exemplo, considere a equação ou dispersão do calor. Esses sistemas tendem a remover informações do sistema (todos os estados iniciais gravitam para um único estado final) e, como resultado, as matrizes que descrevem essas equações são enormemente singulares. Esse processo é muito improvável em uma situação aleatória, mas onipresente em sistemas físicos.

MRocklin
fonte
2
Se o sistema linear estiver inicialmente mal condicionado, não importa qual método você use: a decomposição da LU e do QR fornecerá resultados imprecisos. O QR pode vencer apenas nos casos em que o processo de eliminação gaussiana "estraga" uma boa matriz. A questão principal é que casos práticos de tal comportamento não são conhecidos.
faleichik
Para a maioria das aplicações científicas, geralmente obtemos matrizes esparsas, simétricas, definidas positivas e / ou diagonalmente dominantes. Com muito poucas exceções, existe uma estrutura na matriz que nos permite explorar certas técnicas sobre a eliminação gaussiana tradicional.
Paul
@Paul: Por outro lado, a eliminação gaussiana densa é onde a maior parte do tempo é gasta no método multifrontal para matrizes esparsas não simétricas.
Jack Poulson
6
@ Paul Não é verdade que "a maioria dos aplicativos produz matrizes SPD / diagonalmente dominantes". Sim, geralmente existe algum tipo de estrutura explorável, mas problemas não simétricos e indefinidos são extremamente comuns.
Jed Brown.
4
"Em cinquenta anos de computação, não se sabe que nenhum problema de matriz que excite uma instabilidade explosiva tenha surgido em circunstâncias naturais". - LN Trefethen e D. Bau Eles fornecem uma análise probabilística interessante em seu livro.
JM