DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ......

99
Wilson Lopes Di Mambro DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA RESOLUÇÃO DE SISTEMAS MATRICIAIS Pontifícia Universidade Católica de Minas Gerais Belo Horizonte 2004

Transcript of DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ......

Page 1: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

Wilson Lopes Di Mambro

DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA

RESOLUÇÃO DE SISTEMAS MATRICIAIS

Pontifícia Universidade Católica de Minas Gerais Belo Horizonte

2004

Page 2: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

Wilson Lopes Di Mambro

DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA

RESOLUÇÃO DE SISTEMAS MATRICIAIS

Dissertação apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Pontifícia Universidade Católica de Minas Gerais, Campus Coração Eucarístico, na Área de Concentração em Sistemas de Potências, como requisito parcial para obtenção do grau de mestre em Engenharia Elétrica sob a orientação do Prof. Dr. Roberto de Maria Nunes Mendes e a co-orientação do Prof. Dr. Luiz Danilo Barbosa Terra.

Pontifícia Universidade Católica de Minas Gerais Belo Horizonte

2004

Page 3: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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 paciência e dedicação 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 dedicação, no transcorrer do curso, tiveram

papel importante para a realização deste trabalho.

Page 4: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

3

Para meus filhos

Ana, Moisés e Mateus

Page 5: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

4

RESUMO

Este trabalho apresenta métodos diretos para solução da equação matricial A x = b com A

esparsa e quadrada. O procedimento predominante para a solução será a decomposição de A

em um produto L D U evitando, sempre que possível, alterar a esparsidade da matriz A,

ordenando-a. Inicia-se o estudo pelo método de Gauss até, finalmente, obter-se os métodos de

refatorização parcial, os quais atualizam os fatores L D U da matriz A, para refletirem as

alterações em alguns de seus elementos. Discutem-se também, com mais detalhes, os métodos

de compensação e o método de Bennett, antes de se chegar aos métodos de refatorização

parcial I e II para matrizes esparsas. O resultado dos testes de refatorização parcial I e II

indica que eles são significativamente mais eficientes que as técnicas inicialmente

apresentadas e, que têm o potencial de acelerar a solução de diversos problemas.

Page 6: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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.

Page 7: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

LISTA DE FIGURAS

FIGURA 1 – Grafo de uma rede de energia elétrica com cinco nós ..................................28

FIGURA 2 – Matriz associada ao grafo da figura 1............................................................28

FIGURA 3 – Árvore associada à matriz da Figura 2 partindo dos nós 1 e 2....................28

FIGURA 4 – Rede de energia elétrica com modificação de um ramo (1 - 4) ...................31

FIGURA 5 – Rede de energia elétrica com modificações de dois ramos (1-4) e (3-5) ......32

FIGURA 6 – Estrutura da matriz admitância nodal: rede com cinco nós........................37

FIGURA 7 – Estrutura da matriz admitância nodal: rede de cinco nós, com a conexão

dos nós 4 e 5.............................................................................................................................37

FIGURA 8 – Rede referente à matriz A da rede nodal modificada...................................43

FIGURA 9 – Esquema de fatorização linha superior /coluna inferior..............................64

FIGURA 10 – Rede nodal com 12 nós ..................................................................................65

FIGURA 11 – Estrutura esparsa da matriz L .....................................................................66

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

FIGURA 13 – Gráfico do caminho com 12 nós (árvore).....................................................66

FIGURA 14 – Rede de energia elétrica com 11 nós onde não foi feita uma ordenação

prévia 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 ordenação (árvore de 11 nós) ................................69

FIGURA 17 – Rede de energia elétrica com 11 nós onde foi feita a ordenação de grau

mínimo .....................................................................................................................................70

FIGURA 18 – Estrutura da matriz L ao se fatorar a matriz A, após a ordenação

observando o grau mínimo. Neste caso aparece apenas um fill-in.....................................70

FIGURA 19 – Grafo após se fazer uma ordenação de grau mínimo (árvore c/ 11 nós) ..71

Page 8: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

SUMÁRIO

INTRODUÇÃO ........................................................................................................................9

CAPÍTULO 1 - FATORAÇÃO COMPLETA – MÉTODO DE GAUSS..........................13

1.1 Fatoração completa – método de Gauss......................................................................13

1.2 Algoritmo – Método de Gauss......................................................................................16

1.3 Exemplo..........................................................................................................................17

1.4 Decomposição L U e L D ∗U .......................................................................................18

1.5 Exemplo..........................................................................................................................22

1.6 Variante do método de Gauss apresentada por W. F. Tinney e seus

colaboradores ................................................................................................................23

1.7 Exemplo..........................................................................................................................25

1.8 Grafos.............................................................................................................................26

CAPÍTULO 2 - MÉTODO DE COMPENSAÇÃO .............................................................30

2.1 Método de Compensação..............................................................................................30

2.2 Modificação por ramo orientado .................................................................................31

2.3 Modificação por nó orientado......................................................................................33

2.4 Exemplo ......................................................................................................................38

CAPÍTULO 3 - MÉTODOS DE REFATORIZAÇÃO PARCIAL....................................43

3.1 Método de refatorização parcial simples ....................................................................43

3.2 Decomposição L U em blocos.......................................................................................44

3.3 Exemplo..........................................................................................................................46

3.4 Método de refatorização parcial simples com arranjo especial................................48

3.5 Observações do que ocorre quando se decompõe A em L D U∗ ..............................48

Page 9: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

CAPÍTULO 4 - MÉTODO DE BENNETT..........................................................................50

4.1 Método de Bennett .......................................................................................................50

4.2 Prova do processo..........................................................................................................55

4.3 Exemplo..........................................................................................................................56

4.4 Algoritmo .......................................................................................................................58

4.5 Exemplo..........................................................................................................................59

CAPÍTULO 5 - MÉTODOS DE REFATORIZAÇÃO PARCIAL I E II..........................63

5.1 Métodos de refatorização parcial I e II .......................................................................63

5.2 Ordenação dos nós por grau mínimo ..........................................................................64

5.3 Método de refatorização parcial I ...............................................................................67

5.4 Método de refatorização parcial II..............................................................................68

5.5 Exemplo: (método de refatorização parcial I)............................................................68

CONCLUSÃO.........................................................................................................................76

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................77

APÊNDICE I...........................................................................................................................80

APÊNDICE II ........................................................................................................................ 78

Page 10: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

9

INTRODUÇÃO

As áreas de estudo cujos problemas envolvem a solução de sistemas lineares são

várias, tais como programação linear, análise de estruturas, teoria dos grafos, solução

numérica de equações diferenciais, sistemas de transmissão e distribuição de energia elétrica

entre outras.

Este trabalho trata dos sistemas lineares da forma A x = b, onde são 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 solução

procurada.

Volta-se o interesse para sistemas de grande porte, onde em geral, a matriz A é

esparsa.

Concentra-se a atenção na solução de problemas de rede de energia elétrica onde A é a

matriz das admitâncias, x é o vetor das tensões e b o vetor das correntes. A pode ser também a

matriz jacobiana, J, do modelo linear de rede de energia elétrica

∆∆

=

∆∆

θV

JQP

, derivado da

formulação não linear de potências versus tensão. Sendo f(P,Q,V,θ ) = 0, onde f é uma função

vetorial.

Quando são projetadas futuras ampliações na rede, ou mesmo com a adição ou

remoção de linhas ou transformadores, haverá alterações das admitâncias; logo, a matriz A

será modificada. É importante observar que estas alterações levam a novos cálculos, que

acarretam mudanças no tempo de computação e no espaço de memória exigidos, obrigando a

procura de métodos eficientes para a solução de problemas com matrizes modificadas.

Page 11: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

10

Como este assunto não se encontra disseminado nos livros, procura-se descrever

didaticamente os vários métodos e compará-los entre si. Com o desenvolvimento científico,

alguns métodos ficaram obsoletos, porém, têm caráter seminal, donde o interesse no seu

estudo.

Neste trabalho são tratados apenas os métodos diretos.

Foram feitos estudos comparando o desempenho do métodos diretos e iterativo na

solução de equação Ax = b, empregando-se as mesmas condições de teste geral. A conclusão

final é que os métodos diretos ainda são mais rápidos, embora o método iterativo seja mais

fácil de se implementar [Monticelli,99].

O objetivo geral deste trabalho é organizar didaticamente num único texto os métodos

diretos de refatorização de matrizes na solução de sistemas matriciais.

Os objetivos específicos são:

• Dar condições para usar o método 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 método de Bennett, [Bennett,65] empregando o programa

implementado computacionalmente.

A metodologia adotada consiste na pesquisa bibliográfica, no seu estudo e seleção. A

pesquisa bibliográfica concentra-se em publicações do IEEE, como também em livros de

Álgebra Linear.

A contribuição deste trabalho inclui a interpretação e registro sistemático de

bibliografia pertinente e aplicações dos métodos de refatorização de matrizes para

planejamento de sistemas de energia elétrica. Além do mais, o trabalho pode contribuir como

incentivo ao desenvolvimento de novas pesquisas.

Page 12: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

11

Organização do texto

A presente Dissertação está organizada em cinco capítulos:

Capítulo 1:

O capítulo apresenta o método de Gauss para solução de sistema A x = b como,

também, a decomposição de A em L D U e uma variante do método de Gauss feita por W.F.

Tinney. Ele introduz o conceito de grafos associados à matriz A.

Capítulo 2:

0 capítulo considera as modificações da matriz A, modificações estas feitas por nó ou

ramos orientados. A partir da equação matricial (A+ A∆ ) x = b, chega-se à formula

bAAAAIAAx ].).([ 11111 −−−−− ∆∆+−= através de deduções matemáticas. A idéia principal é

tornar o cálculo de x rápido e eficiente. Mostra-se que basta armazenar 1−A uma única vez e

usar este fato a cada modificação efetuada.Verifica-se que pode-se armazenar também as

inversas de L e U para calcular o valor de x. Finaliza-se com exemplos.

Capítulo 3.

O capítulo mostra que o método de refatorização simples é mais conveniente, pois, o

método de refatorização com arranjo especial degrada a esparsidade da matriz A. Mostra-se

que para a solução do sistema deve-se decompor a matriz A em L D U por blocos. É feita a

decomposição da matriz em blocos, finalizando-se com um exemplo, aplicando o método.

Page 13: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

12

Capítulo 4.

O capítulo mostra que John M. Bennett substituindo A∆ por tYCX na matriz

1)( −∆+ AA chegou à identidade 11111 ][)( −−−−− +=+ AYXAYCXAYCXA ttt .

Verifica-se que não é necessário armazenar a inversa da matriz a cada modificação. É

suficiente armazenar a inversa de A uma única vez, o que é fundamental para a computação.

É desenvolvido um algoritmo para chegar à decomposição da matriz tYCXA + em

••• UDL usando o L D U da matriz A, e é mostrado que a inversa completa da matriz

modificada pode ser evitada a cada alteração. Isto permite armazenar apenas os fatores L D U

da matriz A.

Capítulo 5.

O capítulo mostra que ao se alterar uma ou mais linhas/colunas de uma matriz é

afetado somente um subgrupo de linhas/colunas subseqüentes. Mostra-se a vantagem de

ordenar uma matriz antes de fatorá-la em LU, pois proporciona menos preenchimentos

nas posições, onde a matriz A possía inicialmente elementos nulos, ao se fazer a

decomposição. A associação que se faz de uma matriz com um grafo mostra as

vantagens que existem ordenando a matriz antes de fatorá-la, pois o número de* “fill-

ins“ é menor com a ordenação prévia.

Finalmente, apresenta-se a conclusão, as referências bibliográficas e o apêndice.

* “fill-ins” – elementos não nulos.

Page 14: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

13

CAPÍTULO 1

FATORAÇÃO COMPLETA – MÉTODO DE GAUSS

Neste capítulo serão discutidos os métodos diretos para solução de um sistema Ax = b,

entre eles o método de Gauss como também uma variante deste método apresentada por W.F.

Tinney [Tinney,67], o qual decompõe a matriz A em L U. Introduz-se também a associação

de uma figura, isto é, um grafo linear (GA) com uma matriz A. Tal associação se faz

necessária para os estudos dos capítulos posteriores.

1.1 Fatoração completa – método 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

método de eliminação de Gauss [Leon, 98]. Este método consiste em aplicar à matriz

completa C = [ ]bA / as chamadas transformações elementares sobre as linhas, a saber:

a) ijT , trocar de posição as linhas i e j;

b) )(λijT , somar à linha i a linha j multiplicada por λ ℜ∈ .

Page 15: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

14

Supõe-se que a matriz A seja tal que apenas a transformação (b) seja necessária. Uma

condição suficiente para isso, é que A seja simétrica definida positiva ou que A = )( ija seja

diagonalmente dominante ),...,1,(,1

njaan

jiiijjj => ∑

≠=

.

Neste método, resolve-se a equação linear A x = b através de operações elementares

efetuadas sobre as linhas da matriz A e b, até que seja obtido um sistema equivalente ao dado,

de solução imediata, ou pelo menos mais simples.

A decomposição triangular da matriz por Gauss [Leon,98]é feita pela eliminação dos

elementos abaixo da diagonal principal em todas as colunas. O método é direto, porém, é

lento. O tempo de computação é grande e ocupa também grande espaço de armazenamento.

Como as matrizes de admitância são esparsas e simétricas, pode-se obter algumas

vantagens na solução dos problemas. A primeira, e mais evidente, é a grande economia de

memória possível de ser obtida quando armazenam-se apenas os elementos não nulos. A

segunda vantagem é a redução do tempo de computação. Uma terceira é a redução do erro de

arredondamento.

O método de Gauss tende a destruir a esparsidade da matriz a ele submetida.

Entretanto, um controle pode ser exercido sobre o processo de triangularização, o que não

pode ser feito no caso de matrizes cheias.

Antes que se dê um exemplo de aplicação do método de Gauss, deve-se comentar três

esquemas que levam à solução da equação A x = b, para justificar a opção por este método.

a) Inverter explicitamente a matriz dos coeficientes, no caso a matriz A.

A x = b ⇒ x = A 1− . b

Este esquema é inconveniente porque:

Page 16: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

15

a.1) a inversão da matriz A exige um número de operações bastante grande em relação a

outros esquemas;

a.2) a inversão destrói a esparsidade das matrizes;

a.3) o acúmulo de erros de arredondamentos, durante o processo de inversão, pode

inutilizar os resultados obtidos, sobretudo quando se trata de sistemas de grande

porte.

b) Admitir uma solução aproximada e obter, através de algoritmo adequado, aproximações

melhores, até que um determinado índice de precisão seja atingido. Este esquema tem

vantagens, mas é inconveniente. Quando se armazenam apenas os elementos não nulos da

matriz de coeficientes, o armazenamento é compacto e é feito por linhas e colunas, isto é,

os elementos ficam distribuídos aleatoriamente, dificultando a sua localização para se obter

a matriz transposta de A ou a inversa da transposta. Apresenta-se também excessivo tempo

de computação, quando houver necessidade de soluções repetidas, pois cada solução

envolve a repetição com novos dados de todo o processo iterativo.

Em suma, os métodos iterativos têm desvantagens em relação aos métodos

diretos[Monticelli,99] , como também a inversão implícita da matriz A.

c) Transformar o sistema linear dado, através de operações aritméticas elementares, até que

seja obtido um sistema equivalente, mas de solução imediata, ou pelo menos mais simples

(métodos diretos). O método direto principal é o método 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:

Page 17: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

16

1.2 Algoritmo – Método de Gauss

Seja A = nxnija )(

Notações:

− índices inferiores indicam ordem de linha e coluna do elemento respectivamente;

− índices superiores representam o estado atual do elemento, isto é, o número de

transformações 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← (iniciação do contador de linha);

2) Soma-se a linha k de A, multiplicada por )1( −− kjka às linhas j = k+1, ..., n, ou seja,

calculam-se:

)()1()1()( . kki

kjk

kjk

kjk aaaa −− −= : j ,i = k+1,..., n ;

)()1()1()( . kj

kjh

kj

kj babb −− −=

Isto resulta na eliminação de kx das (n-k ) equações subseqüentes à k-ésima.

3) Fazendo k←k + 1 e indo para 2.

4) Substituindo os valores dos ix (i = k+1, ..., n), já calculados na k-ésima equação e

resolvendo para x k . Isto equivale a se calcular: i

n

ki

kki

kk

kkk xab

ax ∑

+=

−=1

)()((1 )

5) Fazendo 1−← kk . Se k= 0, FIM. Senão, 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

Page 18: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

17

memória do computador. O armazenamento linha por linha, no caso de matrizes esparsas,

dificulta a localização dos elementos de uma dada coluna.

Pode-se verificar que o número de operações aritméticas envolvido no método de

Gauss é menor que o número de operações necessárias à inversão de uma matriz. Em se

tratando de uma matriz esparsa, as vantagens são bem mais significativas.

1.2 Exemplo

Aplicação do algoritmo a um sistema de quatro incógnitas.

=+−−=−+−=−+−=−−

11886286406421422

432

431

421

321

xxxxxxxxx

xxx

Pode-se escrever o sistema na forma matricial A x = b.

Como as operações de eliminação envolvem apenas os coeficientes ija ( i ,j = 1,2,3,4),

e os termos independentes ib ( i = 1,2,3,4), para fim de exposição, será suficiente trabalhar

com a matriz aumentada [ ]bA / .

[ ]bA / =

−−−−−−

−−

118860286040604210422

, Aplicando o algoritmo tem-se:

Page 19: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

18

−−−−−−

−−

118860286040604210422

→)2();1( 3121 TT

−−−−−−−

−−

118860482401642010422

→)3();2( 4232 TT

−−−−−

−−

40200062010001642010422

→− )2(43T

−−−−−

−−

84000062010001642010422

Cálculo de x=

4

3

2

1

xxxx

: sendo

−==−−=−−=−−

8406201016421422

4

43

432

321

xxx

xxxxxx

=4x 51

44

4 −=ab i

ii xab

ax ∑

=

−=4

433

333 (1 )=

51

52

53

−=+−

=−= ∑=

)(1 4

322

222 i

ii xab

ax -

21 )(1 4

211

111 i

ii xab

ax ∑

=

−= = -52

1.4 Decomposição L U e L D ∗U .[ Monticelli,83]

A pode ser reduzida à forma triangular superior:

=

nnnnn

n

n

n

aaaa

aaaaaaaaaaaa

A

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

...

...

...

321

3333231

2232221

1131211

( )

=→

)1()1(3

)1(2

)1(3

)1(33

)1(32

)1(2

)1(23

)1(22

1131211

1

...0...............

...0

...0

...

nnnn

n

n

n

aaa

aaaaaaaaaa

A

=→

=→

)(

)2(3

)2(33

)1(2

)1(23

)1(22

1131211

)(

)2()2(3

)2(3

)2(33

)1(2

)1(23

)1(22

1131211

)2(

...000...............

...00

...0

...

....

...00...............

...00

...0

...

nnn

n

n

n

n

nnn

n

n

n

a

aaaaaaaaa

A

aa

aaaaaaaaa

A

)(nA = U

Page 20: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

19

Em geral, se a matriz A n x n poder ser colocada na forma triangular superior U sem

trocar as linhas, então A pode ser fatorada em L U, onde L é triangular inferior e tem todos os

elementos da diagonal iguais a um (1). O elemento ijl de L abaixo da diagonal principal vai

ser um múltiplo da i-ésima que foi subtraído da j-ésima linha durante o método de Gauss.

Pode-se verificar que L U = A.

Para se ver como esta fatoração funciona, analisa-se o processo em termos de matrizes

elementares. Isto é equivalente a multiplicar a matriz A à esquerda por n matrizes

elementares: .2,1 ,..., nEEE Então, UAEEEEn =123... e como as matrizes elementares são

invertíveis, tem-se: UEEEEA n )........( 113

12

11

−−−−= , logo A = L U.

Dada a fatoração L U de uma matriz A, é possível prosseguir e fatorar U em um

produto ∗UD , onde D é a diagonal e ∗U é triangular superior, com todos os elementos da

diagonal iguais a 1.

=∗

1...000...............

...100

...10

...1

...000...............0...000...000...00

33

3

22

2

22

23

11

1

11

13

11

12

33

22

11

uuuu

uu

uu

uu

uu

u

uu

U

UDn

n

n

nn

Tem-se A = L D ∗U .

Tem-se, portanto, que:

1) A matriz U é ∆ - superior e contém os elementos quando se escalona a matriz A (método

de Gauss).

Page 21: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

20

2) A matriz L é ∆ - inferior e representa as etapas de eliminação. Seus elementos ijl , i<j são

os simétricos dos multiplicadoresλ que aparecem nas operações ( )λijT ; os elementos da

diagonal de L são todos iguais a 1.

3) Além disso, a solução de A x = b é equivalente à solução dos dois sistemas L y = b e U

x = y, sendo o primeiro por substituição progressiva e o segundo por substituição

regressiva.

4) Assim, o método de eliminação de Gauss é equivalente a fatorar A no produto L U, onde

L é ∆ - inferior com diagonal unitária e U é ∆ -superior.

5) Introduzindo a matriz diagonal D, pode-se escrever A = L U = L D ∗U , onde ∗U tem

também diagonal unitária; esta decomposição é única. [Leon 98, cap. 6].

Pode-se mostrar que o número de operações aritméticas envolvido na solução de A =

L U, L y = b , U x = y é o mesmo que o envolvido no método de eliminação de Gauss.

Na prática, o método L U (ou L D ∗U ) oferece algumas vantagens.

Por exemplo, se ao resolver A x = b para vários valores de b, A permanece inalterada,

o método L U é o mais conveniente.

Caso de matriz simétrica:

Supõe-se que na equação linear A x = b, A é matriz simétrica ( isto é A= tA ).

Se A = L D ∗U = =tA ttLDU

∗, resulta tLU =∗ ,de modo que A= L D tL .

Por exemplo,

−−−−−

=342482224

A =

− 100311021

211

300090004

131

21

0121

001

Page 22: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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

substituição de cima para baixo. Uma vez determinado o valor de y, e usando a matriz

triangular superior U, resolve-se a outra equação U x = y por substituição de baixo para cima.

Sejam as matrizes:

L=

1...........................0...0010...00010...000010...000001

4321

424241

3231

21

nnnn llll

lllll

l

,U =

nn

n

n

n

n

u

uuuuuuuuuuuuuu

...0000........................

...000

...00

...0

...

444

33433

2242322

114131211

Para resolver um sistema A x = b, faz-se as seguintes considerações:

A = L U; L y = b; U x = y toma-se y =

ny

yy

.

.

.2

1

e calcula-se y usando a fórmula k

j

kjkjj ylby ∑

=

−=1

1

,

Page 23: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

22

e tomando-se x =

nx

xx

.

.

.2

1

, calcula-se x,

usando a fórmula x j = )(1

1k

n

jkjkj

jjxub

u ∑+=

1.5 Exemplo

−−−−−−

−−

1886086046042

0422

4

3

2

1

xxxx

=

1201

−−−−−−−

−−

−−−−−−

−−

=)3()2(

1886082406420

0422

)2()1(

1886086046042

0422

42

32

31

21

TT

TTA

UT =

−−−−

−−

→−

−−−−−

−−

400002010006420

0422

)2(

020002016006420

0422

43

−−−

−=

1230012200110001

: LEntão

L y = b, tem-se:

−−−

1230012200110001

4

3

2

1

yyyy

=

1201

logo y =

−8611

Page 24: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

23

U x = y , tem-se:

−−−−

−−

400002010006420

0422

4

3

2

1

xxxx

=

−8611

logo, x =

51512152

Como a matriz A pode também ser fatorada em L D U∗ , onde L e U∗ são matrizes

triangulares inferior e superior, respectivamente, com elementos da diagonal principal

unitários e D é uma matriz diagonal, tem-se também:

D U∗ = Uentão L D U∗ x = b , DU∗ x = y e L y = b.

1.6 Variante do método de Gauss apresentada por W. F. Tinney e seus

colaboradores [Tinney,67;85].

Para exemplificar, considera-se um sistema A x = b de quatro equações e quatro

variáveis. Decompondo A em L D U∗ tem-se:

1010010001

434241

3231

21

lllll

l

44

33

22

11

000000000000

dd

dd

1000100

101

34

2423

141312

uuuuuu

4

3

2

1

xxxx

=

4

3

2

1

bbbb

Fazendo y = U∗ x, resolve-se o sistema L D y = b, usando a substituição 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

by =

22

)1(2)2(

2 dyy =

33

)2(3)3(

3 dy

y = 44

)3(4)4(

4 dyy =

44

)3(4)4(

4 dyy =

1212)1(

2 blby −= )1(232

)1(3

)2(3 ylyy −= )2(

343)2(

4)3(

4 ylyy −=

Page 25: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

24

1313)1(

3 blby −= )1(243

)1(4

)2(4 ylyy −=

1414)1(

4 blby −=

A solução do sistema L D y = b é y=

)4(4

)3(3

)2(2

)1(1

yyyy

De fato, tem-se:

1) 1111 byd = )1(1

11

11 y

dby ==

2) 222211121 bydydl =+ ; 111212222 ydlbyd = ; )2(2

22

)1(2

22

)1(1212

22

1112122 y

dy

dylb

dydlby ==

−=

−=

3) 332223211131 dydlydl ++ y 3 = b 3 , )1(232

)1(3

)1(2321313333 ylyylblbyd −=−−=

)3(3

33

)2(3

33

)1(232

)1(32

3 ydy

dyly

y ==−

=

4) 4444333432224211141 bydydlydlydl =+++

333432224211132414444 ydlydlydllbyd −−−=

( )2342

)1(2421414444 ylylblbyd −−−=

)2(342

)1(242

)1(4444 ylylyyd −−=

)2(342

)2(4444 ylyyd −=

)3(4444 yyd =

( )( )4

444

34

4 ydyy ==

Agora, resolve-se o sistema U∗ x = y , usando a substituição por linhas.

Page 26: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

25

1000100

101

34

2423

141312

uuuuuu

4

3

2

1

xxxx

=

4

3

2

1

yyyy

4

3

2

1

yyyy

linha 4 : 44 yx =

linha 3 : 43433 xuyx −=

linha2: 42431222 xuxuyx −−= linha1: 41431321211 xuxuxuyx −−−=

1.7 Exemplo

Seja o sistema

=+−−=−+−=−+−=−−

11886286406421422

432

431

421

321

xxxxxxxxx

xxx

O sistema pode ser colocado na forma de uma equação matricial A x = b.

Decompondo A em L D U∗ :

=

−−

−−

−−−

1201

100021003210

0211

400000100000200002

1230012200110001

4

3

2

1

xxxx

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

=

−−−

1201

400000100000200002

1230012200110001

4

3

2

1

yyyy

coluna 1 ) 21)1(

1 =y ; 11.10)1(2 =+=y ; 41.22)1(

3 =+=y ; 11.01)1(4 =+=y

coluna 2) ( )212

2 =y ; 61.24)2(3 =+=y ; ( ) 41.312

4 =+=y

coluna 3) 53

106)3(

3 −=−

=y ; 86.24)3(4 =−=y

Page 27: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

26

coluna 4 ) 51

408)4(

4 −=−

=y

Resolve-se o sistema U∗ x = y para encontrar o x, que é a solução final:

−=

−−

−−

5153

2121

100021003210

0211

4

3

2

1

xxxx

tem-se:

51

4 −=x ; 51)

51(2

53

3 −=−−−=x ; 21)

51(3)

51(2

21

2 −=−+−+=x

52)

21(2)

21(

21

1 −=−+−+=x .

Então a solução é: t

x

−−−−=

51

51

21

52

1.8 Grafos

Neste trabalho introduz-se um procedimento para se estudar o efeito da esparsidade na

eliminação de Gauss, que habilita a escolher-se um esquema de eliminação ótimo e/ou

determinar se a eliminação é uma abordagem prática. Isto é feito pela associação de um grafo

linear (GA) a uma matriz A. Admite-se que a matriz A envolvida é suficientemente bem

condicionada de modo que a eliminação de Gauss seja sempre possível. Uma rede de energia

elétrica pode ser usada como sendo seu próprio grafo não direcional [Szwarcfiter ,83].

No sistema A x = b associado a uma rede de energia elétrica, a estrutura de A está

intimamente ligada à configuração geométrica da rede, ou seja, à maneira pela qual as

diversas barras estão interconectadas, independendo complemente dos valores dessas

conexões. Desta forma, é suficiente para descrever a estrutura geométrica de uma rede

Page 28: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

27

substituir seus componentes por segmentos de reta. Estes segmentos são denominados ramos

e seus terminais nós. Um nó e um ramo são incidentes quando o nó for um dos terminais do

ramo. Os nós podem incidir em um ou mais ramos. Ao conjunto de nós e ramos que

descrevem a estrutura topológica de uma rede dá-se o nome de grafo.

Quando um nó é eliminado, a conexão que existia antes precisa ser preenchida. Isto

pode requerer a adição de novo ramo no grafo reduzido. Os novos ramos correspondem aos

preenchimentos (fill-ins) na matriz.

Cada nó é considerado uma ligação própria (um laço), isto é, tem admitância própria,

representada por ija onde i = j. Se um nó é ligado a outro, tem-se a admitância mútua

representada também por ija , mas com ji ≠ . O nó i é ligado ao nó j e vice-versa. Quando

não há ligações entre os nós, o termo é igual a zero.

Um caminho de um nó v a um nó w é uma cadeia formada por ramos distintos que têm

origem em v e término em w. O caminho pode ser fechado, se v = w, ou aberto, caso

contrário.

Um ciclo é um caminho fechado ki vv ,..., , sendo ki vv = e k≥3.

Um grafo é conexo, quando existe um caminho entre cada par de nós, isto é, a partir de

um nó arbitrário do grafo é possível alcançar todos os demais. Caso contrário, o grafo é

desconexo.

Alterando-se uma matriz, têm-se modificações nos grafos e serão 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

são originadas pela união dos caminhos [Betancourt ,86;88]. Um grafo é chamado de árvore

se ele for conexo e acíclico.

Page 29: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

28

Figura 1 – Grafo de uma rede de energia elétrica com cinco nós

=

XXXXXXX

XXXXXXXXXX

A

000

000

00

FIGURA 2 – Matriz associada ao grafo da figura 1

FIGURA 3 – Árvore associada à matriz da Figura 2 partindo dos nós 1 e 2

Neste capítulo foi apresentado o método de Gauss para solução do sistema A x = b, a

decomposição de A em L D U e uma variante do método de Gauss feita por W. F. Tinney .

Foi introduzido o conceito de grafos associado à matriz A e dado um exemplo tanto do

método de Gauss como o de Tinney.

1 2

3

4

5

5 2

3 4

1

Page 30: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

29

Page 31: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

O CAPÍTULO 2

MÉTODO DE COMPENSAÇÃO

O capítulo apresenta a dedução e análise do método de compensação para a solução

eficiente de problemas de rede envolvendo modificação na matriz A do sistema A x = b.

Mostra-se que as modificações podem ser feitas por ramo ou nó orientados. No final, chega-se

a uma equação que se altera a cada modificação, mas calcula-se e armazena-se a inversa de A

somente uma vez [Alsaç, Stott, Tinney, 83].

2.1 Método de Compensação

Este método torna o processo de cálculo da solução de problemas de redes de energia

elétrica mais rápido e eficiente, e é mais apropriado, quando:

a) as modificações não são grandes;

b) as modificações não são permanentes;

c) as equações modificadas não precisam ser resolvidas repetidamente .

Considera-se a seguinte equação matricial )( AA ∆+ x = b, sendo A, a matriz

admitância da rede de energia elétrica de dimensão n x n, A∆ também de dimensão nxn a

matriz modificação envolvendo um ou mais elementos da rede, x o vetor das tensões e b o

vetor das correntes.

Page 32: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

31

Para todas as modificações incidentes simétricas da matriz A, toma-se tYMMA ∆=∆ ,

onde:

∆Y é uma matriz m x m contendo as modificações de A , sendo m n≤ .

M é a matriz conexão, de dimensão n x m.

Quando a modificação é por ramo orientado, M tem colunas de entradas +1 e –1 nas

posições relevantes. No caso de modificações por nó orientado, as colunas de M têm uma

única entrada +1.

2.2 Modificação por ramo orientado

Quando m ramos são modificados simultaneamente, Y∆ é uma matriz diagonal m x m

de mudança da admitância, e M, como já foi dito, tem m colunas, com as entradas +1 e –1

nas posições relevantes.

Primeiro,considera-se apenas um ramo modificado (FIG. 4).

A =

555452

45444342

443331

25242221

131211

000

000

00

yyyyyyy

yyyyyyy

yyy

FIGURA 4 – Rede de energia elétrica com modificação de um ramo (1 - 4)

=∆A [ ][ ]

∆∆−

∆−∆

=−+∆

+

000000000000000000000

01001

01

001

11

11

1

yy

yy

y

5 1

4

1y∆

2

3

Page 33: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

32

A + A∆ =

∆+∆−

∆−∆+

555452

4514143421

343331

25242221

11312111

00

000

0

yyyyyyyyy

yyyyyyy

yyyyy

Observa-se que a admitância entre os nós i e j muda de 1y∆ , adicionando 1y∆ a iiy e a

jjy e subtraindo-o de ijy e jiy .

Consideram-se dois ramos modificados (FIG. 5):

1 2 5

3 4

FIGURA 5 – Rede de energia elétrica com modificações de dois ramos (1-4) e (3-5)

tYMMy

yA ∆=

−+

−+

−−

+

+

=∆10100

010010

0

100110

0001

2

1

∆∆−∆∆−

∆−∆

∆−∆

=∆

22

11

22

11

000000

00000000000

yyyy

yy

yy

A

Logo, a matriz com dois ramos modificados será:

2y∆ 2y∆

1y∆

Page 34: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

33

A + A∆ =

∆+∆−∆+∆−

∆−∆+

∆−∆+

25554252

4514443421

23423331

25242221

11312111

0

00

0

yyyyyyyyyyy

yyyyyyyyy

yyyyy

Observa-se que os ∆y são adicionados a 55443311 ,, eyyyy e subtraídos de

53,354114 ,, yyyy que, particularmente, são nulos, porque não há ligações entre estes nós.

2.3 Modificação por nó orientado

Esta é uma modificação mais geral, pois podem ser feitas simultaneamente alterações

em todos os elementos da matriz associados a um dado conjunto de nós. A matriz Y∆ tem a

dimensão m x m, onde m é o número de nós envolvidos. A matriz M tem m colunas cada uma

com uma única entrada +1 na posição relevante como se vê no exemplo a seguir.

Considera-se a mesma matriz A vista no exemplo anterior .

Quando dois nós são envolvidos, tem-se:

∆∆−

∆−∆

=

∆∆−∆−∆

=∆

000000000000000000000

0100000001

..

0010000001

11

11

11

11

yy

yy

yyyy

A

A∆ é a mesma matriz encontrada quando a modificação foi feita no ramo 1-4 (FIG. 4).

Quando quatro nós são envolvidos, considerando a matriz A dada no exemplo anterior

e as modificações que agora envolverão os nós 1, 3, 4 e 5, tem-se:

Page 35: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

34

∆∆−∆−∆

∆∆−∆−∆

=∆

10000001000100000001

.

0000

0000

.

10000010010000000001

22

22

11

11

yyyy

yyyy

A

∆∆−∆∆−

∆−∆

∆−∆

=∆

22

11

22

11

000000

00000000000

yyyy

yy

yy

A

Mais uma vez, conclui-se que ∆A continua sendo a mesma anterior, quando se fez a

modificação nos ramos 1-4 e 3-5 (FIG. 5).

Sendo a matriz A uma matriz de admitância de uma rede de energia elétrica, ela será

simétrica e esparsa, principalmente se tratando de um sistema de grande porte. A matriz

modificação A∆ é ainda mais esparsa e poderá também ser decomposta num produto LU,

onde L é uma matriz triangular inferior com elementos unitários na diagonal principal e U é

uma matriz triangular superior:

=∆A

∆−∆

−=

∆∆−

∆−∆

00000000000000000000000

100000100100100'00010

00001

000000000000000000000 11

11

11 yy

yy

yy

U = D U∗ , onde D é matriz diagonal e U∗ é uma matriz triangular superior com os elementos

da diagonal iguais a um. Então, ∆A = L D U∗ .

∆ A =

−1000001000001000001001001

.

000000000000000000000000

.

1000001001001000001000001 1y

Page 36: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

35

O que determina o melhor método a ser usado (nó orientado ou ramo orientado) é o

gasto computacional necessário para o processamento de cada um deles. Este gasto aumenta

com a ordem da matriz modificação Y∆ .

Inversa da matriz modificada

Para resolver a equação (A + )A∆ x = b, deve-se calcular a inversa 1)( −∆+ AA .

Tem-se:

1111 ).()( −−−− ∆+=∆+ AAIAAA

e desenvolvendo-se formalmente em série de potências,

...).().(.).( 3121111 +∆−∆+∆−=∆+ −−−−− AAAAAAIAAI

Portanto,

=∆+ −1)( AA = [ ]...).().(..).( 312111111 +∆−∆+∆−=∆+ −−−−−−− AAAAAAIAAAIA =

= [ ]...).()(. 3121111 −∆+∆−∆− −−−−− AAAAAAAA =

= [ ] =∆+∆−∆+∆−− −−−−−− 13121111 .....)().().(. AAAAAAAAIAA

= 11111 ..).( −−−−− ∆∆+− AAAAIAA ,

então, [ ]bAAAAIAAx ..).( 11111 −−−−− ∆∆+−=

Se tYMMA ∆=∆ , então, 111111 ..)()( −−−−−− ∆∆+−=∆+ AYMMAYMMIAAAA tt

Simplificando, mais a identidade acima, toma-se:

C= YMAYMI t ∆∆+ −− .)( 11 , donde:

CMAYMIY t ).( 1−∆+=∆ , logo:

Page 37: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

36

ttt

t

t

t

YMMAYMMIMCM

setemeYMAYMMIMC

dondeCMAYMMIYM

CMAYMMMYM

∆∆+=

−∆∆+=

∆+=∆

∆+=∆

−−

−−

11

11

1

1

)(

:,)(

:,.).(

).(

Então, tem-se que: 1111 ....)( −−−− −=∆+ AMCMAAAA t

Pondo :XMMAMZ

MAXtt ==

=−

1

1.

Vem: YZYIC ∆∆+= −1).( ,

Após a modificação a solução é: bAMCMAAx t )....( 111 −−− −= .

Pode-se escrever também: bACMMIAx t )...( 11 −− −= . Se A = LU, vem 111 . −−− = LUA ,

então:

bLUMCMLIUx

bLUMCMLLUx

bAMCMILUx

t

t

t

.)....(

)......(

)....(

1111

11111

111

−−−−

−−−−−

−−−

−=

−=

−=

A idéia é tornar o processo de cálculo de x rápido e eficiente. A inversa de A será

calculada somente uma vez e armazenada. Verifica-se que as inversas, que se devem calcular,

são altamente esparsas e as outras operações necessárias são somente adição e multiplicação

de matrizes.

Page 38: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

37

São mostradas abaixo as estruturas da admitância nodal com cinco nós, antes e depois

de se fazer a modificação, isto é, antes de ligar o nó 4 ao nó 5. Pode-se verificar como ficaram

também as estruturas das matrizes admitâncias antes e depois da modificação.

FIGURA 6 – Estrutura da matriz admitância nodal: rede com cinco nós

FIGURA 7 – Estrutura da matriz admitância nodal: rede de cinco nós, com a conexão

dos nós 4 e 5

2 4

5 3 1

4 2

5 3 1

Page 39: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

38

5432154321

XXXXX

XXXXXXX

XXX

5432154321

XXXXXXXXXXX

XXXXXX

Estrutura da matriz admitância: A Estrutura da matriz admitância: AA ∆+

2.4 Exemplo

Considerando-se as estruturas das figuras 6 e 7 dá-se o exemplo seguinte, atribuindo

valores numéricos;

−−

=

−−−

−−−−−

−−

32

060

302000513021603

0306300336

5

4

3

2

1

xxxxx

Considera-se uma rede de energia elétrica de 5 nós, portanto, a matriz A é 5 x 5 e as

matrizes x e b são 5 x 1 cada uma. Pode-se também, 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 nm ≤ . É

interessante observar que se têm várias combinações possíveis, principalmente se n é um

número grande.

A=

−−−

−−−−−

−−

302000513021603

0306300336

e decompondo A em L U, tem-se:

Page 40: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

39

L=

−−

−−

−−

121

2100

0121

320

00131

21

000121

00001

e 1−L =

121

43

127

32

0121

65

32

00131

32

000121

00001

−−−

−−

−−

=

2300001200022400

0323

250

00336

U e

=−

32000031

21000

21

41

4100

187

125

121

920

94

31

61

91

61

1U

Considera-se, por exemplo, [ ]1=∆Y fazendo uma ligação do nó 4 ao nó 5, e

como foi visto acima a matriz de conexão é

=

11000

M e, como [ ] YZYIC ∆∆+= −1 , tem-se:

[ ]

=

−== −

32

11000

32

31

21

187

94

31

32

21

1811

95

21

21

43

127

32

187

1811

127

10889

2719

94

95

32

2719

2723

110001MAMZ t

[ ] [ ] [ ]

=

+= −

531)

32.11( 1C

Page 41: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

40

−=

53

53000

53

53000

000000000000000

tMCM .

E:

,])([ 11111 bLUMCMLIUx −−−−− −= sendo que x é o vetor das tensões e b o vetor das correntes.

Resolvendo-a por partes, tem-se:

−=

=−

103

103000

53

53000

000000000000000

53

53000

53

53000

000000000000000

121

43

127

32

0121

65

32

00131

32

000121

00001

1 tMCML

−=

=−−

101

203000

51

103000

000000000000000

32000031

21000

21

41

4100

187

125

121

920

94

31

61

91

61

103

103000

53

53000

000000000000000

11 UMCML t

=− −−

109

203000

51

107000

001000001000001

11 UMCMLI t

( )111 −−− − UMCMLIU t =

Page 42: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

41

=

109

103000

51

107000

001000001000001

32000031

21000

21

41

4100

187

125

121

920

94

51

61

91

61

53

101000

52

52000

21

41

4100

3013

207

121

920

157

103

61

91

61

=

∆+=− −−−−−

53

52

21

3013

157

52

53

21

3017

158

21

21

43

127

32

3013

3017

127

180143

4531

157

158

32

4531

4538

121

43

127

32

0121

65

32

00131

32

000121

00001

53

101000

52

52000

21

41

4100

3013

207

121

920

157

103

61

91

61

)()( 11111 AALUMCMLIU t

Agora, pode-se calcular as tensões, usando a equação:

=

−−

=

∆+=

−=−

−−−−

0113725

32

060

53

52

21

3013

157

52

53

21

3017

158

21

21

43

127

32

3013

3017

127

180143

4531

157

158

32

4531

4538

)(

})({1

1111

x

bAAx

bLUMCMLIUx t

Page 43: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

42

As tensões serão, portanto: 01,1,37,

25

54321 ===== xexxxx

Para cada caso específico de modificação da rede, o processo pode ser dividido em

duas fases:

Fase preparatória: cálculo da inversa de A, cálculo de L e U e suas inversas e cálculo das

matrizes C e Z;

Fase solução: encontrar o vetor x através da equação: bLUMCMLIUx t 1111 )( −−−− −= .

Para outras modificações no sistema não será necessária a inversão da nova matriz da

rede, a matriz inicial A será invertida e armazenada uma única vez como também as inversas

de L e U e as eventuais modificações serão calculadas conforme as fases acima. Como se

pode observar, efetua-se simplesmente a multiplicação de matrizes a cada nova modificação.

Neste capítulo foram consideradas modificações da matriz A, modificações estas feitas

por nós ou ramos orientados. A partir da equação matricial ,)( bxAA =∆+ chegou-se à

fórmula bAAAAIAAx ]).([ 11111 −−−−− ∆∆+−= através de deduções matemáticas. A idéia

principal é tornar o cálculo de x rápido e eficiente. Isto é possível, pois basta armazenar

1−A uma única vez e usar este fato a cada modificação efetuada. Verificou-se que pode-se

armazenar as inversas de L e U que também permitem o cálculo de x da equação matricial.

Page 44: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

CAPÍTULO 3

MÉTODOS DE REFATORIZAÇÃO PARCIAL

Quando o número de alterações da matriz A no sistema A x = b não é pequeno, as

modificações são permanentes e não há necessidade de se resolver o sistema repetidamente,

os métodos de refatorização parcial são mais eficientes.

A refatorização parcial é aplicável a qualquer matriz A não singular, mas neste

capítulo considera-se que ela seja a matriz dos coeficientes de uma rede nodal.

Vê-se neste capítulo como se faz a decomposição L U por blocos para calcular a

refatorização da submatriz que foi modificada.

3.1 Método de refatorização parcial simples

Este método refatora somente a submatriz que contém os elementos modificados da

matriz. Os elementos da matriz fora da submatriz não são alterados[Brandwajn,86].

O problema deste método é que o tamanho da submatriz, e consequentemente o

trabalho de refatorização são influenciados pela posição dos elementos modificados na matriz

A. Se os elementos modificados estiverem próximos do topo da matriz, pouca ou nenhuma

vantagem é alcançada neste método.

Seja

=

66656362

565551

444342

363433

26242221

151211

00000

00000000

000

yyyyyyy

yyyyyyyyyy

yyy

A

FIGURA 8 – Rede referente à matriz A da rede nodal modificada

1 2 4

5 6 3

y∆

Page 45: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

44

Seja B

=

6656

5655

44

00

00

yyyy

y a submatriz de A que contém os

elementos que serão 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.

[ ] [ ]

∆∆−

∆−∆=−∆

−=∆

yy

yyyB

0000

0101

101

e tem-se portanto:

∆+∆−

∆−∆+=∆+

yyyyyy

yyyBB

6665

5655

44

00

3.2 Decomposição L U em blocos

Para se fatorar apenas a submatriz B, faz-se a decomposição da matriz A em blocos:

=

2221

1211

AAAA

A onde:

A é n x n, invertível, 11A é r x r, invertível, 12A é r x (n-r) e 21A é (n-r) x (n-r).

Prova-se que:

121

112122

1211

11121

,|0

______|

|______0|

AAAACondeC

AA

IAA

ILUA

r

r−

−=

==

Demonstração

Tem-se:

Page 46: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

45

:A

CAAAA

AA

C

AA

IAA

I

r

r

=

+=

−−12

1112121

12111211

11121 |

________________|

|0__|__

|

|__|__0|

donde: 121

112122 AAAAC −−=

Supõe-se que:

=∆+

2221

1211

BAAA

AA , ou seja, modifica-se apenas o bloco 22A

Então

=∆+

− D

AA

IAA

IAA

r

r

|0__|__

|

|__|__0| 1211

11121

Onde: 121

112122 AAABD −−=

isto é, ••=∆+ ULAA com

== ••

D

AAUeLL

|0__|__

| 1211

De byAA =∆+ )( vem byUL =• . Pondo z = yU • , vem L z = b.

Assim, para resolver byAA =∆+ )( , acha-se A= L U ( em bloco ) e resolve-

se L z = b para achar z. Achando-se z , resolve-se zyU =• =

2

1

ZZ

, onde

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

=•

D

AAU

|0______

| 1211

e 211

112122 AAABD −−=

Se

=

2

1

___Y

Yy onde 1Y é r x 1 e, 2Y é (n-r) x 1. Então, zyU =• dá:

==+

22

1212111

zDYzYAYA

. Após achar , 2Y tem-se )( 21211

111 YAzAY −= − ,

Page 47: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

46

Em 22 ZYD = , faz-se wYUresolvendoYacharsepodewcalculado

ZweLwYUULD

=−

===

22

22

,

,o

oooo

3.3 Exemplo

Seja a resolução do sistema byAA =∆+ )( onde foram feitas modificações apenas

no bloco 22A .

Seja

−−−

−−−−−

−−

=

302000513021603

0306300336

A =

2221

1211

AAAA

, onde:

=

−−−

=

−−−=

−−

−−=

3005

200130

,21

0300

,603063336

22211211 AeAAA

Tem-se:

;

41

121

61

121

41

61

61

61

31

111

=−A

−−−

−−−=−

21

61

21

21

65

32

11121AA e

=−

1113

121

1121 AAA

Considera-se que a modificação foi a ligação do nó 4 ao nó 5, onde 1=∆y , então

−−−−−−−−

−−−−

=∆+

412001613021603

0306300336

)( AA , com

−−=

4116

22B

decompondo AA ∆+ em ••UL (em blocos) pode-se escrever a equação:

byUL =•• , mas como LL =• tem-se byLU =• e fazendo zyU =• ,vem L z = b.

Page 48: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

47

Cálculo de z, na equação L z = b;

−−

=

−−−

−−−

32

060

1021

61

21

0121

65

32

001000001000001

5

4

3

2

1

zzzzz

então

=

23060

z

Como zyU =• , passa-se ao cálculo de y , onde :

121

112122

1211

|0______

|AAABD

D

AAU −• −=

=

=

−−

−−−−−−−

−−

=•

23060

32|00023|000

____|______21|63

03|36300|336

5

4

3

2

1

yyyyy

yU

D 22 ZY = , fatorando D em oo UL , pode-se resolver a equação 2ZyUL =oo e wyU =o

−=

−= 1

32

01

35023

oo LU

2ZwL =o

=

−=

23

132

01

2

12 w

wZ ,

03

2

1

=

=ww

wyU =o

=

−03

5023

5

4

yy

01

5

4

==

yy

)( 21211

111 YAZAY −= −

=

−−−−

=

13735

)01

210300

060

(

41

121

61

121

41

61

61

61

31

3

2

1

yyy

,

portanto, a solução será: 01,1,37,

35

54321 ===== yeyyyy

Page 49: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

48

3.4 Método de refatorização parcial simples com arranjo especial

Este método supera o problema do método anterior, forçando os elementos que

precisam ser modificados para a parte inferior da matriz. O arranjo especial aumenta a

eficiência da refatorização; porém, ele pode degradar a esparsidade e aumentar o trabalho

computacional para operações progressivas e regressivas. Além disso, este método restringe-

se a aplicações onde as posições dos elementos da matriz modificada podem ser previstas

antecipadamente [Brandwajn ,86] .

3.5 Observações do que ocorre quando se decompõe A em L D U ∗

Na transformação de A em L D U∗ , a matriz triangular inferior L e a matriz triangular

superior U∗ não mantêm o mesmo grau de esparsidade da matriz A. Aparecem em L

elementos não nulos ijl ( i < j ) onde ija correspondente de A é nulo. Estes elementos ijl que

surgem em L são os “fill-ins”, preenchimentos que correspondem a novas ligações ao se

eliminar alguns nós.

Para se conseguir minimizar o número de “fill-ins”, existem técnicas que podem ser

usadas em conjunto com a fatoração de A, procurando preservar a estrutura esparsa de L.

As matrizes de incidência simétricas podem ter uma estrutura corretamente descrita

por grafos não orientados, se 0≠ija implica que jia também é 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 não orientado.

Page 50: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

49

O capítulo três mostra que o método de refatorização simples é mais conveniente, pois

o método de refatorização com arranjo especial degrada a esparsidade da matriz A. Mostra-se

que para a solução do sistema deve-se decompor a matriz A em L D U por blocos, também,

como se decompõe por blocos uma matriz e, finaliza-se com um exemplo aplicando o

método.

Page 51: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

CAPÍTULO 4

MÉTODO DE BENNETT

O capítulo mostra um método engenhoso, devido a Bennett [Bennett,65] , utilizado

para atualizar os fatores L D U∗ de uma matriz modificada. Chega-se à atualização dos

fatores, sem alterar a matriz A do sistema A x = b. Nele também pode-se ver o algoritmo que

permite estas alterações a partir das inversas das matrizes L .D e U∗ .

4.1 Método de Bennett

Quando adiciona-se A∆ à matriz A, pelo método de composição, conclui-se que:

111111 )()( −−−−−− ∆∆+−=∆+ AAAAIAAAA . Com a substituição de tXCYporA∆ , chega-se a

outra identidade, efetuando as operações abaixo:

[ ]

[ ]

[ ]

[ ] 111111

11111111

1111111

111111

111111

11111

1

)(

][

)(

)()(

)(

)(

−−−−−−

−−−−−−−−

−−−−−−−

−−−−−−

−−−−−−

−−−−−

+−

=+−

=+−

=+−

=+−

=+−

=+

AYXAYCXAA

AYXXAYCAA

AYAYXCAA

AYAYXCAA

AYAXCYIXCAA

AXCYAXCYIAA

XCYA

tt

t

tt

tt

tt

tt

t

Page 52: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

51

Pode-se ver como fica a inversa de uma matriz modificada quando acrescenta-se à

matriz o termo tXCY . Não é necessário armazenar a inversa da matriz a cada modificação,

basta apenas armazenar a inversa de A uma única vez; com isto, o número de operações

diminui, o que é fundamental para a computação.

Supõe-se que A seja decomposta no produto L D U. Se A for modificada pela adição

de tXCY , é desejável também ser capaz de modificar L D U, de modo a se obter a

decomposição L • D •U • de tXCYA+ .

Para se evitar a inversa completa da matriz modificada, toda vez que há uma alteração,

trabalha-se com os fatores triangulares.

Para iniciar o processo do cálculo de L • D • U • da matriz modificada, introduze-se

as anotações:

→iL representa a matriz obtida da matriz unidade I, pela substituição da i-ésima coluna de I

pela i-ésima coluna de L.

→iU representa a matriz obtida da matriz unidade I, pela substituição da i-ésima linha de I

pela i-ésima linha de U.

→∗iK é a i-ésima linha de K

→∗ iK é a i-ésima coluna de K

Também são válidas as propriedades:

A) ∑=

−+=n

in

in ILIL

1

)(

De fato, tem-se:

Page 53: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

52

=

=

==

10000...............0...1000...0100...001

...,,

1...00...............0...100...0100...001

,

1...00...............0...100...010...001

2

322

1

31

211 n

nn

L

l

lL

l

ll

L

Logo:

=−∑=

0..................0...00...000...000

)(

321

3231

21

1

nnn

n

in

i

lll

lll

IL e, portanto: ( )∑=

−+=n

in

in ILIL

1

B) in

i LIL −=− 2)( 1 ,

Se A é n x n e B é a matriz obtida de A pela aplicação da transformação elementar T,

isto é , B = T(A), então B = E A, onde E é a matriz T( nI ).

Tem-se:

=

+

+

10...0...00........................00...0...0000...1...0000...01...00........................00...00...1000...00...01

.

,

,2

.1

jn

jj

jj

j

l

ll

L

Portanto:

njjjjjnnjj IlElEL )()...( ,1,1, ++= , onde )( ijij lE é a matriz elementar obtida de nI somando à

linha i a linha j multiplicada por ijl .

Page 54: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

53

Donde

−−

−−=

+

+++

10...0...00........................00...0...0000...1...0000...01...00........................00...00...1000...00...01

)()...()(

,

,2

,1.1,1

1

jn

Jj

jjnnjnjjjjj

j

l

ll

IlElEL = jn LI −2

Exemplo: para j = 1

11

1

31

21

1

31

21

1

)(

1...00...............0...100...010...001

0...00...............0...100...010...001

2...000...............0...2000...0200...002

2

−=

−−

=

=−

L

l

ll

L

ll

LI

nn

n

Valem também as propriedades:

C) ∑=

−+=n

in

in IUIU

1

)(

D) in

i UIU −=− 2)( 1

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

=

nnnnn

n

n

n

aaaa

aaaaaaaaaaaa

A

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

...

...

...

321

3333231

2232221

1131211

, ,

..................0...10...010...001

321

3231

21

=

nnnnn llll

lll

L

=

55

33

22

11

0000...............000000000000

d

dd

d

D e

=∗

1...000...............

...100

...10

...1

3

223

11312

n

n

n

uuuuuu

U

Page 55: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

54

Fazendo: 1111 ad = ,

obtém-se

== ∗∗

1

31

21

111

1

.

.

.

1

1

nl

ll

Aa

L e [ ]nuuuAa

U 11312111

1 ...11== ∗∗ .

Além disso, se A é particionada em submatrizes tem-se

=

HGFa

A 11

Então,

−=−∗−GF

aH

aUAL

11

111111 10

0)()( e tem-se ainda:

1

11

111 10

0∗

−= UGFa

H

aLA

Referindo-se A como GFa

HAseescreveA11

)2()1( 1, −=− .

Então:

( )

=

1...000...............

...100

...10

...1

00

1..................0...10...010...001

3

223

11312

)2(11

321

3231

211

n

n

n

nnn

uuuuuu

Aa

lll

lll

A

As operações acima repetidas em 22)2(

2)2(

2)2( , deULfornecemA ∗∗ .

Com repetições adicionais, completa-se o processo e determina-se L D U∗ .

Page 56: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

55

4.2 Prova do processo

Tem-se:

=

−−−−−−−−−−

−−−−−−

−−−−−−

=∗

−− 1

112

)2(

11

1

1

211

)2(111

|0

...|1

|0

0|

||.|.|.||

0|1

00

n

n

n

n I

uu

A

a

l

I

lU

Aa

L

+

−−−−−−−−

=

−−−−−−−−

−−−−

=

|.|.|.|.||

...|

|0|

...|

||.|.|.||

0|1

)2(

21

11211

)2(

11211

1

1

21

AK

a

aaa

A

aaa

l

I

l

n

n

n

n

Onde GFa

aaa

aaa

aaa

aaa

alal

alalK

nnn

n

nnn

n

11

11

11

11

121

11

121

11

1221

11121

1211221 1

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

...

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

...=

=

= pois

[ ]n

n

aaFe

a

a

G 112

2

21

......

=

= . Portanto GFa

AH11

)2( 1+= e

GFa

HA11

)2( 1−= . Assim ,

−−−−=

−−−−=∗ −−

)2(

11

11

111111

|0|

0|

1|0

|0|

)()(A

a

GFa

H

aUAL

Page 57: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

56

4.3 Exemplo

−−−

−==

9721074

642)1(AA . Decompondo A no produto L D U∗ tem-se :

−=

131012001

L ,

−−

=∗

100210321

U e

=

300010002

D

Toma-se:

211 =d ,

−=

−== ••

12

1

24

2

211

111

11 A

aL e

[ ] [ ]321642211

111

1 −=−== •• Aa

U

[ ]

)2(

11 3321

54128

971071,

97107

1282416

log;24

64,2

AGFa

HH

GFoGeFHGF

A

=

−−

=

−−

−=−

−=

−=

−=−=

=

[ ] [ ] [ ] [ ]63321 )2(1122 −=−==−=== GFeHGFad

)3()2(

11

3631 AGFa

H ==+−=−

[ ]2131 )2(

1)2(

1 −=

= •• UL então:

Page 58: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

57

=

−−

=

−= ∗

300010002

100210321

,131012001

eDUL

No procedimento com a matriz modificada tXCYA + , a primeira linha e a primeira

coluna levam imediatamente a ••

••• 1111 , UedL , que são a primeira coluna de •L , o primeiro

termo da matriz •D e a primeira linha de •U , considerando-se que •••=+ UDLXCYA t .

Fazendo-se BYCXA t =+ , tem-se:

=

)2(11)1(

00

BdB .

Como é possível obter L D U de A conhecendo-se )()2()1( ,...,, nAAA , o mesmo

pode ser feito para ••• UeDL , da matriz A + X C tY = B.

Exemplo:

Para i = 1

=

=

1

1

1

1

01

)(,01

)(nn I

UI

α

( )

+=

•−•−•

tYCXAdUBL

)(00)( )2()2()2()2(

111)1(1

Se XC = D, YC t = E , então:

∑ ∑∑= ==

==m

k

m

jjkjk

m

k

tkk

t CXYYDDY1 1

111

1111)( =∑∑= =

m

j

m

kjkjk CXY

1 111 =

∑=

m

kjj

tjkk XCY

1,11 )( = ( )111

11

ttj

m

jj YCXXE =∑

=

;

tttt XCYddquesetemdacomoeXCYad •••

••• +=−=+= 1111111111111111

Por conveniência computacional, incluem-se os vetores:

Page 59: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

58

tiititiii

iitititii

CYqouYCq

CXpouXCp

)()()(

)()()(

)()(1

)()(1

)()(

)()(1

)(1

)()(

••

••

==

==

4.4 Algoritmo

,1

;)()1(

11

;)1(

;)1(

;

;

1

;)()(

,;

;

;)(

1

0,0,,,

1

,,1

,,

,,1

,,

,11

,11,1

,11

,11,1

11

1

11

00111

processooretornaii

CCpqd

CC

injinj

jij

UUpYd

UU

LLqXd

LL

YYYYXY

XXXXLX

j

qqCYq

fimnini

DdpYDd

ppCXp

i

qpYYXXCCseDefine

iitii

ii

iji

jiijiiii

jii

jiijii

ijiijiii

jii

ijiiji

ij

ij

ij

ijii

ij

ij

ij

ij

iiji

ij

iitiiti

iiiiii

iiii

iiiiti

→+↓

→−=

↓↑←←←←←←

+−=+−<

→+

→=

→+=

→+−=

→+−=

→→→→→→→→→→=

→=

=<→→→→→→→→→→

→+=

→=

→=

=====−

++

+•+

+•+

•+

+•+

+•+

•+

•++••+•+

+•

•++••+•+

+•

−•

−•

Page 60: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

59

Se A e C forem simétricas e X=Y, o algoritmo se simplifica e o número de operações é

dividido em duas partes. Isto acontece nos problemas que envolvem as redes de energia

elétrica, pois as matrizes admitâncias são simétricas, X é a matriz de conexão M e

XMYéistoMY tt === ,, .

4.5 Exemplo

Sejam as matrizes

−−−

==

==

−==

−−

=

=

−=

−−−

−=

1626101758

,1132

,6830

21

100210321

,300010002

,131012001

,972

1074642

)1()1()1( YYCCXX

UDLA

[ ] [ ] [ ][ ] [ ] [ ]

[ ] [ ] [ ][ ] [ ] [ ]

=

=

−=−+−=

=−+−−=

=+−=

=−+=

+−=

+−=

•+•++•

•+•++•

1201

4712

121626583

011017582

4768211

1230212

)2()2(

)2(2

)2(1

)2(2

)2(1

)(,1

)(1,

)1(

)(,1

)(1,

)1(

)2()2(

YX

Y

Y

X

X

YYUY

XXLX

YeXdeCálculo

ij

ijii

ij

ij

iiji

ij

Cálculo de: ••

•• 11 UeL

Page 61: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

60

[ ]

[ ]

[ ]

[ ]

−=

−=

−=

−+−=

=

+=

=

+=

−=

+−=

••

••

310

9221

928

9131

310

54

.12913

922

54

01912

928

31

.47911

913

31

.12912

11

13

12

31

21

UL

U

U

L

L

[ ]

[ ]

[ ]

[ ] [ ] [ ][ ] [ ] [ ]1012012

1147123

93

914

93

914

96

922

93

914

01)(

938925

938

925

96

93

922

914

12)(

96

93

922

914

5431

91

1132

,,,,

)3(

)3(

)2()2(

)2()2(

)2(

)3()3(22

)2()2()2(

=−+=

=+−=

−=

−=

−=

=

=

−−=

−−=

=

Y

X

qq

pp

C

YeXdqpCdeCálculo

t

t

Page 62: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

61

[ ]

[ ]

−=

=

−=

+−=

=

−+=

••

••

••

••

171510

34113

10

1715

938925

103492

34113

93

914

313493

22

23

32

22

UL

U

L

UeLdeCálculo

[ ]

[ ]

[ ]1758

3410

3411

103

3410

3424

,3410

3424

3410

3424

343

3414

10)(

34143411

,3414

3411

3410

343

3424

3414

11)(

3410

343

3424

3414

938

925

93

914

349

96

93

922

914

,,

33

)3()3(

)3()3(

)3(

33)3()3()3(

=

−+=

−=

−=

−=

=

=

−−=

−−=

−−

−−=

d

qq

pp

C

deqpCdeCálculo

t

t

Tem-se: ••• UDL =

1001715103

109221

75800

09

340009

134

113928

019

13001

Pode-se verificar que •••=+ UDLYCXA t

Page 63: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

62

Nste capítulo, mostra-se que John M. Bennett, substituindo A∆ por tYCX na

matriz 1)( −∆+ AA , chegou à identidade 1111111 ][)( −−−−−−− +=+ AYXAYCXAYCXA tt .

Mostra-se também que não é necessário armazenar a inversa da matriz A a cada

modificação, é suficiente armazenar a inversa de A uma única vez, o que é fundamental

para a computação. Com o desenvolvimento de um algoritmo, chegou-se à

decomposição da matriz tYCXA + em ••• UDL a partir de L D U da matriz A. É

possível evitar a inversa da matriz modificada tYCXA + usando L D U da matriz A,

permitindo resolver o sistema matricial a cada modificação e, também, o método foi

exemplificado.

Page 64: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

CAPÍTULO 5

MÉTODOS DE REFATORIZAÇÃO PARCIAL I E II

Os métodos de refatorização parcial I e II foram impulsionados pela observação de

que a alteração em uma linha/coluna de uma matriz afeta somente um subgrupo de

linhas/colunas subseqüentes. Neste capítulo considera-se também 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 Métodos de refatorização parcial I e II

Alguns melhoramentos tornam os métodos de refatorização parcial I e II mais

eficientes:

1) A matriz original é organizada sem levar em consideração as modificações futuras.

Nenhum nó é forçado para fora da organização direcionada pela esparsidade da matriz.

2) Somente os fatores alterados na matriz são atualizados, não importando a posição dos

elementos na mesma.

Se a matriz A é definida positiva e simétrica, a matriz U é transposta da matriz L, mas

não é simétrica; é idêntica em relação à estrutura esparsa.

A refatorização parcial pode ser aplicada a qualquer matriz A não singular, mas neste

capítulo considera-se que ela seja a matriz dos coeficientes de uma rede nodal.

Page 65: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

64

5.2 Ordenação dos nós por grau mínimo

Se A é a matriz admitância de uma rede, a ordenação dos nós tem o propósito de

minimizar o aparecimento de elementos não nulos, que surgem nas matrizes L e U em

posições onde na matriz original A, existem elementos nulos: são os "fill-ins" [Tinney,85].

O processo de ordenação por grau mínimo consiste em enumerar os nós da rede em

ordem crescente de seus graus. O grau de um nó é dado pelo número de ligações que ele

possui. Isto é o mesmo que enumerar as linhas/colunas da matriz, de acordo com o número de

elementos não nulos fora da diagonal.

Após ordenar a matriz usando o método de grau mínimo, ela será organizada em

níveis em forma de L invertido. Cada um desses níveis 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 fatorização linha superior /coluna inferior

Ao se modificar a linha/coluna em negrito somente um subgrupo das linhas/colunas

subseqüentes será afetado.

Page 66: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

65

Para utilização dos novos métodos, utiliza-se um esquema que permite um cálculo

eficiente do caminho de refatorização. Neste capítulo é usado o esquema linha superior/coluna

inferior.

É interessante observar que a alteração de uma linha/coluna afeta somente um

subgrupo de linhas/colunas subseqüentes. Isto pode ser visto no exemplo dado abaixo para

uma rede de doze nós (FIG. 10).

FIGURA 10 – Rede nodal com 12 nós

Pode-se formar uma tabela e um grafo onde se verifica o caminho, isto é, a seqüência

que cada nó tem na rede (Tabela abaixo).

O grafo do caminho é fornecido pela tabela como pode ser conseguido, também,

através da matriz L. O grafo tem um sentido do nó de menor numeração para o de maior

numeração. Quando o nó não é conectado diretamente ao nó seguinte, usa-se o "fill-

in"[Tinney,85].

6

11

2

1 4 9

7

10 12

3

8 5

Page 67: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

66

insfillnovoelementooriginalelemento

−−•o

•••••••••

••••••

•••••

••••

•••

••

o

o

121110987654321

FIGURA 11 – Estrutura esparsa da matriz L

Tabela de caminhos

01296121185121094109831185210741

PrPr NóóximoNóNóóximoNó

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

FIGURA 13 – Grafo do caminho com 12 nós (árvore)

1

4

9

10

12

2

5

8

3 6

7

11

Page 68: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

67

Considerando, como exemplo, a alteração 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 estão localizados nas linhas/colunas 10, 11, 12.

As linhas/colunas afetadas podem, também, ser encontradas a partir do caminho do

grafo da matriz (FIG. 13). O caminho consiste de nós encontrados durante o traçado do

caminho, partindo de um nó até o último nó em ordem crescente.

Quando mais de uma linha/coluna é modificada, as linhas/colunas afetadas são

originadas pela união dos caminhos. Por exemplo: sejam as alterações nas linhas/colunas 6 e

1. Os fatores modificados estarão localizados nas linhas/colunas 4, 9, 10 , 11, 12. As outras

linhas/colunas permanecerão inalteradas.

5.3 Método de refatorização parcial I

O método de refatorização 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 serão as linhas/colunas subseqüentes que serão alteradas;

Terceiro passo: trabalhar apenas com a submatriz onde se encontram as linhas/colunas que

serão modificadas.

Pode se perceber a vantagem que se consegue neste método em relação ao método de

compensação. Faz-se antes uma ordenação da matriz antes de fatorá-la, para se minimizar ao

máximo os "fill-ins", ao mesmo tempo que se identifica a submatriz que será formada pelas

linhas/colunas que serão modificadas.

Page 69: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

68

5.4 Método de refatorização parcial II

O método de refatorização parcial II é uma variante do método de Bennett, no qual o

caminho de fatorização é utilizado para identificar as linhas/colunas que devem ser

atualizadas. É importante também ordenar a matriz A para minimizar os "fill-ins" e, para que

as matrizes L e U tenham o maior número de elementos nulos possíveis.

Ao se atualizarem os fatores L D U da matriz modificada, trabalha-se apenas as

linhas/colunas que serão atualizadas devido à modificação de uma ou mais linha/coluna.

5.5 Exemplo: (método de refatorização parcial I)

Considera-se uma rede de energia elétrica com 11 nós, (FIG. 14), onde a ordenação,

não foi efetuada.

FIGURA 14 – Rede de energia elétrica com 11 nós onde não foi feita uma ordenação

prévia dos mesmos

7

4 1

8

2 9

10 11

5 6 3

Page 70: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

69

•••••

••••••

••••••

••••

••••

=

o

o

o

L )( insfillnovoelemento

originalelemento−

•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 ordenação (árvore de 11 nós)

1 2

5

8

9

10

11

3

4

6

7

Page 71: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

70

Com a ordenação de grau mínimo tem-se a ordenação mostrada na FIG. 16. Pode-se

verificar que o número de fill-ins diminuiu de três para um.

FIGURA 17 – Rede de energia elétrica com 11 nós onde foi feita

a ordenação de grau mínimo

•••••••••••

••••

••••

••••

••

o

)( infillnovoelemento

originalelemento−

•o

FIGURA 18 – Estrutura da matriz L ao se fatorar a matriz A, após a ordenação

observando o grau mínimo. Neste caso aparece apenas um fill-in

2

1 4 3

7

9

11 10 6

8 5

Page 72: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

71

FIGURA 19 – Grafo após se fazer uma ordenação de grau mínimo (árvore com 11 nós)

Pode-se representar por um sistema a rede de energia elétrica considerada acima após

a ordenação. Atribuindo-se valores às admitâncias e às correntes, considerando como

incógnitas as tensões, tem-se:

062162226140423622413326124124

1198743

108653

11987

111098

11971

1062

1052

1141

11103

652

741

=−−−−−=−−−−=−−−=−−−=−−−=−−=−−=−−=−−=−−=−−

xxxxxxxxxxx

xxxxxxxxxxxx

xxxxxx

xxxxxx

xxxxxx

E, portanto, tem-se a equação matricial A x = b onde:

6 3 2 1 7 8

5

10 4

9

11

Page 73: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

72

=

−−−−−−−−−

−−−−−−−−−

−−−−

−−−−

−−−−

=

01210321311

6021100110006010110200206110000001114000000010104000002

01000600020010000400101000000300112000000600

0000021004000002001004

beA

Para exemplificar suponha-se que foi feita uma alteração na linha/coluna de número 7.

Observando as FIG. 17 ou 18 pode-se ver que esta alteração irá modificar apenas as

linhas/colunas 9 e 11. Isto permite trabalhar apenas na submatriz que envolve estas

linhas/colunas. Decompõe-se a matriz A em L U por blocos.

=

−−−

−−−−

= −

410000000

0321100

16100

163

007415

37100

3740

00373

371000

3730

016100

8300

81

000006100

00374

37300

37120

016300

8100

83

,

4000000004000002006000200004001000003001000006000021004002001004

11111 AA

−=

−−−−−−−−−−

=

−−−−−

−−

−−−

=602060206

110011001011020011000000

,

111101

010010100120

000000

222112 AeAA

Page 74: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

73

−−−−−

−−−−−

−−−−

=−

41

321300

167

610

165

410

7417

37110

31

3770

41

321100

16100

163

. 11121 AA

−−

−−

−−

=−

= −−

96455

127

3285

127

4442023

41

3285

41

32173

..,

96121

127

3221

127

444641

41

3221

41

3219

.. 121

112122121

1121 AAAAAAA

A x = b e A = L U em blocos então L U x = b. Fazendo U x = y, tem-se L y = b.

Cálculo de y:

=

−−−−−

−−−−−

−−−−

01210321311

41

321300

167

610

165

410

7417

37110

31

3770

41

321100

16100

163

0

11

10

9

8

7

6

5

4

3

2

1

3

8

yyyyyyyyyyy

I

I

Tem-se:

23

148551,

1639,1,0,3,2,1,3,1,1 1110987654321 =========== yeyyyyyyyyyy

Cálculo de x:

U x = y, então tem-se :

=

−−

−−

−−

2

1

2

1

1211

96455

127

3285

127

4442023

410

3285

41

32173

YY

XX

AA

Page 75: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

74

onde

=

10321311

1Y e

=

23

1485511639

2Y

Como 1212111 .. YXAXA =+ e 2222. YXB = ,então :

222.XB =

=

−−

−−

−−

23

1485511639

.

96455

127

3285

127

4442023

41

3285

41

32173

2X , para calcular 2X decompõe-se a

matriz 22B em ooUL . Pode-se escrever então 22 YXUL =oo e fazendo

zXU =2o , 2YzL =o .

=

−−−=

23

1485511639

11554,04913,0010462,0001

zzLo , logo

=

2935.38355,34375,2

z

=2XU o

=

−−−

2935,28355,34375,2

3248,3007061,05447,406563,225,04066,5

2X ,

9837,09978,0

9906,0

11

10

9

==

=

xxx

fazendo os arredondamentos tem-se

=

111

2X

).(

).(..

..

212111

111

21211

111111

11

212111

11

XAYAX

XAYAXAA

XAYXA

−=

−=

−=

−−

,

então:

Page 76: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

75

=

−−−−−

−−

−−−

=

11111111

)111

.

111101

010010100120

000000

10321311

(

410000000

0321100

16100

163

00371

371500

3740

00371

371000

3730

016100

8300

81

000006100

00374

37300

37120

016300

8100

83

1X Temos,

portanto: 1... 11109321 ======= xxxxxx , que é a solução do sistema dado.

Mostra-se neste capítulo que ao se alterar uma ou mais linhas/coluna de uma matriz são

afetados somente um subgrupo de linhas/colunas subseqüentes e, também, a vantagem

de ordenar uma matriz antes de fatorá-la em L U, pois proporciona menos

preenchimentos(“fill-ins”) das posições de elementos nulos na matriz A que aparecem

nas matrizes L e U, quando se efetua a decomposição.

Page 77: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

CONCLUSÃO

O método de compensação é apropriado às aplicações onde o número de mudanças é

pequeno, as modificações não são permanentes e as equações modificadas não precisam ser

resolvidas repetidamente.

O método da refatorização simples refatora somente a submatriz que contém os

elementos da matriz modificada e neste método, se os elementos modificados estiverem no

topo da matriz, não existe vantagem em usá-lo.

O método de refatorização simples, com arranjo especial, força os elementos para a

parte inferior da matriz, porém, pode alterar seriamente a esparsidade da matriz e restringe-se

às aplicações onde a posição dos elementos da matriz modificada pode ser prevista

antecipadamente.

O método de Bennett atualiza os fatores L D U da matriz modifica e a vantagem é que

não precisa armazenar a inversa da matriz modifica a cada modificação 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 através dos fatores L D U da matriz inicial.

Os métodos de refatorização parcial I e II são significativamente mais rápidos que os

métodos anteriores. A eficiência deriva dos conceitos de caminho recentemente desenvolvido.

O método de refatorização parcial I refatora seletivamente um subgrupo de linhas/colunas da

matriz modificada, isto é, somente o subgrupo que sofre modificações ao se alterar uma ou

mais linha/colunas. O método de refatorização parcial II é o de Bennett modificado que utiliza

o caminho para alterar seletivamente fatores matriciais, portanto, os dois últimos métodos são

mais usados.

Page 78: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

REFERÊNCIAS BIBLIOGRÁFICA

[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 Elétrica”.Ed. Edgard Blücher Ltda –São 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 Potência”, Técnicas de Operação- Livros Técnicos e Científicos Editora S/A, 1981.

[Sato, 63] Sato, N. & Tinney, W. F., “Techniques for exploiting the sparsity of the network admit New York,Dec.1963.

Page 79: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

78

[Szwarcfiter, 83] Szwarcfiter, Jayme Luiz, “Grafos e algoritmos computacionais”, Editora Campos Ltda., Segunda Edição, 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.

Page 80: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

79

Page 81: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

APÊNDICE I

Processo detalhado para mostrar que AUA

aL =

1)2(

111

00

[ ]

)2(

11

11

11

1313

11

1212

11

1313

11

133133

11

123132

11

1212

11

132123

11

122122

11

11312

1

31

21

32

33332

22322

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

...

...

...,...

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

...

...

A

aaaa

aaaa

aaaa

aaaa

aaaa

aaaa

aaa

aa

aaa

aaaa

aGFH

aaaF

a

aa

G

aaa

aaaaaa

H

nnnn

nn

nn

nn

nn

n

n

nnnn

n

n

=

=−−

−−−

−−−

=−

=

=

=

( )

−−−

−−−

−−−

=

=

−−−

−−−

−−−

=

=

11

11

11

1313

11

1212111

11

1313

11

133133

11

1231321131

11

1212

11

132123

11

1221221121

11

11

11

11

1313

11

1212

11

1313

11

133133

11

123132

11

1212

11

132123

11

122122

11

1

31

21

2111

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

...

...

0...00

...0............0

...0

...0

0...00

1...00...............0...100...010...001

00

aaaa

aaaa

aaaaal

aaa

aa

aaa

aaa

aal

aaaa

aaaa

aaaaal

a

aaaa

aaaa

aaaa

aaa

aa

aaa

aaa

a

aaaa

aaaa

aaaa

a

l

ll

Aa

L

nnnn

nn

nnn

nn

nn

nnnn

nn

nn

nn

nn

n

Page 82: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

81

=

1)2(

111

00

UA

aL A

uuu

Aa

L

n

=

10000...............0...1000...010

...1

00

11312

)2(111

−+−++−

−+−+−−

−+−+−+

=

11

111111

11

131313111

11

121312111111

11

131311131

11

133133131131

11

1231321211311131

11

121211121

11

132123131121

11

1221221211211121

1111311121111

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

...

...

...

aaaaual

aaaaual

aaaaualal

aaaaual

aaaaual

aaaaualal

aaaaual

aaaaual

aaaaualal

uauauaa

nnnnnn

nnn

nnnn

nnn

nnn

n

Pode-se verificar que:

11

111111

11

11

11

11

11

111111

11

1321131121

11

1221121121

11

111111

11

111111

11

1313131311

11

3131311131

11

1212121211

11

2121211121

,

:

,,...,,

:,

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

aaa

ualeaa

uaa

l

seconcluea

aauala

aauala

aaual

setementâo

aauaua

aalaal

aauaua

aalaal

aauaua

aalaal

jiji

jj

ii

nnnn

nnnn

nnnn

===

===

=⇒==⇒=

=⇒==⇒=

=⇒==⇒=

Page 83: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

82

APÊNDICE II

Implementação computacional do Método 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; // Método anulado procedure contar; public constructor Create(); end; type Tprinti = class(TThread) private protected procedure Execute; override; // Método anulado procedure contar; public constructor Create(); end; type TFrmLDU = class(TForm) Panel1: TPanel; BitBtn1: TBitBtn; Edit1: TEdit;

Page 84: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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;

Page 85: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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;

Page 86: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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

Page 87: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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 + ' inválida.'); 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

Page 88: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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; //Cálculo 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;

Page 89: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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(''); // cálculo 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];

Page 90: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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:= '';

Page 91: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

90

end; memo1.Lines.Add(''); //Cálculo 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;

Page 92: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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;

Page 93: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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. }

Page 94: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

93

FreeOnTerminate := True; // Libera o objeto após 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 após 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.

Page 95: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

94

EXEMPLO:

Seja a matriz A =

−−−

−−−−−

−−

201000513011503

0305200325

, A = L D U

=

−−−

−−

−−

=

33460000

02033000

0072000

0005210

00005

13313

20700

012013

750

00172

53

000152

00001

DL

−−

−−

−−

=

1000033131000207

713100

075

7210

0053

521

U

−=

=

−=

1000100101

1001

1000100101

YDX

Page 96: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

95

Aplicação do programa no exemplo da página 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

Page 97: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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

Page 98: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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

Page 99: DOS MÉTODOS DE REFATORIZAÇÃO DE MATRIZES NA … · RESOLUÇÃO DE SISTEMAS MATRICIAIS ... análise de estruturas, teoria dos grafos, ... x é o vetor das tensões e b o vetor das

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