1 Semestre 2011
Capı́tulo 3 – Eliminação de Gauss e decomposição LDU
3.1 Introdução
PRESERVAR A ESPARSIDADE
A·x =b
em que:
10 1 2 1
2 9 2 1 2
1 8 1 3
A=
1
e b=
9 2
2
2 2 10 1 1
1 1 9 2
–1–
Como A tem inversa, a solução é única e dada por:
x = A−1 · b
0,1052 −0,0135 0,0035 −0,0248 0,0064 −0,0011 1
−0,0250 0,1205 −0,0307 0,0087 −0,0143 0,0050 2
0,0033 −0,0156 0,1308 −0,0015 0,0033 −0,0149 3
= −0,0134 0,0073 −0,0022 0,1196 −0,0250 0,0030 · 2
0,0078 −0,0260 0,0081 −0,0260 0,1091 −0,0130 1
−0,0012 0,0046 −0,0154 0,0030 −0,0125 0,1142 2
0,0433
0,1369
0,3349
=
0,2149
0,0113
0,1838
◮ Obter a inversa da matriz A e multiplicá-la pelo vetor b são tarefas simples de serem
realizadas, mesmo que a matriz A esteja armazenada de forma compacta.
Problema: a matriz A−1 é cheia. Do ponto de vista de espaço de memória, não é van-
tajoso armazená-la utilizando os esquemas de armazenamento compacto.
–2–
3.2.2 Método direto – substituição de variáveis
3x1 − 2x2 − x3 = 0
−2x1 + 2x2 − x3 = −1
−x1 − x2 + 3x3 = 1
◮ A solução pode ser obtida, como mostrado na seção 3.2.1, através de:
3 −2 −1 x1 0
−2 2 −1 · x2 = −1
−1 −1 3 x3 1
−1
x1 3 −2 −1 0
x2 = −2 2 −1 · −1
x3 −1 −1 3 1
−5/3 −7/3 −4/3 0
= −7/3 −8/3 −5/3 · −1
−4/3 −5/3 −2/3 1
1
= 1
1
–3–
◮ Outra maneira de resolver o sistema de equações é através da eliminação de
variáveis nas equações. Reescrevendo a primeira equação:
2 1
x1 = x2 + x3
3 3
e substituindo na segunda e terceira equações:
3x1 − 2x2 − x3 = 0
2 5
3 x2 − 3 x3 = −1
− 35 x2 + 83 x3 = 1
5 3
x2 = x3 −
2 2
e substituindo na terceira equação:
3x1 − 2x2 − x3 = 0
2 5
3 x2 − 3 x3 = −1
− 23 x3 = − 23
–4–
◮ Colocando o sistema de equações na forma matricial tem-se:
3 −2 −1 x1 0
0 2/3 −5/3 · x2 = −1
0 0 −3/2 x3 −3/2
x3 = 1
3x1 − 2x2 = 1
2
3 x2 = 23
x3 = 1
x2 = 1
–5–
◮ Substituindo o valor de x2 na primeira equação:
3x1 = 3
x = 1
2
x3 = 1
x1 = 1
1 0 0 x1 1
0 1 0 · x2 = 1
0 0 1 x3 1
–6–
◮ Nota-se que, na solução, a matriz de coeficientes A transformou-se na matriz
identidade. Além disso, o vetor independente transformou-se no vetor solução.
3x1 − 2x2 − x3 = 0
−2x1 + 2x2 − x3 = −1
−x1 − x2 + 3x3 = 1
3x1 − 2x2 − x3 = 0
2
3 x2 − 53 x3 = −1
− 35 x2 + 83 x3 = 1
–7–
◮ A operação definida acima resulta em:
3x1 − 2x2 − x3 = 0
2
3 x2 − 53 x3 = −1
− 23 x3 = − 23
que também já foi obtida anteriormente. Novamente, a terceira equação só depende
de x3 e sua solução é trivial. Até aqui foi realizada a substituição Forward, e os
elementos do triângulo inferior da matriz de coeficientes foram tornados iguais a
zero.
2
Linha 3 ← − · Linha 3
3
1
Linha 1 ← · Linha 1
3
3
Linha 2 ← · Linha 2
2
2 1
x1 − 3 x2 − 3 x3 = 0
x2 − 52 x3 = − 23
x3 = 1
–8–
◮ A substituição Back é realizada fazendo-se as seguintes operações entre as
equações:
5
Linha 2 ← · Linha 3 + Linha 2
2
1
Linha 1 ← · Linha 3 + Linha 1
3
2 1
x1 − 3 x2 = 3
x2 = 1
x3 = 1
2
Linha 1 ← · Linha 2 + Linha 1
3
x1 = 1
x2 = 1
x3 = 1
–9–
◮ Pode-se resolver um problema do tipo:
A·x =b
[A | b]
⇓
[I | x ]
– 10 –
3.2.4 Pivoteamento
10−10 1 x1 1
=
2 1 x2 5
10−10 1 1
0 −2 · 1010 + 1 −2 · 1010 + 5
1 1010 10
10
0 1 −2 · 1010 + 5 / −2 · 1010 + 1
1 0 −2 · 1010 + 5 / −2 · 1010 + 1 · −1010 + 10 10
0 1 −2 · 1010 + 5 / −2 · 1010 + 1
ou seja:
0
x≈
1
– 11 –
◮ Considere agora que o sistema de equações seja rearranjado como:
2 1 x1 5
−10 =
10 1 x2 1
2 1 5
0 −1/2 · 10−10 + 1 −5/2 · 10−10 + 1
1 1/2 5/2
0 1 −5/2 · 10−10 + 1 / −1/2 · 10−10 + 1
1 0 5/2 − 1/2 · −5/2 · 10−10
+ 1 / −1/2 · 10 −10
+ 1
0 1 −5/2 · 10−10 + 1 / −1/2 · 10−10 + 1
ou seja:
2
x≈
1
Note que foi feita uma troca entre as linhas do sistema de equações. Este tipo de
pivoteamento é chamado parcial. O pivoteamento completo consiste em realizar
trocas de linhas e colunas.
– 12 –
3.2.5 Métodos iterativos
i Ai i xi bi
. =
A x b
n
X
A i j xj = bi i = 1, . . . , n
j=1
n
X
Ai i xi + A i j xj = bi i = 1, . . . , n
j=1,j6=i
n
!
1 X
xi = · bi − Ai j xj i = 1, . . . , n
Ai i
j=1,j6=i
– 13 –
◮ Nota-se que:
• ···
– 14 –
◮ Para uma iteração (m + 1), o processo iterativo pode ser definido como:
n
!
(m+1) 1 X (m)
xi = · bi − Ai j xj i = 1, . . . , n
Ai i
j=1,j6=i
Método de Gauss-Jacobi
i −1 n
!
1 X X
xi(m+1) = · bi − Ai j xj(m+1) − Ai j xj(m) i = 1, . . . , n
Ai i
j=1 j=i +1
Método de Gauss-Seidel
(m+1)
Para a obtenção de xi são utilizados os valores mais recentes disponı́veis dos
elementos do vetor x
– 15 –
Exemplo
Gauss-Jacobi
1 h i
(m+1) (m) (m)
x1 = · b1 − +A12x2 A13x3
A11
1 h i
(m+1) (m) (m)
x2 = · b2 − A21x1 + A23x3
A22
1 h i
x3(m+1) = (m) (m)
· b3 − A31x1 + A32x2
A33
Gauss-Seidel
1 h i
x1(m+1) = · b1 − +A12x2(m) A13x3(m)
A11
1 h i
(m+1) (m+1) (m)
x2 = · b2 − A21x1 + A23x3
A22
1 h i
(m+1) (m+1) (m+1)
x3 = · b3 − A31x1 + A32x2
A33
– 16 –
◮ A ideia geral desses métodos iterativos é converter o sistema de equações:
A·x =b
em:
x = C · x + g = ϕ (x )
(k+1) (k) (k)
x =C·x +g =ϕ x
A=L+D+U
– 17 –
◮ A convergência pode ser acelerada através da utilização de parâmetros de
aceleração.
i −1 n
!
(m+1) 1 X (m+1)
X (m)
zi = · bi − Ai j xj − Ai j xj i = 1, . . . , n
Ai i
j=1 j=i +1
(m+1) (m+1) (m)
xi = ωzi + (1 − ω)xi i = 1, . . . , n
(m+1) (m) (m+1) (m)
x =x +ω· z −x
= x (m) + ω · ∆x
x (m+1)
z (m+1)
x (m)
∆x
ω · ∆x
– 18 –
◮ Para cada problema existe um ω ótimo, mas para a maioria dos problemas práticos,
valores aproximados (empı́ricos) são escolhidos.
E (x) = kA x − b k2
◮ Algoritmo:
Inicialização:
k =1
r0 = A x0 − b
ρ0 = −AT r 0
Enquanto kr k k ≥ ε:
– 19 –
3.3 Eliminação de Gauss e decomposição LDU
10 1 2
2 9 2 1
1 8 1
A=
1
9 2
2 2 10 1
1 1 9
10 1 2
1
2 9 2 1 2
1 8 1 3
[A | b] =
1
9 2
2
2 2 10 1
1
1 1 9 2
– 20 –
A primeira posição a ser zerada é a posição (2,1) (A2,1 = 2)
10 1 2
1
2 9 2
1
2
1 8 1
3
1 9 2 2 linha 2 ← linha 1 × (−2/10) + linha 2
2 2 10 1
1
1 1 9 2
10,0000 1,0000 0 2,0000 0 0 1,0000
0 8,8000 2,0000 -0,4000 1,0000 0 1,8000
0 1,0000 8,0000 0 0 1,0000 3,0000
1,0000 0 0 9,0000 2,0000 0 2,0000
0 2,0000 0 2,0000 10,0000 1,0000 1,0000
0 0 1,0000 0 1,0000 9,0000 2,0000
◮ Observações:
A2,1 = 0
MAX = NB + 2 · NR + folga
– 21 –
a operação realizada equivale a premultiplicar a matriz aumentada por uma
matriz L1 tal que a matriz resultante tenha A2,1 = 0:
1
α2,1 1
1
L1 = α2,1 = −A2,1 /A1,1 = −2/10
1
1
1
[A1 | b1 ] = L1 · [A | b]
b2 ← b1 · α2,1 + b2
– 22 –
◮ O próximo passo é zerar a posição (4,1) (A4,1 = 1). Para isso, a seguinte operação
é realizada:
e o resultado é:
10,0000 1,0000 0 2,0000 0 0 1,0000
0 8,8000 2,0000 −0,4000 1,0000 0 1,8000
0 1,0000 8,0000 0 0 1,0000 3,0000
0 -0,1000 0 8,8000 2,0000 0 1,9000
0 2,0000 0 2,0000 10,0000 1,0000 1,0000
0 0 1,0000 0 1,0000 9,0000 2,0000
◮ O processo continua até que todo o triângulo inferior de A tenha sido zerado:
10,0000 1,0000 0 2,0000 0 0 1,0000
0 8,8000 2,0000 -0,4000 1,0000 0 1,8000
0 0 7,7727 0,0455 -0,1136 1,0000 2,7955
0 0 0 8,7953 2,0117 -0,0029 1,9123
0 0 0 0 9,2872 1,0592 0,2992
0 0 0 0 0 8,7555 1,6089
– 23 –
◮ O passo 2 corresponde a tornar todos os elementos da diagonal de A iguais a 1.
Para tornar o elemento A1,1 igual a 1, deve-se realizar a seguinte operação:
ou, da mesma forma, premultiplicar a matriz aumentada por uma matriz D1 tal que
a matriz resultante tenha A1,1 = 1:
α1,1
1
1
D1 = α1,1 = 1/A1,1 = 1/10
1
1
1
1,0000 0,1000 0 0,2000 0 0 0,1000
0 1,0000 0,2273 −0,0455 0,1136 0 0,2045
0 0 1,0000 0,0058 −0,0146 0,1287 0,3596
0 0 0 1,0000 0,2287 −0,0003 0,2174
0 0 0 0 1,0000 0,1140 0,0322
0 0 0 0 0 1,0000 0,1838
– 24 –
◮ O passo 3 consiste em zerar todos os elementos do triângulo superior de A.
Começando pelo elemento A5,6 = 0,1140, deve-se realizar a seguinte operação:
1
1
1
U1 = α5,6 = −A5,6 = −0,1140
1
1 α5,6
1
1,0000 0,1000 0 0,2000 0 0 0,1000
0 1,0000 0,2273 −0,0455 0,1136 0 0,2045
0 0 1,0000 0,0058 −0,0146 0,1287 0,3596
0 0 0 1,0000 0,2287 −0,0003 0,2174
0 0 0 0 1,0000 0 0,0113
0 0 0 0 0 1,0000 0,1838
1,0000 0 0 0 0 0
0,0433
0 1,0000 0 0 0 0
0,1369
0 0 1,0000 0 0 0
0,3349
0 0 0 1,0000 0 0
0,2149
0 0 0 0 1,0000 0
0,0113
0 0 0 0 0 1,0000 0,1838
| {z }
x
– 25 –
◮ Todos os valores de α ao longo do processo de eliminação de Gauss são chamados
de fatores triangulares. O processo de obtenção dos valores de α também é
chamado de fatoração triangular
0,1000 −0,1000 0 −0,2000 0 0
−0,2000 0,1136 −0,2273 0,0455 −0,1136 0
0 −0,1136 0,1287 −0,0058 0,0146 −0,1287
A=
−0,1000 0,0114 −0,0029 0,1137 −0,2287 0,0003
0 −0,2273 0,0585 −0,2380 0,1077 −0,1140
0 0 −0,1287 0,0007 −0,1094 0,1142
– 26 –
◮ Existem dois esquemas básicos de fatoração triangular para se zerar os elementos
dos triângulos inferior e superior da matriz:
– 27 –
Fatoração por linhas:
A sequência das operações é importante pois uma operação não deve criar
elementos não nulos em posições que foram zeradas em operações anteriores.
Tipicamente a substituição forward (zerar triângulo inferior) é feita por colunas e
a substituição back (zerar triângulo superior) é feita por linhas.
– 28 –
◮ Resumo das operações (combinações lineares) realizadas para transformar A em I na
matriz aumentada:
Logo:
A = L1−1 · L2−1 · . . . · L10−1 · L11−1 · D1 −1 · . . . · D6 −1 ·
U1−1 · U2−1 · . . . · U10−1 · U11−1
=L·D·U
– 29 –
◮ A matriz L é igual a:
◮ Notar que:
−1
1 1
1 0 1 0
−1
Lk = ... = ...
α −α
1 1
◮ A matriz D é igual a:
D = D1 −1 · D2 −1 · D3 −1 · D4 −1 · D5−1 · D6 −1
10,0000 0 0 0 0 0
0 8,8000 0 0 0 0
0 0 7,7727 0 0 0
=
0 0 0 8,7953 0 0
0 0 0 0 9,2872 0
0 0 0 0 0 8,7555
– 30 –
◮ Notar que:
−1
α 1/α
1 0 1 0
−1
Dk = =
0 ... 0 ...
1 1
◮ A matriz U é igual a:
◮ Notar que:
−1
1 1
1 α 1 −α
−1
Uk = . . = . .
0 . 0 .
1 1
– 31 –
◮ Normalmente a matriz D é incorporada a L (L ← L · D):
A=L·U
No caso da matriz A do exemplo:
L=L·D
10,0000 0 0 0 0 0
0,2000 8,8000 0 0 0 0
0 0,1136 7,7727 0 0 0
=
0,1000 −0,0114 0,0029 8,7953
0 0
0 0,2273 −0,0585 0,2380 9,2872 0
0 0 0,1287 −0,0007 0,1094 8,7555
x = A−1 · b
= (L · U)−1 · b
= U−1 · L−1 · b
ou
◮ A fatoração LDU não preserva a esparsidade original da matriz, já que fill-ins são
criados ao longo do processo.
Existem várias técnicas propostas para minimizar o número de fill-ins gerados
(algumas serão vistas adiante). Elas se baseiam na reordenação das linhas e colunas
da matriz.
– 32 –
◮ Procedimento geral:
– 33 –
3.4 Bifatoração
em que:
◮ Logo:
A(0) = A
A(1) = L(1)A(0)R(1)
A(2) = L(2)A(1)R(2)
··· ···
A(n) = L(n) A(n−1)R(n) = I
1 Denominamos aqui uma matriz A de estruturalmente simétrica caso Ai j e Aj i sejam simultaneamente iguais a zero ou diferentes de zero.
– 34 –
Exemplo
10 2 3
A= 3 8 1
1 3 15
1 0 0
L1 = −3/10 1 0
−1/10 0 1
10 2 3
A = L1 · A = 0 37/5 1/10
0 14/5 147/10
1 0 0
L2 = 0 1 0
0 −14/37 1
10 2 3
A = L2 · A = 0 37/5 1/10
0 0 1085/74
1/10 0 0
D= 0 5/37 0
0 0 74/1085
1 1/5 3/10
A=D·A= 0 1 1/74
0 0 1
– 35 –
1 0 −3/10
U3 = 0 1 −1/74
0 0 1
1 1/5 0
A = U3 · A = 0 1 0
0 0 1
1 −1/5 0
U2 = 0 1 0
0 0 1
1 0 0
A = U3 · A = 0 1 0
0 0 1
1/10 −1/5 −3/10
FT = −3/10 5/37 −1/74
−1/10 −14/37 74/1085
1/10 0 0 1 −1/5 −3/10
L1 = −3/10 1 0 R1 = 0 1 0
−1/10 0 1 0 0 1
1 0 0
A = L1 · A · R1 = 0 37/5 1/10
0 14/5 147/10
– 36 –
1 0 0 1 0 0
L2 = 0 5/37 0 R2 = 0 1 −1/74
0 −14/37 1 0 0 1
1 0 0
A = L2 · A · R2 = 0 1 0
0 0 1085/74
1 0 0 1 0 0
L3 = 0 1 0 R3 = 0 1 0
0 0 74/1085 0 0 1
1 0 0
A = L3 · A · R3 = 0 1 0
0 0 1
1/10 −1/5 −3/10
FT = −3/10 5/37 −1/74
−1/10 −14/37 74/1085
– 37 –
◮ Na bifatoração, a obtenção dos fatores triangulares é feita por colunas para o
triângulo inferior e por linhas para o triângulo superior.
◮ Toda a metodologia proposta por Zollenkopf tem por base a bifatoração, portanto,
a estrutura de armazenamento compacto leva em conta esse processo.
– 38 –
3.5 Eliminação de Gauss e redução de circuitos
3
2 1
6 4
5
2 0 −1 −1 0 0
0 2 −1 0 0 −1
−1 −1 3 0 −1 0
Y=
−1 0 0 2 −1 0
0 0 −1 −1 3 −1
0 −1 0 0 −1 ∞
Como o nó 6 foi definido como sendo o nó de referência, atribuiu-se ao elemento da
diagonal Y66 um valor grande.
– 39 –
◮ Considerar o seguinte vetor das injeções de corrente nodais:
1
1
1
I=
1
1
X
em que a posição 6 se refere à injeção de corrente no nó de referência.
Y 1 = L1 · Y
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 −1 5/2 - 1/2 −1 0
=
0 0 - 1/2 3/2 −1 0
0 0 −1 −1 3 −1
0 −1 0 0 −1 ∞
– 40 –
◮ Como a primeira coluna (correspondente ao nó 1) foi zerada, considerar agora
somente as colunas 2 → 6 da matriz Y1:
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 −1 5/2 −1/2 −1 0
Y1′ =
0 0 −1/2 3/2 −1 0
0 0 −1 −1 3 −1
0 −1 0 0 −1 ∞
ramo fictı́cio
criado
6 4
5
◮ Considerações:
y13 · y14 1
y34 = = pu
y13 + y14 2
– 41 –
◮ Aplicando a matriz L1 ao vetor de correntes tem-se:
I1 = L1 · I
1
1
3/2
= 3/2
1
X
1
1
3/2
I1′ =
3/2
1
X
1 0 0 0 0 0
0 1 0 0 0 0
0 1/2 1 0 0 0
L2 =
0 0 0 1 0 0
0 0 0 0 1 0
0 1/2 0 0 0 1
– 42 –
A nova matriz admitância nodal é:
Y2 = L2 · Y1′
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 0 2 −1/2 −1 -1/2
=
0 0 −1/2 3/2 −1 0
0 0 −1 −1 3 −1
0 0 -1/2 0 −1 ∞
2 0 −1 −1 0 0
0 2 −1 0 0 −1
′
0 0 2 −1/2 −1 −1/2
Y2 =
0 0 −1/2 3/2 −1 0
0 0 −1 −1 3 −1
0 0 −1/2 0 −1 ∞
– 43 –
◮ Considerações:
Novamente aparece um ramo fictı́cio. Como o nó 2 era conectado aos nós 3 e
6, o ramo fictı́cio conecta os nós 3 e 6
y23 · y26 1
y36 = = pu
y23 + y26 2
Se a linha e a coluna correspondentes ao nó de referência não estivessem
representadas na matriz Y, o aparecimento de certos fill-ins só será notado
através da mudança dos valores de elementos da diagonal.
I2 = L2 · I1′
1
1
2
=
3/2
1
(X + 1/2)
ou seja, a injeção do nó 2 é distribuı́da entre os nós 3 e 6, que são diretamente
conectados a ele. Pode-se também eliminar a linha de I2 correspondente ao nó 2,
resultando em:
1
1
2
I2′ =
3/2
1
(X + 1/2)
– 44 –
◮ Após a eliminação do nó 3:
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 0 2 −1/2 −1 −1/2
Y3′ =
0 0 0 11/8 −5/4 −1/8
0 0 0 −5/4 5/2 −5/4
0 0 0 −1/8 −5/4 ∞
1
1
2
I3′ =
2
2
(X + 1)
nó eliminado
nó eliminado nó eliminado
3
2 1
6 4
5
O ramo fictı́cio tem uma admitância igual a 1/8 pu. Os elementos da matriz que
correspondem aos ramos 4-5 e 5-6 (que já existiam) tiveram seus valores alterados.
Após a eliminação do nó 3, todos os seus ramos vizinhos (4, 5 e 6) passaram a estar
conectados entre si.
– 45 –
◮ Após a eliminação do nó 4:
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 0 2 −1/2 −1 −1/2
Y4′ =
0 0 0 11/8 −5/4 −1/8
0 0 0 0 15/11 −15/11
0 0 0 0 −15/11 ∞
1
1
2
I4′ =
2
42/11
(X + 13/11)
nó eliminado
nó eliminado nó eliminado
3
2 1
6 4
5
nó eliminado
Os elementos da matriz que correspondem ao ramo 5-6 (que já existia) tiveram seus
valores alterados.
– 46 –
◮ Após a eliminação do nó 5:
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 0 2 −1/2 −1 −1/2
Y5′ =
0 0 0 11/8 −5/4 −1/8
0 0 0 0 15/11 −15/11
0 0 0 0 0 ∞
1
1
2
I5′ =
2
42/11
(X + 5)
nó eliminado
nó eliminado nó eliminado
3
2 1
6 4
5
nó eliminado
nó eliminado
◮ O processo de eliminação de nós até que reste somente um nó na rede corresponde
à substituição Forward
– 47 –
Exercı́cio
Obtenha a matriz dos fatores triangulares para a rede exemplo de 6 barras e 7 ramos,
conforme mostrado na página 26.
Y1′ = L−1 · Y2
2
2 0 −1 −1 0 0
0 2 −1 0 0 −1
0 −1 5/2 −1/2 −1 0
= 0 0 −1/2 3/2 −1 0
0 0 −1 −1 3 −1
0 −1 0 0 −1 ∞
– 48 –
◮ Em cada passo do processo de eliminação de Gauss os seguintes passos são
executados (do ponto de vista da redução de circuitos):
eliminar o nó
interligar todos os nós vizinhos do nó eliminado. Neste ponto, duas situações
podem ocorrer:
• dois nós vizinhos ainda não conectados o serão através de um ramo fictı́cio.
Consequentemente, aparecerão elementos correspondentes a esse ramo
fictı́cio na matriz, em posições que anteriormente eram nulas (fill-ins)
Exercı́cio
1 4
2 7 10
6
3
9 8
– 49 –
Exemplo
Fronteira (F)
Rede Rede
Interna Externa
(I) .. (E)
.
Área de Interesse
Equivalente externo
Rede
Interna ligação equivalente
(I) ..
.
injeção equivalente
A idéia é substituir a rede externa (E) por uma rede equivalente que reaja de maneira
semelhante a distúrbios na rede interna (I).
Os nós da rede externa (as injeções de potência) são eliminados (distribuı́das) através
da eliminação de Gauss.
– 50 –
Considerando que os nós são numerados de maneira que aqueles a serem eliminados
apareçam primeiro, tem-se:
1
..
.
k
k +1
0
Yr ..
.
Exemplo
4 4
eliminar nó 1
2 3 2 3
– 51 –
Considerando o caso particular em que todas as admitâncias dos ramos do circuito Y
são iguais a 1 pu, tem-se:
3 −1 −1 −1
−1 1 0 0
Y=
−1 0 1 0
−1 0 0 1
Eliminando o nó 1:
Y′ = L · Y
1000 3 −1 −1 −1
1/3 1 0 0 −1 1 0 0
= 1/3 0 1 0 · −1 0 1 0
1/3 0 0 1 −1 0 0 1
3 −1 −1 −1
0 2/3 −1/3 −1/3
= 0 −1/3 2/3 −1/3
3 −1 −1 −1
0 2/3 −1/3 −1/3
Yred =
0 −1/3 2/3 −1/3
0 −1/3 −1/3 2/3
YY
Y∆ =
3
– 52 –
3.6 Algoritmo para eliminação de Gauss
do k = 1 , (n-1)
alfa = a(k,k)
a(k,k) = - 1.0
do i = k , n
(D e U)
a(k,i) = -a(k,i)/alfa
end do
do i = (k+1) , n
beta = a(i,k) (L)
a(i,k) = -beta/alfa
do j = (k+1) , n
atualização das
a(i,j) = a(i,j) + beta * a(k,j) demais colunas
da linha i
end do
end do
end do
– 53 –
Exemplo
′ ′
−a21/a11 a22 a23
(L)
′ ′
−a31/a11 a32 a33
atualização
– 54 –
◮ Uma vez conhecida a matriz dos fatores triangulares e dado um vetor independente
b, pode-se obter a solução do problema A · x = b por:
do k = 1 , n
alfa = b(k)
b(k) = b(k) * a(k,k)
do i = (k+1) , n
end do
end do
do k = n , 2 , -1
do i = (k-1) , 1 , -1
end do
end do
– 55 –
Exercı́cio
1 2 4
1 1
1 1/2
– 56 –
◮ Referências
◮ Materiais interessantes
www.dm.ufscar.br/profs/silvia/AulaGradientesConjugados.pdf
www.eee.ufg.br/˜colemar/Espars01.pdf
www.ufmt.br/icet/matematica/geraldo/sela2.pdf
– 57 –