Em sistemas de potência, a matriz de admitância nodal ( Y_{\text {bus }} ) é amplamente utilizada para modelar redes elétricas, sendo tipicamente simétrica e, sob condições adequadas, definida positiva. Esses sistemas aparecem em estudos de fluxo de potência e análise de redes.
Considere a matriz de admitância (parte real simplificada) de um sistema de 3 barras, adaptada de exemplos clássicos da literatura de sistemas de potência:
A=\left[\begin{array}{ccc} 2.2277 & -0.9901 & -1.2376 \\\\ -0.9901 & 2.6403 & -1.6502 \\\\ -1.2376 & -1.6502 & 2.8878 \end{array}\right]
e o vetor de correntes injetadas:
\mathbf{b}=\left[\begin{array}{l} 1 \\\\ 0 \\\\ 1 \end{array}\right]
Fonte dos dados: Adaptado de exemplos de matriz de admitância em sistemas de potência de modelagem elétrica.
  1. Escolha o método numérico mais adequado para resolver esse sistema:
  2. Justifique a escolha do método, considerando:
  • Custo computacional;
  • Estabilidade numérica;
  • Garantia de convergência (quando aplicável);
  • Estrutura da matriz (simetria, esparsidade, etc.).
  1. Resolva o sistema utilizando o método escolhido.
  2. Compare os resultados obtidos, discutindo:
  • Eficiência do método adotado;
  • Sensibilidade a erros numéricos.
  1. Discuta o que poderia ocorrer caso um método inadequado fosse escolhido para esse sistema.

Passo 1

O enunciado dá a matriz e o vetor abaixo e pede várias coisas (vou listar claramente o que foi dado e o que se pede):
  • Matriz (admitância, parte real):
A=\begin{pmatrix} 2{,}2277 & -0{,}9901 & -1{,}2376\\[4pt] -0{,}9901 & 2{,}6403 & -1{,}6502\\[4pt] -1{,}2376 & -1{,}6502 & 2{,}8878 \end{pmatrix}
  • Vetor de correntes injetadas:
\mathbf{b}=\begin{pmatrix}1\\[4pt]0\\[4pt]1\end{pmatrix}
Perguntas pedidas:
  1. Escolher o método numérico mais adequado para resolver o sistema A\mathbf{x}=\mathbf{b}.
  2. Justificar a escolha considerando custo computacional, estabilidade numérica, garantia de convergência e estrutura da matriz (simetria, esparsidade, etc.).
  3. Resolver o sistema com o método escolhido.
  4. Comparar resultados: eficiência do método e sensibilidade a erros numéricos.
  5. Discutir o que poderia ocorrer caso um método inadequado fosse escolhido.
Informações relevantes que já podem ser observadas no enunciado:
  • A matriz A é simétrica (os elementos a_{ij}=a_{ji} aparecem iguais).
  • Os números são dados com 4 casas decimais (atenção a erros de arredondamento).
  • Não foi indicado explicitamente que A é definida positiva nem que alguma barra é referência; essas propriedades precisam ser verificadas antes de escolher o método.]

Passo 2

Primeira análise estrutural (checagem que é essencial antes de escolher o método):
  • Verificar a soma das linhas de A. A soma da primeira linha é
2{,}2277 + (-0{,}9901) + (-1{,}2376) = 0.
A soma da segunda linha:
-0{,}9901 + 2{,}6403 + (-1{,}6502) = 0.
A soma da terceira linha:
-1{,}2376 + (-1{,}6502) + 2{,}8878 = 0.
Logo, cada linha soma zero. Isso implica que
A \begin{pmatrix}1\\[4pt]1\\[4pt]1\end{pmatrix}=\begin{pmatrix}0\\[4pt]0\\[4pt]0\end{pmatrix},
ou seja, \mathbf{1}=(1,1,1)^\top pertence ao núcleo (nullspace) de A. Portanto A é singular (tem autovalor zero) — mais precisamente A é apenas positiva semidefinida, não definida positiva.
Explicação didática sobre consequências desta propriedade:
  • Uma matriz singular não tem inversa. Para o sistema linear A\mathbf{x}=\mathbf{b} existir solução é necessário que \mathbf{b} pertença ao espaço coluna de A (col(A)). Para matrizes simétricas, col(A) é o ortogonal do nullspace; em particular, se \mathbf{v} está no nullspace de A, então \mathbf{v}^\top \mathbf{b} deve ser zero para a compatibilidade.
  • No nosso caso, como \mathbf{1} está no nullspace, a condição de compatibilidade é
\mathbf{1}^\top \mathbf{b}=0,
ou seja, a soma das componentes de \mathbf{b} deve ser zero.
Calcule a soma das componentes de \mathbf{b}:
\mathbf{1}^\top \mathbf{b}=1+0+1=2 \neq 0.
Portanto \mathbf{b} não é ortogonal ao nullspace de A, logo o sistema A\mathbf{x}=\mathbf{b} é inconsistente: NÃO EXISTE solução exata.
Comentário prático (ligado à teoria de sistemas de potência):
  • É comum em Y_{\text{bus}} (matriz de admitância) que as linhas somem a zero — isso corresponde à conservação de correntes e à invariância de um deslocamento uniforme de potencial (se todas as tensões aumentarem igual, correntes não mudam). Por isso Y_{\text{bus}} é singular até que seja fixada uma barra de referência (slack) ou alguma condição adicional.
Conclusão deste passo: antes de escolher um método “para resolver” é obrigatório verificar se uma solução existe; aqui não existe solução para o sistema completo dado.]

Passo 3

Decisão do método (seguindo o passo anterior):
  • Como [A) é simétrica mas singular e o sistema completo é inconsistente, métodos que exigem matriz definida positiva (como Decomposição de Cholesky) NÃO são aplicáveis diretamente ao sistema A\mathbf{x}=\mathbf{b}.
  • A escolha adequada depende do objetivo:
    • Se o objetivo é detectar inconsistência e concluir que não há solução — basta análise do nullspace (feita no Passo 2). Essa é a ação primordial.
    • Para aplicações de sistemas de potência, frequentemente “resolve-se” removendo a indeterminação de referência: fixa-se uma barra de referência (por exemplo impor x_1=0, escolha de slack com tensão zero por conveniência) e resolve-se o sistema reduzido obtido ao eliminar a linha e coluna correspondentes à barra de referência. Nesse caso a submatriz obtida costuma ser definida positiva e pode-se aplicar Cholesky ou eliminação direta com boa estabilidade.
Vou aplicar as duas coisas: (A) concluir sobre o sistema completo; (B) mostrar a solução prática com escolha de referência (mostrando o método que seria aplicado em casos reais de potência).
(A) Sistema completo:
  • Já concluímos que o sistema A\mathbf{x}=\mathbf{b} não tem solução porque \mathbf{1}^\top\mathbf{b}=2\neq0. Portanto a resolução do sistema inteiro falha: NÃO EXISTE \mathbf{x} tal que A\mathbf{x}=\mathbf{b}.
(B) Solução prática com barra de referência (redução para sistema compatível):
  • Escolho a barra 1 como referência e imponho x_1=0. Isso é uma escolha comum: fixa-se a tensão de slack como zero (ou um valor conhecido) e resolve-se apenas para as demais incógnitas. Ao fazer isso, eliminamos a primeira linha e a primeira coluna de A e também a primeira entrada de \mathbf{x}; o sistema reduzido para (x_2,x_3)^\top fica com a submatriz
A_{\text{red}}=\begin{pmatrix} 2{,}6403 & -1{,}6502\\[4pt] -1{,}6502 & 2{,}8878 \end{pmatrix}, \qquad \mathbf{b}_{\text{red}}=\begin{pmatrix}0\\[4pt]1\end{pmatrix},
pois com x_1=0 os termos a_{21}x_1 e a_{31}x_1 ficam nulos e não alteram o lado direito.
Verificação da propriedade de A_{\text{red}}:
  • A_{\text{red}} é simétrica. Para matrizes de admitância reduzidas (quando uma barra de referência é fixada) espera-se que A_{\text{red}} seja definida positiva (a invariância por deslocamento foi removida). Podemos aplicar Cholesky. Vamos resolver A_{\text{red}}\mathbf{x}_{\text{red}}=\mathbf{b}_{\text{red}} por Cholesky (método direto, numericamente estável para SPD).
Passo a passo da Decomposição de Cholesky (didático):
  • Objetivo: escrever A_{\text{red}}=LL^\top, com L triangular inferior.
  • Para a matriz 2\times2:
L=\begin{pmatrix}\ell_{11} & 0\\[4pt]\ell_{21} & \ell_{22}\end{pmatrix}, \qquad LL^\top=\begin{pmatrix}\ell_{11}^2 & \ell_{11}\ell_{21}\\[4pt]\ell_{11}\ell_{21} & \ell_{21}^2+\ell_{22}^2\end{pmatrix}.
Igualando a A_{\text{red}} obtemos as fórmulas:
\ell_{11}=\sqrt{2{,}6403},\qquad \ell_{21}=\frac{-1{,}6502}{\ell_{11}},\qquad \ell_{22}=\sqrt{2{,}8878-\ell_{21}^2}.
Cálculos numéricos (arredondando a 6 dígitos para clareza):
  • \ell_{11}=\sqrt{2{,}6403}\approx 1{,}624982.
  • \ell_{21}=\dfrac{-1{,}6502}{1{,}624982}\approx -1{,}015322.
  • \ell_{22}=\sqrt{2{,}8878-(-1{,}015322)^2}=\sqrt{2{,}8878-1{,}030840}\approx \sqrt{1{,}856960}\approx 1{,}362661.
Agora resolver LL^\top \mathbf{x}_{\text{red}}=\mathbf{b}_{\text{red}} por subtituições:
  1. Resolver L\mathbf{y}=\mathbf{b}_{\text{red}} (substituição direta):
\begin{cases} \ell_{11} y_1 = 0 \Rightarrow y_1=0,\\[4pt] \ell_{21} y_1 + \ell_{22} y_2 = 1 \Rightarrow y_2=\dfrac{1-\ell_{21}y_1}{\ell_{22}}=\dfrac{1}{1{,}362661}\approx 0{,}734141. \end{cases}
  1. Resolver (L^\top \mathbf{x}_{red}=\mathbf{y}] (substituição regressiva):
    \begin{cases} \ell_{11} x_2 + \ell_{21} x_3 = y_1 = 0,\\[4pt] \ell_{22} x_3 = y_2 \Rightarrow x_3 = \dfrac{y_2}{\ell_{22}}\approx \dfrac{0{,}734141}{1{,}362661}\approx 0{,}538789. \end{cases}
    Da primeira equação:
    x_2 = -\dfrac{\ell_{21}}{\ell_{11}}x_3 = \dfrac{1{,}015322}{1{,}624982}\cdot 0{,}538789\approx 0{,}336581.
Resultado prático com referência x_1=0:
\mathbf{x}=\begin{pmatrix}x_1\\[4pt]x_2\\[4pt]x_3\end{pmatrix} \approx \begin{pmatrix}0\\[4pt]0{,}336581\\[4pt]0{,}538789\end{pmatrix}.
Observação de consistência: se inserirmos esse \mathbf{x} nas equações originais, a primeira equação fica
2{,}2277\cdot 0 + (-0{,}9901)\cdot 0{,}336581 + (-1{,}2376)\cdot 0{,}538789 \approx -1{,}000000,
que claramente não é igual a b_1=1. Isso confirma que a solução acima NÃO resolve o sistema original completo — ela resolve o sistema reduzido com a convenção x_1=0. A inconsistência original persiste.]

Passo 4

Discussão comparativa e análise de sensibilidade (eficiência e estabilidade):
  1. Eficiência do método adotado:
  • Verificação de singularidade/nullspace: custo extremamente baixo (somar linhas ou testar A\mathbf{1}) — procedimento O(n^2) no pior caso, trivial para n=3. Fundamental e barato.
  • Para resolver o sistema reduzido 2\times2 usei Cholesky: custo computacional muito pequeno (para n geral, Cholesky custa aproximadamente \tfrac{1}{3}n^3 operações aritméticas para matriz densa). Em redes reais, A é esparsa; fatoração de Cholesky esparsa é muito eficiente se reordenada apropriadamente (mínimo de preenchimento).
  • Para sistemas grandes de potência: métodos diretos (Cholesky esparsa com reordenação) ou métodos iterativos (Conjugate Gradient, GMRES com pré-condicionamento) são normalmente usados. A escolha depende de tamanho e esparsidade.
  1. Estabilidade numérica e sensibilidade a erros:
  • Cholesky sobre matrizes SPD é numericamente estável (não precisa de pivotamento) e eficiente. Porém, se a matriz não for definida positiva (p.ex. singular), a Cholesky falha (raiz quadrada de número não positivo).
  • Se ignorássemos a singularidade e aplicássemos eliminação sem pivotamento, poderíamos obter pivôs próximos de zero (como aparece na tentativa de eliminação sobre A), gerando divisões por números muito pequenos e resultados completamente errados (instabilidade).
  • A sensibilidade do problema original é alta: uma matriz com um autovalor zero torna o sistema mal condicionado para pequenas perturbações do lado direito; se \mathbf{b} tivesse soma muito próxima de zero, soluções podem se tornar numericamente instáveis e grandes componentes na direção do autovetor correspondente ao pequeno autovalor surgiriam.

Passo 5

O que ocorreria se escolhesse um método inadequado:
  • Tentar Cholesky diretamente em A (sem checar positividade definida) levaria a erro na etapa de cálculo da raiz quadrada de um pivô nulo ou negativo; algoritmo abortaria ou produziria NaNs.
  • Usar eliminação Gaussiana sem pivotamento pode provocar divisões por pivôs muito pequenos (instabilidade e crescimento do erro). No meu cálculo manual de eliminação direta apareceu um pivô quase zero na última etapa e um RHS não-nulo, sinalizando inconsistência e numericamente desastre.
  • Usar um método iterativo que assume SPD (por exemplo Conjugate Gradient) sem tratar a singularidade resultaria em falta de convergência ou divergência (ou converge para um mínimo de quadrados, não para uma solução do sistema, se \mathbf{b} não estiver na imagem).
  • Conclusão prática: sempre verificar propriedades (singularidade, espaço coluna) antes de aplicar um método; para problemas de potência, fixar barra de referência é o procedimento correto para obter única solução física de tensões relativas.

Resposta

  1. Método escolhido: primeiro checagem do nullspace (detecção de singularidade); em seguida, para análise prática, redução por fixar uma barra de referência e aplicação da Decomposição de Cholesky na submatriz resultante.
  2. Justificativa resumida: a verificação do nullspace é barata e necessária para garantir existência de solução; Cholesky é eficiente e numericamente estável para matrizes simétricas definidas positivas (o caso da submatriz reduzida), com custo \sim \tfrac{1}{3}n^3 para denso e muito eficiente em formato esparso. A matriz original é simétrica mas singular (linhas somam zero), logo Cholesky não se aplica diretamente.
  3. Resolução: o sistema completo A\mathbf{x}=\mathbf{b} é inconsistente (não existe solução), pois \mathbf{1}^\top\mathbf{b}=2\neq0. Se for imposta a referência x_1=0 e resolve-se o sistema reduzido, a solução encontrada é \mathbf{x}\approx(0,\;0{,}336581,\;0{,}538789)^\top (esta solução NÃO satisfaz o sistema original completo).
  4. Comparação/eficiência e sensibilidade: detecção de singularidade é rápida e evita tentativa de métodos indevidos; Cholesky na submatriz é eficiente e estável; o problema original é sensível (autovalor zero) e métodos que ignoram isso levam a pivôs muito pequenos, perda de precisão ou falta de convergência.
  5. Risco de escolher método inadequado: aplicar Cholesky diretamente falha; eliminação sem pivotamento causa instabilidade numérica; métodos iterativos que assumem SPD podem não convergir. Em suma: falta de checagem prévia leva a erro ou impossibilidade de solução.

Exercícios relacionados