Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/... · 2019-01-22 ·...

Preview:

Citation preview

Introdução aos Métodos Numéricos

Instituto de Computação UFFDepartamento de Ciência da Computação

Otton Teixeira da Silveira Filho

Conteúdo temático

● Sistemas de Equações Lineares. Métodos diretos

Conteúdo específico

● Exemplo de Wilson

● Malcondicionamento

● Número de condição

● Método dos resíduos

Sistemas de equações lineares

“Pronto, fiz os cálculos e achei !

...Mas como sei se é a solução?“

x

Sistemas de equações lineares

Exemplo de Wilson

Substitua o vetor solução por

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=( 9,2 ;−12,6 ;4,5 ;−1,1 )

Sistemas de equações lineares

Exemplo de Wilson

Substitua o vetor solução por

Resultado:

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=( 9,2 ;−12,6 ;4,5 ;−1,1 )

bT=(32,1 ;22,9 ;33,1 ;30,9 )

Sistemas de equações lineares

Exemplo de Wilson

Substitua o vetor solução por

Resultado:

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=( 9,2 ;−12,6 ;4,5 ;−1,1 )

bT=(32,1 ;22,9 ;33,1 ;30,9 )

Sistemas de equações lineares

Exemplo de Wilson

Parece que estamos perto da solução...

A (9,2

−12,64,5

−1,1)=(

32,122,933,130,9

) ; b=(32233331

)

Sistemas de equações lineares

Exemplo de Wilson

Substitua o vetor solução por

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=(1,82 ;−0,36 ;1,35 ;0,79 )

Sistemas de equações lineares

Exemplo de Wilson

Substitua o vetor solução por

Resultado:

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=(1,82 ;−0,36 ;1,35 ;0,79 )

bT=(32,01 ;22,99 ;33,01 ;30,99 )

Sistemas de equações lineares

Exemplo de Wilson

Realmente parecia que estávamos perto da solução?

A (

1,82−0,361,350,79

)=(32,0122,9933,0130,99

) ; b=(32233331

)

Sistemas de equações lineares

Exemplo de Wilson

Repare...

Os vetores “solução“ são muito diferentes...

A (1,82

−0,361,350,79

)= (32,0122,9933,0130,99

) ; A (9,2

−12,64,5

−1,1)=(

32,122,933,130,9

) ; b=(32233331

)

Sistemas de equações lineares

Exemplo de Wilson

Solução:

(10 7 8 77 5 6 58 6 10 97 5 9 10

) x=(32233331

)xT

=(1;1;1 ;1 )

Sistemas de equações lineares

● A técnica de substituir a solução encontrada na equação pode nos enganar

Sistemas de equações lineares

● A técnica de substituir a solução encontrada na equação pode nos enganar

● Estamos olhando o problema da forma errada

Sistemas de equações lineares

Este sistema é mal-condicionado, portanto:

● Pequenas variações nos parâmetros do problema (neste caso o vetor constante) gera uma mudança muito maior na solução

Sistemas de equações lineares

Este sistema é mal-condicionado, portanto:

● Pequenas variações nos parâmetros do problema (neste caso o vetor constante) gera uma mudança muito maior na solução

● Cada vetor dado é a solução exata para o vetor constante correspondente

Sistemas de equações lineares

O exemplo de Wilson é ilustrativo da sensibilidade que sistemas de equações podem ter quanto à precisão de suas componentes. Pequenas variações daquelas podem gerar grandes variações no vetor solução.

Sistemas de equações lineares

Mas há casos patológicos!

Matrizes de Hilbert

hij=1

i+ j−1; j=1,⋯n ,i=1,⋯,n

Sistemas de equações lineares

Matrizes de Hilbert

H=( 1 1/21/2 1/3 ) H=(

1 1 /2 1/31 /2 1/3 1/41 /3 1 /4 1/5 ) H=(

1 1/2 1/3 1/41 /2 1/3 1/4 1/51/3 1/4 1/5 1 /61 /4 1/5 1 /6 1 /7

)

Sistemas de equações lineares

Seja um sistema da forma

H matriz de Hilbert.

As componentes da solução são sempre inteiros.

H x=(111⋮1

)

Sistemas de equações lineares

Seja um sistema da forma

H matriz de Hilbert.

As componentes da solução são sempre inteiros.

Isto pode ser demonstrado pela regra de Cramer!

H x=(111⋮1

)

Sistemas de equações lineares

No entanto, se você usar qualquer linguagem de programação convencional para resolver estes sistemas, você não obterá valores inteiros para as componentes do vetor solução mesmo para dimensões pequenas do sistemas.

N = 5 já teremos problemas...

Sistemas de equações lineares

Um pouquinho de matemática…

Norma de vetores e matrizes

Normas

Norma é uma “ampliação“ do conceito de módulo

É uma maneira de medir propriedades de objetos matemáticos complexos como vetores, matrizes e funções.

Normas

Norma (módulo) de um vetor

É uma maneira de medir o “comprimento“ de um vetor

Normas

Norma (módulo) de um vetor

É uma maneira de medir o “comprimento“ de um vetor

Observou as aspas?

Normas

Norma de um vetor

Nos interessa da norma três propriedades:

● É sempre positiva

Normas

Norma de um vetor

Nos interessa da norma três propriedades:

● É sempre positiva

● Só é nula se o vetor for nulo

Normas

Norma de um vetor

Nos interessa da norma três propriedades:

● É sempre positiva

● Só é nula se o vetor for nulo

● Se o vetor for multiplicado por um valor, a norma será a norma do vetor multiplicado pelo valor em módulo

Normas

vetor de dimensão n

Esta é a Norma Euclidiana

‖v‖2=√v1 v1+v2 v2+v3 v3+⋯+vn vn=√∑i=1

n

v i v i

v

Normas

vetor de dimensão n

Esta é a Norma 1 ou Norma Manhattan

‖v‖1=|v1|+|v2|+|v3|+⋯+|vn|=∑i=1

n

|v i|

v

Normas

vetor de dimensão n

Esta é a Norma do Máximo

‖v‖max=max i [|v1|,|v2|,|v3|,⋯,|vn|] ; i=1,⋯, n

v

Normas

Um exemplo:

vT=(−2,3,1)

‖v‖2=√(−2)×(−2)+3×3+1×1=√14≈3,741657

‖v‖1=|−2|+|3|+|1|=6

‖v‖max=max i [|−2|,|3|,|1|]=3

Normas

Um exemplo:

São todas medidas do vetor mas não dão a mesma medida. São maneiras diferentes de medir...

vT=(−2,3,1)

‖v‖2=√(−2)×(−2)+3×3+1×1=√14≈3,741657

‖v‖1=|−2|+|3|+|1|=6

‖v‖max=max i [|−2|,|3|,|1|]=3

Normas

A matriz n x n

São a Norma de Fröbenius, a Norma 1 e a Norma do Máximo ou Norma Infinito para matrizes

‖A‖2=√ (∑i=1

n

∑j=1

n

aij2 ) ‖A‖1=max1≤ j≤n∑

i=1

n

|aij| ‖A‖max=max1≤i≤n∑j=1

n

|aij|

Sistemas de equações lineares

Para que isto?

Sistemas de equações lineares

O número de condicionamento de uma matriz A é dado por

É fácil de ver que o número de condição da matriz identidade é 1 para as normas 1 e do máximo.

κ=‖A−1‖‖A‖

Sistemas de equações lineares

O número de condicionamento de uma matriz A é dado por

É fácil de ver que o número de condição da matriz identidade é 1 para as normas 1 e do máximo.

Não é difícil de demonstrar que o número de condição é sempre maior ou igual a 1

κ=‖A−1‖‖A‖

Sistemas de equações lineares

Uma matriz é tão mais bem condicionada quanto o seu número de condição for mais próximo de 1.

Sistemas de equações lineares

Vamos para alguns exemplos com o Maxima com a função mat_norm() nas seguintes formas

● mat_norm(M, 1)

● mat_norm(M, inf)

● mat_norm(M, frobenius)

Sistemas de equações lineares

Nos exercícios vimos que:

● O número de condição para o exemplo de Wilson é, usando a função mat_norm(M, 1), 4488.

● Para os casos de matrizes de Hilbert 3x3 é 748 e a 4x4 maior que 28375.

Sistemas de equações lineares

Nos exercícios vimos que:

● O número de condição para o exemplo de Wilson é, usando a função mat_norm(M, 1), 4488.

● Para os casos de matrizes de Hilbert 3x3 é 748 e a 4x4 maior que 28375.

Na grande maioria das vezes não calculamos diretamente o número de condição

Sistemas de equações lineares

Observemos o método de Eliminação gaussiana:

● Se um pivô for bem menor que o(s) elemento(s) eliminado(s), teremos ruído numérico afetando todos os cálculos subsequentes (a divisão, lembra?).

Sistemas de equações lineares

Observemos o método de Eliminação gaussiana:

● Se um pivô for bem menor que o(s) elemento(s) eliminado(s), teremos ruído numérico afetando todos os cálculos subsequentes (a divisão, lembra?).

● E assim, o vetor obtido pelo algoritmo poderá estar distante do vetor solução

Sistemas de equações lineares

Observemos o método de Eliminação gaussiana:

● Se um pivô for bem menor que o(s) elemento(s) eliminado(s), teremos ruído numérico afetando todos os cálculos subsequentes (a divisão, lembra?).

● E assim, o vetor obtido pelo algoritmo poderá estar distante do vetor solução

● Se diz que este algoritmo é numericamente Instável

Sistemas de equações lineares

Primeiro passo:

Como verificar se o vetor obtido é próximo da solução do sistema?

Método dos Resíduos

Seja o sistema

do qual obtemos uma solução aproximada devido à instabilidade numérica da eliminação gaussiana ou de outro método de solução

A x=b

x1

Método dos Resíduos

Então podemos escrever

que substituída na equação original resulta em

A ( x1+ z1 )=b⇒ A x1+A z1=b⇒ A z1=b−A x1

x= x1+ z1

Método dos Resíduos

Observe que podemos calcular . Definindo

teremos

Definindo o resíduo como ficaremos com

A z1=b−b1

b1=A x1b−A x1

r1=b−b1

A z1=r1

Método dos Resíduos

Parece que nossos problemas foram resolvidos...

Método dos Resíduos

Parece que nossos problemas foram resolvidos...

Só que não...

Método dos Resíduos

Parece que nossos problemas foram resolvidos...

Só que não...

Pelos mesmos motivos que não conseguimos a solução exata, não conseguiremos o valor de mas uma aproximação que chamaremos de

O que nos resta?

z1z1

Método dos Resíduos

Parece que nossos problemas foram resolvidos...

Só que não...

Pelos mesmos motivos que não conseguimos a solução exata, não conseguiremos o valor de mas uma aproximação que chamaremos de

O que nos resta?

Começar tudo de novo...

z1z1

Método dos Resíduos

Podemos escrever

que substituída na equação original resulta em

onde é o segundo resíduo. Teremos o sistema

A ( x2+ z2 )=b⇒ A x2+A z2=b⇒ A z2=b−A x2=r2

x2= x1+z1 e x= x2+ z2

r2

A z2=r2

Método dos Resíduos

O qual, de novo, não me dá o resultado correto mas uma aproximação …z2

Método dos Resíduos

O qual, de novo, não me dá o resultado correto mas uma aproximação …

Espero que esteja ficando claro que obteremos, de fato, as sequências

Esperamos que, se tudo estiver bem, teremos a cada passo valores melhores da solução e valores menores para a norma de

z2

{ x1, x2, x3,⋯, xi } e { z1 ,z2 ,

z3 ,⋯, z i }

z i

Método dos Resíduos

Se os valores em módulo do vetor de correção diminuirem consistentemente, podemos dizer que o sistema é bem-condicionado e que a solução obtida é confiável

Método dos Resíduos

Se os valores em módulo do vetor de correção diminuirem consistentemente, podemos dizer que o sistema é bem-condicionado e que a solução obtida é confiável

Obs: No mundo real sempre haverá uma situação de mal-condicionamento a medida que chegamos perto do limite de precisão da máquina

Método dos Resíduos

Observe que o método dos resíduos tem um problema:

Temos que resolver uma sequência de SEL

Aparentemente o custo é alto...

A z1=r1 ; A z2=r2 ; A z3=r3 ;⋯A zk=rk

Método dos Resíduos

Observe que o método dos resíduos tem um problema:

Temos que resolver uma sequência de SEL

Aparentemente o custo é alto...

Só que não...

A z1=r1 ; A z2=r2 ; A z3=r3 ;⋯A zk=rk

Método dos Resíduos

Apresentaremos um outro assunto mas retornaremos ao Método dos Resíduos em breve...

Método dos Resíduos

Observe que o valor que nos diz o quanto estamos próximos da solução não são os resíduos mas os vetores ri zi

Recommended