Você está na página 1de 99

Wilson Lopes Di Mambro

DOS MTODOS DE REFATORIZAO DE MATRIZES NA


RESOLUO DE SISTEMAS MATRICIAIS















Pontifcia Universidade Catlica de Minas Gerais
Belo Horizonte
2004
Wilson Lopes Di Mambro











DOS MTODOS DE REFATORIZAO DE MATRIZES NA
RESOLUO DE SISTEMAS MATRICIAIS







Dissertao apresentada ao Programa de Ps-Graduao em
Engenharia Eltrica da Pontifcia Universidade Catlica de
Minas Gerais, Campus Corao Eucarstico, na rea de
Concentrao em Sistemas de Potncias, como requisito
parcial para obteno do grau de mestre em Engenharia
Eltrica sob a orientao do Prof. Dr. Roberto de Maria Nunes
Mendes e a co-orientao do Prof. Dr. Luiz Danilo Barbosa
Terra.


Pontifcia Universidade Catlica de Minas Gerais
Belo Horizonte
2004
Agradecimentos
Deus por sempre me levar no colo quando o caminho spero.
Aos orientadores Prof. Dr. Roberto de Maria Nunes e Prof. Dr. Luiz Danilo
Barbosa Terra que tiveram pacincia e dedicao em orientar-me nesta tarefa.
Ao Geraldo Magela dos Anjos Silva que com sua ajuda consegui digitar este
trabalho, tarefa que da qual tive muito que aprender.
Aos professores do mestrado que com dedicao, no transcorrer do curso, tiveram
papel importante para a realizao deste trabalho.







3




Para meus filhos
Ana, Moiss e Mateus







4
RESUMO

Este trabalho apresenta mtodos diretos para soluo da equao matricial A x = b com A
esparsa e quadrada. O procedimento predominante para a soluo ser a decomposio de A
em um produto L D U evitando, sempre que possvel, alterar a esparsidade da matriz A,
ordenando-a. Inicia-se o estudo pelo mtodo de Gauss at, finalmente, obter-se os mtodos de
refatorizao parcial, os quais atualizam os fatores L D U da matriz A, para refletirem as
alteraes em alguns de seus elementos. Discutem-se tambm, com mais detalhes, os mtodos
de compensao e o mtodo de Bennett, antes de se chegar aos mtodos de refatorizao
parcial I e II para matrizes esparsas. O resultado dos testes de refatorizao parcial I e II
indica que eles so significativamente mais eficientes que as tcnicas inicialmente
apresentadas e, que tm o potencial de acelerar a soluo de diversos problemas.


ABSTRACT
This work presents direct methods to solve the matricial equation A x = b with A square
and sparse. The main way to solve it is supported by the decomposition of A in a L D U
product, avoiding to change the sparsity of the matrix, through the ordenation of A. At the
beginning of this work was used the Gauss method in order to get partial refatorization, that
updates the factories L D U of matrix A, showing the transformations of some elements of it.
Also, with details, was discussed both methods of compensation and the method of Bennett,
before arriving to the parcials I and II refatorization methods, for sparse matrices. The
conclusions for the parcial refactorization tests I and II show that they are more eficients than
the methods presented before and they can also accelerate the solutions of the problems.

LISTA DE FIGURAS
FIGURA 1 Grafo de uma rede de energia eltrica com cinco ns.................................. 28
FIGURA 2 Matriz associada ao grafo da figura 1............................................................ 28
FIGURA 3 rvore associada matriz da Figura 2 partindo dos ns 1 e 2.................... 28
FIGURA 4 Rede de energia eltrica com modificao de um ramo (1 - 4) ................... 31
FIGURA 5 Rede de energia eltrica com modificaes de dois ramos (1-4) e (3-5) ...... 32
FIGURA 6 Estrutura da matriz admitncia nodal: rede com cinco ns........................ 37
FIGURA 7 Estrutura da matriz admitncia nodal: rede de cinco ns, com a conexo
dos ns 4 e 5............................................................................................................................. 37
FIGURA 8 Rede referente matriz A da rede nodal modificada................................... 43
FIGURA 9 Esquema de fatorizao linha superior /coluna inferior.............................. 64
FIGURA 10 Rede nodal com 12 ns .................................................................................. 65
FIGURA 11 Estrutura esparsa da matriz L ..................................................................... 66
FIGURA 12 Tabela de caminhos referentes rede nodal da FIG. 10............................ 66
FIGURA 13 Grfico do caminho com 12 ns (rvore)..................................................... 66
FIGURA 14 Rede de energia eltrica com 11 ns onde no foi feita uma ordenao
prvia dos mesmos.................................................................................................................. 68
FIGURA 15 Estrutura da matriz L conseguida ao se fatorar a matriz A da rede nodal
acima, apresentando 3 fill-ins................................................................................................ 69
FIGURA 16 Grafo do caminho sem ordenao (rvore de 11 ns) ................................ 69
FIGURA 17 Rede de energia eltrica com 11 ns onde foi feita a ordenao de grau
mnimo..................................................................................................................................... 70
FIGURA 18 Estrutura da matriz L ao se fatorar a matriz A, aps a ordenao
observando o grau mnimo. Neste caso aparece apenas um fill-in..................................... 70
FIGURA 19 Grafo aps se fazer uma ordenao de grau mnimo (rvore c/ 11 ns) .. 71
SUMRIO
INTRODUO........................................................................................................................ 9

CAPTULO 1 - FATORAO COMPLETA MTODO DE GAUSS.......................... 13
1.1 Fatorao completa mtodo de Gauss...................................................................... 13
1.2 Algoritmo Mtodo de Gauss...................................................................................... 16
1.3 Exemplo.......................................................................................................................... 17
1.4 Decomposio L U e L D

U ....................................................................................... 18
1.5 Exemplo.......................................................................................................................... 22
1.6 Variante do mtodo de Gauss apresentada por W. F. Tinney e seus
colaboradores ................................................................................................................ 23
1.7 Exemplo.......................................................................................................................... 25
1.8 Grafos............................................................................................................................. 26

CAPTULO 2 - MTODO DE COMPENSAO............................................................. 30
2.1 Mtodo de Compensao.............................................................................................. 30
2.2 Modificao por ramo orientado................................................................................. 31
2.3 Modificao por n orientado...................................................................................... 33
2.4 Exemplo ...................................................................................................................... 38

CAPTULO 3 - MTODOS DE REFATORIZAO PARCIAL.................................... 43
3.1 Mtodo de refatorizao parcial simples .................................................................... 43
3.2 Decomposio L U em blocos....................................................................................... 44
3.3 Exemplo.......................................................................................................................... 46
3.4 Mtodo de refatorizao parcial simples com arranjo especial................................ 48
3.5 Observaes do que ocorre quando se decompe A em L D U

.............................. 48

CAPTULO 4 - MTODO DE BENNETT.......................................................................... 50
4.1 Mtodo de Bennett ....................................................................................................... 50
4.2 Prova do processo.......................................................................................................... 55
4.3 Exemplo.......................................................................................................................... 56
4.4 Algoritmo....................................................................................................................... 58
4.5 Exemplo.......................................................................................................................... 59

CAPTULO 5 - MTODOS DE REFATORIZAO PARCIAL I E II.......................... 63
5.1 Mtodos de refatorizao parcial I e II....................................................................... 63
5.2 Ordenao dos ns por grau mnimo .......................................................................... 64
5.3 Mtodo de refatorizao parcial I ............................................................................... 67
5.4 Mtodo de refatorizao parcial II.............................................................................. 68
5.5 Exemplo: (mtodo de refatorizao parcial I)............................................................ 68

CONCLUSO......................................................................................................................... 76
REFERNCIAS BIBLIOGRFICAS ................................................................................ 77
APNDICE I........................................................................................................................... 80
APNDICE II ........................................................................................................................ 78




9
INTRODUO
As reas de estudo cujos problemas envolvem a soluo de sistemas lineares so
vrias, tais como programao linear, anlise de estruturas, teoria dos grafos, soluo
numrica de equaes diferenciais, sistemas de transmisso e distribuio de energia eltrica
entre outras.
Este trabalho trata dos sistemas lineares da forma A x = b, onde so conhecidas as
matrizes A e b de tipos n x n e n x m, respectivamente. A matriz x, do tipo n x 1, a soluo
procurada.
Volta-se o interesse para sistemas de grande porte, onde em geral, a matriz A
esparsa.
Concentra-se a ateno na soluo de problemas de rede de energia eltrica onde A a
matriz das admitncias, x o vetor das tenses e b o vetor das correntes. A pode ser tambm a
matriz jacobiana, J, do modelo linear de rede de energia eltrica
(

=
(

V
J
Q
P
, derivado da
formulao no linear de potncias versus tenso. Sendo f(P,Q,V, ) = 0, onde f uma funo
vetorial.
Quando so projetadas futuras ampliaes na rede, ou mesmo com a adio ou
remoo de linhas ou transformadores, haver alteraes das admitncias; logo, a matriz A
ser modificada. importante observar que estas alteraes levam a novos clculos, que
acarretam mudanas no tempo de computao e no espao de memria exigidos, obrigando a
procura de mtodos eficientes para a soluo de problemas com matrizes modificadas.




10
Como este assunto no se encontra disseminado nos livros, procura-se descrever
didaticamente os vrios mtodos e compar-los entre si. Com o desenvolvimento cientfico,
alguns mtodos ficaram obsoletos, porm, tm carter seminal, donde o interesse no seu
estudo.
Neste trabalho so tratados apenas os mtodos diretos.
Foram feitos estudos comparando o desempenho do mtodos diretos e iterativo na
soluo de equao Ax = b, empregando-se as mesmas condies de teste geral. A concluso
final que os mtodos diretos ainda so mais rpidos, embora o mtodo iterativo seja mais
fcil de se implementar [Monticelli,99].
O objetivo geral deste trabalho organizar didaticamente num nico texto os mtodos
diretos de refatorizao de matrizes na soluo de sistemas matriciais.
Os objetivos especficos so:
Dar condies para usar o mtodo adequado verificando as vantagens que
existem em cada um.
Verificar as vantagens de se usar L D U em vez de usar a inversa
1
A .
Usar o mtodo de Bennett, [Bennett,65] empregando o programa
implementado computacionalmente.
A metodologia adotada consiste na pesquisa bibliogrfica, no seu estudo e seleo. A
pesquisa bibliogrfica concentra-se em publicaes do IEEE, como tambm em livros de
lgebra Linear.
A contribuio deste trabalho inclui a interpretao e registro sistemtico de
bibliografia pertinente e aplicaes dos mtodos de refatorizao de matrizes para
planejamento de sistemas de energia eltrica. Alm do mais, o trabalho pode contribuir como
incentivo ao desenvolvimento de novas pesquisas.


11
Organizao do texto

A presente Dissertao est organizada em cinco captulos:

Captulo 1:

O captulo apresenta o mtodo de Gauss para soluo de sistema A x = b como,
tambm, a decomposio de A em L D U e uma variante do mtodo de Gauss feita por W.F.
Tinney. Ele introduz o conceito de grafos associados matriz A.

Captulo 2:

0 captulo considera as modificaes da matriz A, modificaes estas feitas por n ou
ramos orientados. A partir da equao matricial (A+ A ) x = b, chega-se formula
b A A A A I A A x ] . ) . ( [
1 1 1 1 1
+ = atravs de dedues matemticas. A idia principal
tornar o clculo de x rpido e eficiente. Mostra-se que basta armazenar
1
A uma nica vez e
usar este fato a cada modificao efetuada.Verifica-se que pode-se armazenar tambm as
inversas de L e U para calcular o valor de x. Finaliza-se com exemplos.

Captulo 3.

O captulo mostra que o mtodo de refatorizao simples mais conveniente, pois, o
mtodo de refatorizao com arranjo especial degrada a esparsidade da matriz A. Mostra-se
que para a soluo do sistema deve-se decompor a matriz A em L D U por blocos. feita a
decomposio da matriz em blocos, finalizando-se com um exemplo, aplicando o mtodo.


12


Captulo 4.

O captulo mostra que John M. Bennett substituindo A por
t
Y C X na matriz
1
) (

+ A A chegou identidade
1 1 1 1 1
] [ ) (

+ = + A Y X A Y C X A Y C X A
t t t
.
Verifica-se que no necessrio armazenar a inversa da matriz a cada modificao.
suficiente armazenar a inversa de A uma nica vez, o que fundamental para a computao.
desenvolvido um algoritmo para chegar decomposio da matriz
t
Y C X A+ em

U D L usando o L D U da matriz A, e mostrado que a inversa completa da matriz
modificada pode ser evitada a cada alterao. Isto permite armazenar apenas os fatores L D U
da matriz A.

Captulo 5.

O captulo mostra que ao se alterar uma ou mais linhas/colunas de uma matriz
afetado somente um subgrupo de linhas/colunas subseqentes. Mostra-se a vantagem de
ordenar uma matriz antes de fator-la em LU, pois proporciona menos preenchimentos
nas posies, onde a matriz A possa inicialmente elementos nulos, ao se fazer a
decomposio. A associao que se faz de uma matriz com um grafo mostra as
vantagens que existem ordenando a matriz antes de fator-la, pois o nmero de* fill-
ins menor com a ordenao prvia.
Finalmente, apresenta-se a concluso, as referncias bibliogrficas e o apndice.

* fill-ins elementos no nulos.


13

CAPTULO 1

FATORAO COMPLETA MTODO DE GAUSS


Neste captulo sero discutidos os mtodos diretos para soluo de um sistema Ax = b,
entre eles o mtodo de Gauss como tambm uma variante deste mtodo apresentada por W.F.
Tinney [Tinney,67], o qual decompe a matriz A em L U. Introduz-se tambm a associao
de uma figura, isto , um grafo linear (GA) com uma matriz A. Tal associao se faz
necessria para os estudos dos captulos posteriores.
1.1 Fatorao completa mtodo de Gauss
Para resolver o sistema linear A x = b, onde A n x n, x n x 1 e b n x 1, usa-se o
mtodo de eliminao de Gauss [Leon, 98]. Este mtodo consiste em aplicar matriz
completa C =| | b A/ as chamadas transformaes elementares sobre as linhas, a saber:
a)
ij
T , trocar de posio as linhas i e j;
b) ) (
ij
T , somar linha i a linha j multiplicada por .


14
Supe-se que a matriz A seja tal que apenas a transformao (b) seja necessria. Uma
condio suficiente para isso, que A seja simtrica definida positiva ou que A = ) (
ij
a seja
diagonalmente dominante ) ,..., 1 , (
, 1
n j a a
n
j i i
ij jj
= >

=
.
Neste mtodo, resolve-se a equao linear A x = b atravs de operaes elementares
efetuadas sobre as linhas da matriz A e b, at que seja obtido um sistema equivalente ao dado,
de soluo imediata, ou pelo menos mais simples.
A decomposio triangular da matriz por Gauss [Leon,98] feita pela eliminao dos
elementos abaixo da diagonal principal em todas as colunas. O mtodo direto, porm,
lento. O tempo de computao grande e ocupa tambm grande espao de armazenamento.
Como as matrizes de admitncia so esparsas e simtricas, pode-se obter algumas
vantagens na soluo dos problemas. A primeira, e mais evidente, a grande economia de
memria possvel de ser obtida quando armazenam-se apenas os elementos no nulos. A
segunda vantagem a reduo do tempo de computao. Uma terceira a reduo do erro de
arredondamento.
O mtodo de Gauss tende a destruir a esparsidade da matriz a ele submetida.
Entretanto, um controle pode ser exercido sobre o processo de triangularizao, o que no
pode ser feito no caso de matrizes cheias.
Antes que se d um exemplo de aplicao do mtodo de Gauss, deve-se comentar trs
esquemas que levam soluo da equao A x = b, para justificar a opo por este mtodo.
a) Inverter explicitamente a matriz dos coeficientes, no caso a matriz A.
A x = b x = A
1
. b
Este esquema inconveniente porque:


15
a.1) a inverso da matriz A exige um nmero de operaes bastante grande em relao a
outros esquemas;
a.2) a inverso destri a esparsidade das matrizes;
a.3) o acmulo de erros de arredondamentos, durante o processo de inverso, pode
inutilizar os resultados obtidos, sobretudo quando se trata de sistemas de grande
porte.
b) Admitir uma soluo aproximada e obter, atravs de algoritmo adequado, aproximaes
melhores, at que um determinado ndice de preciso seja atingido. Este esquema tem
vantagens, mas inconveniente. Quando se armazenam apenas os elementos no nulos da
matriz de coeficientes, o armazenamento compacto e feito por linhas e colunas, isto ,
os elementos ficam distribudos aleatoriamente, dificultando a sua localizao para se obter
a matriz transposta de A ou a inversa da transposta. Apresenta-se tambm excessivo tempo
de computao, quando houver necessidade de solues repetidas, pois cada soluo
envolve a repetio com novos dados de todo o processo iterativo.
Em suma, os mtodos iterativos tm desvantagens em relao aos mtodos
diretos[Monticelli,99] , como tambm a inverso implcita da matriz A.
c) Transformar o sistema linear dado, atravs de operaes aritmticas elementares, at que
seja obtido um sistema equivalente, mas de soluo imediata, ou pelo menos mais simples
(mtodos diretos). O mtodo direto principal o mtodo de Gauss que apresenta mais
vantagens sobre os outros, pois mais preciso e a esparsidade da matriz A menos
afetada.
Considera-se o seguinte algoritmo:


16
1.2 Algoritmo Mtodo de Gauss
Seja A =
nxn ij
a ) (

Notaes:
ndices inferiores indicam ordem de linha e coluna do elemento respectivamente;
ndices superiores representam o estado atual do elemento, isto , o nmero de
transformaes sofridas por este elemento no decorrer de um processo qualquer;
ndice superior 0 (zero) indica que o elemento se encontra com o seu valor inicial.
1) Fazendo k 1 (iniciao do contador de linha);
2) Soma-se a linha k de A, multiplicada por
) 1 (

k
jk
a s linhas j = k+1, ..., n, ou seja,
calculam-se:
) ( ) 1 ( ) 1 ( ) (
.
k
ki
k
jk
k
jk
k
jk
a a a a

= : j ,i = k+1,..., n ;
) ( ) 1 ( ) 1 ( ) (
.
k
j
k
jh
k
j
k
j
b a b b

=
Isto resulta na eliminao de
k
x das (n-k ) equaes subseqentes k-sima.
3) Fazendo kk + 1 e indo para 2.
4) Substituindo os valores dos
i
x (i = k+1, ..., n), j calculados na k-sima equao e
resolvendo para x
k
. Isto equivale a se calcular:
i
n
k i
k
ki
k
k
kk
k
x a b
a
x

+ =
=
1
) ( ) (
(
1
)
5) Fazendo 1 k k . Se k= 0, FIM. Seno, 4
Este algoritmo de Gauss, normalmente apresentado na literatura de gebra linear
[Leon ,98], exige que a matriz a ser triangularizada seja armazenada integralmente na


17
memria do computador. O armazenamento linha por linha, no caso de matrizes esparsas,
dificulta a localizao dos elementos de uma dada coluna.
Pode-se verificar que o nmero de operaes aritmticas envolvido no mtodo de
Gauss menor que o nmero de operaes necessrias inverso de uma matriz. Em se
tratando de uma matriz esparsa, as vantagens so bem mais significativas.
1.2 Exemplo
Aplicao do algoritmo a um sistema de quatro incgnitas.

= +
= +
= +
=
1 18 8 6
2 8 6 4
0 6 4 2
1 4 2 2
4 3 2
4 3 1
4 2 1
3 2 1
x x x
x x x
x x x
x x x

Pode-se escrever o sistema na forma matricial A x = b.
Como as operaes de eliminao envolvem apenas os coeficientes
ij
a ( i ,j = 1,2,3,4),
e os termos independentes
i
b ( i = 1,2,3,4), para fim de exposio, ser suficiente trabalhar
com a matriz aumentada | | b A/ .
| | b A/ =
(
(
(
(





1 18 8 6 0
2 8 6 0 4
0 6 0 4 2
1 0 4 2 2
, Aplicando o algoritmo tem-se:


18
(
(
(
(





1 18 8 6 0
2 8 6 0 4
0 6 0 4 2
1 0 4 2 2
) 2 ( ); 1 (
31 21
T T
(
(
(
(





1 18 8 6 0
4 8 2 4 0
1 6 4 2 0
1 0 4 2 2
) 3 ( ); 2 (
42 32
T T
(
(
(
(




4 0 20 0 0
6 20 10 0 0
1 6 4 2 0
1 0 4 2 2
) 2 (
43
T
(
(
(
(




8 40 0 0 0
6 20 10 0 0
1 6 4 2 0
1 0 4 2 2

Clculo de x=
(
(
(
(

4
3
2
1
x
x
x
x
: sendo

=
=
=
=
8 40
6 20 10
1 6 4 2
1 4 2 2
4
4 3
4 3 2
3 2 1
x
x x
x x x
x x x

=
4
x
5
1
44
4
=
a
b

i
i
i
x a b
a
x

=
=
4
4
3 3
33
3
(
1
)=
5
1
5
2
5
3
= +
= =

=
) (
1
4
3
2 2
22
2 i
i
i
x a b
a
x -
2
1
) (
1
4
2
1 1
11
1 i
i
i
x a b
a
x

=
= = -
5
2

1.4 Decomposio L U e L D

U .[ Monticelli,83]

A pode ser reduzida forma triangular superior:
(
(
(
(
(
(

=
nn n n n
n
n
n
a a a a
a a a a
a a a a
a a a a
A
...
... ... ... ... ...
...
...
...
3 2 1
3 33 32 31
2 23 22 21
1 13 12 11
( )
(
(
(
(
(
(

=
) 1 ( ) 1 (
3
) 1 (
2
) 1 (
3
) 1 (
33
) 1 (
32
) 1 (
2
) 1 (
23
) 1 (
22
1 13 12 11
1
... 0
... ... ... ... ...
... 0
... 0
...
nn n n
n
n
n
a a a
a a a
a a a
a a a a
A
(
(
(
(
(
(

=
(
(
(
(
(
(

=
) (
) 2 (
3
) 2 (
33
) 1 (
2
) 1 (
23
) 1 (
22
1 13 12 11
) (
) 2 ( ) 2 (
3
) 2 (
3
) 2 (
33
) 1 (
2
) 1 (
23
) 1 (
22
1 13 12 11
) 2 (
... 0 0 0
... ... ... ... ...
... 0 0
... 0
...
....
... 0 0
... ... ... ... ...
... 0 0
... 0
...
n
nn
n
n
n
n
nn n
n
n
n
a
a a
a a a
a a a a
A
a a
a a
a a a
a a a a
A
) (n
A = U


19
Em geral, se a matriz A n x n poder ser colocada na forma triangular superior U sem
trocar as linhas, ento A pode ser fatorada em L U, onde L triangular inferior e tem todos os
elementos da diagonal iguais a um (1). O elemento
ij
l de L abaixo da diagonal principal vai
ser um mltiplo da i-sima que foi subtrado da j-sima linha durante o mtodo de Gauss.
Pode-se verificar que L U = A.
Para se ver como esta fatorao funciona, analisa-se o processo em termos de matrizes
elementares. Isto equivalente a multiplicar a matriz A esquerda por n matrizes
elementares:
. 2 , 1
,...,
n
E E E Ento, U A E E E E
n
=
1 2 3
... e como as matrizes elementares so
invertveis, tem-se: U E E E E A
n
). . ... . . . (
1 1
3
1
2
1
1

= , logo A = L U.
Dada a fatorao L U de uma matriz A, possvel prosseguir e fatorar U em um
produto

U D , onde D a diagonal e

U triangular superior, com todos os elementos da


diagonal iguais a 1.
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(

1 ... 0 0 0
... ... ... ... ...
... 1 0 0
... 1 0
... 1
... 0 0 0
... ... ... ... ...
0 ... 0 0
0 ... 0 0
0 ... 0 0
33
3
22
2
22
23
11
1
11
13
11
12
33
22
11
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
U
U D
n
n
n
nn

Tem-se A = L D

U .
Tem-se, portanto, que:
1) A matriz U - superior e contm os elementos quando se escalona a matriz A (mtodo
de Gauss).


20
2) A matriz L - inferior e representa as etapas de eliminao. Seus elementos
ij
l , i<j so
os simtricos dos multiplicadores que aparecem nas operaes ( )
ij
T ; os elementos da
diagonal de L so todos iguais a 1.
3) Alm disso, a soluo de A x = b equivalente soluo dos dois sistemas L y = b e U
x = y, sendo o primeiro por substituio progressiva e o segundo por substituio
regressiva.
4) Assim, o mtodo de eliminao de Gauss equivalente a fatorar A no produto L U, onde
L - inferior com diagonal unitria e U -superior.
5) Introduzindo a matriz diagonal D, pode-se escrever A = L U = L D

U , onde

U tem
tambm diagonal unitria; esta decomposio nica. [Leon 98, cap. 6].
Pode-se mostrar que o nmero de operaes aritmticas envolvido na soluo de A =
L U, L y = b , U x = y o mesmo que o envolvido no mtodo de eliminao de Gauss.
Na prtica, o mtodo L U (ou L D

U ) oferece algumas vantagens.


Por exemplo, se ao resolver A x = b para vrios valores de b, A permanece inalterada,
o mtodo L U o mais conveniente.
Caso de matriz simtrica:
Supe-se que na equao linear A x = b, A matriz simtrica ( isto A=
t
A ).
Se A = L D

U = =
t
A
t
t
L D U

, resulta
t
L U =

,de modo que A= L D


t
L .
Por exemplo,
(
(
(




=
3 4 2
4 8 2
2 2 4
A =
(
(
(
(
(
(


(
(
(

(
(
(
(
(
(

1 0 0
3
1
1 0
2
1
2
1
1
3 0 0
0 9 0
0 0 4
1
3
1
2
1
0 1
2
1
0 0 1



21
Seja U uma matriz tiangular superior com todos os elementos da diagonal principal
diferentes de zero, e L, uma matriz triangular inferior com os elementos da diagonal principal
iguais a um.
Decompondo A em L U e substituindo-os no sistema A x = b, tem-se:
L U x = b , e fazendo Ux = y, tem-se Ly = b.
Como L uma matriz tringular inferior, resolve-se, diretamente, calculando y por
substituio de cima para baixo. Uma vez determinado o valor de y, e usando a matriz
triangular superior U, resolve-se a outra equao U x = y por substituio de baixo para cima.
Sejam as matrizes:
L=
(
(
(
(
(
(
(
(
(
(
(

1 . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
0 ... 0 0 1
0 ... 0 0 0 1
0 ... 0 0 0 0 1
0 ... 0 0 0 0 0 1
4 3 2 1
42 42 41
32 31
21
n n n n
l l l l
l l l
l l
l
,U =
(
(
(
(
(
(
(
(
(
(
(

nn
n
n
n
n
u
u u
u u u
u u u u
u u u u u
. . . 0 0 0 0
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . 0 0 0
. . . 0 0
. . . 0
. . .
4 44
3 34 33
2 24 23 22
1 14 13 12 11

Para resolver um sistema A x = b, faz-se as seguintes consideraes:
A = L U; L y = b; U x = y toma-se y =
(
(
(
(
(
(
(
(

n
y
y
y
.
.
.
2
1

e calcula-se y usando a frmula
k
j
k
jk j j
y l b y

=
=
1
1
,


22
e tomando-se x =
(
(
(
(
(
(
(
(

n
x
x
x
.
.
.
2
1
, calcula-se x,
usando a frmula x
j
= ) (
1
1
k
n
j k
jk j
jj
x u b
u

+ =

1.5 Exemplo
(
(
(
(





18 8 6 0
8 6 0 4
6 0 4 2
0 4 2 2

(
(
(
(

4
3
2
1
x
x
x
x
=
(
(
(
(

1
2
0
1

(
(
(
(

(
(
(
(





=
) 3 (
) 2 (
18 8 6 0
8 2 4 0
6 4 2 0
0 4 2 2
) 2 (
) 1 (
18 8 6 0
8 6 0 4
6 0 4 2
0 4 2 2
42
32
31
21
T
T
T
T
A

U T =
(
(
(
(





(
(
(
(




40 0 0 0
20 10 0 0
6 4 2 0
0 4 2 2
) 2 (
0 20 0 0
20 16 0 0
6 4 2 0
0 4 2 2
43

(
(
(
(

=
1 2 3 0
0 1 2 2
0 0 1 1
0 0 0 1
: L Ento
L y = b, tem-se:
(
(
(
(

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

(
(
(
(

4
3
2
1
y
y
y
y
=
(
(
(
(

1
2
0
1
logo y =
(
(
(
(

8
6
1
1



23
U x = y , tem-se:
(
(
(
(




40 0 0 0
20 10 0 0
6 4 2 0
0 4 2 2

(
(
(
(

4
3
2
1
x
x
x
x
=
(
(
(
(

8
6
1
1
logo, x =
(
(
(
(
(
(
(
(

5
1
5
1
2
1
5
2

Como a matriz A pode tambm ser fatorada em L D U

, onde L e U

so matrizes
triangulares inferior e superior, respectivamente, com elementos da diagonal principal
unitrios e D uma matriz diagonal, tem-se tambm:
D U

= Uento L D U

x = b , DU

x = y e L y = b.
1.6 Variante do mtodo de Gauss apresentada por W. F. Tinney e seus
colaboradores [Tinney,67;85].
Para exemplificar, considera-se um sistema A x = b de quatro equaes e quatro
variveis. Decompondo A em L D U

tem-se:
(
(
(
(

1
0 1
0 0 1
0 0 0 1
43 42 41
32 31
21
l l l
l l
l

(
(
(
(

44
33
22
11
0 0 0
0 0 0
0 0 0
0 0 0
d
d
d
d

(
(
(
(

1 0 0 0
1 0 0
1 0
1
34
24 23
14 13 12
u
u u
u u u

(
(
(
(

4
3
2
1
x
x
x
x
=
(
(
(
(

4
3
2
1
b
b
b
b

Fazendo y = U

x, resolve-se o sistema L D y = b, usando a substituio progressiva


por colunas (de cima para baixo) e determinando o vetor y.
Coluna 1 Coluna 2 Coluna 3 Coluna 4
11
1 ) 1 (
1
d
b
y =
22
) 1 (
2 ) 2 (
2
d
y
y =
33
) 2 (
3 ) 3 (
3
d
y
y =
44
) 3 (
4 ) 4 (
4
d
y
y =
44
) 3 (
4 ) 4 (
4
d
y
y =
1 21 2
) 1 (
2
b l b y =
) 1 (
2 32
) 1 (
3
) 2 (
3
y l y y =
) 2 (
3 43
) 2 (
4
) 3 (
4
y l y y =


24
1 31 3
) 1 (
3
b l b y =
) 1 (
2 43
) 1 (
4
) 2 (
4
y l y y =
1 41 4
) 1 (
4
b l b y =
A soluo do sistema L D y = b y=
(
(
(
(
(

) 4 (
4
) 3 (
3
) 2 (
2
) 1 (
1
y
y
y
y

De fato, tem-se:
1)
1 1 11
b y d =
) 1 (
1
11
1
1
y
d
b
y = =
2)
2 2 22 1 11 21
b y d y d l = + ;
1 11 21 2 2 22
y d l b y d = ;
) 2 (
2
22
) 1 (
2
22
) 1 (
1 21 2
22
1 11 21 2
2
y
d
y
d
y l b
d
y d l b
y = =

=
3)
33 2 22 32 1 11 31
d y d l y d l + + y
3
= b
3
,
) 1 (
2 32
) 1 (
3
) 1 (
2 32 1 31 3 3 33
y l y y l b l b y d = =
) 3 (
3
33
) 2 (
3
33
) 1 (
2 32
) 1 (
32
3
y
d
y
d
y l y
y = =

=
4)
4 4 44 3 33 43 2 22 42 1 11 41
b y d y d l y d l y d l = + + +
3 33 43 2 22 42 1 11 32 41 4 4 44
y d l y d l y d l l b y d =
( ) 2
3 42
) 1 (
2 42 1 41 4 4 44
y l y l b l b y d =
) 2 (
3 42
) 1 (
2 42
) 1 (
4 4 44
y l y l y y d =
) 2 (
3 42
) 2 (
4 4 44
y l y y d =
) 3 (
4 4 44
y y d =
( )
( ) 4
4
44
3
4
4
y
d
y
y = =
Agora, resolve-se o sistema U x = y , usando a substituio por linhas.


25
(
(
(
(

1 0 0 0
1 0 0
1 0
1
34
24 23
14 13 12
u
u u
u u u

(
(
(
(

4
3
2
1
x
x
x
x
=
(
(
(
(

4
3
2
1
y
y
y
y
(
(
(
(

4
3
2
1
y
y
y
y

linha 4 :
4 4
y x =
linha 3 :
4 34 3 3
x u y x =
linha2:
4 24 3 12 2 2
x u x u y x = linha1:
4 14 3 13 2 12 1 1
x u x u x u y x =

1.7 Exemplo

Seja o sistema

= +
= +
= +
=
1 18 8 6
2 8 6 4
0 6 4 2
1 4 2 2
4 3 2
4 3 1
4 2 1
3 2 1
x x x
x x x
x x x
x x x

O sistema pode ser colocado na forma de uma equao matricial A x = b.
Decompondo A em L D U

:
(
(
(
(

=
(
(
(
(

(
(
(
(



(
(
(
(

(
(
(
(

1
2
0
1
1 0 0 0
2 1 0 0
3 2 1 0
0 2 1 1
40 0 0 0
0 10 0 0
0 0 2 0
0 0 0 2
1 2 3 0
0 1 2 2
0 0 1 1
0 0 0 1
4
3
2
1
x
x
x
x

Calcula-se primeiro y, resolvendo o sistema L D y = b(por colunas de cima para baixo)
(
(
(
(

=
(
(
(
(

(
(
(
(

(
(
(
(

1
2
0
1
40 0 0 0
0 10 0 0
0 0 2 0
0 0 0 2
1 2 3 0
0 1 2 2
0 0 1 1
0 0 0 1
4
3
2
1
y
y
y
y

coluna 1 )
2
1
) 1 (
1
= y ; 1 1 . 1 0
) 1 (
2
= + = y ; 4 1 . 2 2
) 1 (
3
= + = y ; 1 1 . 0 1
) 1 (
4
= + = y
coluna 2)
( )
2
1
2
2
= y ; 6 1 . 2 4
) 2 (
3
= + = y ;
( )
4 1 . 3 1
2
4
= + = y
coluna 3)
5
3
10
6
) 3 (
3
=

= y ; 8 6 . 2 4
) 3 (
4
= = y


26
coluna 4 )
5
1
40
8
) 4 (
4
=

= y

Resolve-se o sistema U

x = y para encontrar o x, que a soluo final:


(
(
(
(
(
(
(
(

=
(
(
(
(

(
(
(
(



5
1
5
3
2
1
2
1
1 0 0 0
2 1 0 0
3 2 1 0
0 2 1 1
4
3
2
1
x
x
x
x
tem-se:
5
1
4
= x ;
5
1
)
5
1
( 2
5
3
3
= = x ;
2
1
)
5
1
( 3 )
5
1
( 2
2
1
2
= + + = x
5
2
)
2
1
( 2 )
2
1
(
2
1
1
= + + = x .
Ento a soluo :
t
x
(

=
5
1
5
1
2
1
5
2

1.8 Grafos
Neste trabalho introduz-se um procedimento para se estudar o efeito da esparsidade na
eliminao de Gauss, que habilita a escolher-se um esquema de eliminao timo e/ou
determinar se a eliminao uma abordagem prtica. Isto feito pela associao de um grafo
linear (GA) a uma matriz A. Admite-se que a matriz A envolvida suficientemente bem
condicionada de modo que a eliminao de Gauss seja sempre possvel. Uma rede de energia
eltrica pode ser usada como sendo seu prprio grafo no direcional [Szwarcfiter ,83].
No sistema A x = b associado a uma rede de energia eltrica, a estrutura de A est
intimamente ligada configurao geomtrica da rede, ou seja, maneira pela qual as
diversas barras esto interconectadas, independendo complemente dos valores dessas
conexes. Desta forma, suficiente para descrever a estrutura geomtrica de uma rede


27
substituir seus componentes por segmentos de reta. Estes segmentos so denominados ramos
e seus terminais ns. Um n e um ramo so incidentes quando o n for um dos terminais do
ramo. Os ns podem incidir em um ou mais ramos. Ao conjunto de ns e ramos que
descrevem a estrutura topolgica de uma rede d-se o nome de grafo.
Quando um n eliminado, a conexo que existia antes precisa ser preenchida. Isto
pode requerer a adio de novo ramo no grafo reduzido. Os novos ramos correspondem aos
preenchimentos (fill-ins) na matriz.
Cada n considerado uma ligao prpria (um lao), isto , tem admitncia prpria,
representada por
ij
a onde i = j. Se um n ligado a outro, tem-se a admitncia mtua
representada tambm por
ij
a , mas com j i . O n i ligado ao n j e vice-versa. Quando
no h ligaes entre os ns, o termo igual a zero.
Um caminho de um n v a um n w uma cadeia formada por ramos distintos que tm
origem em v e trmino em w. O caminho pode ser fechado, se v = w, ou aberto, caso
contrrio.
Um ciclo um caminho fechado
k i
v v ,..., , sendo
k i
v v = e k3.
Um grafo conexo, quando existe um caminho entre cada par de ns, isto , a partir de
um n arbitrrio do grafo possvel alcanar todos os demais. Caso contrrio, o grafo
desconexo.
Alterando-se uma matriz, tm-se modificaes nos grafos e sero afetadas suas
linhas/colunas. As linhas/colunas afetadas podem ser encontradas partindo do caminho do
grafo da matriz. Quando mais de uma linha/coluna modificada, as linhas/colunas afetadas
so originadas pela unio dos caminhos [Betancourt ,86;88]. Um grafo chamado de rvore
se ele for conexo e acclico.



28









Figura 1 Grafo de uma rede de energia eltrica com cinco ns

(
(
(
(
(
(

=
X X X X
X X X
X X X X
X X X
X X X
A
0
0 0
0
0 0
0 0

FIGURA 2 Matriz associada ao grafo da figura 1








FIGURA 3 rvore associada matriz da Figura 2 partindo dos ns 1 e 2
Neste captulo foi apresentado o mtodo de Gauss para soluo do sistema A x = b, a
decomposio de A em L D U e uma variante do mtodo de Gauss feita por W. F. Tinney .
Foi introduzido o conceito de grafos associado matriz A e dado um exemplo tanto do
mtodo de Gauss como o de Tinney.
1 2
3
4
5
5 2
3 4
1


29

O CAPTULO 2


MTODO DE COMPENSAO


O captulo apresenta a deduo e anlise do mtodo de compensao para a soluo
eficiente de problemas de rede envolvendo modificao na matriz A do sistema A x = b.
Mostra-se que as modificaes podem ser feitas por ramo ou n orientados. No final, chega-se
a uma equao que se altera a cada modificao, mas calcula-se e armazena-se a inversa de A
somente uma vez [Alsa, Stott, Tinney, 83].
2.1 Mtodo de Compensao
Este mtodo torna o processo de clculo da soluo de problemas de redes de energia
eltrica mais rpido e eficiente, e mais apropriado, quando:
a) as modificaes no so grandes;
b) as modificaes no so permanentes;
c) as equaes modificadas no precisam ser resolvidas repetidamente .
Considera-se a seguinte equao matricial ) ( A A + x = b, sendo A, a matriz
admitncia da rede de energia eltrica de dimenso n x n, A tambm de dimenso nxn a
matriz modificao envolvendo um ou mais elementos da rede, x o vetor das tenses e b o
vetor das correntes.


31
Para todas as modificaes incidentes simtricas da matriz A, toma-se
t
YM M A = ,
onde:
Y uma matriz m x m contendo as modificaes de A , sendo m n .
M a matriz conexo, de dimenso n x m.
Quando a modificao por ramo orientado, M tem colunas de entradas +1 e 1 nas
posies relevantes. No caso de modificaes por n orientado, as colunas de M tm uma
nica entrada +1.
2.2 Modificao por ramo orientado
Quando m ramos so modificados simultaneamente, Y uma matriz diagonal m x m
de mudana da admitncia, e M, como j foi dito, tem m colunas, com as entradas +1 e 1
nas posies relevantes.
Primeiro,considera-se apenas um ramo modificado (FIG. 4).


A =
(
(
(
(
(
(

55 54 52
45 44 43 42
44 33 31
25 24 22 21
13 12 11
0 0
0
0 0
0
0 0
y y y
y y y y
y y y
y y y y
y y y


FIGURA 4 Rede de energia eltrica com modificao de um ramo (1 - 4)
= A | || |
(
(
(
(
(
(



= +
(
(
(
(
(
(

+
0 0 0 0 0
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0
0 1 0 0 1
0
1
0
0
1
1 1
1 1
1
y y
y y
y
5

1
4
1
y
2
3


32
A + A =
(
(
(
(
(
(

+
+
55 54 52
45 1 41 43 42 1
34 33 31
25 24 22 21
1 13 12 1 11
0 0
0 0
0
0
y y y
y y y y y y
y y y
y y y y
y y y y y

Observa-se que a admitncia entre os ns i e j muda de
1
y , adicionando
1
y a
ii
y e a
jj
y e subtraindo-o de
ij
y e
ji
y .
Consideram-se dois ramos modificados (FIG. 5):
1 2 5






3 4



FIGURA 5 Rede de energia eltrica com modificaes de dois ramos (1-4) e (3-5)
t
YM M
y
y
A =
(

+
+
(

(
(
(
(
(
(

+
+
=
1 0 1 0 0
0 1 0 0 1
0
0
1 0
0 1
1 0
0 0
0 1
2
1

(
(
(
(
(
(





=
2 2
1 1
2 2
1 1
0 0 0
0 0 0
0 0 0
0 0 0 0 0
0 0 0
y y
y y
y y
y y
A
Logo, a matriz com dois ramos modificados ser:
2
y

2
y
1
y


33
A + A =
(
(
(
(
(
(

+
+
+
+
2 55 54 2 52
45 1 44 43 42 1
2 34 2 33 31
25 24 22 21
1 13 12 1 11
0
0
0
0
y y y y y
y y y y y y
y y y y y
y y y y
y y y y y

Observa-se que os y so adicionados a
55 44 33 11
, , ey y y y e subtrados de
53 , 35 41 14
, , y y y y que, particularmente, so nulos, porque no h ligaes entre estes ns.
2.3 Modificao por n orientado
Esta uma modificao mais geral, pois podem ser feitas simultaneamente alteraes
em todos os elementos da matriz associados a um dado conjunto de ns. A matriz Y tem a
dimenso m x m, onde m o nmero de ns envolvidos. A matriz M tem m colunas cada uma
com uma nica entrada +1 na posio relevante como se v no exemplo a seguir.
Considera-se a mesma matriz A vista no exemplo anterior .
Quando dois ns so envolvidos, tem-se:
(
(
(
(
(
(



=
(



(
(
(
(
(
(

=
0 0 0 0 0
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0
0 1 0 0 0
0 0 0 0 1
. .
0 0
1 0
0 0
0 0
0 1
1 1
1 1
1 1
1 1
y y
y y
y y
y y
A
A a mesma matriz encontrada quando a modificao foi feita no ramo 1-4 (FIG. 4).
Quando quatro ns so envolvidos, considerando a matriz A dada no exemplo anterior
e as modificaes que agora envolvero os ns 1, 3, 4 e 5, tem-se:


34
(
(
(
(

(
(
(
(





(
(
(
(
(
(

=
1 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 0 0 0 1
.
0 0
0 0
0 0
0 0
.
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 0
0 0 0 1
2 2
2 2
1 1
1 1
y y
y y
y y
y y
A

(
(
(
(
(
(





=
2 2
1 1
2 2
1 1
0 0 0
0 0 0
0 0 0
0 0 0 0 0
0 0 0
y y
y y
y y
y y
A
Mais uma vez, conclui-se que A continua sendo a mesma anterior, quando se fez a
modificao nos ramos 1-4 e 3-5 (FIG. 5).
Sendo a matriz A uma matriz de admitncia de uma rede de energia eltrica, ela ser
simtrica e esparsa, principalmente se tratando de um sistema de grande porte. A matriz
modificao A ainda mais esparsa e poder tambm ser decomposta num produto LU,
onde L uma matriz triangular inferior com elementos unitrios na diagonal principal e U
uma matriz triangular superior:
= A
(
(
(
(
(
(


(
(
(
(
(
(

=
(
(
(
(
(
(



0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0
1 0 0 0 0
0 1 0 0 1
0 0 1 0 0
' 0 0 0 1 0
0 0 0 0 1
0 0 0 0 0
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0
1 1
1 1
1 1
y y
y y
y y

U = D U

, onde D matriz diagonal e U

uma matriz triangular superior com os elementos


da diagonal iguais a um. Ento, A = L D U

.
A =
(
(
(
(
(
(


(
(
(
(
(
(

(
(
(
(
(
(

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 1 0 0 1
.
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0
.
1 0 0 0 0
0 1 0 0 1
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1
y



35
O que determina o melhor mtodo a ser usado (n orientado ou ramo orientado) o
gasto computacional necessrio para o processamento de cada um deles. Este gasto aumenta
com a ordem da matriz modificao Y .
Inversa da matriz modificada
Para resolver a equao (A + ) A x = b, deve-se calcular a inversa
1
) (

+ A A .
Tem-se:
1 1 1 1
) . ( ) (

+ = + A A I A A A
e desenvolvendo-se formalmente em srie de potncias,
... ) . ( ) . ( . ) . (
3 1 2 1 1 1 1
+ + = +

A A A A A A I A A I
Portanto,
= +
1
) ( A A = | | ... ) . ( ) . ( . . ) . (
3 1 2 1 1 1 1 1 1
+ + = +

A A A A A A I A A A I A =
= | | ... ) . ( ) ( .
3 1 2 1 1 1 1
+

A A AA A A A A =
= | | = + +
1 3 1 2 1 1 1 1
. . ... ) ( ) . ( ) . ( . A A AA A A A A I A A
=
1 1 1 1 1
. . ) . (

+ A A A A I A A ,
ento, | |b A A A A I A A x . . ) . (
1 1 1 1 1
+ =
Se
t
YM M A = , ento,
1 1 1 1 1 1
. . ) ( ) (

+ = + A YM M A YM M I A A A A
t t

Simplificando, mais a identidade acima, toma-se:
C= Y M A YM I
t
+

. ) (
1 1
, donde:
C M A YM I Y
t
). (
1
+ = , logo:


36
t t t
t
t
t
YM M A YM M I MCM
se tem e Y M A YM M I MC
donde C M A YM M I Y M
C M A YM M M Y M
+ =
+ =
+ =
+ =

1 1
1 1
1
1
) (
: , ) (
: , . ). (
). (

Ento, tem-se que:
1 1 1 1
. . . . ) (

= + A M C M A A A A
t

Pondo :
X M M A M Z
M A X
t t
= =
=

1
1
.

Vem: Y Z Y I C + =
1
) . ( ,

Aps a modificao a soluo : b A M C M A A x
t
). . . . (
1 1 1
= .
Pode-se escrever tambm: b A CM M I A x
t
). . . (
1 1
= . Se A = LU, vem
1 1 1
.

= L U A ,
ento:
b L U M C M L I U x
b L U M C M L L U x
b A M C M I L U x
t
t
t
. ) . . . . (
). . . . . . (
). . . . (
1 1 1 1
1 1 1 1 1
1 1 1



=
=
=


A idia tornar o processo de clculo de x rpido e eficiente. A inversa de A ser
calculada somente uma vez e armazenada. Verifica-se que as inversas, que se devem calcular,
so altamente esparsas e as outras operaes necessrias so somente adio e multiplicao
de matrizes.



37



So mostradas abaixo as estruturas da admitncia nodal com cinco ns, antes e depois
de se fazer a modificao, isto , antes de ligar o n 4 ao n 5. Pode-se verificar como ficaram
tambm as estruturas das matrizes admitncias antes e depois da modificao.






FIGURA 6 Estrutura da matriz admitncia nodal: rede com cinco ns





FIGURA 7 Estrutura da matriz admitncia nodal: rede de cinco ns, com a conexo
dos ns 4 e 5
2
4
5 3 1
4 2
5
3 1


38

5
4
3
2
1
5 4 3 2 1
(
(
(
(
(
(

X X
X X X
X X X X
X X X
X X X

5
4
3
2
1
5 4 3 2 1
(
(
(
(
(
(

X X X
X X X X
X X X X
X X X
X X X

Estrutura da matriz admitncia: A Estrutura da matriz admitncia: A A +

2.4 Exemplo
Considerando-se as estruturas das figuras 6 e 7 d-se o exemplo seguinte, atribuindo
valores numricos;
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(





3
2
0
6
0
3 0 2 0 0
0 5 1 3 0
2 1 6 0 3
0 3 0 6 3
0 0 3 3 6
5
4
3
2
1
x
x
x
x
x

Considera-se uma rede de energia eltrica de 5 ns, portanto, a matriz A 5 x 5 e as
matrizes x e b so 5 x 1 cada uma. Pode-se tambm, neste caso, ter cada matriz x e b at 5
x 5, isto , se A de ordem n x n, as matrizes x e b podem ser n x m, onde n m .
interessante observar que se tm vrias combinaes possveis, principalmente se n um
nmero grande.
A=
(
(
(
(
(
(





3 0 2 0 0
0 5 1 3 0
2 1 6 0 3
0 3 0 6 3
0 0 3 3 6
e decompondo A em L U, tem-se:


39
L=
(
(
(
(
(
(
(
(
(

1
2
1
2
1
0 0
0 1
2
1
3
2
0
0 0 1
3
1
2
1
0 0 0 1
2
1
0 0 0 0 1
e
1
L =
(
(
(
(
(
(
(
(
(

1
2
1
4
3
12
7
3
2
0 1
2
1
6
5
3
2
0 0 1
3
1
3
2
0 0 0 1
2
1
0 0 0 0 1

(
(
(
(
(
(
(




=
2
3
0 0 0 0
1 2 0 0 0
2 2 4 0 0
0 3
2
3
2
5
0
0 0 3 3 6
U e
(
(
(
(
(
(
(
(
(
(
(

3
2
0 0 0 0
3
1
2
1
0 0 0
2
1
4
1
4
1
0 0
18
7
12
5
12
1
9
2
0
9
4
3
1
6
1
9
1
6
1
1
U
Considera-se, por exemplo, | | 1 = Y fazendo uma ligao do n 4 ao n 5, e
como foi visto acima a matriz de conexo
(
(
(
(
(
(

=
1
1
0
0
0
M e, como | | Y Z Y I C + =
1
, tem-se:
| |
(

=
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(

= =

3
2
1
1
0
0
0
3
2
3
1
2
1
18
7
9
4
3
1
3
2
2
1
18
11
9
5
2
1
2
1
4
3
12
7
3
2
18
7
18
11
12
7
108
89
27
19
9
4
9
5
3
2
27
19
27
23
1 1 0 0 0
1
M A M Z
t

| | | | | |
(

=
(

+ =

5
3
1 )
3
2
. 1 1 (
1
C


40
(
(
(
(
(
(
(
(

=
5
3
5
3
0 0 0
5
3
5
3
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
t
MCM .
E:
, ] ) ( [
1 1 1 1 1
b L U MCM L I U x

= sendo que x o vetor das tenses e b o vetor das correntes.
Resolvendo-a por partes, tem-se:
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(

10
3
10
3
0 0 0
5
3
5
3
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
5
3
5
3
0 0 0
5
3
5
3
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1
2
1
4
3
12
7
3
2
0 1
2
1
6
5
3
2
0 0 1
3
1
3
2
0 0 0 1
2
1
0 0 0 0 1
1 t
MCM L

(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(

=

10
1
20
3
0 0 0
5
1
10
3
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
3
2
0 0 0 0
3
1
2
1
0 0 0
2
1
4
1
4
1
0 0
18
7
12
5
12
1
9
2
0
9
4
3
1
6
1
9
1
6
1
10
3
10
3
0 0 0
5
3
5
3
0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1
U MCM L
t

(
(
(
(
(
(
(
(

=

10
9
20
3
0 0 0
5
1
10
7
0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 1
U M C M L I
t

( )
1 1 1
U MCM L I U
t
=


41
=
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(

10
9
10
3
0 0 0
5
1
10
7
0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
3
2
0 0 0 0
3
1
2
1
0 0 0
2
1
4
1
4
1
0 0
18
7
12
5
12
1
9
2
0
9
4
5
1
6
1
9
1
6
1

(
(
(
(
(
(
(
(
(
(
(

5
3
10
1
0 0 0
5
2
5
2
0 0 0
2
1
4
1
4
1
0 0
30
13
20
7
12
1
9
2
0
15
7
10
3
6
1
9
1
6
1

(
(
(
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(

+ =

5
3
5
2
2
1
30
13
15
7
5
2
5
3
2
1
30
17
15
8
2
1
2
1
4
3
12
7
3
2
30
13
30
17
12
7
180
143
45
31
15
7
15
8
3
2
45
31
45
38
1
2
1
4
3
12
7
3
2
0 1
2
1
6
5
3
2
0 0 1
3
1
3
2
0 0 0 1
2
1
0 0 0 0 1
5
3
10
1
0 0 0
5
2
5
2
0 0 0
2
1
4
1
4
1
0 0
30
13
20
7
12
1
9
2
0
15
7
10
3
6
1
9
1
6
1
) ( ) (
1 1 1 1 1
A A L U MCM L I U
t

Agora, pode-se calcular as tenses, usando a equao:
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(

=
+ =
=


0
1
1
3
7
2
5
3
2
0
6
0
5
3
5
2
2
1
30
13
15
7
5
2
5
3
2
1
30
17
15
8
2
1
2
1
4
3
12
7
3
2
30
13
30
17
12
7
180
143
45
31
15
7
15
8
3
2
45
31
45
38
) (
} ) ( {
1
1 1 1 1
x
b A A x
b L U MCM L I U x
t



42
As tenses sero, portanto: 0 1 , 1 ,
3
7
,
2
5
5 4 3 2 1
= = = = = x e x x x x
Para cada caso especfico de modificao da rede, o processo pode ser dividido em
duas fases:
Fase preparatria: clculo da inversa de A, clculo de L e U e suas inversas e clculo das
matrizes C e Z;
Fase soluo: encontrar o vetor x atravs da equao: b L U MCM L I U x
t 1 1 1 1
) (

= .
Para outras modificaes no sistema no ser necessria a inverso da nova matriz da
rede, a matriz inicial A ser invertida e armazenada uma nica vez como tambm as inversas
de L e U e as eventuais modificaes sero calculadas conforme as fases acima. Como se
pode observar, efetua-se simplesmente a multiplicao de matrizes a cada nova modificao.
Neste captulo foram consideradas modificaes da matriz A, modificaes estas feitas
por ns ou ramos orientados. A partir da equao matricial , ) ( b x A A = + chegou-se
frmula b AA A A I A A x ] ) . ( [
1 1 1 1 1
+ = atravs de dedues matemticas. A idia
principal tornar o clculo de x rpido e eficiente. Isto possvel, pois basta armazenar
1
A uma nica vez e usar este fato a cada modificao efetuada. Verificou-se que pode-se
armazenar as inversas de L e U que tambm permitem o clculo de x da equao matricial.
CAPTULO 3
MTODOS DE REFATORIZAO PARCIAL
Quando o nmero de alteraes da matriz A no sistema A x = b no pequeno, as
modificaes so permanentes e no h necessidade de se resolver o sistema repetidamente,
os mtodos de refatorizao parcial so mais eficientes.
A refatorizao parcial aplicvel a qualquer matriz A no singular, mas neste
captulo considera-se que ela seja a matriz dos coeficientes de uma rede nodal.
V-se neste captulo como se faz a decomposio L U por blocos para calcular a
refatorizao da submatriz que foi modificada.
3.1 Mtodo de refatorizao parcial simples
Este mtodo refatora somente a submatriz que contm os elementos modificados da
matriz. Os elementos da matriz fora da submatriz no so alterados[Brandwajn,86].
O problema deste mtodo que o tamanho da submatriz, e consequentemente o
trabalho de refatorizao so influenciados pela posio dos elementos modificados na matriz
A. Se os elementos modificados estiverem prximos do topo da matriz, pouca ou nenhuma
vantagem alcanada neste mtodo.
Seja
(
(
(
(
(
(
(
(

=
66 65 63 62
56 55 51
44 43 42
36 34 33
26 24 22 21
15 12 11
0 0
0 0 0
0 0 0
0 0 0
0 0
0 0 0
y y y y
y y y
y y y
y y y
y y y y
y y y
A

FIGURA 8 Rede referente matriz A da rede nodal modificada
1
2
4
5 6 3
y


44
Seja B
(
(
(

=
66 56
56 55
44
0
0
0 0
y y
y y
y
a submatriz de A que contm os
elementos que sero modificados, e eles se encontram na parte inferior, o que vantajoso,
pois pode-se refatorar somente a submatriz que neste caso de ordem menor que a matriz A.
| | | |
(
(
(



=
(
(
(

=
y y
y y
y B
0
0 0 0
0
1 0 1
1
0
1
e tem-se portanto:
(
(
(

+
+
= +
y y y y
y y
y y y
B B
66 65
56 55
44
0
0

3.2 Decomposio L U em blocos
Para se fatorar apenas a submatriz B, faz-se a decomposio da matriz A em blocos:
(

=
22 21
12 11
A A
A A
A onde:
A n x n, invertvel,
11
A r x r, invertvel,
12
A r x (n-r) e
21
A (n-r) x (n-r).
Prova-se que:
12
1
11 21 22
12 11
1
11 21
,
| 0
__ __ __
|
|
__ __ __
0 |
A A A A C onde
C
A A
I A A
I
LU A
r
r

=
(
(
(

(
(
(

= =
Demonstrao
Tem-se:


45
:
A
C A A A A
A A
C
A A
I A A
I
r
r
=
(
(
(

+
=
(
(
(

(
(
(


12
1
11 21 21
12 11 12 11
1
11 21
|
__ __________ __ __
|
| 0
__ | __
|
|
__ | __
0 |

donde:
12
1
11 21 22
A A A A C

=
Supe-se que:
(

= +
22 21
12 11
B A
A A
A A , ou seja, modifica-se apenas o bloco
22
A
Ento
(
(
(

(
(
(

= +

D
A A
I A A
I
A A
r
r
| 0
__ | __
|
|
__ | __
0 |
12 11
1
11 21

Onde:
12
1
11 21 22
A A A B D

=
isto ,

= + U L A A com
(
(
(

= =

D
A A
U e L L
| 0
__ | __
|
12 11

De b y A A = + ) ( vem b y U L =

. Pondo z = y U

, vem L z = b.
Assim, para resolver b y A A = + ) ( , acha-se A= L U ( em bloco ) e resolve-
se L z = b para achar z. Achando-se z , resolve-se z y U =

=
(

2
1
Z
Z
, onde
1
Z r x1 e
2
Z (n-r) x 1.
(
(
(

D
A A
U
| 0
__ __ __
|
12 11
e
21
1
11 21 22
A A A B D

=
Se
(
(
(

=
2
1
___
Y
Y
y onde
1
Y r x 1 e,
2
Y (n-r) x 1. Ento, z y U =

d:

=
= +
2 2
1 2 12 1 11
z DY
z Y A Y A
. Aps achar ,
2
Y tem-se ) (
2 12 1
1
11 1
Y A z A Y =

,


46
Em
2 2
Z Y D = , faz-se
w Y U resolvendo Y achar se pode w calculado
Z w eL w Y U U L D
=
= = =
2 2
2 2
,
,
o
o o o o

3.3 Exemplo
Seja a resoluo do sistema b y A A = + ) ( onde foram feitas modificaes apenas
no bloco
22
A .
Seja
(
(
(
(
(
(





=
3 0 2 0 0
0 5 1 3 0
2 1 6 0 3
0 3 0 6 3
0 0 3 3 6
A =
(

22 21
12 11
A A
A A
, onde:
(

=
(


=
(
(
(


=
(
(
(


=
3 0
0 5
2 0 0
1 3 0
,
2 1
0 3
0 0
,
6 0 3
0 6 3
3 3 6
22 21 12 11
A e A A A
Tem-se:
;
4
1
12
1
6
1
12
1
4
1
6
1
6
1
6
1
3
1
1
11
(
(
(
(
(
(

A
(
(
(

2
1
6
1
2
1
2
1
6
5
3
2
1
11 21
A A e
(

1 1
1 3
12
1
11 21
A A A
Considera-se que a modificao foi a ligao do n 4 ao n 5, onde 1 = y , ento
(
(
(
(
(
(






= +
4 1 2 0 0
1 6 1 3 0
2 1 6 0 3
0 3 0 6 3
0 0 3 3 6
) ( A A , com
(


=
4 1
1 6
22
B
decompondo A A + em

U L (em blocos) pode-se escrever a equao:
b y U L =

, mas como L L =

tem-se b y LU =

e fazendo z y U =

,vem L z = b.


47
Clculo de z, na equao L z = b;
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(
(
(



3
2
0
6
0
1 0
2
1
6
1
2
1
0 1
2
1
6
5
3
2
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
5
4
3
2
1
z
z
z
z
z
ento
(
(
(
(
(
(

=
2
3
0
6
0
z
Como z y U =

, passa-se ao clculo de y , onde :


12
1
11 21 22
12 11
| 0
__ __ __
|
A A A B D
D
A A
U

=
(
(
(

=
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(
(
(

2
3
0
6
0
3 2 | 0 0 0
2 3 | 0 0 0
__ __ | __ __ __
2 1 | 6 3
0 3 | 3 6 3
0 0 | 3 3 6
5
4
3
2
1
y
y
y
y
y
y U
D
2 2
Z Y = , fatorando D em
o o
U L , pode-se resolver a equao
2
Z y U L =
o o
e w y U =
o

(
(

=
(
(


=
1
3
2
0 1
3
5
0
2 3
o o
L U
2
Z w L =
o

(

=
(

(
(

=
2
3
1
3
2
0 1
2
1
2
w
w
Z ,
0
3
2
1
=
=
w
w

w y U =
o

(

=
(


0
3
5 0
2 3
5
4
y
y

0
1
5
4
=
=
y
y

) (
2 12 1
1
11 1
Y A Z A Y =



(
(
(
(
(
(

=
(

(
(
(



(
(
(

(
(
(
(
(
(

=
(
(
(

1
3
7
3
5
)
0
1
2 1
0 3
0 0
0
6
0
(
4
1
12
1
6
1
12
1
4
1
6
1
6
1
6
1
3
1
3
2
1
y
y
y
,
portanto, a soluo ser: 0 1 , 1 ,
3
7
,
3
5
5 4 3 2 1
= = = = = y e y y y y


48
3.4 Mtodo de refatorizao parcial simples com arranjo especial
Este mtodo supera o problema do mtodo anterior, forando os elementos que
precisam ser modificados para a parte inferior da matriz. O arranjo especial aumenta a
eficincia da refatorizao; porm, ele pode degradar a esparsidade e aumentar o trabalho
computacional para operaes progressivas e regressivas. Alm disso, este mtodo restringe-
se a aplicaes onde as posies dos elementos da matriz modificada podem ser previstas
antecipadamente [Brandwajn ,86] .
3.5 Observaes do que ocorre quando se decompe A em L D U


Na transformao de A em L D U

, a matriz triangular inferior L e a matriz triangular


superior U

no mantm o mesmo grau de esparsidade da matriz A. Aparecem em L


elementos no nulos
ij
l ( i < j ) onde
ij
a correspondente de A nulo. Estes elementos
ij
l que
surgem em L so os fill-ins, preenchimentos que correspondem a novas ligaes ao se
eliminar alguns ns.
Para se conseguir minimizar o nmero de fill-ins, existem tcnicas que podem ser
usadas em conjunto com a fatorao de A, procurando preservar a estrutura esparsa de L.
As matrizes de incidncia simtricas podem ter uma estrutura corretamente descrita
por grafos no orientados, se 0
ij
a implica que
ji
a tambm diferente de zero.
Sempre que houver um segmento orientado de i para j haver, necessariamente, outro
orientado de j para i, fato que pode ser descrito por um segmento no orientado.



49
O captulo trs mostra que o mtodo de refatorizao simples mais conveniente, pois
o mtodo de refatorizao com arranjo especial degrada a esparsidade da matriz A. Mostra-se
que para a soluo do sistema deve-se decompor a matriz A em L D U por blocos, tambm,
como se decompe por blocos uma matriz e, finaliza-se com um exemplo aplicando o
mtodo.



CAPTULO 4

MTODO DE BENNETT
O captulo mostra um mtodo engenhoso, devido a Bennett [Bennett,65] , utilizado
para atualizar os fatores L D U

de uma matriz modificada. Chega-se atualizao dos


fatores, sem alterar a matriz A do sistema A x = b. Nele tambm pode-se ver o algoritmo que
permite estas alteraes a partir das inversas das matrizes L .D e U

.
4.1 Mtodo de Bennett
Quando adiciona-se A matriz A, pelo mtodo de composio, conclui-se que:
1 1 1 1 1 1
) ( ) (

+ = + A A A A I A A A A . Com a substituio de
t
XCY por A , chega-se a
outra identidade, efetuando as operaes abaixo:
| |
| |
| |
| |
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 1 1 1
1 1 1 1 1
1
) (
] [
) (
) ( ) (
) (
) (

+
= +
= +
= +
= +
= +
= +
A Y X A Y C X A A
A Y X X A Y C A A
A Y A Y X C A A
A Y A Y XC A A
A Y A XCY I XC A A
A XCY A XCY I A A
XCY A
t t
t
t t
t t
t t
t t
t



51
Pode-se ver como fica a inversa de uma matriz modificada quando acrescenta-se
matriz o termo
t
XCY . No necessrio armazenar a inversa da matriz a cada modificao,
basta apenas armazenar a inversa de A uma nica vez; com isto, o nmero de operaes
diminui, o que fundamental para a computao.
Supe-se que A seja decomposta no produto L D U. Se A for modificada pela adio
de
t
XCY , desejvel tambm ser capaz de modificar L D U, de modo a se obter a
decomposio L

de
t
XCY A+ .
Para se evitar a inversa completa da matriz modificada, toda vez que h uma alterao,
trabalha-se com os fatores triangulares.
Para iniciar o processo do clculo de L

da matriz modificada, introduze-se


as anotaes:

i
L representa a matriz obtida da matriz unidade I, pela substituio da i-sima coluna de I
pela i-sima coluna de L.

i
U representa a matriz obtida da matriz unidade I, pela substituio da i-sima linha de I
pela i-sima linha de U.

i
K a i-sima linha de K

i
K a i-sima coluna de K
Tambm so vlidas as propriedades:
A)

=
+ =
n
i
n
i
n
I L I L
1
) (
De fato, tem-se:


52
(
(
(
(
(
(

=
(
(
(
(
(
(

=
(
(
(
(
(
(

=
=
1 0 0 0 0
... ... ... ... ...
0 ... 1 0 0
0 ... 0 1 0
0 ... 0 0 1
..., ,
1 ... 0 0
... ... ... ... ...
0 ... 1 0
0 ... 0 1 0
0 ... 0 0 1
,
1 ... 0 0
... ... ... ... ...
0 ... 1 0
0 ... 0 1
0 ... 0 0 1
2
32
2
1
31
21
1 n
n n
L
l
l L
l
l
l
L
Logo:
(
(
(
(
(
(

=
0 ...
... ... ... ... ...
0 ... 0
0 ... 0 0
0 ... 0 0 0
) (
3 2 1
32 31
21
1
n n n
n
i
n
i
l l l
l l
l
I L e, portanto: ( )

=
+ =
n
i
n
i
n
I L I L
1


B)
i
n
i
L I L =

2 ) (
1
,
Se A n x n e B a matriz obtida de A pela aplicao da transformao elementar T,
isto , B = T(A), ento B = E A, onde E a matriz T(
n
I ).
Tem-se:
(
(
(
(
(
(
(
(
(
(
(

=
+
+
1 0 ... 0 ... 0 0
... ... ... ... ... ... ... ...
0 0 ... 0 ... 0 0
0 0 ... 1 ... 0 0
0 0 ... 0 1 ... 0 0
... ... ... ... ... ... ... ...
0 0 ... 0 0 ... 1 0
0 0 ... 0 0 ... 0 1
.
,
, 2
. 1
j n
j j
j j
j
l
l
l
L
Portanto:
n j j j j j n nj
j
I l E l E L ) ( )... (
, 1 , 1 , + +
= , onde ) (
ij ij
l E a matriz elementar obtida de
n
I somando
linha i a linha j multiplicada por
ij
l .


53
Donde
(
(
(
(
(
(
(
(
(
(
(

=
+
+
+ +

1 0 ... 0 ... 0 0
... ... ... ... ... ... ... ...
0 0 ... 0 ... 0 0
0 0 ... 1 ... 0 0
0 0 ... 0 1 ... 0 0
... ... ... ... ... ... ... ...
0 0 ... 0 0 ... 1 0
0 0 ... 0 0 ... 0 1
) ( )... ( ) (
,
, 2
, 1
. 1 , 1
1
j n
J j
j j
n nj nj j j j j
j
l
l
l
I l E l E L =
j
n
L I 2
Exemplo: para j = 1
1 1
1
31
21
1
31
21
1
) (
1 ... 0 0
... ... ... ... ...
0 ... 1 0
0 ... 0 1
0 ... 0 0 1
0 ... 0 0
... ... ... ... ...
0 ... 1 0
0 ... 0 1
0 ... 0 0 1
2 ... 0 0 0
... ... ... ... ...
0 ... 2 0 0
0 ... 0 2 0
0 ... 0 0 2
2

=
(
(
(
(
(
(

=
(
(
(
(
(
(

(
(
(
(
(
(

=
L
l
l
l
L
l
l
L I
n n
n

Valem tambm as propriedades:
C)

=
+ =
n
i
n
i
n
I U I U
1
) (
D)
i
n
i
U I U =

2 ) (
1

Seja A uma matriz de ordem n fatorada em um produto L D U

.
(
(
(
(
(
(

=
nn n n n
n
n
n
a a a a
a a a a
a a a a
a a a a
A
...
... ... ... ... ...
...
...
...
3 2 1
3 33 32 31
2 23 22 21
1 13 12 11
, ,
...
... ... ... ... ...
0 ... 1
0 ... 0 1
0 ... 0 0 1
3 2 1
32 31
21
(
(
(
(
(
(

=
nn n n n
l l l l
l l
l
L
(
(
(
(
(
(

=
55
33
22
11
0 0 0 0
... ... ... ... ...
0 0 0 0
0 0 0 0
0 0 0 0
d
d
d
d
D e
(
(
(
(
(
(

1 ... 0 0 0
... ... ... ... ...
... 1 0 0
... 1 0
... 1
3
2 23
1 13 12
n
n
n
u
u u
u u u
U


54
Fazendo:
11 11
a d = ,
obtm-se
(
(
(
(
(
(
(
(
(

= =

1
31
21
1
11
1
.
.
.
1
1
n
l
l
l
A
a
L e | |
n
u u u A
a
U
1 13 12 1
11
1
... 1
1
= =

.
Alm disso, se A particionada em submatrizes tem-se
(

=
H G
F a
A
11

Ento,
(
(

=

GF
a
H
a
U A L
11
11
1
1
1 1
1
0
0
) ( ) ( e tem-se ainda:
1
11
11
1
1
0
0

(
(

= U
GF
a
H
a
L A
Referindo-se A como GF
a
H A se escreve A
11
) 2 ( ) 1 (
1
, = .
Ento:
( )
(
(
(
(
(
(

(
(
(
(
(
(

=
1 ... 0 0 0
... ... ... ... ...
... 1 0 0
... 1 0
... 1
0
0
1 ...
... ... ... ... ...
0 ... 1
0 ... 0 1
0 ... 0 0 1
3
2 23
1 13 12
) 2 (
11
3 2 1
32 31
21
1
n
n
n
n n n
u
u u
u u u
A
a
l l l
l l
l
A
As operaes acima repetidas em
22
) 2 (
2
) 2 (
2
) 2 (
, d e U L fornecem A

.
Com repeties adicionais, completa-se o processo e determina-se L D U

.


55
4.2 Prova do processo
Tem-se:
=
(
(
(


(
(
(


(
(
(
(
(
(
(
(
(

1
1 12
) 2 (
11
1
1
21
1
) 2 (
11 1
| 0
... | 1
| 0
0 |
|
| .
| .
| .
|
|
0 | 1
0
0
n
n
n
n
I
u u
A
a
l
I
l
U
A
a
L
(
(
(
(
(
(
(
(
(

+

=
(
(
(


(
(
(
(
(
(
(
(
(

| .
| .
| .
| .
|
|
... |
| 0
|
... |
|
| .
| .
| .
|
|
0 | 1
) 2 (
21
1 12 11
) 2 (
1 12 11
1
1
21
A K
a
a a a
A
a a a
l
I
l
n
n
n
n

Onde GF
a
a
a a
a
a a
a
a a
a
a a
a l a l
a l a l
K
n n n
n
n n n
n
11
11
1 1
11
12 1
11
1 21
11
12 21
1 1 12 1
1 21 12 21
1
...
... ... ...
...
...
... ... ...
...
=
(
(
(
(
(

=
(
(
(

= pois
| |
n
n
a a F e
a
a
G
1 12
2
21
. . .
.
.
.
=
(
(
(
(
(
(

= . Portanto GF
a
A H
11
) 2 (
1
+ = e
GF
a
H A
11
) 2 (
1
= . Assim ,
(
(
(

=
(
(
(
(
(

=

) 2 (
11
11
11
1
1
1 1
| 0
|
0 |
1
| 0
|
0 |
) ( ) (
A
a
GF
a
H
a
U A L


56
4.3 Exemplo
(
(
(



= =
9 7 2
10 7 4
6 4 2
) 1 (
A A . Decompondo A no produto L D U

tem-se :

(
(
(

=
1 3 1
0 1 2
0 0 1
L ,
(
(
(

1 0 0
2 1 0
3 2 1
U e
(
(
(

=
3 0 0
0 1 0
0 0 2
D


Toma-se:
2
11
= d ,
(
(
(

=
(
(
(

= =

1
2
1
2
4
2
2
1 1
1
11
1
1
A
a
L e
| | | | 3 2 1 6 4 2
2
1 1
1
11
1
= = =

A
a
U
| |
) 2 (
11
3 3
2 1
5 4
12 8
9 7
10 7
1
,
9 7
10 7
12 8
24 16
log ;
2
4
6 4 ,
2
A GF
a
H H
GF o G e F
H G
F
A
=
(

=
(

=
(

=
(

=
(

= =
(

=

| | | | | | | | 6 3 3 2 1
) 2 (
11 22
= = = = = = GF e H G F a d
) 3 (
) 2 (
11
3 6 3
1
A GF
a
H = = + =
| | 2 1
3
1
) 2 (
1
) 2 (
1
=
(

=

U L ento:


57
(
(
(

=
(
(
(

=
(
(
(

=

3 0 0
0 1 0
0 0 2
1 0 0
2 1 0
3 2 1
,
1 3 1
0 1 2
0 0 1
eD U L
No procedimento com a matriz modificada
t
XCY A+ , a primeira linha e a primeira
coluna levam imediatamente a


1 11 1
, U e d L , que so a primeira coluna de

L , o primeiro
termo da matriz

D e a primeira linha de

U , considerando-se que

= + U D L XCY A
t
.
Fazendo-se B Y C X A
t
= + , tem-se:
(

=

) 2 (
11 ) 1 (
0
0
B
d
B .
Como possvel obter L D U de A conhecendo-se
) ( ) 2 ( ) 1 (
,..., ,
n
A A A , o mesmo
pode ser feito para

U e D L , da matriz A + X C
t
Y = B.
Exemplo:
Para i = 1
(

=
(

1
1
1
1
0
1
) ( ,
0 1
) (
n n
I
U
I
L


( )
(

+
=


t
Y C X A
d
U B L
) ( 0
0
) (
) 2 ( ) 2 ( ) 2 ( ) 2 (
11
1
) 1 ( 1

Se XC = D, YC
t
= E , ento:

= = =
= =
m
k
m
j
jk j k
m
k
t
k k
t
C X Y Y D DY
1 1
1 1
1
1 1 11
) ( =

= =
m
j
m
k
jk j k
C X Y
1 1
1 1
=

=
m
k j
j
t
j k k
X C Y
1 ,
1 1
) ( = ( )
11 1
1
1
t t
j
m
j
j
Y C X X E =

=
;
t t t t
X C Y d d que se tem d a como e X C Y a d

+ = = + =
1 1 11 11 11 11 1 1 11 11

Por convenincia computacional, incluem-se os vetores:


58
t i i t i t i i i
i i t i t i t i i
C Y q ou Y C q
C X p ou X C p
) ( ) ( ) (
) ( ) ( ) (
) ( ) (
1
) ( ) (
1
) ( ) (
) ( ) (
1
) (
1
) ( ) (


= =
= =

4.4 Algoritmo
,
1
; ) ( )
1
(
1 1
; )
1
(
; )
1
(
;
;
1
; ) ( ) (
, ;
;
; ) (
1
0 , 0 , , ,
1
, ,
1
, ,
, ,
1
, ,
, 1
1
, 1 1 ,
1
, 1
1
, 1 1 ,
1
1
1
1
1
1
0 0 1 1 1
processo o retorna
i i
C C p q
d
C C
i n j i n j
j i j
U U p Y
d
U U
L L q X
d
L L
Y Y Y Y X Y
X X X X L X
j
q q C Y q
fim n i n i
D d p Y D d
p p C X p
i
q p Y Y X X C C se Define
i i t i i
ii
i j i
j i i j i i
i i
j
ii
j i i j i i
i j i i j i
i i
j
ii
i j i i j i
i
j
i
j
i
j
i
j i i
i
j
i
j
i
j
i
j
i
i j i
i
j
i i t i i t i
ii ii
i i
ii ii
i i i i t i
+

=

+ = + <
+
=
+ =
+ =
+ =

=
=

= <
+ =
=

=
= = = = =
+ +
+

+
+
+

+
+

+
+
+

+
+
+
+ +
+

+
+
+ +
+





59
Se A e C forem simtricas e X=Y, o algoritmo se simplifica e o nmero de operaes
dividido em duas partes. Isto acontece nos problemas que envolvem as redes de energia
eltrica, pois as matrizes admitncias so simtricas, X a matriz de conexo M e
X M Y isto M Y
t t
= = = , , .
4.5 Exemplo
Sejam as matrizes
(
(
(

= =
(

= =
(
(
(

= =
(
(
(

=
(
(
(

=
(
(
(

=
(
(
(



=
16 26
10 17
5 8
,
1 1
3 2
,
6 8
3 0
2 1
1 0 0
2 1 0
3 2 1
,
3 0 0
0 1 0
0 0 2
,
1 3 1
0 1 2
0 0 1
,
9 7 2
10 7 4
6 4 2
) 1 ( ) 1 ( ) 1 (
Y Y C C X X
U D L A


| | | | | |
| | | | | |
| | | | | |
| | | | | |
(

=
(

=
= + =
= + =
= + =
= + =
+ =
+ =

+ +
+

+ +
+

1 2
0 1
4 7
1 2
1 2 16 26 5 8 3
0 1 10 17 5 8 2
4 7 6 8 2 1 1
1 2 3 0 2 1 2
) 2 ( ) 2 (
) 2 (
2
) 2 (
1
) 2 (
2
) 2 (
1
) (
, 1
) (
1 ,
) 1 (
) (
, 1
) (
1 ,
) 1 (
) 2 ( ) 2 (
Y X
Y
Y
X
X
Y Y U Y
X X L X
Y e X de Clculo
i
j
i
j i i
i
j
i
j
i
i j i
i
j

Clculo de:

1 1
U e L


60
| |
| |
| |
| |
(

=
(
(
(
(
(
(

=
=
(

+ =
=
(

+ =
=
(

+ =
=
(

+ =

3
10
9
22
1
9
28
9
13
1
3
10
5
4
. 1 2
9
1
3
9
22
5
4
0 1
9
1
2
9
28
3
1
. 4 7
9
1
1
9
13
3
1
. 1 2
9
1
2
1 1
13
12
31
21
U L
U
U
L
L


| |
| |
| |
| | | | | |
| | | | | | 1 0 1 2 0 1 2
1 1 4 7 1 2 3
9
3
9
14
9
3
9
14
9
6
9
22
9
3
9
14
0 1 ) (
9
38
9
25
9
38
9
25
9
6
9
3
9
22
9
14
1 2 ) (
9
6
9
3
9
22
9
14
5 4
3
1
9
1
1 1
3 2
, , , ,
) 3 (
) 3 (
) 2 ( ) 2 (
) 2 ( ) 2 (
) 2 (
) 3 ( ) 3 (
22
) 2 ( ) 2 ( ) 2 (
= + =
= + =
(
(
(

=
(

=
(
(
(

=
(
(
(

=
(

=
(
(
(


=
(
(
(


=
(

=
Y
X
q q
p p
C
Y e X d q p C de Clculo
t
t




61
| |
| |
(

=
(
(
(
(

=
=
(
(
(

+ =
=
(
(
(

+ =

17
15
1 0
34
113
1
0
17
15
9
38
9
25
1 0
34
9
2
34
113
9
3
9
14
3 1
34
9
3
2 2
23
32
2 2
U L
U
L
U e L de Clculo

| |
| |
| |
17
58
34
10
34
11
1 0 3
34
10
34
24
,
34
10
34
24
34
10
34
24
34
3
34
14
1 0 ) (
34
14
34
11
,
34
14
34
11
34
10
34
3
34
24
34
14
1 1 ) (
34
10
34
3
34
24
34
14
9
38
9
25
9
3
9
14
34
9
9
6
9
3
9
22
9
14
, ,
33
) 3 ( ) 3 (
) 3 ( ) 3 (
) 3 (
33
) 3 ( ) 3 ( ) 3 (
=
(
(
(

+ =
(
(
(

=
(

=
(
(
(

=
(
(
(

=
(

=
(
(
(


=
(
(
(


=
(

(
(
(

(
(
(


=
d
q q
p p
C
d e q p C de Clculo
t
t

Tem-se:

U D L =
(
(
(
(
(
(

(
(
(
(
(
(

(
(
(
(
(
(

1 0 0
17
15
1 0
3
10
9
22
1
7
58
0 0
0
9
34
0
0 0 9
1
34
113
9
28
0 1
9
13
0 0 1

Pode-se verificar que

= + U D L Y C X A
t



62

Nste captulo, mostra-se que John M. Bennett, substituindo A por
t
Y C X na
matriz
1
) (

+ A A , chegou identidade
1 1 1 1 1 1 1
] [ ) (

+ = + A Y X A Y C X A Y C X A
t t
.
Mostra-se tambm que no necessrio armazenar a inversa da matriz A a cada
modificao, suficiente armazenar a inversa de A uma nica vez, o que fundamental
para a computao. Com o desenvolvimento de um algoritmo, chegou-se
decomposio da matriz
t
Y C X A+ em

U D L a partir de L D U da matriz A.
possvel evitar a inversa da matriz modificada
t
Y C X A+ usando L D U da matriz A,
permitindo resolver o sistema matricial a cada modificao e, tambm, o mtodo foi
exemplificado.

CAPTULO 5


MTODOS DE REFATORIZAO PARCIAL I E II
Os mtodos de refatorizao parcial I e II foram impulsionados pela observao de
que a alterao em uma linha/coluna de uma matriz afeta somente um subgrupo de
linhas/colunas subseqentes. Neste captulo considera-se tambm a vantagem que existe em
se ordenar a matriz A, antes de fator-la em L U, para minimizar os "fill-ins"[ Brandwajn,86].
5.1 Mtodos de refatorizao parcial I e II
Alguns melhoramentos tornam os mtodos de refatorizao parcial I e II mais
eficientes:
1) A matriz original organizada sem levar em considerao as modificaes futuras.
Nenhum n forado para fora da organizao direcionada pela esparsidade da matriz.
2) Somente os fatores alterados na matriz so atualizados, no importando a posio dos
elementos na mesma.
Se a matriz A definida positiva e simtrica, a matriz U transposta da matriz L, mas
no simtrica; idntica em relao estrutura esparsa.
A refatorizao parcial pode ser aplicada a qualquer matriz A no singular, mas neste
captulo considera-se que ela seja a matriz dos coeficientes de uma rede nodal.


64
5.2 Ordenao dos ns por grau mnimo
Se A a matriz admitncia de uma rede, a ordenao dos ns tem o propsito de
minimizar o aparecimento de elementos no nulos, que surgem nas matrizes L e U em
posies onde na matriz original A, existem elementos nulos: so os "fill-ins" [Tinney,85].
O processo de ordenao por grau mnimo consiste em enumerar os ns da rede em
ordem crescente de seus graus. O grau de um n dado pelo nmero de ligaes que ele
possui. Isto o mesmo que enumerar as linhas/colunas da matriz, de acordo com o nmero de
elementos no nulos fora da diagonal.
Aps ordenar a matriz usando o mtodo de grau mnimo, ela ser organizada em
nveis em forma de L invertido. Cada um desses nveis ser referido com linha/coluna
[Brandwajn,86],fig 9.

Elementos de U (linhas horizontais)


Elementos de L
(linhas verticais)




b Parte da matriz que ser trabalhada
Linha/coluna que est sendo alterada
FIGURA 9 Esquema de fatorizao linha superior /coluna inferior
Ao se modificar a linha/coluna em negrito somente um subgrupo das linhas/colunas
subseqentes ser afetado.


65
Para utilizao dos novos mtodos, utiliza-se um esquema que permite um clculo
eficiente do caminho de refatorizao. Neste captulo usado o esquema linha superior/coluna
inferior.
interessante observar que a alterao de uma linha/coluna afeta somente um
subgrupo de linhas/colunas subseqentes. Isto pode ser visto no exemplo dado abaixo para
uma rede de doze ns (FIG. 10).














FIGURA 10 Rede nodal com 12 ns
Pode-se formar uma tabela e um grafo onde se verifica o caminho, isto , a seqncia
que cada n tem na rede (Tabela abaixo).
O grafo do caminho fornecido pela tabela como pode ser conseguido, tambm,
atravs da matriz L. O grafo tem um sentido do n de menor numerao para o de maior
numerao. Quando o n no conectado diretamente ao n seguinte, usa-se o "fill-
in"[Tinney,85].


6
11
2

1
4 9
7
10 12
3
8 5


66
ins fill novo elemento
original elemento

o

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

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

FIGURA 11 Estrutura esparsa da matriz L
Tabela de caminhos
0 12 9 6
12 11 8 5
12 10 9 4
10 9 8 3
11 8 5 2
10 7 4 1
Pr Pr N ximo N N ximo N

FIGURA 12 Tabela de caminhos referentes rede nodal da FIG. 10




FIGURA 13 Grafo do caminho com 12 ns (rvore)
1
4
9
10
12
2
5
8
3
6
7
11


67
Considerando, como exemplo, a alterao dos elementos na linha/coluna 7, os fatores
da matriz afetados podem ser encontrados diretamente a partir da matriz L (FIG. 11). Na
verdade, os fatores modificados esto localizados nas linhas/colunas 10, 11, 12.
As linhas/colunas afetadas podem, tambm, ser encontradas a partir do caminho do
grafo da matriz (FIG. 13). O caminho consiste de ns encontrados durante o traado do
caminho, partindo de um n at o ltimo n em ordem crescente.
Quando mais de uma linha/coluna modificada, as linhas/colunas afetadas so
originadas pela unio dos caminhos. Por exemplo: sejam as alteraes nas linhas/colunas 6 e
1. Os fatores modificados estaro localizados nas linhas/colunas 4, 9, 10 , 11, 12. As outras
linhas/colunas permanecero inalteradas.
5.3 Mtodo de refatorizao parcial I
O mtodo de refatorizao parcial I trabalha todas as linhas/colunas no caminho
composto:
Primeiro passo: identificar todas as linhas/colunas no caminho composto;
Segundo passo: encontrar o caminho composto para essas linhas/colunas, podendo assim
saber quais sero as linhas/colunas subseqentes que sero alteradas;
Terceiro passo: trabalhar apenas com a submatriz onde se encontram as linhas/colunas que
sero modificadas.
Pode se perceber a vantagem que se consegue neste mtodo em relao ao mtodo de
compensao. Faz-se antes uma ordenao da matriz antes de fator-la, para se minimizar ao
mximo os "fill-ins", ao mesmo tempo que se identifica a submatriz que ser formada pelas
linhas/colunas que sero modificadas.


68
5.4 Mtodo de refatorizao parcial II
O mtodo de refatorizao parcial II uma variante do mtodo de Bennett, no qual o
caminho de fatorizao utilizado para identificar as linhas/colunas que devem ser
atualizadas. importante tambm ordenar a matriz A para minimizar os "fill-ins" e, para que
as matrizes L e U tenham o maior nmero de elementos nulos possveis.
Ao se atualizarem os fatores L D U da matriz modificada, trabalha-se apenas as
linhas/colunas que sero atualizadas devido modificao de uma ou mais linha/coluna.
5.5 Exemplo: (mtodo de refatorizao parcial I)
Considera-se uma rede de energia eltrica com 11 ns, (FIG. 14), onde a ordenao,
no foi efetuada.












FIGURA 14 Rede de energia eltrica com 11 ns onde no foi feita uma ordenao
prvia dos mesmos
7
4
1
8
2
9
10
11
5 6 3


69

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
o
o
o
L
) ( ins fill novo elemento
original elemento

o


FIGURA 15 Estrutura da matriz L conseguida ao se fatorar a matriz A da rede nodal
acima, apresentando 3 fill-ins

















FIGURA 16 Grafo do caminho sem ordenao (rvore de 11 ns)

1 2
5
8
9
10
11
3
4
6
7


70
Com a ordenao de grau mnimo tem-se a ordenao mostrada na FIG. 16. Pode-se
verificar que o nmero de fill-ins diminuiu de trs para um.












FIGURA 17 Rede de energia eltrica com 11 ns onde foi feita
a ordenao de grau mnimo

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

o

) ( in fill novo elemento
original elemento

o


FIGURA 18 Estrutura da matriz L ao se fatorar a matriz A, aps a ordenao
observando o grau mnimo. Neste caso aparece apenas um fill-in
2
1 4 3
7
9
11 10
6
8 5


71













FIGURA 19 Grafo aps se fazer uma ordenao de grau mnimo (rvore com 11 ns)
Pode-se representar por um sistema a rede de energia eltrica considerada acima aps
a ordenao. Atribuindo-se valores s admitncias e s correntes, considerando como
incgnitas as tenses, tem-se:

0 6 2
1 6 2
2 2 6
1 4
0 4 2
3 6 2
2 4
1 3
3 2 6
1 2 4
1 2 4
11 9 8 7 4 3
10 8 6 5 3
11 9 8 7
11 10 9 8
11 9 7 1
10 6 2
10 5 2
11 4 1
11 10 3
6 5 2
7 4 1
=
=
=
=
=
=
=
=
=
=
=
x x x x x x
x x x x x
x x x x
x x x x
x x x x
x x x
x x x
x x x
x x x
x x x
x x x


E, portanto, tem-se a equao matricial A x = b onde:

6 3 2 1 7 8
5
10
4
9
11


72
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(












=
0
1
2
1
0
3
2
1
3
1
1
6 0 2 1 1 0 0 1 1 0 0
0 6 0 1 0 1 1 0 2 0 0
2 0 6 1 1 0 0 0 0 0 0
1 1 1 4 0 0 0 0 0 0 0
1 0 1 0 4 0 0 0 0 0 2
0 1 0 0 0 6 0 0 0 2 0
0 1 0 0 0 0 4 0 0 1 0
1 0 0 0 0 0 0 3 0 0 1
1 2 0 0 0 0 0 0 6 0 0
0 0 0 0 0 2 1 0 0 4 0
0 0 0 0 2 0 0 1 0 0 4
b e A
Para exemplificar suponha-se que foi feita uma alterao na linha/coluna de nmero 7.
Observando as FIG. 17 ou 18 pode-se ver que esta alterao ir modificar apenas as
linhas/colunas 9 e 11. Isto permite trabalhar apenas na submatriz que envolve estas
linhas/colunas. Decompe-se a matriz A em L U por blocos.
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(
(
(



=

4
1
0 0 0 0 0 0 0
0
32
11
0 0
16
1
0 0
16
3
0 0
74
15
37
1
0 0
37
4
0
0 0
37
3
37
10
0 0
37
3
0
0
16
1
0 0
8
3
0 0
8
1
0 0 0 0 0
6
1
0 0
0 0
37
4
37
3
0 0
37
12
0
0
16
3
0 0
8
1
0 0
8
3
,
4 0 0 0 0 0 0 0
0 4 0 0 0 0 0 2
0 0 6 0 0 0 2 0
0 0 0 4 0 0 1 0
0 0 0 0 3 0 0 1
0 0 0 0 0 6 0 0
0 0 2 1 0 0 4 0
0 2 0 0 1 0 0 4
1
11 11
A A
(
(
(

=
(
(
(




=
(
(
(
(
(
(
(
(
(
(
(



=
6 0 2
0 6 0
2 0 6
1 1 0 0 1 1 0 0
1 0 1 1 0 2 0 0
1 1 0 0 0 0 0 0
,
1 1 1
1 0 1
0 1 0
0 1 0
1 0 0
1 2 0
0 0 0
0 0 0
22 21 12
A e A A


73
(
(
(
(
(
(

4
1
32
13
0 0
16
7
6
1
0
16
5
4
1
0
74
17
37
11
0
3
1
37
7
0
4
1
32
11
0 0
16
1
0 0
16
3
.
1
11 21
A A
(
(
(
(
(
(




=
(
(
(
(
(
(

=

96
455
12
7
32
85
12
7
444
2023
4
1
32
85
4
1
32
173
. . ,
96
121
12
7
32
21
12
7
444
641
4
1
32
21
4
1
32
19
. .
12
1
11 21 22 12
1
11 21
A A A A A A A
A x = b e A = L U em blocos ento L U x = b. Fazendo U x = y, tem-se L y = b.
Clculo de y:

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(




0
1
2
1
0
3
2
1
3
1
1
4
1
32
13
0 0
16
7
6
1
0
16
5
4
1
0
74
17
37
11
0
3
1
37
7
0
4
1
32
11
0 0
16
1
0 0
16
3
0
11
10
9
8
7
6
5
4
3
2
1
3
8
y
y
y
y
y
y
y
y
y
y
y
I
I

Tem-se:
2
3
148
551
,
16
39
, 1 , 0 , 3 , 2 , 1 , 3 , 1 , 1
11 10 9 8 7 6 5 4 3 2 1
= = = = = = = = = = = y e y y y y y y y y y y
Clculo de x:
U x = y, ento tem-se :
(

=
(

(
(
(
(
(
(
(




2
1
2
1
12 11
96
455
12
7
32
85
12
7
444
2023
4
1
0
32
85
4
1
32
173
Y
Y
X
X
A A



74
onde
(
(
(
(
(
(
(
(
(
(
(

=
1
0
3
2
1
3
1
1
1
Y e
(
(
(
(
(
(

=
2
3
148
551
16
39
2
Y
Como
1 2 12 1 11
. . Y X A X A = + e
2 2 22
. Y X B = ,ento :
2 22
.X B =
(
(
(
(
(
(

=
(
(
(
(
(
(




2
3
148
551
16
39
.
96
455
12
7
32
85
12
7
444
2023
4
1
32
85
4
1
32
173
2
X , para calcular
2
X decompe-se a
matriz
22
B em
o o
U L . Pode-se escrever ento
2 2
Y X U L =
o o
e fazendo
z X U =
2
o
,
2
Y z L =
o
.
(
(
(
(
(
(
(

=
(
(
(


=
2
3
148
551
16
39
1 1554 , 0 4913 , 0
0 1 0462 , 0
0 0 1
z z L
o
, logo
(
(
(

=
2935 . 3
8355 , 3
4375 , 2
z
=
2
X U
o
(
(
(

=
(
(
(


2935 , 2
8355 , 3
4375 , 2
3248 , 3 0 0
7061 , 0 5447 , 4 0
6563 , 2 25 , 0 4066 , 5
2
X ,
9837 , 0
9978 , 0
9906 , 0
11
10
9
=
=
=
x
x
x
fazendo os arredondamentos tem-se
(
(
(

=
1
1
1
2
X
) . (
) . ( . .
. .
2 12 11
1
11 1
2 12 1
1
11 1 11
1
11
2 12 1 1
1
11
X A Y A X
X A Y A X A A
X A Y X A
=
=
=

,
ento:


75
(
(
(
(
(
(
(
(
(
(
(

=
(
(
(

(
(
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
1
1
1
1
1
1
1
1
)
1
1
1
.
1 1 1
1 0 1
0 1 0
0 1 0
1 0 0
1 2 0
0 0 0
0 0 0
1
0
3
2
1
3
1
1
(
4
1
0 0 0 0 0 0 0
0
32
11
0 0
16
1
0 0
16
3
0 0
37
1
37
15
0 0
37
4
0
0 0
37
1
37
10
0 0
37
3
0
0
16
1
0 0
8
3
0 0
8
1
0 0 0 0 0
6
1
0 0
0 0
37
4
37
3
0 0
37
12
0
0
16
3
0 0
8
1
0 0
8
3
1
X Temos,
portanto: 1 ...
11 10 9 3 2 1
= = = = = = = x x x x x x , que a soluo do sistema dado.

Mostra-se neste captulo que ao se alterar uma ou mais linhas/coluna de uma matriz so
afetados somente um subgrupo de linhas/colunas subseqentes e, tambm, a vantagem
de ordenar uma matriz antes de fator-la em L U, pois proporciona menos
preenchimentos(fill-ins) das posies de elementos nulos na matriz A que aparecem
nas matrizes L e U, quando se efetua a decomposio.

CONCLUSO
O mtodo de compensao apropriado s aplicaes onde o nmero de mudanas
pequeno, as modificaes no so permanentes e as equaes modificadas no precisam ser
resolvidas repetidamente.
O mtodo da refatorizao simples refatora somente a submatriz que contm os
elementos da matriz modificada e neste mtodo, se os elementos modificados estiverem no
topo da matriz, no existe vantagem em us-lo.
O mtodo de refatorizao simples, com arranjo especial, fora os elementos para a
parte inferior da matriz, porm, pode alterar seriamente a esparsidade da matriz e restringe-se
s aplicaes onde a posio dos elementos da matriz modificada pode ser prevista
antecipadamente.
O mtodo de Bennett atualiza os fatores L D U da matriz modifica e a vantagem que
no precisa armazenar a inversa da matriz modifica a cada modificao feita, basta apenas
armazenar a inversa uma nica vez. Pode-se evitar a inversa completa da matriz modificada e
chega-se aos fatores L D U da matriz modificada atravs dos fatores L D U da matriz inicial.
Os mtodos de refatorizao parcial I e II so significativamente mais rpidos que os
mtodos anteriores. A eficincia deriva dos conceitos de caminho recentemente desenvolvido.
O mtodo de refatorizao parcial I refatora seletivamente um subgrupo de linhas/colunas da
matriz modificada, isto , somente o subgrupo que sofre modificaes ao se alterar uma ou
mais linha/colunas. O mtodo de refatorizao parcial II o de Bennett modificado que utiliza
o caminho para alterar seletivamente fatores matriciais, portanto, os dois ltimos mtodos so
mais usados.
REFERNCIAS BIBLIOGRFICA
[Alsa, 83] O.Alsa ,B. Stott &W.F. Tinney . Sparsity-0riented Compensation Mehods For
Modified Network Solutions. IEEE Transactions on Power Apparatus and Systems ,vol.Pas-
102 , N.5, May 1983.

[Bennett, 65] Bennett, John M. "Triangular Factors of Modified Matrices", Numerische
Mathematik. 1965-pp.217-221.
[Betancourt, 86] Betancourt, Ramon and Alvarado, Fernando L. ,Parallel inversion of sparse
matrices IEEE Transactions on Power Systems, vol. PWRS 1 Feb-1986 pp.74-81.
[Betancourt, 88] Betancourt, Ramon, An efficient heuristic ordering algorithm for partial
matrix refactorization , IEEE Transactions on Power systems, vol. , August, 1988.
[Brandwajn, 86] Brandwajn,Vladimir & Chan, M. Sherman ."Partial Matrix Refactorization"-
IEEE Transactions on Power Systems,vol.pWRS-1, February 1986- pp.193-199.
[Dierker, 86] Dierker, Paul F. and Voxman, William L., Discrete Mathematic, Harcourt
Brace Jovanovich, International Edition, 1986.
[Duff ,86] Duff, J. F., Erisman, A. M. and Reid, J. K., Direct Methods for Sparse Matrices,
Oxford University Press, Oxford, 1986.
[George, 81] George, A. and Liw, J. W. H., Computer Solution of Large Sparse Positive
Definite Systems, Prendice-Hall, Englewood Clifs, N. J.,1981.
[Golumbic, 80] Golumbic, Martin Chales, Algorithmic Graph Teory and Perfect Graphs,
Academic Press, 1980.
[Gustavson, 72] Gustavson, F. G., Some Basic Techiniques for Solving Sparse Systems of
Equations in Sparse Matrix and their Applications, Rose, D. J. and Willowghby, R. A., eds.,
Plenum Press, New York, 1972, pp. 41-52.
[Leon, 98] Leon, Steven J., Linear lgebra with Applications, Prentice-Hall, Englewood
Clifs, N. J., 1998.
[Monticelli, 83] Monticelli,Alcir Jos. Fluxo de Carga em Rede de Energia Eltrica.Ed.
Edgard Blcher Ltda So Paulo. 1983.
[Monticelli,99] A. B. Alves,E.N. Asada and A. Monticelli. Critical Evaluation of Direct and
Iterave Methods for Solving Ax = b Systems im Power Flow Calculations and Contigency
Analysis. IEEE Transactions on Power Systems,Vol.14.No.2, May 1999.
[Morozowski, 81] Morozowski, Marciano Filho, Matrizes Esparsas em Redes de Potncia,
Tcnicas de Operao- Livros Tcnicos e Cientficos Editora S/A, 1981.
[Sato, 63] Sato, N. & Tinney, W. F., Techniques for exploiting the sparsity of the network
admit New York,Dec.1963.


78
[Szwarcfiter, 83] Szwarcfiter, Jayme Luiz, Grafos e algoritmos computacionais, Editora
Campos Ltda., Segunda Edio, 1983.

[Tinney,67] Tinney, W. F. and Walker, J. W., Direct Solutions of Sparse Network Equation
by Optimally Ordered Triangular Factorization, Proceedings of the Institute of Electrical and
Electronics Engineers, New York, 55 (11):18.
[Tinney ,85] Tinney, W. F., Brandwajn, V. and Chan, S. M., Sparse Vector Methods, IEEE
Transactions on Power Apparatus and Systems, vol.: PAS-104, n. 2, Feb. 1985.





























79



APNDICE I
Processo detalhado para mostrar que A U
A
a
L =
(

1
) 2 (
11 1
0
0

| |
) 2 (
11
1 1
11
13 1
3
11
12 1
2
11
1 31
3
11
13 31
33
11
12 31
32
11
1 21
2
11
13 21
23
11
12 21
22
11
1 13 12
1
31
21
3 2
3 33 32
2 23 22
...
... ... ... ...
...
...
... ,
...
...
... ... ... ...
...
...
A
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
GF
H
a a a F
a
a
a
G
a a a
a a a
a a a
H
n n
nn
n
n
n
n
n
n
n
n
n
n
nn n n
n
n
=
(
(
(
(
(
(
(
(

=


=
=
(
(
(
(

=
(
(
(
(

=



( )
(
(
(
(
(
(
(
(
(




=
=
(
(
(
(
(
(
(
(
(




(
(
(
(
(
(

=
=
(

11
1 1
11
13 1
3
11
12 1
2 11 1
11
1 31
3
11
13 31
33
11
12 31
32 11 31
11
1 21
2
11
13 21
23
11
12 21
22 11 21
11
11
1 1
11
13 1
3
11
12 1
2
11
1 31
3
11
13 31
33
11
12 31
32
11
1 21
2
11
13 21
23
11
12 21
22
11
1
31
21
2
11 1
...
... ... ... ... ...
...
...
0 ... 0 0
... 0
... ... ... ... 0
... 0
... 0
0 ... 0 0
1 ... 0 0
... ... ... ... ...
0 ... 1 0
0 ... 0 1
0 ... 0 0 1
0
0
a
a a
a
a
a a
a
a
a a
a a l
a
a a
a
a
a a
a
a
a a
a a l
a
a a
a
a
a a
a
a
a a
a a l
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
a a
a
a
l
l
l
A
a
L
n n
nn
n
n
n
n n
n
n
n
n
n n
nn
n
n
n
n
n
n
n
n
n




81
=
(

1
) 2 (
11 1
0
0
U
A
a
L A
u u u
A
a
L
n
=
(
(
(
(
(
(

1 0 0 0 0
... ... ... ... ...
0 ... 1 0 0
0 ... 0 1 0
... 1
0
0
1 13 12
) 2 (
11 1


(
(
(
(
(
(
(
(
(

+ + +
+ +
+ + +
=
11
1 1
1 11 1
11
13 1
3 13 11 1
11
12 1
3 12 11 1 11 1
11
1 31
3 1 11 31
11
13 31
33 13 11 31
11
12 31
32 12 11 31 11 31
11
1 21
2 1 11 21
11
13 21
23 13 11 21
11
12 21
22 12 11 21 11 21
1 11 13 11 12 11 11
...
... ... ... ... ...
...
...
...
a
a a
a u a l
a
a a
a u a l
a
a a
a u a l a l
a
a a
a u a l
a
a a
a u a l
a
a a
a u a l a l
a
a a
a u a l
a
a a
a u a l
a
a a
a u a l a l
u a u a u a a
n n
nn n n
n
n n
n
n n n
n
n n
n
n n
n


Pode-se verificar que:

11
1 1
1 11 1
11
1
1
11
1
1
11
1 1
1 11 1
11
13 21
13 11 21
11
12 21
12 11 21
11
1
1 1 1 11
11
1
1 1 11 1
11
13
13 13 13 11
11
31
31 31 11 31
11
12
12 12 12 11
11
21
21 21 11 21
,
:
, , ... , ,
: ,
. . . . . . . . . . . . . . . . . .
a
a a
u a l e
a
a
u
a
a
l
se conclue
a
a a
u a l
a
a a
u a l
a
a a
u a l
se tem ento
a
a
u a u a
a
a
l a a l
a
a
u a u a
a
a
l a a l
a
a
u a u a
a
a
l a a l
j i
j i
j
j
i
i
n n
n n
n
n n n
n
n n n
= = =

= = =

= = = =
= = = =
= = = =









82
APNDICE II
Implementao computacional do Mtodo de Bennett

Linguagem Delphi, Borland do Brasil Ltda.



unit UFrmPrincipal;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, RXDice, TimerLst, MPlayer, Menus,
XP_MainMenu;

const size = 15;

type Tmatrix = array[1..size,1..size] of double;
type lc = array[1..2] of integer;

type
TCounter = class(TThread)
private
hour,min,sec,msec: word;
protected
procedure Execute; override; // Mtodo anulado
procedure contar;
public
constructor Create();
end;

type
Tprinti = class(TThread)
private
protected
procedure Execute; override; // Mtodo anulado
procedure contar;
public
constructor Create();
end;

type
TFrmLDU = class(TForm)
Panel1: TPanel;
BitBtn1: TBitBtn;
Edit1: TEdit;


83
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Memo1: TMemo;
BitBtn2: TBitBtn;
Label7: TLabel;
Timer1: TTimer;
ttfXPMainMenu1: ttfXPMainMenu;
Arquivo1: TMenuItem;
Importao1: TMenuItem;
N1: TMenuItem;
Sair1: TMenuItem;
OpenDialog1: TOpenDialog;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Sair1Click(Sender: TObject);
procedure Importao1Click(Sender: TObject);
private
parathread: boolean;
function MAdicao(lina, cola, linb, colb: integer; ma, mb: TMatrix;
var linr, colr: integer; param: integer): TMatrix;
function MMult(lina, cola, linb, colb: integer; ma, mb: TMatrix;
var linr, colr: integer): TMatrix;
function MMultValor(lin, col: integer; m: TMatrix; var linr,
colr: integer; valor: double; param: integer): TMatrix;
function MTransposta(lin, col: integer; var linr, colr: integer;
m: TMatrix): TMatrix;
Function LeDados(matrix: string; dados: string; var linm, colm: integer; var m: tmatrix):
boolean;
function InsereEspaco(valor: integer): string;
{ Private declarations }
public
{ Public declarations }
end;

var
FrmLDU: TFrmLDU;

implementation

{$R *.dfm}

function TFrmLDU.InsereEspaco(valor: integer): string;


84
var i: integer;
s: string;
begin
s:= '';
for i:= 1 to valor do
s:= s + ' ';
result:= s;
end;

Function TFrmLDU.MMult(lina,cola,linb,colb: integer; ma, mb: TMatrix; var linr, colr:
integer): TMatrix;
var mr: TMatrix;
u, t, v: integer;
x: double;
begin
if cola <> linb then
exit;
linr:= lina;
colr:= colb;

for u:= 1 to lina do
for t:= 1 to colb do
begin
x:= 0;
for v:= 1 to cola do
x:= x + (ma[u,v] * mb[v,t]);
mr[u,t]:= x;
end;
result:= mr;
end;

function TFrmLDU.MTransposta(lin, col: integer; var linr,colr: integer; m: TMatrix):
TMatrix;
var mr: TMatrix;
i, j: integer;
begin
linr:= col;
colr:= lin;
for i:= 1 to linr do
for j:= 1 to colr do
mr[i,j]:= m[j,i];
result:= mr;
end;

Function TFrmLDU.MAdicao(lina, cola, linb, colb: integer; ma, mb: TMatrix; var linr, colr:
integer; param: integer): TMatrix;
var mr: TMatrix;
i, j: integer;
begin
if (lina <> linb) or (cola <> colb) then
exit;


85

linr:= lina;
colr:= colb;

for i:= 1 to lina do
for j:= 1 to cola do
if param = 1 then
mr[i,j]:= ma[i,j] + mb[i,j]
else
mr[i,j]:= ma[i,j] - mb[i,j];
result:= mr;
end;

Function TFrmLDU.MMultValor(lin, col: integer; m: TMatrix; var linr, colr: integer; valor:
double; param: integer): TMatrix;
var mr: TMatrix;
i, j: integer;
begin
linr:= lin;
colr:= col;
for i:= 1 to lin do
for j:= 1 to col do
if param = 1 then
mr[i,j]:= valor * m[i,j]
else
if param = 2 then
mr[i,j]:= m[i,j] / valor
else
if m[i,j] <> 0 then
mr[i,j]:= valor / m[i,j]
else
mr[i,j]:= 0;
result:= mr;
end;

Function TFrmLDU.LeDados(matrix: string; dados: string; var linm, colm: integer; var m:
tmatrix): boolean;
var i, x, j, verro: integer;
neg: boolean;
res: string;
begin
result:= false;
neg:= false;
x:= 1; j:= 1;
res:= '';
for i:= 1 to length(dados) do
begin
if dados[i] in ['0'..'9',',','.'] then
begin
res:= res + dados[i];
end


86
else
if (dados[i] = ';') then
begin
if neg then
begin
m[x,j]:= strtofloat('-' + res);
neg:= false;
end
else
m[x,j]:= strtofloat(res);
res:= '';
inc(j);
inc(x);
if x = 2 then
verro:= j
else
if j <> verro then
begin
result:= true;
showmessage('Matrix ' + matrix + ' invlida.');
exit;
end;
j:= 1;
end
else
if dados[i] = '-' then
neg:= true
else
if dados[i] = ' ' then
begin
if res <> '' then
begin
if neg then
begin
m[x,j]:= strtofloat('-' + res);
neg:= false;
end
else
m[x,j]:= strtofloat(res);
res:= '';
inc(j);
end;
end;
end;
if res <> '' then
begin
if neg then
begin
m[x,j]:= strtofloat('-' + res);
neg:= false;
end


87
else
m[x,j]:= strtofloat(res);
res:= '';
end;
linm:= x;
colm:= j;
end;

procedure TFrmLDU.BitBtn1Click(Sender: TObject);
const dist: integer = 7;
var l, d, u, l1, d1, u1, raux, raux1: tmatrix;
c, x, y, p, q, pt, qt: array[1..size] of Tmatrix;
lcl, lcd, lcu, lcl1, lcd1, lcu1: lc;
lcc, lcx, lcy, lcp, lcq, lcpt, lcqt: array[1..size] of lc;
i, j, a, f, g, laux, caux, laux1, caux1: integer;
resp, h: string;
begin
parathread:= false;
tcounter.Create;
if ledados('L',edit1.Text,lcl[1],lcl[2],l) then
exit;
if ledados('D',edit2.Text,lcd[1],lcd[2],d) then
exit;
if ledados('U',edit3.Text,lcu[1],lcu[2],u) then
exit;
if ledados('X',edit4.Text,lcx[1][1],lcx[1][2],x[1]) then
exit;
if ledados('C',edit5.Text,lcc[1][1],lcc[1][2],c[1]) then
exit;
if ledados('Y',edit6.Text,lcy[1][1],lcy[1][2],y[1]) then
exit;
//Clculo de x2 e c2
i:= 1;
memo1.Lines.Clear;
memo1.Lines.Add('RESULTADO');
repeat
memo1.Lines.Add('------------------');
memo1.Lines.Add('Para I = ' + inttostr(i));
memo1.Lines.Add('------------------');
for j:= 1 to lcx[i][1] - 1 do
begin
raux:= MMultvalor(1,lcx[i][2],x[i],laux,caux,-l[i+j][i],1);
for a:= 1 to lcx[i][2] do
x[i+1][j][a]:= raux[1][a] + x[i][j+1][a];
lcx[i+1][1]:= j;
lcx[i+1][2]:= a - 1;
raux:= MMultvalor(1,lcy[i][2],y[i],laux,caux,-u[i][i+j],1);
for a:= 1 to lcy[i][2] do
y[i+1][j][a]:= raux[1][a] + y[i][j+1][a];
lcy[i+1][1]:= j;
lcy[i+1][2]:= a - 1;


88
end;

memo1.Lines.Add('X' + inttostr(i) + ' = ');
resp:= ' ';
for f:= 1 to lcx[i+1][1] do
begin
for g:= 1 to lcx[i+1][2] do
begin
resp:= resp + h + formatfloat('#,##0.##',(x[i+1][f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(x[i+1][f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');
memo1.Lines.Add('Y' + inttostr(i) + ' = ');
resp:= ' ';
for f:= 1 to lcy[i+1][1] do
begin
for g:= 1 to lcy[i+1][2] do
begin
resp:= resp + h + formatfloat('#,##0.##',(y[i+1][f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(y[i+1][f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');

// clculo de l**1 e u*1*

for f:= 1 to lcl[1] do
for g:= 1 to lcl[2] do
if f = g then
begin
l1[f,g]:= 1;
u1[f,g]:= 1;
end;

pt[i]:= MMult(lcx[i][1],lcx[i][2],lcc[i][1],lcc[i][2],x[i],c[i],lcpt[i][1],lcpt[i][2]);
lcpt[i][1]:= 1;
p[i]:= MTransposta(lcpt[i][1],lcpt[i][2],lcp[i][1],lcp[i][2],pt[i]);
raux:= MMult(1,lcy[i][2],lcp[i][1],lcp[i][2],y[i],p[i],laux,caux);
d1[i][i]:= d[i][i] + raux[laux][caux];
raux:= MTransposta(lcc[i][1],lcc[i][2],laux,caux,c[i]);
qt[i]:= MMult(1,lcy[i][2],laux,caux,y[i],raux,lcqt[i][1],lcqt[i][2]);
q[i]:= MTransposta(lcqt[i][1],lcqt[i][2],lcq[i][1],lcq[i][2],qt[i]);

lcl1[1]:= lcl[1]; lcl1[2]:= lcl[2];


89
lcu1[1]:= lcu[1]; lcu1[2]:= lcu[2];
lcd1[1]:= lcd[1]; lcd1[2]:= lcd[2];
for j:= 1 to lcx[i][1] - 1 do
begin
raux:= MMult(j,lcx[i+1][2],lcq[i][1],lcq[i][2],x[i+1],q[i],laux,caux);
l1[i+j][i]:= l[i+j][i] + ((1 / d1[i][i]) * raux[laux][caux]);
raux:= MMult(j,lcy[i+1][2],lcp[i][1],lcp[i][2],y[i+1],p[i],laux,caux);
u1[i][i+j]:= u[i][i+j] + ((1 / d1[i][i]) * raux[laux][caux]);
end;
j:= 1;

memo1.Lines.Add('D*(' + inttostr(i) + ',' + inttostr(i) + ') = ');
resp:= ' ';
for f:= 1 to i do
begin
for g:= 1 to i do
begin
resp:= resp + h + formatfloat('#,##0.##',(d1[f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(d1[f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');
memo1.Lines.Add('L*(*,' + inttostr(i) + ') = ');
resp:= ' ';
for f:= 1 to lcl1[2] do
begin
for g:= 1 to i do
begin
resp:= resp + h + formatfloat('#,##0.##',(l1[f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(l1[f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');
memo1.Lines.Add('U*(*,' + inttostr(i) + ') = ');
resp:= ' ';
for f:= 1 to i do
begin
for g:= 1 to lcu1[2] do
begin
resp:= resp + h + formatfloat('#,##0.##',(u1[f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(u1[f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';


90
end;
memo1.Lines.Add('');

//Clculo de c i + j
raux:= MMult(lcq[i][1],lcq[i][2],lcpt[i][1],lcpt[i][2],q[i],pt[i],laux,caux);
raux1:= MMultvalor(laux,caux,raux,laux1,caux1,(1 / d1[i][i]),1);
c[i+j]:= MAdicao(lcc[i][1],lcc[i][2],laux1,caux1,c[i],raux1,lcc[i+j][1],lcc[i+j][2],2);

memo1.Lines.Add('C' + inttostr(i) + ' = ');
resp:= ' ';
for f:= 1 to lcc[i+j][1] do
begin
for g:= 1 to lcc[i+j][2] do
begin
resp:= resp + h + formatfloat('#,##0.##',(c[i+j][f][g]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(c[i+j][f][g]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');

inc(i);
until i = lcx[1][1];

pt[i]:= MMult(lcx[i][1],lcx[i][2],lcc[i][1],lcc[i][2],x[i],c[i],lcpt[i][1],lcpt[i][2]);
lcpt[i][1]:= 1;
p[i]:= MTransposta(lcpt[i][1],lcpt[i][2],lcp[i][1],lcp[i][2],pt[i]);
raux:= MMult(1,lcy[i][2],lcp[i][1],lcp[i][2],y[i],p[i],laux,caux);
d1[i][i]:= d[i][i] + raux[laux][caux];
// close;
for i:= 1 to lcl1[1] do
for j:= 1 to lcl1[2] do
begin
if i = j then
begin
l1[i][j]:= 1;
u1[i][j]:= 1;
end;
if i > j then
begin
u1[i][j]:= 0;
d1[i][j]:= 0;
end;
if i < j then
begin
l1[i][j]:= 0;
d1[i][j]:= 0;
end;
end;


91

memo1.Lines.Add('-------------------------------');
memo1.Lines.Add('RESULTADO');
memo1.Lines.Add('L* = ');
resp:= ' ';
for i:= 1 to lcl1[1] do
begin
for j:= 1 to lcl1[1] do
begin
resp:= resp + h + formatfloat('#,##0.##',(l1[i][j]));
h:= insereespaco(10 - length(formatfloat('#,##0.##',(l1[i][j]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');
memo1.Lines.Add('D* = ');
resp:= ' '; h:= '';
for i:= 1 to lcl1[1] do
begin
for j:= 1 to lcl1[1] do
begin
resp:= resp + h + formatfloat('#,##0.##',d1[i][j]);
h:= insereespaco(10 - length(formatfloat('#,##0.##',(d1[i][j]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
memo1.Lines.Add('');
memo1.Lines.Add('U* = ');
resp:= ' '; h:= '';
for i:= 1 to lcl1[1] do
begin
for j:= 1 to lcl1[1] do
begin
resp:= resp + h + formatfloat('#,##0.##',u1[i][j]);
h:= insereespaco(10 - length(formatfloat('#,##0.##',(u1[i][j]))));
end;
memo1.Lines.Add(resp);
resp:= ' ';
h:= '';
end;
// timer1.Enabled:= false;
parathread:= true;
end;

procedure TFrmLDU.BitBtn2Click(Sender: TObject);
begin
TPRINTI.Create;


92
end;

procedure TCounter.Execute;
begin
contar;
end;

procedure TPRINTI.Execute;
begin
contar;
end;

procedure TCounter.contar;
begin
msec:= 0; min:= 0; sec:= 0; hour:= 0;
while not frmldu.parathread do
begin
inc(msec);
if msec = 1000 then
begin
msec:= 0;
inc(sec);
end;
if sec = 60 then
begin
sec:= 0;
inc(min);
end;
if min = 60 then
begin
min:= 0;
inc(hour);
end;
FrmLDU.Label7.Caption:=
formatdatetime('hh:nn:ss:zzz',encodetime(hour,min,sec,msec));
FrmLDU.Label7.Refresh;
end;
end;

procedure tprinti.contar;
begin
TRY
frmldu.Memo1.Lines.SaveToFile('LPT1');
EXCEPT
END;
end;

constructor TCounter.Create();
begin
inherited Create(True); { Chama o contrutor herdado. Ele ir temporariamente colocar o
thread em estado de espera para depois execut-lo. }


93
FreeOnTerminate := True; // Libera o objeto aps terminar.
Priority := TpLower; { Configura sua prioridade na lista de processos do Sistema
operacional. }
Resume; // Inicia o Thread.
end;

constructor tprinti.Create();
begin
inherited Create(True); { Chama o contrutor herdado. Ele ir temporariamente colocar o
thread em estado de espera para depois execut-lo. }
FreeOnTerminate := True; // Libera o objeto aps terminar.
Priority := TpLower; { Configura sua prioridade na lista de processos do Sistema
operacional. }
Resume; // Inicia o Thread.
end;

procedure TFrmLDU.Sair1Click(Sender: TObject);
begin
self.Close;
end;

procedure TFrmLDU.Importao1Click(Sender: TObject);
var f: textfile;
s: string;
begin
if opendialog1.Execute then
if opendialog1.FileName <> '' then
begin
assignfile(f,opendialog1.FileName);
reset(f);
Readln(F, S);
Edit1.Text := S;
Readln(F, S);
edit2.Text:= s;
Readln(F, S);
edit3.Text:= s;
Readln(F, S);
edit4.Text:= s;
Readln(F, S);
edit5.Text:= s;
Readln(F, S);
edit6.Text:= s;
end;

end;

end.






94




EXEMPLO:



Seja a matriz A =
(
(
(
(
(
(





2 0 1 0 0
0 5 1 3 0
1 1 5 0 3
0 3 0 5 2
0 0 3 2 5
, A = L D U



(
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(
(

=
33
46
0 0 0 0
0
20
33
0 0 0
0 0
7
20
0 0
0 0 0
5
21
0
0 0 0 0 5
1
33
13
20
7
0 0
0 1
20
13
7
5
0
0 0 1
7
2
5
3
0 0 0 1
5
2
0 0 0 0 1
D L



(
(
(
(
(
(
(
(
(




=
1 0 0 0 0
33
13
1 0 0 0
20
7
7
13
1 0 0
0
7
5
7
2
1 0
0 0
5
3
5
2
1
U



(
(
(
(
(
(

=
(

=
(
(
(
(
(
(

=
1 0
0 0
1 0
0 1
0 1
1 0
0 1
1 0
0 0
1 0
0 1
0 1
Y D X




95










Aplicao do programa no exemplo da pgina anterior:

RESULTADO
------------------
Para I = 1
------------------
X1 =
-0,5 0
0,6 1
0 0
0 -1

Y1 =
-0,5 0
0,6 1
0 0
0 -1

D*(1,1) =
6

L*(*,1) =
1
-0,58
-0,5
0
0

U*(*,1) =
1 -0,58 -0,5 0 0

C1 =
0,83 0
0 1

------------------
Para I = 2
------------------
X2 =
0,45 1
-0,35 0
0 -1


96

Y2 =
0,45 1
-0,35 0
0 -1

D*(2,2) =
6 0
0 4,41

L*(*,2) =
1 0
-0,58 1
-0,5 -0,33
0 -0,68
0 0

U*(*,2) =
1 -0,58 -0,5 0 0
0 1 -0,33 -0,68 0

C2 =
0,79 0
0 1

------------------
Para I = 3
------------------
X3 =
-0,06 0,65
0,16 -0,65

Y3 =
-0,06 0,65
0,18 -0,61

D*(3,3) =
6 0 0
0 4,41 0
0 0 4,02

L*(*,3) =
1 0 0
-0,58 1 0
-0,5 -0,33 1
0 -0,68 -0,49
0 0 -0,5

U*(*,3) =
1 -0,58 -0,5 0 0
0 1 -0,33 -0,68 0
0 0 1 -0,49 -0,53


97

C3 =
0,76 -0,09
-0,09 0,75

------------------
Para I = 4
------------------
X4 =
0,14 -0,4

Y4 =
0,15 -0,36

D*(4,4) =
6 0 0 0
0 4,41 0 0
0 0 4,02 0
0 0 0 1,98

L*(*,4) =
1 0 0 0
-0,58 1 0 0
-0,5 -0,33 1 0
0 -0,68 -0,49 1
0 0 -0,5 -0,5

U*(*,4) =
1 -0,58 -0,5 0 0
0 1 -0,33 -0,68 0
0 0 1 -0,49 -0,53
0 0 0 1 -0,49

C4 =
0,76 -0,06
-0,06 0,63

-------------------------------
RESULTADO
L* =
1 0 0 0 0
-0,58 1 0 0 0
-0,5 -0,33 1 0 0
0 -0,68 -0,49 1 0
0 0 -0,5 -0,5 1

D* =
6 0 0 0 0
0 4,41 0 0 0
0 0 4,02 0 0
0 0 0 1,98 0
0 0 0 0 1,5


98

U* =
1 -0,58 -0,5 0 0
0 1 -0,33 -0,68 0
0 0 1 -0,49 -0,53
0 0 0 1 -0,49
0 0 0 0 1

Você também pode gostar