cálculo numérico / métodos numéricos sistemas lineares...

17

Click here to load reader

Upload: duongdien

Post on 15-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

5 May 2008 . 10:25

Cálculo Numérico / Métodos Numéricos

Sistemas linearesMétodo de Cholesky

Page 2: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky

Idéia:

Podemos simplificar o método de decomposição LU, quando a matriz é simétrica, positiva definida.

Page 3: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Definições e lembretes

Matrizes simétricas:aij = aji

Matrizes positivas definidas:

ztAz > 0, qualquer que seja z.

Critério de Sylvestre: a matriz é positiva definida se e somente se todos os menores principais tem determinante positivo

Page 4: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky

Se a matriz A é definida positiva, podemos decompô-la unicamente no produto GGt, onde G é uma matriz triangular inferior com elementos positivos na diagonal.

Multiplicando as linhas i pelas colunas i, temos os elementosda diagonal da matriz A:

Page 5: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky (diagonal)

No caso geral:

...

i=2,3,...

Fórmula (4.9)

Page 6: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky (1a coluna)

multiplicamos as linhas de G (abaixo da diagonal) pela 1a coluna de Gt

Page 7: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky (2a coluna)

multiplicamos as linhas de G (abaixo da diagonal) pela 2a coluna de Gt

Page 8: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Método de Cholesky (na coluna)

multiplicamos as linhas de G (abaixo da diagonal) pela na coluna de Gt

Page 9: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Fórmula geral

Fórmula (4.10)

Fórmula (4.9)

Relembrando a fórmula para a diagonal:

Que devem ser usadas de forma conveniente...

Page 10: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

"Forma coveniente"

Fórmula (4.10)

Fórmula (4.9)

1) Usamos (4.9) para calcular g112) Usamos (4.10) para calcular g21, g31, ..., gn1

3) Usamos (4.9) para calcular g224) Usamos (4.10) para calcular g32, g42, ..., gn2

...

Page 11: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

"Forma coveniente"

1) Usamos (4.9) para calcular g112) Usamos (4.10) para calcular g21, g31, ..., gn1

3) Usamos (4.9) para calcular g224) Usamos (4.10) para calcular g32, g42, ..., gn2

...

Page 12: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Exemplo

Page 13: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Exemplo - resolução

a)

Condições para o método de Cholesky:

1) A é simétrica: aij = aji OK!

2) A matriz é definida positiva. (Vamos usar a condição de Sylvester: os menores principais tem todos determinante positivo):

det(A1) = 4>0; det(A2) = 36>0; det(A3) = 36>0 OK!

Page 14: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Exemplo - resolução

b)

Usamos uma sequência "conveniente":

calculamos: 1) g11 (4.9)2) g21, g31 (4.10)3) g22 (4.9)4) g32 (4.10)5) g33 (4.9)

Page 15: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Exemplo - resolução

b)

calculamos: 1) g11 (4.9)2) g21, g31 (4.10)3) g22 (4.9)4) g32 (4.10)5) g33 (4.9)

Page 16: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Exemplo - resolução

c) determinante

G =

Gt =

A = GtG → det(A) = det(Gt)· det(G)

g11 · g22 · g33

g11 · g22 · g33

= (g11 · g22 · g33)2

= 36

Page 17: Cálculo Numérico / Métodos Numéricos Sistemas lineares ...conteudo.icmc.usp.br/pessoas/andretta/ensino/aulas/sme0301-1-11/... · Cálculo Numérico / Métodos Numéricos ... Precisamos

. 10:25

Observações

O método de Cholesky é menos custoso computacionalmente que o método de decomposição LU

Precisamos de A definida positiva para garantir que as raízes quadradas serão sempre efetuadas sobre números positivos (poderíamos também trabalhar com aritmética complexa)

Como vimos no exemplo:det(A) = (g11 · g22 ... gnn )2