Topico4-Sistemas Lineares.pdf

331 

Full text

(1)

DCC008 - C´alculo Num´erico

Resolu¸c˜ao de Sistemas de Equa¸c˜oes Lineares

Iury Igreja

Departamento de Ciˆencia da Computa¸c˜ao Universidade Federal de Juiz de Fora

(2)

Conte´udo

◮ Introdu¸c˜ao

◮ Conceitos fundamentais ◮ M´etodos diretos

◮ Sistemas triangulares ◮ Elimina¸c˜ao de Gauss ◮ Estrat´egias de Pivoteamento ◮ Decomposi¸c˜ao LU

◮ Decomposi¸c˜ao Cholesky ◮ Invers˜ao de Matriz

◮ M´etodos iterativos

◮ Introdu¸c˜ao

◮ M´etodos Iterativos Estacion´arios ◮ M´etodo de Jacobi

(3)

Introdu¸c˜ao

Iremos estudar agora m´etodos computacionais para resolver um sistema de equa¸c˜oes lineares da forma:

a11x1+a12x2+. . .+a1nxn=b1

a21x1+a22x2+. . .+a2nxn=b2

..

. ...

am1x1+am2x2+. . .+amnxn=bm

onde

aij ∈R, bi ∈R, xj ∈R, i= 1, . . . , m, j= 1, . . . , n

(4)

Introdu¸c˜ao

Exemplos de aplica¸c˜oes

Em uma vasta gama de problemas de ciˆencias e engenharias a solu¸c˜ao de um sistema de equa¸c˜oes lineares ´e necess´aria. Podemos enumerar diversas ´areas e problemas t´ıpicos, tais como:

◮ Solu¸c˜ao de equa¸c˜oes diferenciais

◮ Solu¸c˜ao de EDPs atrav´es do m´etodo dos elementos finitos,

diferen¸cas finitas ou volumes finitos.

◮ Solu¸c˜ao de EDOs

◮ Programa¸c˜ao linear ◮ An´alise de estruturas

◮ Sistemas de equa¸c˜oes n˜ao-lineares ◮ Outros m´etodos num´ericos

◮ Interpola¸c˜ao, m´ınimos quadrados, etc.

(5)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

(6)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

Calcular as tens˜oes dos n´os do circuito el´etrico da figura abaixo:

Modelagem do problema:

◮ Lei de Kirchhoff: a soma das correntes que passam em cada n´o do circuito ´e nula.

◮ Lei de Ohm: a corrente do n´oj para o n´o k´e dada pela equa¸c˜ao

(7)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

(8)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

N´o 1: IA1+I21+I31+I41= 0 0−V1

1 +V

2−V1

1 +V

3−V1

2 +V

4−V1

(9)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

N´o 1: IA1+I21+I31+I41= 0 0−V1

1 +V

2−V1

1 +V

3−V1

2 +V

4−V1

2 = 0

(10)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

N´o 1: IA1+I21+I31+I41= 0 0−V1

1 +V

2−V1

1 +V

3−V1

2 +V

4−V1

2 = 0

−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0

−4V1+ 2V2+V3−2V1+ 2V4= 0

(11)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

N´o 1: IA1+I21+I31+I41= 0 0−V1

1 +V

2−V1

1 +V

3−V1

2 +V

4−V1

2 = 0

−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0

−4V1+ 2V2+V3−2V1+ 2V4= 0

−6V1+ 2V2+V3+V4= 0

N´o 2:

3V1−4V2+V3 = 0

N´o 3:

3V1+ 2V2−13V2+ 6V4 =−254

N´o 4:

(12)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

  

−6 2 1 1

3 −4 1 0

3 2 −13 6

1 0 2 −3

        V1 V2 V3 V4    

N´o 1: IA1+I21+I31+I41= 0 0−V1

1 +V

2−V1

1 +V

3−V1

2 +V

4−V1

2 = 0

−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0

−4V1+ 2V2+V3−2V1+ 2V4= 0

−6V1+ 2V2+V3+V4= 0

N´o 2:

3V1−4V2+V3 = 0

N´o 3:

3V1+ 2V2−13V2+ 6V4 =−254

N´o 4:

(13)

Introdu¸c˜ao

Tens˜oes em circuito el´etrico

  

−6 2 1 1

3 −4 1 0

3 2 −13 6

1 0 2 −3

        V1 V2 V3 V4    =     0 0 −254 0    

Usando algum m´etodo que iremos estudar, encontramos a solu¸c˜ao deste sistema

V∗ =

  

25.7 31.75

49.6 41.6

  

(14)

Introdu¸c˜ao

Estruturas

Exemplo 1, Cap´ıtulo 3, P´agina, 105, Livro da Ruggiero. Determinar as for¸cas que atuam nesta treli¸ca.

Jun¸c˜ao 2:

X

Fx =−αf1+f4+αf5 = 0 X

Fy =−αf1−f3−αf5 = 0

(15)

Conceitos fundamentais

(16)

Conceitos fundamentais

Antes de estudar os m´etodos para solu¸c˜ao deste tipo de problema, vamos rever alguns conceitos fundamentais de ´Algebra Linear necess´arios para o desenvolvimento e an´alise dos m´etodos.

Matrizes

Uma matriz ´e um conjunto de elementos (n´umeros reais ou complexos) dispostos de forma retangular. O tamanho ou dimens˜ao ´e definido pelo seu n´umero de linhas e colunas. Uma matriz comm linhas encolunas ´e dita ser m×n(m por n) e se m=n, ent˜ao dizemos que a matriz ´e quadrada.

A=

   

a11 a12 . . . a1n a21 a22 . . . a2n

..

. . .. ... am1 am2 . . . amn

   

(17)

Conceitos fundamentais

Matrizes especiais

◮ Matriz coluna e matriz linha

Matriz linha: 1×n

a11 a12 . . . a1n

Matriz coluna: n×1

   

a11

a21

.. . an1

   

◮ Matriz nula:

aij = 0, ∀i, j

◮ Matriz diagonal:

dij = 0, ∀i6=j

◮ Matriz identidade:

(18)

Conceitos fundamentais

Matrizes especiais

◮ Matriz triangular inferior: acima da diagonal principal ´e nula

bij = 0, ∀i < j, Exemplo: B=

b11 0 0

b21 b22 0

b31 b32 b33 

(19)

Conceitos fundamentais

Matrizes especiais

◮ Matriz triangular inferior: acima da diagonal principal ´e nula

bij = 0, ∀i < j, Exemplo: B=

b11 0 0

b21 b22 0

b31 b32 b33 

◮ Matriz triangular superior: abaixo da diagonal principal ´e nula

cij = 0, ∀i > j, Exemplo: C=

c11 c12 c13 0 c22 c23

0 0 c33

(20)

Conceitos fundamentais

Matrizes especiais

◮ Matriz triangular inferior: acima da diagonal principal ´e nula

bij = 0, ∀i < j, Exemplo: B=

b11 0 0

b21 b22 0

b31 b32 b33 

◮ Matriz triangular superior: abaixo da diagonal principal ´e nula

cij = 0, ∀i > j, Exemplo: C=

c11 c12 c13 0 c22 c23

0 0 c33

◮ Matriz sim´etrica:

(21)

Conceitos fundamentais

Opera¸c˜oes matriciais

Transposi¸c˜ao

A transposta de uma matrizA, denotada porAT, ´e uma matriz obtida trocando-se as suas linhas pelas colunas.

Exemplo:

A=

  

1 2 3

4 5 6

7 8 9

10 11 12

 

, A

T =

1 4 7 10 2 5 8 11 3 6 9 12

(22)

Conceitos fundamentais

Opera¸c˜oes matriciais

Transposi¸c˜ao

A transposta de uma matrizA, denotada porAT, ´e uma matriz obtida trocando-se as suas linhas pelas colunas.

Exemplo:

A=

  

1 2 3

4 5 6

7 8 9

10 11 12

 

, A

T =

1 4 7 10 2 5 8 11 3 6 9 12

Adi¸c˜ao e Subtra¸c˜ao

(23)

Conceitos fundamentais

Opera¸c˜oes matriciais

Multiplica¸c˜ao por escalar

SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que

(24)

Conceitos fundamentais

Opera¸c˜oes matriciais

Multiplica¸c˜ao por escalar

SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que

bij =k aij, ∀i, j

Multiplica¸c˜ao matriz-vetor

SejaAuma matriz m×n ex um vetorn×1, ent˜ao a multiplica¸c˜ao deA porx´e

v=Ax ⇒ vi= n

X

j=1

(25)

Conceitos fundamentais

Opera¸c˜oes matriciais

Multiplica¸c˜ao por escalar

SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que

bij =k aij, ∀i, j

Multiplica¸c˜ao matriz-vetor

SejaAuma matriz m×n ex um vetorn×1, ent˜ao a multiplica¸c˜ao deA porx´e

v=Ax ⇒ vi= n

X

j=1

aijxj, i= 1,2, . . . , m

Exemplo 

 1 2 3 4 5 6

1 2

=

 5 11 17

(26)

Conceitos fundamentais

Opera¸c˜oes matriciais

Multiplica¸c˜ao matriz-matriz

SejaAuma matriz m×p e Buma matriz p×n. O resultado da multiplica¸c˜aoAB´e uma matriz Cde tamanho m×n.

cij = p

X

k=1

aikbkj, i= 1, . . . , m, j= 1, . . . , n

Exemplo:

A=

3 1 0

−1 6 4

, B=

−3 2

4 9

8 −1

C=AB=

−5 15

59 48

(27)

Conceitos fundamentais

Opera¸c˜oes matriciais

Produto Interno e Produto Externo

O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por

k=xTy=x1y1+x2y2+. . .+xnyn= n

X

i=1

(28)

Conceitos fundamentais

Opera¸c˜oes matriciais

Produto Interno e Produto Externo

O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por

k=xTy=x1y1+x2y2+. . .+xnyn= n

X

i=1

xiyi

O produto externo entrex(m×1)e y(n×1)resulta em uma matrizM de tamanhom×n dada por

(29)

Conceitos fundamentais

Opera¸c˜oes matriciais

Produto Interno e Produto Externo

O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por

k=xTy=x1y1+x2y2+. . .+xnyn= n

X

i=1

xiyi

O produto externo entrex(m×1)e y(n×1)resulta em uma matrizM de tamanhom×n dada por

mij =xiyj, i= 1, . . . , m, j = 1, . . . , n

Exemplo: x=   5 −1 2  , y=

  1 3 4 

, xTy= 10, xyT =M=

 

5 15 20

−1 −3 −4

2 6 8

(30)

Conceitos fundamentais

Opera¸c˜oes matriciais

Determinante

SejaAuma matriz quadrada de ordem n. Ent˜aoA possui um n´umero associado chamado de determinante, o qual pode ser calculado pela seguinte f´ormula:

det(A) =a11det(M11)−a12det(M12)+. . .+(−1)n+1a1ndet(M1n)

ondeMij´e a matriz resultante da remo¸c˜ao da linha ie da coluna

(31)

Conceitos fundamentais

Opera¸c˜oes matriciais

Determinante

SejaAuma matriz quadrada de ordem n. Ent˜aoA possui um n´umero associado chamado de determinante, o qual pode ser calculado pela seguinte f´ormula:

det(A) =a11det(M11)−a12det(M12)+. . .+(−1)n+1a1ndet(M1n)

ondeMij´e a matriz resultante da remo¸c˜ao da linha ie da coluna

j da matrizA. Em particular

A= [a11]⇒ det(A) =a11, A=

a11 a12

a21 a22

⇒det(A) =a11a22−a12a21

A= 

a11 a12 a13

a21 a22 a23

a31 a32 a33

det(A) =a11(a22a33−a32a23)

−a12(a21a33−a31a23)

(32)

Conceitos fundamentais

Opera¸c˜oes matriciais

Defini¸c˜ao (Matriz singular)

(33)

Conceitos fundamentais

Opera¸c˜oes matriciais

Defini¸c˜ao (Matriz singular)

Uma matriz comdet(A) = 0 ´e dita singular. Por outro lado quandodet(A)6= 0 dizemos que a matriz ´e n˜ao-singular.

Defini¸c˜ao (Vetores Linearmente Independentes)

Um conjunto de vetoresx1,x2, . . . ,xk´e dito ser linearmente independente (LI) se

c1x1+c2x2+. . .+ckxk= 0

somente sec1 =c2 =. . .=ck = 0. Caso contr´ario, isto ´e, quando c1, c2, . . . , ck n˜ao s˜ao todos nulos, dizemos que o conjunto de

(34)

Conceitos fundamentais

Opera¸c˜oes matriciais

Defini¸c˜ao (Posto)

(35)

Conceitos fundamentais

Opera¸c˜oes matriciais

Defini¸c˜ao (Posto)

O posto (ou rank) de uma matrizA de tamanhom×n´e definido como o n´umero m´aximo de vetores linhas (ou de vetores colunas) linearmente independentes deA. Escrevemos posto(A) =r e temos quer ≤min (m, n).

Defini¸c˜ao (Inversa)

A inversa de uma matrizA quadradan×n´e representada por

A−1 e definida de tal forma que

AA−1=A−1A=I

ondeI´e a matriz identidade de ordem n.

A=

2 1 4 3

, A−1=

3

2 −12

−2 1

(36)

Sistemas Lineares

Um sistema de equa¸c˜oes lineares consiste em um conjunto dem equa¸c˜oes polinomiais comnvari´aveis xi de grau um, isto ´e

a11x1+a12x2+. . .+a1nxn=b1

a21x1+a22x2+. . .+a2nxn=b2

..

. ...

am1x1+am2x2+. . .+amnxn=bm

o qual pode ser escrito da seguinte forma matricialAx=b onde

A=     

a11 a12 . . . a1n a21 a22 . . . a2n

..

. . .. ... am1 am2 . . . amn

   

, x=

     x1 x2 .. . xn     

, b=

     b1 b2 .. . bm     

(37)

Classifica¸c˜ao de Sistemas

N´umero de Solu¸c˜oes

Vamos considerar apenas sistemas cujas matrizes dos coeficientes s˜ao quadradas, isto ´e, ondeA∈Rn×n.

Iremos tratar do caso ondeA n˜ao ´e uma matriz quadrada em > n mais adiante, quando estudarmos m´ınimos quadrados.

Para o sistemaAx=b, temos as seguintes possibilidades quanto ao n´umero de solu¸c˜oes:

(a) uma ´unica solu¸c˜ao

(b) infinitas solu¸c˜oes

(c) sem solu¸c˜ao

(38)

Classifica¸c˜ao de Sistemas

Caso (a) ´Unica solu¸c˜ao

x1+x2= 3

x1−x2=−1

1 1

1 −1 x1

x2

=

3

−1

⇒ x=

1 2

4 3 2 1 0 1 2 3 4

(39)

Classifica¸c˜ao de Sistemas

Caso (a) ´Unica solu¸c˜ao

x1+x2= 3

x1−x2=−1

1 1

1 −1 x1

x2

=

3

−1

⇒ x=

1 2

4 3 2 1 0 1 2 3 4

(40)

Classifica¸c˜ao de Sistemas

Caso (b) Infinitas Solu¸c˜oes

x1+x2 = 1 2x1+ 2x2 = 2

1 1 2 2

x1

x2

=

1 2

4 3 2 1 0 1 2 3 4

3 2 1 0 1 2 3 4 5

(41)

Classifica¸c˜ao de Sistemas

Caso (b) Infinitas Solu¸c˜oes

x1+x2 = 1 2x1+ 2x2 = 2

1 1 2 2

x1

x2

=

1 2

⇒ x=

1−θ θ

4 3 2 1 0 1 2 3 4

3 2 1 0 1 2 3 4 5

(42)

Classifica¸c˜ao de Sistemas

Caso (b) Infinitas Solu¸c˜oes

x1+x2 = 1 2x1+ 2x2 = 2

1 1 2 2

x1

x2

=

1 2

⇒ x=

1−θ θ

4 3 2 1 0 1 2 3 4

3 2 1 0 1 2 3 4 5

(43)

Classifica¸c˜ao de Sistemas

Caso (c) Sem Solu¸c˜ao

x1+x2= 1

x1+x2= 4

⇒ 6 ∃x tal queAx=b

4 3 2 1 0 1 2 3 4

4 2 0 2 4 6 8

(44)

Classifica¸c˜ao de Sistemas

Caso (c) Sem Solu¸c˜ao

x1+x2= 1

x1+x2= 4

⇒ 6 ∃x tal queAx=b

4 3 2 1 0 1 2 3 4

4 2 0 2 4 6 8

(45)

Existˆencia e unicidade da solu¸c˜ao

A equa¸c˜aoAx=b possui uma ´unica solu¸c˜ao se e somente se a matrizA for n˜ao-singular. O Teorema a seguir, caracteriza a n˜ao-singularidade da matrizA.

Teorema

SejaAuma matriz quadradan×n. As seguintes afirma¸c˜oes s˜ao equivalentes:

a) A−1 existe

b) N˜ao existe y n˜ao-zero tal queAy=0. Ou seja, a ´unica solu¸c˜ao do sistema homogˆeneo ´ey=0.

c) posto(A) =n

d) det(A)6= 0

e) Dado qualquer vetorb, existe exatamente um vetor xtal que

Ax=b (ou x=A−1b).

Prova

(46)

M´etodos para solu¸c˜ao de sistemas lineares

(47)

M´etodos para solu¸c˜ao de sistemas lineares

Iremos estudar agora diversos m´etodos num´ericos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares. Vamos considerar queA´e quadrada e n˜ao-singular.

Os m´etodos de solu¸c˜ao de sistemas lineares geralmente envolvem a convers˜ao de um sistema quadrado em um sistema triangular que possui a mesma solu¸c˜ao que o original.

(48)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

(49)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

(50)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

(51)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

l11

(52)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

l11

l21x1+l22x2=b2 ⇒ x2=

b2−l21x1

(53)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

l11

l21x1+l22x2=b2 ⇒ x2=

b2−l21x1

l22

(54)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

l11

l21x1+l22x2=b2 ⇒ x2=

b2−l21x1

l22

. . .

(55)

Sistema triangular inferior

Considere um sistema triangular inferior de ordemndado por

   

l11 0 0 . . . 0

l21 l22 0 . . . 0

..

. . ..

ln1 ln2 ln3 . . . lnn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):

l11x1=b1 ⇒ x1=

b1

l11

l21x1+l22x2=b2 ⇒ x2=

b2−l21x1

l22

. . .

ln1x1+ln2x2+. . .+lnnxn=bn ⇒ xn=

bn−ln1x1−ln2x2−. . .−lnn−1xn−1

(56)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

(57)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

lii i= 1, . . . , n

Exemplo

  

2 0 0 0

3 5 0 0

1 −6 8 0

−1 4 −3 9

(58)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

lii i= 1, . . . , n

Exemplo

  

2 0 0 0

3 5 0 0

1 −6 8 0

−1 4 −3 9

        x1 x2 x3 x4    =     4 1 48 0     Solu¸c˜ao

(59)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

lii i= 1, . . . , n

Exemplo

  

2 0 0 0

3 5 0 0

1 −6 8 0

−1 4 −3 9

        x1 x2 x3 x4    =     4 1 48 0     Solu¸c˜ao

2x1= 4 ⇒ x1 = 2

(60)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

lii i= 1, . . . , n

Exemplo

  

2 0 0 0

3 5 0 0

1 −6 8 0

−1 4 −3 9

        x1 x2 x3 x4    =     4 1 48 0     Solu¸c˜ao

2x1= 4 ⇒ x1 = 2

3x1+ 5x2 = 1 ⇒ x2 = 1−65 =−1

(61)

Sistema triangular inferior

De forma geral paraLx=b temos

xi=

bi− i−1 X

j=1

lijxj

 ,

lii i= 1, . . . , n

Exemplo

  

2 0 0 0

3 5 0 0

1 −6 8 0

−1 4 −3 9

        x1 x2 x3 x4    =     4 1 48 0     Solu¸c˜ao

2x1= 4 ⇒ x1 = 2

3x1+ 5x2 = 1 ⇒ x2 = 1−65 =−1

x1−6x2+ 8x3 = 48 ⇒ x3 = 48−2−68 = 5

(62)

Sistema triangular inferior

Algoritmo

entrada: L∈Rn×n,bRn

sa´ıda: x∈Rn

x(1) = b(1) / L(1,1);

parai=2, ..., n fa¸ca

s = b(i);

paraj=1, ..., i-1 fa¸ca

s = s - L(i,j) * x(j);

fim-para

x(i) = s/L(i,i);

(63)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

(64)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

(65)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

(66)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

unnxn=bn ⇒ xn= bn unn

(67)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

unnxn=bn ⇒ xn= bn unn

un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=

(68)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

unnxn=bn ⇒ xn= bn unn

un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=

bn−1−un−1nxn un−1n−1

(69)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

unnxn=bn ⇒ xn= bn unn

un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=

bn−1−un−1nxn un−1n−1

(70)

Sistema triangular superior

O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).     

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n ..

. . ..

0 0 0 . . . unn

          x1 x2 .. . xn      =      b1 b2 .. . bn     

e assim temos

unnxn=bn ⇒ xn= bn unn

un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=

bn−1−un−1nxn un−1n−1

.. .

u11x1+u12x2+. . .+u1nxn=b1 ⇒ x1=

(71)

Sistema triangular superior

De forma geral paraUx=b temos

xi=

bi− n

X

j=i+1

uijxj

 ,

(72)

Sistema triangular superior

De forma geral paraUx=b temos

xi=

bi− n

X

j=i+1

uijxj

 ,

uii i=n, . . . ,1

Exemplo

2 4 −2

0 1 1

0 0 4

 

x1

x2

x3 

= 

2 4 8

(73)

Sistema triangular superior

De forma geral paraUx=b temos

xi=

bi− n

X

j=i+1

uijxj

 ,

uii i=n, . . . ,1

Exemplo

2 4 −2

0 1 1

0 0 4

    x1 x2 x3  =   2 4 8   Solu¸c˜ao

(74)

Sistema triangular superior

De forma geral paraUx=b temos

xi=

bi− n

X

j=i+1

uijxj

 ,

uii i=n, . . . ,1

Exemplo

2 4 −2

0 1 1

0 0 4

    x1 x2 x3  =   2 4 8   Solu¸c˜ao

4x3= 8 ⇒ x3= 2

(75)

Sistema triangular superior

De forma geral paraUx=b temos

xi=

bi− n

X

j=i+1

uijxj

 ,

uii i=n, . . . ,1

Exemplo

2 4 −2

0 1 1

0 0 4

    x1 x2 x3  =   2 4 8   Solu¸c˜ao

4x3= 8 ⇒ x3= 2

x2+x3 = 4 ⇒ x2= 2

(76)

Sistema triangular superior

Algoritmo

entrada: U∈Rn×n,bRn

sa´ıda: x∈Rn

x(n) = b(n)/U(n,n);

parai=n-1, ..., 1 fa¸ca

s = b(i);

paraj=i+1, ..., n fa¸ca

s = s - U(i,j) * x(j);

fim-para

x(i) = s/U(i,i);

(77)

Complexidade Computacional

Muitas vezes precisamos medir o custo de execu¸c˜ao de um algoritmo. Para isso usualmente definimos uma fun¸c˜ao de complexidade que pode ser uma medida do tempo para o algoritmo resolver um problema cuja instˆancia de entrada tem tamanhon(ou medir por exemplo o quanto de mem´oria seria necess´ario para execu¸c˜ao).

A complexidade de um algoritmo para solu¸c˜ao de um sistema linear de ordemn´e medida atrav´es do n´umero de opera¸c˜oes aritm´eticas como adi¸c˜ao, multiplica¸c˜ao e divis˜ao.

Lembrando que

n

X

i=1

(78)

Complexidade Computacional

Substitui¸c˜ao:

Divis˜ao: n

Adi¸c˜ao: n

X

i=2

(i−1) =

n−1 X

i=1

i= n(n−1) 2

Multiplica¸c˜ao: n

X

i=2

(i−1) =

n−1 X

i=1

i= n(n−1) 2

No total o algoritmo de substitui¸c˜ao para sistemas triangulares inferiores realiza

n+n(n−1)

2 +

n(n−1)

2 =n+n

2n=n2

(79)

Complexidade Computacional

Retro-substitui¸c˜ao:

Divis˜ao: n

Adi¸c˜ao: n−1 X

i=1

(n−i) =n(n−1)−n(n−1)

2 =

n(n−1) 2

Multiplica¸c˜ao: n−1 X

i=1

(n−i) =n(n−1)−n(n−1)

2 =

n(n−1) 2

No total o algoritmo de retro-substitui¸c˜ao para sistemas triangulares superiores realiza

n+n(n−1)

2 +

n(n−1)

2 =n+n

2n=n2

(80)

M´etodos para solu¸c˜ao de sistemas lineares

(81)

M´etodos para solu¸c˜ao de sistemas lineares

Existem dois tipos de m´etodos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares:

◮ M´etodos diretos

◮ Os m´etodos diretos s˜ao aqueles que conduzem `asolu¸c˜ao

(82)

M´etodos para solu¸c˜ao de sistemas lineares

Existem dois tipos de m´etodos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares:

◮ M´etodos diretos

◮ Os m´etodos diretos s˜ao aqueles que conduzem `asolu¸c˜ao

exataap´os um n´umero finito de passos a menos de erros de arredondamento introduzidos pela m´aquina.

◮ M´etodos iterativos

◮ S˜ao aqueles que se baseiam na constru¸c˜ao desequˆencias de

(83)

Elimina¸c˜ao de Gauss

O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior

(84)

Elimina¸c˜ao de Gauss

O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior

introduzindo zeros abaixo da diagonal principal, primeiro na coluna 1, depois na coluna 2 e assim por diante.

  

x x x x x x x x x x x x x x x x    →    

x x x x 0 x x x 0 x x x 0 x x x    →    

x x x x 0 x x x 0 0 x x 0 0 x x    →    

x x x x 0 x x x 0 0 x x 0 0 0 x 

(85)

Elimina¸c˜ao de Gauss

O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior

introduzindo zeros abaixo da diagonal principal, primeiro na coluna 1, depois na coluna 2 e assim por diante.

  

x x x x x x x x x x x x x x x x    →    

x x x x 0 x x x 0 x x x 0 x x x    →    

x x x x 0 x x x 0 0 x x 0 0 x x    →    

x x x x 0 x x x 0 0 x x 0 0 0 x 

  

(86)

Elimina¸c˜ao de Gauss

(87)

Elimina¸c˜ao de Gauss

Na elimina¸c˜ao de Gauss, as opera¸c˜oes efetuadas para se obter a matriz triangular superior s˜ao tais que a matriz triangular obtida possui a mesma solu¸c˜ao que o sistema original.

Defini¸c˜ao (Sistema equivalente)

(88)

Elimina¸c˜ao de Gauss

Na elimina¸c˜ao de Gauss, as opera¸c˜oes efetuadas para se obter a matriz triangular superior s˜ao tais que a matriz triangular obtida possui a mesma solu¸c˜ao que o sistema original.

Defini¸c˜ao (Sistema equivalente)

Dois sistemas de equa¸c˜oes lineares s˜ao equivalentes quando possuem o mesmo vetor solu¸c˜ao.

Um sistema pode ser transformado em um outro sistema equivalente utilizando as seguintes opera¸c˜oes elementares:

◮ trocar a ordem de duas equa¸c˜oes

(89)

Elimina¸c˜ao de Gauss

Exemplo

3x1+ 5x2= 9 6x1+ 7x2= 4

Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e

L′2 =L2−2L1

Efetuando esta opera¸c˜ao obtemos o sistema equivalente

3x1+ 5x2 = 9

−3x2 =−14

7 6 5 4 3 2 1 0 1 1

0 1 2 3 4 5 6 7

7 6 5 4 3 2 1 0 1 1

(90)

Elimina¸c˜ao de Gauss

Exemplo

3x1+ 5x2= 9 6x1+ 7x2= 4

Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e

L′2 =L2−2L1

Efetuando esta opera¸c˜ao obtemos o sistema equivalente

3x1+ 5x2 = 9

−3x2 =−14

7 6 5 4 3 2 1 0 1 1

0 1 2 3 4 5 6 7

7 6 5 4 3 2 1 0 1 1

(91)

Elimina¸c˜ao de Gauss

Exemplo

3x1+ 5x2= 9 6x1+ 7x2= 4

Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e

L′2 =L2−2L1

Efetuando esta opera¸c˜ao obtemos o sistema equivalente

3x1+ 5x2 = 9

−3x2 =−14

7 6 5 4 3 2 1 0 1 1

0 1 2 3 4 5 6 7

7 6 5 4 3 2 1 0 1 1

(92)

Elimina¸c˜ao de Gauss

Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.

Exemplo

Seja o sistema

x1+x3 = 0

x1+x2 = 1 2x1+ 3x2+x3 = 1

(93)

Elimina¸c˜ao de Gauss

Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.

Exemplo

Seja o sistema

x1+x3 = 0

x1+x2 = 1 2x1+ 3x2+x3 = 1

1 0 1 1 1 0 2 3 1

 

x1

x2

x3 

= 

0 1 1

(94)

Elimina¸c˜ao de Gauss

Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.

Exemplo

Seja o sistema

x1+x3 = 0

x1+x2 = 1 2x1+ 3x2+x3 = 1

1 0 1 1 1 0 2 3 1

 

x1

x2

x3 

= 

0 1 1

Solu¸c˜ao

(95)

Elimina¸c˜ao de Gauss

Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.

Exemplo

Seja o sistema

x1+x3 = 0

x1+x2 = 1 2x1+ 3x2+x3 = 1

1 0 1 1 1 0 2 3 1

    x1 x2 x3  =   0 1 1   Solu¸c˜ao

Como podemos eliminar os coeficientes abaixo da diagonal principal na primeira coluna?

L′2 =L2−L1

L′3 =L3−2L1

1 0 1 0

0 1 −1 1 0 3 −1 1

(96)

Elimina¸c˜ao de Gauss

Exemplo - (cont.)

(97)

Elimina¸c˜ao de Gauss

Exemplo - (cont.)

Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?

L′′3 =L′3−3L′2

1 0 1 0

0 1 −1 1

0 0 2 −2

(98)

Elimina¸c˜ao de Gauss

Exemplo - (cont.)

Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?

L′′3 =L′3−3L′2

1 0 1 0

0 1 −1 1

0 0 2 −2

(99)

Elimina¸c˜ao de Gauss

Exemplo - (cont.)

Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?

L′′3 =L′3−3L′2

1 0 1 0

0 1 −1 1

0 0 2 −2

Agora podemos usar a retro-substitui¸c˜ao para encontrar facilmente a solu¸c˜ao deste sistema:

2x3=−2 ⇒ x3=−1

x2−x3= 1 ⇒ x2= 1 +x3 = 1−1 = 0

(100)

Elimina¸c˜ao de Gauss

Exemplo - (cont.)

Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?

L′′3 =L′3−3L′2

1 0 1 0

0 1 −1 1

0 0 2 −2

Agora podemos usar a retro-substitui¸c˜ao para encontrar facilmente a solu¸c˜ao deste sistema:

2x3=−2 ⇒ x3=−1

x2−x3= 1 ⇒ x2= 1 +x3 = 1−1 = 0

x1+x3= 0 ⇒ x1=−x3= 1

(101)

Revisitando a Elimina¸c˜ao de Gauss

Resolver o seguinte sistema

2 1 1

4 −6 0

−2 7 2

 

x1

x2

x3 

= 

5

−2 9

(102)

Revisitando a Elimina¸c˜ao de Gauss

Resolver o seguinte sistema

2 1 1

4 −6 0

−2 7 2

 

x1

x2

x3 

= 

5

−2 9

Passo 1

m21= aa2111 = 4/2 = 2 ⇒ L

(103)

Revisitando a Elimina¸c˜ao de Gauss

Resolver o seguinte sistema

2 1 1

4 −6 0

−2 7 2

 

x1

x2

x3 

= 

5

−2 9

Passo 1

m21= aa2111 = 4/2 = 2 ⇒ L

2 =L2−2L1

m31= aa3111 =−2/2 =−1 ⇒ L

(104)

Revisitando a Elimina¸c˜ao de Gauss

Resolver o seguinte sistema

2 1 1

4 −6 0

−2 7 2

    x1 x2 x3  =   5 −2 9   Passo 1

m21= aa2111 = 4/2 = 2 ⇒ L

2 =L2−2L1

m31= aa3111 =−2/2 =−1 ⇒ L

3 =L3+L1

2 1 1 5

0 −8 −2 −12

0 8 3 14

(105)

Revisitando a Elimina¸c˜ao de Gauss

Passo 2

2 1 1 5

0 −8 −2 −12

0 8 3 14

m32= aa3222 = 8/−8 =−1 ⇒ L

′′

(106)

Revisitando a Elimina¸c˜ao de Gauss

Passo 2

2 1 1 5

0 −8 −2 −12

0 8 3 14

m32= aa3222 = 8/−8 =−1 ⇒ L

′′

3 =L′3+L′2

2 1 1 5

0 −8 −2 −12

0 0 1 2

(107)

Elimina¸c˜ao de Gauss

De forma geral

    

a11 a12 a13 . . . a1n b1

a21 a22 a23 . . . a2n b2

..

. ... ... . .. ... ... an1 an2 an3 . . . ann bn

(108)

Elimina¸c˜ao de Gauss

De forma geral

    

a11 a12 a13 . . . a1n b1

a21 a22 a23 . . . a2n b2

..

. ... ... . .. ... ... an1 an2 an3 . . . ann bn

    

Passo 1 (k=1): eliminamos os elementos abaixo da diagonal

(109)

Elimina¸c˜ao de Gauss

De forma geral

    

a11 a12 a13 . . . a1n b1

a21 a22 a23 . . . a2n b2

..

. ... ... . .. ... ... an1 an2 an3 . . . ann bn

    

Passo 1 (k=1): eliminamos os elementos abaixo da diagonal

principal na primeira coluna. Suponha quea116= 0. Ent˜ao:

m21=a21/a11

m31=a31/a11

.. .

mn1=an1/a11

ou seja

(110)

Elimina¸c˜ao de Gauss

De forma geral

    

a11 a12 a13 . . . a1n b1

a21 a22 a23 . . . a2n b2

..

. ... ... . .. ... ... an1 an2 an3 . . . ann bn

    

Passo 1 (k=1): eliminamos os elementos abaixo da diagonal

principal na primeira coluna. Suponha quea116= 0. Ent˜ao:

m21=a21/a11

m31=a31/a11

.. .

mn1=an1/a11

ou seja

(111)

Elimina¸c˜ao de Gauss

Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da

i-´esima equa¸c˜ao, isto ´e

Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j

(112)

Elimina¸c˜ao de Gauss

Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da

i-´esima equa¸c˜ao, isto ´e

Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j

b(1)i =b(0)i −mi1 b(0)1 , j= 1 :n

Observe que n˜ao alteramos a primeira linha, poisi= 2 :n, logo esta permanece inalterada:

(113)

Elimina¸c˜ao de Gauss

Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da

i-´esima equa¸c˜ao, isto ´e

Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j

b(1)i =b(0)i −mi1 b(0)1 , j= 1 :n

Observe que n˜ao alteramos a primeira linha, poisi= 2 :n, logo esta permanece inalterada:

a(1)1j =a(0)1j =a1j, b(1)1 =b (0) 1 =b1

Ap´os essa etapa zeramos todos os elementos abaixo da diagonal principal na 1a coluna.

      

a11 a12 a13 . . . a1n b1

0 a1 22 a

1

23 . . . a 1 2n b

1 2

0 a1 32 a

1

33 . . . a 1 3n b 1 3 .. . ... ... . .. ... ... 0 a1

n2 a 1

(114)

Elimina¸c˜ao de Gauss

Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal

principal na 2a coluna. Suponha a226= 0. Definimos

(115)

Elimina¸c˜ao de Gauss

Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal

principal na 2a coluna. Suponha a226= 0. Definimos

mi2 =ai2/a22, i= 3 :n

e assim

para i= 3 :n a(2)ij =a(1)ij −mi2 a(1)2j

(116)

Elimina¸c˜ao de Gauss

Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal

principal na 2a coluna. Suponha a226= 0. Definimos

mi2 =ai2/a22, i= 3 :n

e assim

para i= 3 :n a(2)ij =a(1)ij −mi2 a(1)2j

b(2)i =b(1)i −mi2 b(2)1 , j= 2 :n

o que resulta em

     

a11 a12 a13 . . . a1n b1 0 a1

22 a123 . . . a12n b12 0 0 a233 . . . a23n b23

..

. ... ... . .. ... ...

0 0 a2n3 . . . a2nn b2n

(117)

Elimina¸c˜ao de Gauss

Passo 3, Passo 4, ...

Passo k: Considerandoakk6= 0, temos

(118)

Elimina¸c˜ao de Gauss

Passo 3, Passo 4, ...

Passo k: Considerandoakk6= 0, temos

mik =aik/akk, i=k+ 1 :n

e assim fazemos

para i=k+ 1 :n a(ijk)=a(ijk−1)−mik a(kjk−1)

b(ik)=b(ik−1)−mik b(kk−1), j=k:n

(119)

Elimina¸c˜ao de Gauss

No processo de elimina¸c˜ao os elementosa11,a(1)22,a (2) 33,. . .,a

(k−1)

kk que aparecem na diagonal da matrizA s˜ao chamados de pivˆos.

Se os pivˆos n˜ao se anulam, isto ´e, se akk6= 0, k= 1 :n, durante o processo, ent˜ao a elimina¸c˜ao procede com sucesso e por fim chegamos ao seguinte sistema triangular superior

     

a11 a12 a13 . . . a1n−1 a1n b1 0 a122 a123 . . . a21n−1 a12n b12

0 0 a2

33 . . . a23n−1 a23n b23

..

. ... ... . .. ... ...

0 0 0 . . . 0 annn−1 bnn−1

     

(120)

Elimina¸c˜ao de Gauss

Algoritmo

entrada: matriz A∈Rn×n, vetorbRn

sa´ıda: vetor solu¸c˜ao x∈Rn

parak= 1 :n−1 fa¸ca parai=k+ 1 :n fa¸ca

m = A(i,k) / A(k,k);

paraj=k+ 1 :nfa¸ca

A(i,j) = A(i,j) - m * A(k,j);

fim-para

b(i) = b(i) - m * b(k);

fim-para fim-para

(121)

Elimina¸c˜ao de Gauss

Complexidade Computacional

Novamente vamos contabilizar o n´umero de opera¸c˜oes aritm´eticas de ponto flutuante que s˜ao realizadas pelo algoritmo.

Para contar o n´umero de opera¸c˜oes realizadas na elimina¸c˜ao de Gauss, vamos dividir o processo nas seguintes etapas:

(1) A→U: o processo de transformar a matriz A em uma matriz triangular superior U

(2) b→g: modifica¸c˜oes no vetor b

(3) ResolverUx=g usando retro-substitui¸c˜ao

(122)

Elimina¸c˜ao de Gauss

Complexidade Computacional

Novamente vamos contabilizar o n´umero de opera¸c˜oes aritm´eticas de ponto flutuante que s˜ao realizadas pelo algoritmo.

Para contar o n´umero de opera¸c˜oes realizadas na elimina¸c˜ao de Gauss, vamos dividir o processo nas seguintes etapas:

(1) A→U: o processo de transformar a matriz A em uma matriz triangular superior U

(2) b→g: modifica¸c˜oes no vetor b

(3) ResolverUx=g usando retro-substitui¸c˜ao

◮ J´a vimos que o n´umero de opera¸c˜oes deste algoritmo ´en2

No que segue iremos usar

n

X

i=1

i= n(n+ 1) 2

n

X

i=1

(123)

Elimina¸c˜ao de Gauss

Complexidade Computacional

(1)A→U

◮ Divis˜oes n−1 X

k=1

n

X

i=k+1 1

!

=

n−1 X

k=1

(n−k)

=n(n−1)− n−1 X

k=1

k

=n(n−1)−n(n−1)

2

(124)

Elimina¸c˜ao de Gauss

Complexidade Computacional

(1)A→U ◮ Adi¸c˜oes

n−1

X

k=1

n

X

i=k+1

 

n

X

j=k+1

1

 =

n−1

X

k=1

n

X

i=k+1

(n−k)

!

=

n1

X

k=1

(n−k)(n−k)

=

n1

X

k=1

(n2−2kn+k2)

=n2(n−1)−2nn(n−1)

2 +

(n1)(n1+1)(2n2+1) 6

=n(n−1)(2n−1)

6

◮ Multiplica¸c˜oes

(125)

Elimina¸c˜ao de Gauss

Complexidade Computacional

(2)b→g

◮ Adi¸c˜oes

n1

X

k=1

n

X

i=k+1

1

!

=

n1

X

k=1

(n−k)

=n(n−1)−

n−1

X

k=1

k

=n(n−1)−n(n−1)

2

= n(n−1)

2

◮ Multiplica¸c˜oes

(126)

Elimina¸c˜ao de Gauss

Complexidade Computacional

(Total)

Em cada etapa temos

(1) 23n3−n22 −n6

(2) n2−n

Assim nas etapas (1) e (2) temos um total de 23n3+n22 − 76n. Considerando que na etapa de retro-substitui¸c˜ao (3) temosn2

opera¸c˜oes, no total o algoritmo de elimina¸c˜ao de Gauss realiza um total de

2n3

3 +

n2

2 −

7n 6

| {z }

elimina¸c˜ao

+ n2

|{z}

retro-substitui¸c˜ao

= 2n 3

3 +

3n2

2 −

(127)

Elimina¸c˜ao de Gauss

Para um valor denmuito grande, o algoritmo realiza aproximadamente 23n3 opera¸c˜oes de ponto flutuante.

Exemplo

Se um sistema linear tem tamanhon= 100, ent˜ao:

◮ resolver o sistema triangular: 1002= 10 000opera¸c˜oes ◮ elimina¸c˜ao de gauss: 681 550opera¸c˜oes

(128)

Elimina¸c˜ao de Gauss

Mas, e sena etapa kda elimina¸c˜ao de Gauss, o pivˆo for zero?

Isso significa queakk= 0, e assim, ter´ıamos

mik= aik akk

⇒ divis˜ao por zero!

Nesse caso, se um pivˆo for zero, o processo de elimina¸c˜ao tem que parar, ou temporariamente ou permanentemente.

O sistema pode ou n˜ao ser singular.

Se o sistema for singular, i.e, det(A) = 0, e portanto como vimos o sistema n˜ao possui uma ´unica solu¸c˜ao.

(129)

Estrat´egia de Pivoteamento

Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.

A=

1 1 1 2 2 5 4 6 8

(130)

Estrat´egia de Pivoteamento

Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.

A=

1 1 1 2 2 5 4 6 8

Vamos proceder com a elimina¸c˜ao de Gauss.

m21= 2, a12j =a02j−2 a01j

(131)

Estrat´egia de Pivoteamento

Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.

A=

1 1 1 2 2 5 4 6 8

Vamos proceder com a elimina¸c˜ao de Gauss.

m21= 2, a12j =a02j−2 a01j

m31= 4, a13j =a30j−4 a01j, j= 1 : 3

Ent˜ao obtemos

1 1 1 0 0 3 0 2 4

(132)

Estrat´egia de Pivoteamento

No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.

Entretanto

m32=

a32

a22 = 2

0

(133)

Estrat´egia de Pivoteamento

No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.

Entretanto

m32=

a32

a22 = 2

0

Divis˜ao por zero! E agora, o que podemos fazer?

(134)

Estrat´egia de Pivoteamento

No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.

Entretanto

m32=

a32

a22 = 2

0

Divis˜ao por zero! E agora, o que podemos fazer?

Podemos realizar uma opera¸c˜ao elementar de troca de linhas. Como vimos este tipo de opera¸c˜ao quando realizado em um sistema, n˜ao altera a solu¸c˜ao. Sendo assim, vamos trocar as linhas 2 e 3.

1 1 1 0 0 3 0 2 4

 ⇒

1 1 1 0 2 4 0 0 3

(135)

Estrat´egia de Pivoteamento

A estrat´egia de pivoteamento ´e importante pois:

◮ evita a propaga¸c˜ao de erros num´ericos

◮ nos fornece meios de evitar problemas durante a elimina¸c˜ao de Gauss quando opivˆoakk no passo k´eigual a zeroe

precisamos calcular o multiplicador

mik = aik akk

Assim, atrav´es da troca de linhas, podemos encontrar uma linha de tal forma que o novo pivˆo ´e n˜ao-zero, permitindo que a elimina¸c˜ao de Gauss continue at´e obter uma matriz triangular superior.

(136)

Pivoteamento Parcial

No pivoteamento parcial, em cada passok,o pivˆo ´e escolhido

como o maior elemento em m´oduloabaixo de akk (inclusive),

isto ´e

(137)

Pivoteamento Parcial

No pivoteamento parcial, em cada passok,o pivˆo ´e escolhido

como o maior elemento em m´oduloabaixo de akk (inclusive),

isto ´e

Encontrarr tal que: |ark|= max|aik|, k≤i≤n

Feita a escolha do pivˆo, trocamos as linhasr e k e o algoritmo procede.

Isso evita a propaga¸c˜ao de erros num´ericos, pois: ◮ O pivoteamento parcial garante que

|mik| ≤1

◮ Se a

kk for muito pequeno, consequentementemik ser´a muito grande. Dessa forma, ap´os a multiplica¸c˜ao por mik podemos ampliar erros de arredondamento envolvidos no processo. ◮ Tamb´em evitamos o erro que pode ser causado quando

(138)

Pivoteamento Parcial

Exemplo

Aplique a elimina¸c˜ao de Gauss com pivoteamento parcial no seguinte sistema:

2 4 −2 2

4 9 −3 8

−2 −3 7 10

A cada passok:

◮ encontrar o pivˆo do passo k ◮ se necess´ario, trocar as linhas ◮ calcular multiplicador m

ik

◮ para i=k+ 1 :n, calcular

aij(k) =aij(k−1)−mik a(kjk−1)

(139)

Pivoteamento Parcial

Exemplo - (cont.) Passo 1

Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.

2 4 −2 2

4 9 −3 8

−2 −3 7 10

 ⇒

4 9 −3 8

2 4 −2 2

−2 −3 7 10

(140)

Pivoteamento Parcial

Exemplo - (cont.) Passo 1

Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.

2 4 −2 2

4 9 −3 8

−2 −3 7 10

 ⇒

4 9 −3 8

2 4 −2 2

−2 −3 7 10

m21= 2/4 = 1/2 ⇒ a21j =a02j−12a 0 1j m31=−2/4 =−1/2 ⇒ a13j =a03j+12a

0

(141)

Pivoteamento Parcial

Exemplo - (cont.) Passo 1

Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.

2 4 −2 2

4 9 −3 8

−2 −3 7 10

 ⇒

4 9 −3 8

2 4 −2 2

−2 −3 7 10

m21= 2/4 = 1/2 ⇒ a21j =a02j−12a 0 1j m31=−2/4 =−1/2 ⇒ a13j =a03j+12a

0

1j, j= 1 : 3

4 9 −3 8

0 −12 −12 −2 0 32 112 14

(142)

Pivoteamento Parcial

Exemplo - (cont.) Passo 2

Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.

4 9 −3 8

0 −12 −12 −2 0 32 112 14

 ⇒

4 9 −3 8

0 32 112 14 0 −12 −12 −2

(143)

Pivoteamento Parcial

Exemplo - (cont.) Passo 2

Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.

4 9 −3 8

0 −12 −12 −2 0 32 112 14

 ⇒

4 9 −3 8

0 32 112 14 0 −12 −12 −2

m32=−1223 =−13 ⇒ a23j =a13j+13a 1

(144)

Pivoteamento Parcial

Exemplo - (cont.) Passo 2

Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.

4 9 −3 8

0 −12 −12 −2 0 32 112 14

 ⇒

4 9 −3 8

0 32 112 14 0 −12 −12 −2

m32=−1223 =−13 ⇒ a23j =a13j+13a 1

2j, j= 2 : 3

4 9 −3 8

0 32 112 14 0 0 43 83

(145)

Pivoteamento Parcial

Exemplo - (cont.)

Retro-substitui¸c˜ao

4 9 −3 8

0 32 112 14 0 0 43 83

(146)

Pivoteamento Parcial

Exemplo - (cont.)

Retro-substitui¸c˜ao

4 9 −3 8

0 32 112 14 0 0 43 83

4

(147)

Pivoteamento Parcial

Exemplo - (cont.)

Retro-substitui¸c˜ao

4 9 −3 8

0 32 112 14 0 0 43 83

4

3x3 = 83 ⇒ x3= 2 3

2x2+ 2 11

(148)

Pivoteamento Parcial

Exemplo - (cont.)

Retro-substitui¸c˜ao

4 9 −3 8

0 32 112 14 0 0 43 83

4

3x3 = 83 ⇒ x3= 2 3

2x2+ 2 11

2 = 14 ⇒ x2= 2

(149)

Pivoteamento Parcial

Exemplo - (cont.)

Retro-substitui¸c˜ao

4 9 −3 8

0 32 112 14 0 0 43 83

4

3x3 = 83 ⇒ x3= 2 3

2x2+ 2 11

2 = 14 ⇒ x2= 2

4x1+ 9(2)−3(2) = 8 ⇒ x1 =−1

(150)

Pivoteamento Parcial

Exemplo (efeitos num´ericos)

Considere o seguinte sistema:

0.0001 1

1 1

x1

x2

=

1 2

Usando um sistema de ponto flutuanteF(10,3,−10,10)(sistema decimal com 3 d´ıgitos na mantissa), com arredondamento, encontre a solu¸c˜ao do sistema usando elimina¸c˜ao de Gauss sem pivoteamento.

Solu¸c˜ao (sem pivoteamento)

Temos que

m21= 1

0.0001 = 10000 ⇒ L

(151)

Pivoteamento Parcial

Solu¸c˜ao (sem pivoteamento) - Cont.

0.0001 1 1

0 −10000∗ −10000∗∗

Note que(∗) foi obtido como

1−10000×1 = 0.00001×105−0.10000×105

= 0.09999×105

= (arredondando) = 0.100×105

e de forma an´aloga para(∗∗), temos

2−10000×1 = 0.00001×105−0.10000×105

= 0.09998×105

(152)

Pivoteamento Parcial

Solu¸c˜ao (sem pivoteamento) - Cont.

Por fim, aplicando a retrosubstitui¸c˜ao obtemos uma

solu¸c˜ao errada, devido aos erros de aritm´etica em ponto flutuante cometidos em(∗) e(∗∗) durante a soma/subtra¸c˜ao de n´umeros muito pequenos com n´umeros muito grandes.

(153)

Pivoteamento Parcial

Solu¸c˜ao (sem pivoteamento) - Cont.

Por fim, aplicando a retrosubstitui¸c˜ao obtemos uma

solu¸c˜ao errada, devido aos erros de aritm´etica em ponto flutuante cometidos em(∗) e(∗∗) durante a soma/subtra¸c˜ao de n´umeros muito pequenos com n´umeros muito grandes.

Solu¸c˜ao obtida → xT = 0 1

A solu¸c˜ao exata ´e dada por

(154)

Pivoteamento Parcial

Solu¸c˜ao (com pivoteamento)

0.0001 1 1

1 1 2

1 1 2

0.0001 1 1

Neste caso, temos:

0.1×10−0.1×10−3 = 0.1×10−0.00001×10 = (arredondando) 0.100×10 0.1×10−0.2×10−3 = 0.1×10−0.00002×10

= (arredondando) 0.100×10

Logo

1 1 2 0 1 1

Figure

Updating...

References

Updating...

Download now (331 pages)