• Nenhum resultado encontrado

Aula 7 (22/08/2017)- Métodos de Jacobi e Gauss-Seidel.

N/A
N/A
Protected

Academic year: 2021

Share "Aula 7 (22/08/2017)- Métodos de Jacobi e Gauss-Seidel."

Copied!
27
0
0

Texto

(1)

MS211 - Cálculo Numérico

Aula 7 – Métodos de Jacobi e Gauss-Seidel.

(2)

Introdução

Uma matrizA é dita esparsa se possui uma quantidade

relativamente pequena de elementos não-nulos.

Matrizes esparsas aparecem em muitas áreas como teoria dos grafos e resolução numérica de equações diferenciais.

Exemplos incluem:

• O Google trabalha com matrizes gigantescas contendo

informações dos links das páginas na internet. Essas matrizes geralmente são esparsas e algumas delas possuem

aproximadamente 10 elementos não-nulos por linha ou coluna. A multiplicação dessas matrizes por um vetor requer

aproximadamente 10n operações aritméticas, em que n denota a dimensão do vetor.

(3)

Cúpula Geodésica

Richard Buckminster (Bucky) Fuller desenvolveu estruturas chamadascúpulas ou domos geodésicos.

(“Biosphère Montréal” by Cédric THÉVENET.

(4)

A cúpula geodésica aparece também na molécula de carbono e na bola de futebol.

("C60a"uploaded by Bryn C at en.wikipedia.

https://commons.wikimedia.org/wiki/File:C60a.png#/media/File:C60a.png)

Esta cúpula corresponde à uma forma de carbono pura com 60 átomos.

(5)

Os pontos na cúpula geodésica estão distribuídos de modo que a distância de um ponto com seus três vizinhos é a mesma.

A matriz de adjacênciaB ∈ R60×60mostrada abaixo é simétrica e possui 3 elementos não-nulos por linha ou coluna, totalizando 180 elementos não-nulos. 0 10 20 30 40 50 60 0 10 20 30 40 50 60 nz = 180

(6)

A fatoração LU deB fornece os fatores mostrados abaixo: 0 10 20 30 40 50 60 0 10 20 30 40 50 60 nz = 451 | {z } L 0 10 20 30 40 50 60 0 10 20 30 40 50 60 nz = 419 | {z } U

O número total de elementos não-nulos nos fatoresL e U são 451

e 419, respectivamente.

O número de operações efetuadas para determinarL e U foi

(7)

Um sistema linearAx = b, em que A ∈ Rn×n é uma matriz não-singular esparsa, pode ser resolvido usando um método iterativo que efetua apenas o produto matriz-vetorAx.

Tais métodos iterativos preservam a estrutura esparsa da matriz e, portanto, efetuam menos operações e consomem menos espaço na memória.

Existem muitos métodos eficientes na literatura que vão além da ementa desse curso.

(8)

Motivação para o Método de Jacobi

Considere um sistema linearAx = b, em que A é uma matriz

não-singular (supostamente esparsa) com aii 6= 0, ∀i = 1, . . . , n.

Isolando xi de cada linha, escrevemos o sistema linear

           a11x1+a12x2+ . . . +a1nxn=b1, a21x1+a22x2+ . . . +a2nxn=b2, .. . ... ... ... an1x1+an2x2+ . . . +annxn=bn, como            x1= (b1− (a12x2+ . . . +a1nxn)) /a11, x2= (b2− (a21x1+ . . . +a2nxn)) /a22, .. . ... ... ... xn= (bn− (an1x1+ . . . +an,n−1xn−1)) /ann.

(9)

Método de Jacobi

Dada uma aproximação inicialx(0)para a solução do sistema

Ax = b, o método de Jacobi define a sequência de vetores

{x(k )}

k ≥0através da seguinte relação de recorrência:

               x1(k +1)=  b1− (a12x (k ) 2 + . . . +a1nx (k ) n )  /a11, x2(k +1)=b2− (a21x1(k )+ . . . +a2nxn(k ))  /a22, .. . ... ... ... xn(k +1)=  bn− (an1x (k ) 1 + . . . +an,n−1x (k ) n−1)  /ann, para k = 0, 1, . . .. Observação

(10)

Forma Matricial do Método de Jacobi

Podemos escrever o método de Jacobi na forma matricial:

x(k +1)=D−1(b − Mx(k )) k = 0, 1, . . . , em que D = diag (a11,a22, . . . ,ann) =      a11 a22 . .. ann     

é a matriz diagonal com os elementos aii e

M = A − D =      0 a12 . . . a1n a21 0 . . . a2n .. . ... . .. ... an1 an2 . . . 0      .

(11)

Critério de Parada

Além do número máximo de iterações, usamos o erro relativo como critério de parada do método de Jacobi.

Formalmente, paramos as iterações quando a diferença de duas iterações consecutivas satisfaz

Dr = kx(k +1)− x(k )kkx(k +1)k ∞ ≤ τ, em que τ > 0 é uma certa tolerância.

Lembre-se que a norma-∞ de um vetory = [y1,y2, . . . ,yn]T ∈ Rn

é o maior valor absoluto de suas componentes, ou seja, kyk∞= max

(12)

Método de Jacobi

Entrada: Matriz A ∈ Rn×n; vetorb ∈ Rn; aproximação inicialx0.

Dados: Número máximo de interações kmax e tolerância τ > 0.

Inicialize: k = 0 e defina Dr = τ +1.

Defina:D = diag(a11,a22, . . . ,ann)eM = A − D.

enquanto k ≤ kmax e Dr > τ faça

Atualize: k = k + 1.

Resolva: Dx = b − Mx0 (ou seja,x = D\(b − Mx0)). Calcule: Dr = kx − x0k∞ kxk∞ . Atualize:x0=x. fim

(13)

Exemplo 1

Use o método de Jacobi, com aproximação inicialx0= [0, 0]T e

τ =10−4como critério de parada, para determinar a solução do sistema linear

(

2x1+x2=1,

3x1+4x2= −1.

Na primeira iteração, encontramos ( x1(1)= 12(1 − x2(0)) = 12 x2(1)= 14(−1 − 3x1(0)) = −14 com kx(1)− x(0)k∞ kx(1)k∞ = 1/2 1/2 =1.

(14)

Exemplo 1

Use o método de Jacobi, com aproximação inicialx0= [0, 0]T e

τ =10−4como critério de parada, para determinar a solução do sistema linear

(

2x1+x2=1,

3x1+4x2= −1.

Na segunda iteração, encontramos ( x1(2)= 12(1 − x2(1)) = 12 1 + 14 = 58 x2(2)= 14(−1 − 3x1(1)) = 14 −1 − 312 = −5 8 com kx(2)− x(1)k∞ kx(2)k∞ = 3/8 5/8 = 3 5.

(15)

Exemplo 1

Use o método de Jacobi, com aproximação inicialx0= [0, 0]T e

τ =10−4como critério de parada, para determinar a solução do sistema linear

(

2x1+x2=1,

3x1+4x2= −1.

Na terceira iteração, encontramos ( x1(3)= 12(1 − x2(2)) = 12 1 + 58 = 1316 x2(3)= 14(−1 − 3x1(2)) = 14 −1 − 358 = −23 32 com kx(3)− x(2)k∞ kx(3)k∞ = 3/16 23/16 = 3 23.

(16)

Exemplo 1

Use o método de Jacobi, com aproximação inicialx0= [0, 0]T e

τ =10−4como critério de parada, para determinar a solução do sistema linear ( 2x1+x2=1, 3x1+4x2= −1. Na iteração 19, encontramos ( x1(19)= 12(1 − x2(18)) =0.9999 x2(19)= 14(−1 − 3x1(18)) = −0.9999 com kx(19)− x(18)k∞ kx(19)k∞ =7.3 × 10 −5.

(17)

Geometricamente, o método de Jacobi produz a sequência de pontos vermelhos que convergem para (1, −1).

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 0 0.5 1 1.5 2

As linhas azul e verde correspondem as duas equações do sistema linear.

(18)

Motivação para o Método de Gauss-Seidel

Considere um sistema linearAx = b, em que A é uma matriz

não-singular (supostamente esparsa) com aii 6= 0, ∀i = 1, . . . , n.

No método de Jacobi, dadox(0), definimos                x1(k +1)=b1− (a12x2(k )+ . . . +a1nxn(k ))  /a11, x2(k +1)=b2− (a21x1(k )+ . . . +a2nxn(k ))  /a22, .. . ... ... ... xn(k +1)=  bn− (an1x (k ) 1 + . . . +an,n−1x (k ) n−1)  /ann,

Note que xj(k +1)é determinando usando xi(k ), para i < j!

No método de Gauss-Seidel, utilizam-se os valores atualizados xi(k +1), para i < j, no cálculo de xj(k +1).

(19)

Método de Gauss-Seidel

Dada uma aproximação inicialx(0)para a solução do sistema

Ax = b, o método de Gauss-Seidel define {x(k )}

k ≥0através da

seguinte relação de recorrência para k = 0, 1, . . .:                x1(k +1)=b1− (a12x (k ) 2 + . . . +a1nx (k ) n )  /a11, x2(k +1)=  b2− (a21x1(k +1)+ . . . +a2nxn(k ))  /a22, .. . ... ... ... xn(k +1)=  bn− (an1x (k +1) 1 + . . . +an,n−1x (k +1) n−1 )  /ann,

Tal como no método de Jacobi, a diferença relativa Dr = kx(k +1)− x(k )kkx(k +1)k ∞ ≤ τ,

(20)

Forma Matricial do Método de Gauss-Seidel

Podemos escrever o método de Gauss-Seidel na forma matricial:

x(k +1)=L−1(b − Ux(k )) k = 0, 1, . . . , em que L =      a11 a21 a22 .. . ... . .. an1 an2 . . . ann     

é uma matriz triangular inferior e

U = A − L =      0 a12 . . . a1n 0 0 . . . a2n .. . ... . .. ... 0 0 . . . 0      , é triangular superior.

(21)

Método de Gauss-Seidel

Entrada: Matriz A ∈ Rn×n; vetorb ∈ Rn; chute inicialx 0.

Dados: Número máximo de interações kmax e tolerância τ > 0.

Inicialize: k = 0 e Dr = τ +1. Defina:L =      a11 0 . . . 0 a21 a22 . . . 0 .. . ... . .. ... an1 an2 . . . ann      eU =      0 a12 . . . a1n 0 0 . . . a2n .. . ... . .. ... 0 0 . . . 0      .

enquanto k ≤ kmax e Dr > τ faça

Atualize: k = k + 1.

Resolva: Lx = b − Ux0 (ou seja,x = L\(b − Ux0)). Calcule: Dr = kx − x0k∞ kxk∞ . Atualize:x0=x. fim

(22)

Exemplo 2

Use o método de Gauss-Seidel, com aproximação inicial

x0= [0, 0]T e τ = 10−4como critério de parada, para determinar

a solução do sistema linear (

2x1+x2=1,

3x1+4x2= −1.

Na primeira iteração, encontramos ( x1(1)= 12(1 − x2(0)) = 12, x2(1)= 14(−1 − 3x1(1)) = 14 −1 − 312 = −5 8, com kx(1)− x(0)kkx(1)k ∞ = 5/8 5/8 =1.

(23)

Exemplo 2

Use o método de Gauss-Seidel, com aproximação inicial

x0= [0, 0]T e τ = 10−4como critério de parada, para determinar

a solução do sistema linear (

2x1+x2=1,

3x1+4x2= −1.

Na segunda iteração, encontramos ( x1(2)= 12(1 − x2(1)) =12 1 + 58 = 1316, x2(2)= 14(−1 − 3x1(2)) = 14 −1 − 31316 = −55 64, com kx(2)− x(1)kkx(2)k ∞ = 5/16 55/64 = 4 11.

(24)

Exemplo 2

Use o método de Gauss-Seidel, com aproximação inicial

x0= [0, 0]T e τ = 10−4como critério de parada, para determinar

a solução do sistema linear (

2x1+x2=1,

3x1+4x2= −1.

Na terceira iteração, encontramos ( x1(3)= 12(1 − x2(2)) = 12 1 +5564 = 119128, x2(3)= 14(−1 − 3x1(3)) = 14 −1 − 3119128 = −485 512, com kx(3)− x(2)kkx(3)k ∞ = 12 91.

(25)

Exemplo 2

Use o método de Gauss-Seidel, com aproximação inicial

x0= [0, 0]T e τ = 10−4como critério de parada, para determinar

a solução do sistema linear ( 2x1+x2=1, 3x1+4x2= −1. Na iteração 11, encontramos ( x1(11)= 12(1 − x2(10)) =0.9999 x2(11)= 14(−1 − 3x1(11)) = −0.9999 com kx(11)− x(10)kkx(11)k ∞ =4.6 × 10−5.

(26)

Geometricamente, o método de Gauss-Seidel produz a sequência de pontos vermelhos que convergem para (1, −1).

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 0 0.5 1 1.5 2

As linhas azul e verde correspondem as duas equações do sistema linear.

(27)

Considerações Finais

Os métodos iterativos, que geralmente não modificam significativamente a estrutura da matrizA, possuem papel

importante principalmente quandoA é esparsa.

Na aula de hoje apresentamos os métodos iterativos de Jacobi e Gauss-Seidel.

O método de Gauss-Seidel é, evidentemente, superior ao método de Jacobi! Contudo, o método de Jacobi pode ser interessante se implementado usando computação paralela!

Na próxima aula discutiremos a convergência desses métodos. Muito grato pela atenção!

Referências

Documentos relacionados

Além de mais conveniência para acompanhar a sua conta de perto, toda vez que um novo extrato Activité ou fatura do cartão estiver disponível para consulta, o Itaú Personnalité envia

A BM&amp;FBOVESPA não presta qualquer declaração ou garantia, expressa ou tácita, aos cotistas dos Fundos de Índice e não será responsável: (i) pela qualidade, exatidão ou

Os resultados obtidos na estimativa do número mínimo de indivíduos que foram exu- mados das grutas do Poço Velho permitiram identificar pelo menos 115 indivíduos, dos quais 93

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

A maior diversidade de presas, encontrada na dieta das fêmeas adultas, pode estar relacionada com a necessidade de maior aporte energético para a reprodução em relação

Informe o seu médico se tiver tomado medicamentos para tornar o sangue mais fluido, ou outros medicamentos que possam afetar a coagulação do sangue (anticoagulantes) ou as

Mais de 90% dos entrevistados de todas as faixas etárias acham que animais criados sob as normas de bem-estar originarão produtos de maior qualidade e houve maior percentual de

O redo log buffer cache é uma estrutura de memória de uso circular que contém buffers ou conjuntos de blocos ORACLE com informações sobre todas as alterações feitas nos dados