Você está na página 1de 18

SISTEMAS LINEARES

Dado um sistema linear de ordem n

 +   + +   =



  +   + +   =



 +  + +   =


podemos represent-lo na forma matricial como  =


, no qual


=















 ,  =   e
=  .



Este sistema tem uma nica soluo se det() 0.


Os mtodos numricos usados para resolver um sistema linear podem
ser classificados em duas classes:
1 Mtodos diretos: o sistema resolvido aps um nmero finito e determinado
de operaes.
2 Mtodos iterativos: nestes mtodos so obtidos aproximaes de soluo
iterativamente a partir de uma aproximao inicial, at que uma condio de
parada seja verificada. O nmero de iteraes no pr-definido.
Eliminao Gaussiana
Mtodos diretos  Decomposio L U ;
Cholesky
Gauss - Jacobi
Mtodos iterativos .
;
Gauss - Seidel

RESOLUO DE SISTEMA TRIANGULAR


Seja um sistema triangular superior

 +   + +   =



  + +   =



  =


A soluo deste sistema pode ser encontrada atravs do seguinte


algoritmo:

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

calcule  = 6 5
4

para cada 7 = 8 1, 8 2, 8 3, , 1 =


55

1
> =
?
@ >A A D
>> >
AB>C

Exemplo: Calcule o sistema a seguir, usando o algoritmo anterior.

Resoluo:

2  + 3E + 5G = 7


 + 4E 2G = 18

.
3E 4G = 25
6G = 24

G
24
=
= 4
6
GG
1
1
(
E (EG G)) = (25 ((4) (4))) = 3
E =
EE
3
1
1
(
 (E E + G G)) = (18 (4 3 + (2) (4))) = 2
 =

1
1
1
(
 (  + E E + G G)) = (7 ((1) (2) + 3 3 + 5 (4))) = 1
 =

2
G =


1

2
 =   =  
3
E
G
4

Exerccios:
1 Escreva o algoritmo para resolver um sistema triangular inferior.
2 Implemente um programa que resolva qualquer sistema triangular at a
ordem dez (10).
3 Determinar o vetor soluo dos sistemas lineares do exerccio 2.1.4, em
Barroso et all, Clculo Numrico, com aplicaes, 2 edio, p. 26.
Observaes:
Denominam-se transformaes elementares s seguintes operaes
sobre as equaes de um sistema linear:
a) Trocar a ordem de duas equaes do sistema;
b) Multiplicar uma equao do sistema por uma constante no nula;
c) Somar ou adicionar duas equaes do sistema;

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

ELIMINAO GAUSSIANA
A eliminao gaussiana um mtodo usado para transformar um
sistema linear  =
, com det() 0, em uma matriz triangular superior.
Inicialmente, vamos considerar a ordem do sistema sendo 8 = 3,
  +   + E E =


   +   + E E =
 .
E  + E  + EE E =
E
Determinar,


O O N O
N =

QQQQQ

E

QQQQQ
OE OE NE O
NE =

obtemos

E

OE OE NE O
NE =

 +   + E E =



QQQ

QQQQQ
QQQQQ
  + 
E E =

QQQ

QQQQQ
QQQQQ
E  + 
EE E =
E

 +   + E E =



QQQ

QQQQQ
QQQQQ
  + 
E E =
 .
RRR

RRRRR
EE E =
E
Portanto, transformamos o sistema em um triangular superior que por
sua vez, pode ser resolvido usando o algoritmo visto anteriormente.
Para um sistema de ordem n, temos o seguinte algoritmo de eliminao
gaussiana:
para S = 1,2, , 8 1, faa
para 7 = S + 1, , 8 faa
>T
N>T =
TT
O> O> N>T OT

Exerccios:
1 Resolva o sistema linear
2  + 3E + 5G = 7
6 3 + 12E + 11G = 4
 
4  + 10E + 8G = 4
2 8E + 10G = 60
usando eliminao gaussiana.
Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

2 Resolva o sistema linear a seguir usando eliminao gaussiana, aritmtica


de p. f. com trs (3) dgitos e arredondamento. Compare o resultado com a
soluo exata  =  = E = 1.
 + 4 + 52E = 57
27 + 110 3E = 134
22 + 2 + 14E = 38
3 Implemente um programa para resolver sistemas lineares usando o mtodo
de eliminao gaussiana.
PIVOTEAMENTO
Para evitar o acmulo de erros de arredondamento na eliminao
gaussiana, so usadas duas tcnicas de seleo de piv.
1 Seleo parcial de piv

No passo S da eliminao gaussiana, escolha entre os elementos abaixo


da diagonal na coluna S, o elemento de maior valor absoluto, ou seja,
|VT | = WX|>T |, 7 SZ

e trocamos a linha S pela linha [.


2 Seleo completa de piv

No passo S da eliminao gaussiana, escolha o maior elemento do


conjunto
|V\ | = W]^>A ^; 7, ` Sa

e trocamos a linha S pela linha [ e a coluna S pela coluna b.


Exemplo: Usando 3 dgitos significativos, seleo parcial de piv e eliminao
gaussiana, resolva o sistema a seguir,
0,0001 +  = 1
c
 +  = 2

Exerccios:
1 Resolva o sistema linear que segue usando aritmtica de ponto flutuante
com 8 = 3, eliminao gaussiana e
a) seleo parcial de piv;
b) seleo completa de piv;
 + 4 + 52E = 57
27 + 110 3E = 134
22 + 2 + 14E = 38

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

DECOMPOSIO LU
TEOREMA: Seja  =
um sistema linear, com def 0. Seja g a matriz
triangular superior resultante da eliminao gaussiana de  =
e
1
N
j 
O = iNE

hN

0
1
NE

N

0
0
1

NE

0
0m
0l

1k

onde N>A so os coeficientes calculados na eliminao gaussiana, ento


Prova:

matriz

 = O g.

Para zerar a 1a coluna abaixo da diagonal, devemos multiplicar a matriz  pela


1
jN
n = iNE

hN

0
1
0

0
0
1

0
0m
0l.

1k

0
1
NE

N

0
0
1

0
0m
0l

1k

Para zerar os elementos da 2a coluna, devemos multiplicar a matriz do passo

anterior, n , pela matriz

e assim por diante.

1
j0
n = i0

0
h

g = no no n n .

Desta forma, a matriz triangular superior final ser dada por:


Como defnT = 1 0, assim,
Mas,
no

1
jN
= iNE

hN

o
o
 = no no nEo no
no
g.

0
1
0

0
0
1

0
1
0
0m
1
j0
0l; no = i0 NE

1k
h0 N

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

0
0
1

0
0m
0l ;

1k

Assim,
o
o
O = no no nEo no
no

1
N
j 
= iNE

N
h 

0
1
NE

N

0
0
1

NE

0
0m
0l.

1k

1 Podemos usar a decomposio Og para resolver um sistema linear  =


, com
Observaes:

def 0, pois

 = Og O g
q =
c
r

Os =

.
g = s

Portanto, para resolver o sistema  =


basta resolver dois sistemas

triangulares Os =
e g = s.

2 Clculo do determinante de 

Escrevendo  na sua decomposio Og, temos

(O) det (g).


 = Og det  = det(Og) = det
uvw


def = det (g) = x x xEE x .

3 A decomposio Og pode ser obtida diretamente, ao invs de usar eliminao


gaussiana. Isto feito multiplicando uma matriz O triangular inferior cujos elementos da

diagonal principal sejam unitrios por uma matriz triangular superior g e igualando
1
j N
O = i NE

hN

0
1
NE

N

matriz A. Portanto, se

0
0
1

NE

x
0
0
0m
j
0l e g = i 0

0
1k
h

x
x
0

xE
xE
xEE

ento os coeficientes de O e g podem ser calculados atravs do algoritmo:


Para S = 2, 3, , 8 faa

Para ` = 1, 2, , S 1 faa

x
x
m
xE l

x k

Calcule NTA = y {TA }B NT} x}A ~




zz

Para ` = S, S + 1, , 8 faa

Ao

Calcule xTA = TA To


}B NT} x}A

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

Exemplo: Resolva o sistema linear abaixo usando decomposio Og. Obtenha tambm
o det .

1 Verifique que Og = .
Exerccios:

2  + 3E + 5G = 7


4  + 10E + 8G = 4

6 3 + 12E + 11G = 4
2 8E + 10G = 60

2 Resolva o sistema linear usando decomposio Og:


2  + 3E + 5G = 9
4  + 10E + 8G = 21

.
6 3 + 12E + 11G = 26
2 8E + 10G = 0

Obs.: Para resolver o mesmo sistema com outro vetor b, no necessrio recalcular O e
g!

Editado por Odacir Almeida Neves em 24/01/2013 as 22:25h

Clculo Numrico Mtodo de Cholesky

MTODO DE CHOLESKY
Seja um sistema linear  =
onde a matriz  real e simtrica, isto ,  = .

Ento possvel decompor a matriz A na forma  = g g, onde


x
0
j
g=i 0

0
h

x
x
0

xE
xE
xEE

x
x
m
xE l

x k

e os nmeros x>A so nmeros reais ou imaginrios puros.


 + 2 + 5E = 20
 2 + 3 E = 5 .
5  + 4E = 15

Exemplo: Resolva o sistema linear usando a decomposio de Cholesky.

Exerccio: Verifique que g g = .

Observao: Para um sistema de ordem n, os coeficientes x>A do mtodo de Cholesky

podem ser obtidos atravs do seguinte algoritmo:

Calcule x =  , xA = yz , ` = 2, , 8


Para S = 2, 3, , 8 faa

To


xTT = TT @ x>T

xTA

>B

1
=
 @ x>T x>A , ` = S + 1, , 8
xTT TA
To
>B

Exerccios:
1 Clcule o nmero de operaes necessrias para resolver um sistema de ordem n
usando o mtodo de Cholesky.
16 4 + 12E 4G = 20
4 + 2 E + G = 2
a) 
;
12  + 14E 2G = 23
4 +  2E + 83G = 78

2 Resolva os sistemas usando Cholesky:

3 Exerccios 33, 34 e 35 Ruggiero pg. 189 e 190, 2a edio.

Editado por Odacir Almeida Neves em 11/04/2012 as 14:10h

Clculo Numrico Inverso de Matrizes

INVERSO DE MATRIZES
Seja  uma matriz com def 0. Queremos encontrar  = (>A ) tal que

 =  =  , ou seja,


j
iE


h 



E



E
E
EE

E





mj
E l iE

 k h



E



E
E
EE

E


1

m j0
E l = i0

 k h0


1

j  m j0m
 iE l = i0l = um sistema linear;



0
h k h k

0
1
0

0
0
1

0
0m
0l

1k


0

j  m j1m
 iE l = i0l = um sistema linear;

h k h0k
Portanto, multiplicando a matriz A pela S sima coluna de  obtemos a

Ssima coluna da matriz identidade.

0
T
0
j0m

T
j m
l
 iET l = i
il
i1l


T

h k
h0k

Desta forma, a matriz  = o pode ser obtida resolvendo n sistemas lineares,

cujos coeficientes so dados pela matriz A e pelo vetor


eT = 0, 0, ,

\> T

, 0, ,0

2 1
, usando decomposio LU.
1 1
Exerccios: Encontre a inversa das matrizes de coeficientes dos sistemas lineares do
Exemplo: Encontre a inversa da matriz  =

exerccio 33 (Ruggiero, pag. 189), usando o mtodo de Cholesky.

Editado por Odacir Almeida Neves em 11/04/2012 as 15:00h

Clculo Numrico Refinamento de Solues

REFINAMENTO DE SOLUES
Seja  =
um sistema linear e  uma soluo aproximada deste sistema, ou

seja,  =  + . Assim,

 =
( + ) =
 +  =
 =
.

Definindo [ =
, temos  = [. Assim, temos um algoritmo para corrigir

uma soluo aproximada:

Calcule [ =
;
Resolva  = [;

Calcule  =  +

 + 4 + 52E = 57
27

 + 110 3E = 134
22 + 2 + 14E = 38

Exemplo: Aplicando eliminao gaussiana ao sistema

4,5
com arredondamento e 8 = 3, obtivemos a soluo aproximada  = 0 . Corrija
1,01
essa soluo.

Observaes:
melhores, at que [ = 0;

1 Nada impede de aplicar a soluo corrigida no refinamento, obtemos solues

2 A soluo por refinamento tem preciso semelhante seleo de piv;


3 Nada impede de utilizar seleo de piv no refinamento;

Editado por Odacir Almeida Neves em 11/04/2012 as 15:35h


10

Clculo Numrico Resoluo de Sistemas Lineares Esparsos

RESOLUO DE SISTEMAS LINEARES ESPARSOS


Definio: Dizemos que um sistema linear  =
esparso se a maioria dos

elementos da matriz  so nulos.

1 1 1 1 1 1
6
1 2 0 0 0 0
3

= ;
 = 1 0 2 0 0 0;
3
1 0 0 2 0 0
3
1 0 0 0 2 0
3
1 0 0 0 0 2
Aplicando o 1o passo da eliminao gaussiana, ou seja, zerando os elementos

Exemplo: Considere o sistema linear

abaixo da diagonal na 1a coluna, temos:


1
0

0
0
0
0

1
1
1
1
1
1

1
1
1
1
1
1

1
1
1
1
1
1

1
1
1
1
1
1

1
1

1
;
1
1
1

6
3
3

=
3
3
3

Observe que logo no 1o passo, a matriz no mais esparsa! Este efeito


denominado enchimento da matriz A. Para reduzir o nmero de operaes realizadas,
gostaramos de reduzir o enchimento de uma matriz.
Isto feito escolhendo o piv de modo que o seu ndice de enchimento seja
mnimo. O ndice de enchimento de um piv o nmero de elementos no nulos na
No exemplo dado, o piv  tem ndice 6, enquanto que os pivs

linha do piv.

 , E ,  tem ndice 2.

1 2 0 0 0 0
1 1 1 1 1 1

1 0 2 0 0 0
1 0 0 2 0 0
1 0 0 0 2 0
1
u
0 v
0 0
0 w
2

Aplicando o 1o passo da eliminao gaussiana :

Editado por Odacir Almeida Neves em 16/04/2012 as 08:35h

3
6
3

3
3
3

11

Clculo Numrico Resoluo de Sistemas Lineares Esparsos

1
0

0
0
0
0

2
1
2
2
2
2

0
1
2
0
0
0

0
1
0
2
0
0

0
1
0
0
2
0

0
1

0 ;
0
0
2

3
3
0
;
0
0
0

Exemplo: Continue a resoluo do sistema usando o ndice de enchimento.

Editado por Odacir Almeida Neves em 16/04/2012 as 08:35h

12

Clculo Numrico Mtodos Iterativos

MTODOS ITERATIVOS
Um mtodo iterativo produz uma sequncia de solues  ,  , ,  com

 (T) = ( (To) ), onde () denominada funo de iterao. De modo geral, esta
i) se () =   =
;

funo deve obedecer as seguintes caractersticas:


ii) ( ) contnua;

Obedecida estas duas caractersticas, temos que se lim  () = , ento 

Pergunta: Quem ( )?
soluo do sistema linear.

Seja  =
o sistema linear abaixo:

  +   + +   =



  +   + +   =



  +   + +   =




(T)



(T)

=
=

 =
(T)

Isolando em cada equao um T correspondente, tem-se


1
(To)
(To)
(To)

 
E E
 

 

1
(To)
(To)
(To)

 
E E
 

 

1
(To)
(To)
(To)

 
 
o o
 

:  

 ()

4
6
4
j 6 m

45
655

() =  +

j 

=i
i EEE
i



h




0
E
EE




E

E


E


Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h




 m
l
E
EE l
l

0
k

13

Clculo Numrico Mtodos Iterativos

Observe que da forma que foi definida, a funo satisfaz as duas

caractersticas exigidas.

As equaes anteriores descrevem o mtodo iterativo de Gauss-Jacobi.


sequencia  ,  , ,  uma boa aproximao para a soluo do sistema.

Precisamos, agora estabelecer um critrio para avaliar qual elemento da

CRITRIO DE VARIAO RELATIVA


[(T) = WX ,  , ,  Z onde,

Defina a variao relativa entre solues vizinhas no pao k, dada por:

> =

()

()

()

,se >

(T)

0
1, se > = 0 e >

(T)
(To)
= 0
0, se > = >
(T)

(To)

considerando a aproximao inicial  () = (0,0,0), erro = 0,01 e variao relativa


Exemplo: Resolva o sistema linear abaixo, usando o mtodo de Gauss-Jacobi,

como critrio de parada.

Observaes:

4 +  + E = 5
 2 + 5 + E = 0 .
3 +  + 6E = 6,5

1) Os mtodos iterativos resultam quase sempre, em solues aproximadas;


2) Os mtodos iterativos no alteram os zeros da matriz, o que os torna atraentes para
resolver sistemas esparsos;
MTODO DE GAUSS-SEIDEL
Seja  =
um sistema linear e as seguintes equaes de iterao do mtodo de
1
(To)
(To)
(To)

 
E E
 

 

Gauss-Jacobi:


(T)



(T)

=
=

 =
(T)

1
(To)
(To)
(To)

 
E E
 

 

1
(To)
(To)
(To)

 
 
o o
 

Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h

14

Clculo Numrico Mtodos Iterativos

Observe que no clculo de  , temos uma nova aproximao para  , a saber


(T)

 , que pode ser usada para calcular  . Da mesma forma, para calcular E
(T)

(T)

(T)

as aproximaes mais recentes de  e  .

usamos

Assim, as equaes de iterao passam a ser dadas por:



1
(To)
(To)
(To)

  
E E
 



E

1
(T)
(T)
(To)

E E  E  E 

EE

(T)



(T)
(T)

 =
(T)

1
(T)
(To)
(To)

  E E
 

 
1
(T)
(T)
(T)

    o o


 

Estas operaes formam o mtodo de Gauss-Seidel.


considerando a aproximao inicial  () = (0,0,0), erro = 0,01 e variao relativa
Exerccio: Resolva o sistema linear abaixo, usando o mtodo de Gauss-Seidel,

como critrio de parada.

4 +  + E = 5
2

 + 5 + E = 0 .
3 +  + 6E = 6,5

Critrio das Linhas: Seja  =


um sistema linear. Defina:

Pergunta: Sobre que condies os mtodos iterativos convergem?


1
T =
@^TA ^
|TT |


AB
AT

= u
WX
v
w
TZ
TB,,

Se < 1, ento a sequncia gerada pelo mtodo de Gauss-Jacobi converge

qualquer que seja a soluo  () inicial.

Exemplo: Considere o sistema linear do exemplo anterior e verifique a convergncia


Obs.: Existem sistemas com > 1 que convergem usando Gauss-Jacobi, ou seja, no
usando o critrio das linhas.

vale a volta do critrio.

Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h

15

Clculo Numrico Mtodos Iterativos

Critrio de Sassenfeld: Seja  =


um sistema linear. Defina:
 =

1
(| | + |E | + + | |)
| | 

E =

1
( | | +  |E | + + |E |)
|EE |  E

 =

1
( | | + |E | + + | |)
| |  

1
?@ A ^TA ^ + @ ^TA ^D
T =
|TT |
To
AB

= WX ,  ,  Z

ABTC

Se < 1 ento a sequncia gerada por Gauss-Seidel converge qualquer que seja

a soluo  () inicial.

Exemplo: Considere o sistema linear do exemplo anterior e verifique a convergncia


usando o critrio de Sassenfeld.

Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h

16

Clculo Numrico Mtodos Iterativos

INTERPOLAO
Seja =() uma funo qualquer e sejam (8 + 1) pontos conhecidos  , =( ),

 , =( ), ,  , =( ). Deseja-se determinar =( ). Consideremos tambm que


    .

Se  [ ,  ] ento fazemos uma interpolao atravs da determinao de um

polinmio que se aproxima de =(). Se  [ ,  ] ento necessrio fazer uma


extrapolao cujas tcnicas no sero consideradas aqui.

INTERPOLAO LINEAR
Dados dois pontos distintos,  , = ( ) e  , = ( ), deseja-se determinar o

valor de sQ para um determinado valor de  entre  e  , tal que sQ = =( ), usando

interpolao linear, ou seja, procuraremos um polinmio de 1o grau (linear).


 () =  +  ,

 ( ) = =( ) e  ( ) = =( ).

tal que

Resolvendo o sistema linear:

 +   = =( )
,
 +   = =( )

obtemos a aproximao  ( ) para =() no intervalo [ ,  ].

Exemplo: Seja s = =() passando pelos pontos (0.00,1.35) e (1.00,2.94). Determinar


aproximadamente o valor de =(0,73).

Erro de arredondamento ( ): o erro causado pelas operaes e arredondamentos


realizados;

Erro de truncamento ( ): cometido quando a frmula de interpolao a ser

utilizada escolhida, pois a aproximao de uma funo conhecida apenas atravs de


dois pontos dados feita por um polinmio de 1o grau.

Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h

17

Clculo Numrico Mtodos Iterativos

n ( ) = =( )  ( )

n ( ) e n ( ) so nulos, ento podemos tomar n como sendo,


n () = (  )(  ) 

Seja (f) = =(f)  (f ) n (f). Como  (f) =  f +  e

onde A uma constante a determinar.


n (f) = (f  )(f  ) , ento

(f) = =(f) ( f +  ) (f  )(f  ) 

f = 
Obs.: (f) = 0 para .f =  .
f = 
Pelo teorema de Rolle,

 , 

Editado por Odacir Almeida Neves em 25/04/2012 as 16:43h

18