2 SISTEMAS DE EQUAÇÕES LINEARES 2.1 Introdução
A solução de sistemas lineares é uma ferramenta matemática muito importante na engenharia. Normalmente os problemas não-lineares são solucionados por ferramentas lineares.
As fontes mais comuns de problemas de equações lineares algébricas aplicados à engenharia incluem:
a) aproximação de equações diferenciais ou integrais contínuas através de sistemas discretas e finitos;
b) linearização local de sistemas de equações não lineares;
c) ajuste de curvas em dados.
2.2 Representação do Sistema Linear
Um sistema linear é um conjunto de n equações lineares do tipo:
n n nn n
n n
n n
n n
b x a x
a x a x a
b x a x
a x a x a
b x a x
a x a x a
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
...
..
...
3 3 2 2 1 1
2 2
3 23 2 22 1 21
1 1
3 13 2 12 1 11
Este sistema pode ser representado através de uma representação matricial da forma:
x = b onde:
A – matriz de coeficientes de ordem n n x – vetor de incógnitas de ordem n 1 b – vetor independente de ordem n 1
Os tipos de solução do sistema dependem da matriz A:
A não-singular solução única
A singular
el incompatív sistema
soluções initas
inf
2.3 Métodos de Solução
2.3.1 Métodos Diretos – Fornece solução “exata” após um número finito de operações.
Solução assegurada para matriz de coeficientes não-singular.
LU Fatoração
Gauss de
inação E
A Matriz da
Inversão
Cramer de
gra Diretos
Métodos
lim Re
2.3.2 Métodos Iterativos – Processo de aproximação iterativa da solução. A convergência é assegurada sob certas condições.
..
etc
do Estabiliza iconjugado
GradienteB
o Biconjugad Gradiente
Conjugado Gradiente
ios Estacionár Não
ação Sobrerelax
Seidel Gauss
Jacobi Gauss
ios Estacionár
Iterativos Métodos
2.3.3 Regra Cramer
A solução de cada componente do vetor de incógnitas é dado pela relação de dois determinantes:
ix
ionde:
= determinante da matriz A
i= determinante da matriz A com a i
ésimacoluna substituída pelo vetor independente b.
Exemplo da ordem de grandeza do tempo de solução para um sistema de ordem 20.
ix
iOperações necessárias:
a) Cálculo de 21 determinantes, cada um de ordem 20.
O determinante de uma matriz é definido como uma soma de termos a
1a
2a
3... a
nonde o símbolo – representa subscritos de permutações de 1 a n. No exemplo a soma tem 20! termos cada qual requerendo 19 multiplicações. Assim, a soluções do sistema requer 21 x 20! x 19 multiplicações, além de um número 21 x 20! de somas que será desconsiderado.
Seja um computador com capacidade de 2000 Mflops.
2.000.000.000 operações por segundo.
Tempo de Solução:
360 24 3600 000 . 000 . 000 . 2
19
! 20 21
x x x
x
x = 15604,55 anos
Strang 1993 - “If world be cvazy to solve equation this way”.
O método de Cramer também possui pouca estabilidade numérica. [Highan]. (erros de arredondamento excessivos). (forward estability)
2.3.4 Inversão da Matriz A
A solução do sistema linear pode ser dada por:
x= A
1b
Entretanto, na grande maioria de problemas práticos é desnecessário e mesmo desaconselháveis o cálculo da matriz inversa A
1.
Veja o que acontece neste exemplo simples com uma equação:
21 7 x
A melhor maneira de obter a solução é por divisão, 7 3
21
x
O uso da matriz inversa levaria a (precisão 6 dígitos) :
b
0 , 142857 21 2 , 99997 21
7
1
x x
A inversa requer mais aritmética (uma divisão e uma multiplicação em vez de uma só divisão), além de produzir uma resposta menos exata.
2.3.5 Eliminação de Gauss Composta de duas etapas básicas:
1. Eliminação direta de variáveis 2. Substituição inversa
=
Eliminação de variáveis (triangularizações)
U =
Números de operações necessárias para obter soluções, considerando a matriz A cheia.
a) Solução por Inversão x= A
1b
1. Obtenção da matriz inversa utilizando um algoritmo eficiente de matriz cheia
2. Obtenção de x pelo produto de
1com b
b) Solução por eliminação de Grauss A x = b
U x = b
’x
A x b
x
n
3operações (produto)
n
2operação (produto)
b
’1. Redução triângulos U x = b
= ~
3 n
3operações de produção
2. Substituição Inversa.
2
2operações de produto Exemplo Numérico
2 3 4
2 1 1
4 2 3
3 2 1
x x x
=
3 2 1
0Estágio 1 pivô a
11 3
Multiplicadores
1 3
21
4 3
31
22 3 1 3
0
. 3 3 2 0 1
4 2 3
3 2 1
x x x
=
5 3 5 3 1
1Estágio 2 Pivô
1 3
22
a
U 0
x b
Multiplicador 1 1 3 1 3
23
8 0 0
2 3 1 3 0
4 2 3
3 2 1
x x x
=
0 5 3
1
Substituição Inversa
. –8 x
3 0 x
3 0
1 4 2 3
5 3 2 3
1 3
3 2 1
3 2
x x x
x
x
3 5
1 2
x x
2.3.6 Estratégia de Pivoteamento (a) Evitar pivôs nulos
(b) Evitar pivôs próximos de zero (multiplicadores elevado, ampliação de erros de arredondamento)
Exemplo:
Usando aritmética de 3 dígitos
6 2 2
5 2 0002 , 0
2 1
2 1
x x
x x
1 1
1 3
10 2 . 2 10 2 , 0
10 2 . 0 10 2 . 0
x x
x
x
2 1
x
x =
1 1
10 6 . 0
10 5 . 0
x x
pivô 0.2 x 10
3multiplicadores
3 4 51
10 1 . 0 10 10 1
2 . 0
10 2 .
0 x x
x
x
5 1 3
10 2 . 0 0
10 2 . 0 10 2 . 0
x x
x
2 1
x
x =
51
10 5 . 0
10 5 . 0
x
x
5 . 2
0
10 5 . 0 10 1 . 0 10 5 . 0 10 6 . 0
10 2 . 0 10 2 . 0 10 1 . 0 10 2 . 0
5 5
1 1
2
5 1
5 1
22
x
x x
x x x
b
x x
x x
a
Com pivoteamento
3 1
1 1
10 2 . 0 10 2 . 0
10 2 . 0 10 2 . 0
x x
x
x
2 1
x
x =
1 1
10 5 . 0
10 6 . 0
x x
pivô 0 . 2 x 10
1mult.
13
10 2 . 0
10 2 . 0
x x
= 0 . 1 x 10
3
1 1 1
10 2 . 0 0
10 2 . 0 10 2 . 0
x x
x
2 1
x
x =
1 1
10 5 . 0
10 6 . 0
x x
1 1
3 1
1 3
1 1
10 5 . 0 10 6 . 0 10 1 . 0 10 5 . 0
10 2 . 0 10 1 . 0 10 2 . 0 10 2 . 0
x x
x x x
x x
x x x
5 , 0
5 , 2
1 2
x
x Solução de sistema
Resumindo: Pivoteamento parcial consiste em adotar como pivô no passo (K) da eliminação de Grauss o maior elemento (em valor absoluto) na parte não reduzido da coluna. As linhas contendo esses elementos devem ser intercambiadas.
OBS: Seja x
*a solução calculada de Ax=b e x a solução exata (teórica). Como os elementos de x não são números representados numa aritmética de ponto flutuante, deve haver diferença com relação a x
*. Normalmente utiliza-se as seguintes medidas para auferir esta diferença.
Erro: e = x - x
*Resíduo: r = || b – A x
*|| (dependente de escala, multiplicando-se A e b por uma constante , o resíduo também vai ser multiplidado por )
Resíduo relativo:
*
*
x A
Ax b
Da teoria de matrizes sabemos que, sendo A não singular e se uma medida acima é nula, a outra também o será, mas ambos não são necessariamente igualmente pequeno.
Não satisfaz o sistema
2.3.7 Fatoração LU
Ax = b A = LU
L – triangular inferior U – triangular superior Vamos observar o exemplo introdutório
2 3 4
2 1 1
4 2 3
0
4 3 1 3 .
3
31 21
mult Pivo
. 1
1 3 22 3
1 3 0
2 3 1 3 0
4 2 3
32
1
pivo mult
8 0 0
2 3 1 3 0
4 2 3
2
Observe que a matriz
1pode ser obtida de
0pré-multiplicado-a por uma matriz conveniente, no caso:
1 0
0 1
0 0 1
31 21
1 =
1 3 0
4
0 3 1
1
0 0 1
Da mesma forma a matriz
2é obtida pré-multiplicando-a por:
L U
a a
a a
a a
a a
a a
a a
erior triângular
matriz uma é Assim
nn n
nn n
nn n
0
) 2 ( ) 2 ( 22
) 2 ( 1 )
2 ( 11
32 31
0 21
) 2 ( ) 2 ( 22
) 2 ( 1 )
2 ( 11
32 3
0 21
) 2 ( ) 2 ( 22
) 2 ( 1 )
2 ( 1 11
32 1
31 0 21
0 1 2 1 1 0 2
1 0 2 2
32 2
0 0 0 1
0 0 1
1 0 0
0 1 0
0 0 1 1 0
0 1
0 0 1
1 0 0
0 1 0
0 0 1 1 0
0 1
0 0 1
. sup ,
0 1 0
0 1 0
0 0 1 1 0
0 1 0
0 0 1
A matriz L é uma matriz triangular inferior, pois é resultante do produto de matrizes triangulares inferiores elementares.
A decomposição LU não é única..
Seja D uma matriz diagonal não-singular qualquer, então:
L = LD é triangular inferior U = D
1U é triangular superior A = LU = L DD
1U = L U
De modo que L U também é uma decomposição LU. Isto sugere a possibilidade de se normalizar as decomposições LU.
Seja a transformação A= LDU
Onde: L é triangular inferior unitário (diagonal) D é diagonal
U triangular superior unitária (diagonal)
Pode-se mostrar que a decomposição LDU de uma matriz A é única, se suas submatrizes principais guias
1,
2,...,
n1 são todas não-singulares.
n n n
n n
n
n n n n n
n
n n
n n
a a
a a
a a
a a
a a
a a
a a
a a
1 2
1
1 1 1 12
11
2 1 2 22
21
1 1 1 12
11
..
...
....
...
...
...
...
...
...
..
...
...
...
...
isto garante pivôs não nulos.
= L
1D
1U
1 L
2D
2U
2L
1D
1U
1 L
2D
2U
2unitário erior
triang D
L L D U
U
U U D L D U
U D L L D
unitário Superior
Triang U
unitário erior
Triang L
existe D
existe U
existe L
sup . .
inf .
2 2 1 1 1 1 1 2 1
1 2 2 2 1 1 1 1 1
2 1 1 1 1 1 1 1 2 1
1 1
1 2
1 1
Produto de 2 matrizes triang. sup. unitário resulta matriz triang sup. unitário. Isto força o segundo membro da equação a ser diagonal, já que é triangular inferior Identidade.
2 1 1
2
1
U I U U
U
da mesma forma pode-se chegar L
1 L
2e D
1 D
2. Diferentes decomposições LU:
LD U L
U onde: U é triângular superior unitário – Decomposição de Crout
DU L U
L
onde: L é triângular superior unitário – Decomposição de Doolittle
Se A for simétrica:
Cholesky de
ão Decomposiç L
L U D LD
A
D D
D se
LDL
t T
1 2 1 2
1 2 1 2
0
Algoritmo para Decomposição de Crout
A L U U é triangular superior com diagonal unitária
l u i j n
a
mimi j kjk ik
j
i ,
, 1 ,...
1
Como u
11 1 :
a
i1 l
i1u
11 l
i1, i 1 ,..., n
ou seja a primeira coluna da matriz A é igual a primeira coluna da matriz L.
Além disso:
j
ij
l u
a
11 1n l j
u
ja
j1 ,...
11 1
1
Assim determinamos 1° linha de U.
Suponha que as primeiras (p –1) colunas de L e as primeiras (p – 1) linhas de U tenham sido calculadas e como u
kk 1 .
( , 1 ,... ... )
1
1
n p
p i u
l l
a
p
k
kp ik ip
ip
portanto a p
esimacoluna de L é dada por:
1
1
, 1 ,...
p
k ik kp
ip
ip
a l U i p p n
l
Da mesma forma
1
1 p1
1 ,....
k pu kj
pj pp
p
l u l u j p n
a onde
a l u j p n
u l
p kjk pj
pj pp
pj
1
11 ,..
1
Observe que não há necessidade de calcular-se para j = p, pois, u
pp 1 .
OBS: Pode-se verificar que, após a
ijter sido utilizado para calcular l
ijou u
ij, ele não é mais utilizado, assim, os elementos não nulos de L e U podem ser escritos sobre os elementos correspondentes de A.
Algoritmo para Redução de Crout: para p = 1, 2,...,n:
1. a l a
p il
iku
kpi p n
p k i p i p
i
, ,...,
1
2. a
pju
pjl
pp apj kp 1l
pkU
kj , j p 1 ,... n
1
1
- Os elementos l
ppsão pivôs na redução de Grauss e são 0, se as submatrizes principais guias de A são não – singulares.
- Produtos internos devem ser acumulados em precisão dupla.
A utilização de pivôs pequenos podem provocar erros de arredondamento que contaminam significativamente a solução. Uma solução é utilizar o pivoteamento parcial, isto é, fazer uma pesquisa na coluna do pivô de forma a encontrar o elemento de maior valor absoluto. O elemento com maior valor absoluto é utilizado como pivô, para tanto, permuta-se a linha do elemento com a linha do pivô.
É importante observar que, quando forem executadas as etapas de substituição direta e inversa, as permutações realizada no pivotemameto devem ser realizados no vetor independente do sistema de equação linear.
Def. Matriz de Permutação
Matriz quadrada de ordem n obtida da matriz identidade de ordem n pela permutação de suas linhas.
A pré-multiplicação de uma matriz A por uma matriz de permutação P resulta em uma matriz A’, obtida de A com a mesma seqüência de permutações de linhas , realizadas na matriz P.
Seja o sistema linear A x b e sejam os fatores LU obtidos por redução de Crout com pivoteamento parcial. Portanto, LU são fatores de A’.
Onde:
A’= PA
As mesmas permutações devem ser efetuados sobre b . b ' P b
Algoritmo redução de Crout com permutação de linhas.
Para p=1, 2,...n
1. a ip l ip a ip k p 1 1 l ik U kp i p , ..., n
2. Achar p tal que l
p, p l ip i p ,... n
3. a pj a j j n
p
1 , 2 ,...
4. a u l a p l u j k n
k pk kj p
pp pj
pj 1 1 ,...
1 1
1
OBS: O algoritmo de Crout com pivoteamneto parcial pode ser considerado um algoritmo
estável.
Decomposição de Cholesky
Considerando:
A Simétrica e definida positiva Tem-se
LL t
A
Teorema: Se A é simétrica positiva definida então existe uma única matriz L com elementos diagonais positivos tal que A LL
t.
OBS 1: A matriz A é positiva definida se x
TA x 0 para qualquer vetor x diferente de zero.
OBS 2: Os elementos diagonais de uma matriz definida positiva são sempre positivos.
e
TiA e
i a
ii 0
e
i– vetor com elemento igual a 1 na posição i e o restante igual a zero.
A prova do teorema é feita por indução.
1 1
:
onde d escalar positiva e H submatriz de ordem n n H
v v A d
T
A matriz particionada pode ser escrito como o produto:
i n T
n
I
d d v
I H d v
d
0 0 0 0 1
1
d H vv H
T
, onde H é simétrica e também positiva definida, pois para qualquer vetor x de comprimento n-1, tem-se:
x H x d x
H vv x x
d v x H v
v x d
d v
x
TT T
T T
T T
,
0 x H
x
T, pois a matriz original é positiva definida por definição.
Por indução H, pode ser fatorado como L
HL
THcom elementos diagonais positivos.
Portanto, A pode ser dada por:
T T
H T
H n
T T
H n H
LL L
d d v L
d v
d I
d d v
L L
o o I
d v
d
0 0 0 0
0 1 0 1
1 1
Para provar a unicidade, tem-se:
1
H v
v A d
T
2 0
L L l
3
0
0
2
TT T
T T
L L l
l L
l L
LL l
A
De (1) e (3) tem-se:
l v v
l
l v v
l
d ou
d
T T T
T
2
Como podemos ver, os fatores l são únicos para positivo. Este procedimento pode ser estendido por indução aos fatores seguintes.
Computação dos fatores
Suponha a matriz particionado como
s u
u
A M T onde os fatores L
ML
TMda submatriz principal M já foram obtidos. Os fatores da matriz A podem se dado por:
u s
u M t
w L t w L
T T
T M M
0
0
u w L M
1 2
2 s t ( s w w )
t w
w T T
Exemplo:
3 1
1 4 11 4
1 2 2
11 4 1 2
2
11 4 3
3
1 2 1
2
3 1
1 4 0
2 0 2
5 1 2
1 3 1
2 1 4
1 2 2
w w t
t w w
w w
t w t
w A
t T
T
11 43 11
5 12 5
11 11 1
1 2 11 4
1 2 2
1 2 1 2
2 1
2 1
w w t
w w
w w u
w L
T M
43 11 11 11 11 4
2 1 2 1
43 11 11 1 11
11 4 1 2
0 0
2
A
Computado e acessado
l T iK l
iiElementos a serem calculados
Elementos não Calculados
Pela simetria de A, apenas é necessário se trabalhar com sua metade inferior. Além disso, os elementos de L podem ser escritos sobre os de A.
Algoritmo
Para k = 1, 2, ....n
1
1
1
1 ...
, 2 , 1 .
1
i
j
j K j i i K i i i K i
K
a l l
l l a
K i
Para
11
.
22
K
j j k KK
KK
KK
l a l
a
OBS: A decomposição de Cholesky requer 6
n
3multiplicações, isto é, a metade das exigidas pela redução de Crout. Os produtos internos devem ser acumulados em precisão dupla, para se obter exatidão adicional.
O algoritmo de Cholesky é incondicionalmente estável. Como A é positiva definida, não há necessidade de pivoteamento, pois neste caso ela sempre é diagonal dominante.
2.3.8 Solução de Sistemas Lineares
A partir das decomposições de Crout e Cholesky vistas anteriormente, pode-se resolver os sistemas lineares através de substituições.
Seja o sistema Linear:
A x b
2.3.8.1 Decomposição LU
PA LU
LU x P b
Substituição Direta
L y P b b
'Atualização por linhas
y b l y
jl
iii n
i
j ij i
i
/ 1 , 2 , ...
1
1
,
Substituição Inversa U x y Atualização por linhas
1 ,..., 1
1
n i x
u y
x
n
i j
j ij i
i
Substituição Direta Atualização por colunas:
2 2
2 32 3 3
22 2 ' 2
, 1 1 , ,'
, 1 31 ' 3 ,' 3
, 1 21 , 2 , 2
11 1 ' 1
2 1 1 2
1
1 22 21 11
' '
' ' 2
. 1
b l b b
b l b b
l b b Coluna
b l b b
b l b b
b l b b
l b b Coluna
b b b
y y y
l l
l l l
n n n
n n n
n n nn n
Coluna n
nn n
n
l
b b ' '
No final y b ' , observe que as atualizações foram feitas por colunas.
Algoritmo para atualização por colunas
' ' '
' ' '
, 1 / ' '
1 ...
1
b y
l b b
Continue Continue
l b b b
n j k Para
l b b
n j
Para
nn n n
kj j K K
jj j j
As substituições direta e inversa requerem
2multiplicações.
2.3.8.2 Decomposição de Cholesky
Neste caso não há necessidade de se utilizar permutações, pois a matriz de coeficientes é definida positiva.
b x LL
LL
T T