professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · created date:...

30
1/30 Prof. MSc. David Roza José [email protected]

Upload: others

Post on 31-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

1/30Prof. MSc. David Roza José[email protected]

Page 2: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

2/30Prof. MSc. David Roza José[email protected]

Fatoração LU

Objetivos:

– Compreender que a fatoração LU envolve a decomposição da matriz de

coeficientes em duas matrizes triangulares que podem ser utilizadas para

avaliar diferentes vetores de termos independentes;

– Saber como expressar a Eliminação de Gauss como uma fatoração LU;

– Dada uma fatoração LU, saber avaliar diversos vetores de termos

independentes;

– Reconhecer que o método de Cholesky fornece uma maneira eficiente de

decompor uma matriz simétrica e que a matriz triangular e sua transposta

podem ser utilizadas para avaliar vetores independentes eficientemente;

– Compreender em termos gerais o quê acontece quando utilizamos o operador

“\” no MATLAB para resolver sistemas lineares.

Page 3: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

3/30Prof. MSc. David Roza José[email protected]

Motivação

Vimos na aula anterior, através da Eliminação de Gauss, como resolver sistemas do tipo:

Apesar da metodologia ser robusta e eficiente, ela peca quando necessita-se resolver

equações com a mesma matriz de coeficientes [A], mas com termos independentes {b}

distintos.

A Eliminação de Gauss era composta por duas fases: eliminação progressiva e

substituição regressiva. Vimos também que a eliminação progressiva é a fase

computacionalmente mais dispendiosa.

A fatoração LU separa a fase da eliminação progressiva da matriz [A] das manipulações

dos termos independentes {b}. Assim, uma vez que a matriz [A] foi fatorada, diversos

vetores de termos independentes {b} podem ser avaliados de uma maneira eficiente.

Coincidentemente, a Eliminação de Gauss pode ser exposta como uma fatoração LU.

Page 4: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

4/30Prof. MSc. David Roza José[email protected]

Visão geral da Fatoração LU

Assim como a Eliminação de Gauss, a fatoração LU necessita de pivotamento para evitar

divisão por zero. Neste overview omitiremos por questão de simplicidade. A equação:

Pode ser reescrita como:

Supondo que este sistema possa ser representado por um sistema triangular superior

cuja notação matricial é

Page 5: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

5/30Prof. MSc. David Roza José[email protected]

Visão geral da Fatoração LU

Agora suponha que exista outra matriz diagonal inferior com unidade na diagonal

principal:

E que esta matriz possua a propriedade de que quando o seguinte sistema

For pré-multiplicado por [L], a seguinte igualdade é válida

Da qual podemos inferir duas igualdades:

Page 6: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

6/30Prof. MSc. David Roza José[email protected]

Visão geral da Fatoração LU

O que nos gera um algoritmo de dois passos para obter as soluções:

(1) Fatoração: A matriz [A] é fatorada ou “decomposta” numa triangular inferior [L]

e numa triangular superior [U];

(2) Substituição: [L] e [U] são utilizados para determinar a solução {x} para o vetor

de termos independentes {b}. Este passo consiste de outros dois:

● [L]{d} = {b} é utilizado para gerar um vetor intermediário {d} por substituição

progressiva;

● O resultado é substituído em [U]{x} − {d} = 0 e resolvido por substituição

regressiva para {x}.

Page 7: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

7/30Prof. MSc. David Roza José[email protected]

Visão geral da Fatoração LU

Page 8: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

8/30Prof. MSc. David Roza José[email protected]

Eliminação de Gauss

Vejamos como a eliminação de Gauss pode ser escrita como uma fatoração LU. Apesar

de parecerem não correlatos, a eliminação de Gauss pode ser utilizada para decompor

[A] em [L] e [U]. Isto é visto facilmente para [U], que é o resultado direto da eliminação

progressiva.

Apesar de não ser tão aparente, a matriz [L] também é produzida durante estes passos.

Isso pode ser ilustrado para o sistema abaixo:

Page 9: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

9/30Prof. MSc. David Roza José[email protected]

Eliminação de Gauss

O primeiro passo na Eliminação de Gauss é multiplicar a primeira linha pelo fator:

e subtrair o resultado da segunda linha para eliminar a21. De maneira similar, a primeira

linha é multiplicada por

e o resultado subtraído da terceira linha para eliminar a31. O passo final é multiplicar a

segunda linha, agora modificada, por

e subtrair da terceira linha para eliminar a'32.

Page 10: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

10/30Prof. MSc. David Roza José[email protected]

Eliminação de Gauss

Agora suponha que nós tenhamos feitos todas essas manipulações na matriz [A]. Se nós

não quisermos mudar as equações, devemos fazer as mesmas operações no vetor de

termos independentes {b}. Mas não existe razão alguma pela qual nós devemos fazer

estas operações simultaneamente. Assim, poderíamos salvar os f's e manipular {b}

depois.

Onde guardaremos os fatores f21, f31 e f32? Toda a ideia por trás da eliminação

progressiva era gerar zeros abaixo da diagonal principal. Assim, podemos guardar os

fatores f's nesses espaços vazios. Após a eliminação progressiva, a matriz [A] pode ser

escrita como:

Page 11: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

11/30Prof. MSc. David Roza José[email protected]

Eliminação de Gauss

Esta matriz, de fato, representa o modo de armazenagem mais eficiente da fatoração LU

de [A].

Page 12: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

12/30Prof. MSc. David Roza José[email protected]

Exemplo

Efetuar a fatoração LU da seguinte matriz:

Temos o seguinte fator, resultando na seguinte substituição

E na sequência:

Page 13: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

13/30Prof. MSc. David Roza José[email protected]

Exemplo

E por último:

Ou seja:

Onde pequenas variações no valor de [A] se dão devido a erros de arredondamento.

Page 14: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

14/30Prof. MSc. David Roza José[email protected]

Eliminação de Gauss

Após a matriz ser decomposta, uma solução pode ser gerada para um vetor de termos

independentes particular {b}. Isso é feito em dois passos: primeiro, uma substituição

progressiva é efetuada a se resolver [L]{d} = {b} para {d}.

O processo de substituição progressiva pode ser representado de maneira concisa

como:

E em seguida efetua-se a substituição regressiva para solucionar [U]{x} − {d} = 0.

Page 15: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

15/30Prof. MSc. David Roza José[email protected]

Exemplo

Vamos supor que a matriz decomposta anteriormente possua o seguinte vetor de

termos independentes, para o qual buscaremos a solução:

Devemos resolver o sistema [L]{d}={b} :

Cuja solução é:

Page 16: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

16/30Prof. MSc. David Roza José[email protected]

Exemplo

E em seguida fazer a substituição regressiva para [U]{x}={d} :

Resultando em:

Que é a solução do sistema original:

Page 17: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

17/30Prof. MSc. David Roza José[email protected]

Fatoração LU com pivotamento

Assim como para a Eliminação de Gauss, o pivotamento parcial é necessário para se

obter uma solução robusta com a fatoração LU. Uma maneira de fazer isso é com uma

matriz de permutação. O método consiste dos seguintes passos:

(1) Eliminação: A fatoração LU com pivotamento da matriz [A] pode ser

representada na forma matricial como: [P][A] = [L][U] . A matriz triangular

superior, [U], é gerada por eliminação com pivotamento parcial, enquanto se

armazena os fatores de multiplicação em [L] e utiliza-se a matriz de permutação,

[P], para manter registro das trocas de linhas.

(2) Substituição progressiva: As matrizes [L] e [P] são utilizadas para fazer o passo

da eliminação com pivotamento em {b} de maneira a gerar o vetor

intermediário {d}. Este passo pode ser representado como a solução da seguinte

formulação matricial: [L]{d} = [P]{b} .

(3) Substituição regressiva: A solução final é gerada da mesma maneira que

anteriormente, através da solução de [U]{x} = {d} .

Page 18: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

18/30Prof. MSc. David Roza José[email protected]

Exemplo

Resolver o seguinte sistema:

Solução: Antes de fazer o passo da eliminação, definimos a matriz inicial de permutação:

Sabemos que o pivotamento de [A] é necessário, então antes de iniciar a eliminação

trocamos a ordem das linhas. Fazemos o mesmo na matriz de permutação:

Page 19: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

19/30Prof. MSc. David Roza José[email protected]

Exemplo

Eliminaremos a21 ao subtrair o fator l21=a21/a11=0.0003/1=0.0003 da segunda linha de A.

Ao fazer isso, calculamos o novo valor de a'22=3-0.0003(1)=2.9997. Assim, o passo de

eliminação está completo com o seguinte resultado:

Antes de implementar a substituição progressiva, a matriz de permutação é utilizada

para reorganizar o vetor de termos independentes para refletir as mudanças efetuadas.

Page 20: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

20/30Prof. MSc. David Roza José[email protected]

Exemplo

O sistema a ser resolvido é [L]{d} = {b} para {d}.

Cuja solução nos fornece d1 = 1 e d2 = 2.0001 - 0.0003(1) = 1.9998 .

A próxima etapa é da substituição regressiva:

Que resulta em:

Page 21: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

21/30Prof. MSc. David Roza José[email protected]

MATLAB

O MATLAB possui a função intrínseca lu que gera uma fatoração LU. A sintaxe é:

[L, U] = lu(X)

tal que L e U são as matrizes triangular inferior e superior, respectivamente, da matriz

quadrada X.

Page 22: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

22/30Prof. MSc. David Roza José[email protected]

Fatoração de Cholesky

A fatoração de Cholesky é utilizada para resolver sistemas onde a matriz de coeficientes

é simétrica, ou seja, [A] = [A]T. O algoritmo é baseado no fato que uma matriz simétrica

pode ser decomposta da seguinte forma:

[A] = [U]T[U]

Ou seja, as matrizes triangulares são transpostas entre si. A fatoração pode ser gerada

eficientemente através de relações de recorrência. Para a i-éstima linha:

Page 23: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

23/30Prof. MSc. David Roza José[email protected]

Exemplo

Calcular a fatoração de Cholesky para a seguinte matriz simétrica

Solução: Para a primeira linha ( i=1 )

Page 24: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

24/30Prof. MSc. David Roza José[email protected]

Exemplo

Para a segunda linha (i = 2):

Page 25: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

25/30Prof. MSc. David Roza José[email protected]

Exemplo

Para a terceira linha ( i = 3 ):

Assim, a fatoração de Cholesky resulta em:

Page 26: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

26/30Prof. MSc. David Roza José[email protected]

Exemplo

A validade pode ser conferida da seguinte forma:

Page 27: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

27/30Prof. MSc. David Roza José[email protected]

Fatoração de Cholesky

Após a fatoração ter sido efetuada, ela pode ser utilizada para se solucionar o vetor {b}

da mesma maneira que na fatoração LU.

Primeiro resolve-se para o vetor intermediário {d}:

E em seguida obtém-se a solução final através de:

Page 28: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

28/30Prof. MSc. David Roza José[email protected]

MATLAB

O MATLAB possui uma função intrínseca chamada de chol que gera a fatoração de

Cholesky. Sua sintaxe é:

U = chol(X)

Tal que U é a matriz triangular superior de forma que U'*U = X.

Page 29: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

29/30Prof. MSc. David Roza José[email protected]

Divisão “à esquerda” \

Quanto se utiliza a divisão à esquerda “\” no MATLAB, um algoritmo sofisticado é

chamado para obter a solução. O programa verifica a estrutura da matriz de coeficientes

e implementa o método ótimo para obter a solução.

Primeiro o MATLAB confere para ver se [A] está num formato adequado para a

Eliminação de Gauss. Estes sistemas incluem: (a) esparsos e em banda, (b) triangular (ou

facilmente transformáveis em triangular) e (c) simétrico. Se algum destes casos é

detectado, a solução é obtida com a técnica mais adequada para o mesmo. Algumas das

técnicas incluem resolução em banda, substituição progressiva e regressiva e a fatoração

de Cholesky.

Se nenhuma dessas simplificações for possível e a matriz é quadrada, uma fatoração

triangular genérica é aplicada através da eliminação de Gauss com pivotamento parcial e

a solução é obtida com substituição regressiva.

Page 30: professor.luzerna.ifc.edu.brprofessor.luzerna.ifc.edu.br/david-jose/wp-content/... · Created Date: 4/8/2016 3:37:08 PM

30/30Prof. MSc. David Roza José[email protected]

Informações

Exercícios: 10.03 10.05 10.06 10.08 10.09 10.10