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:
Escolher o método numérico mais adequado para resolver o sistema A\mathbf{x}=\mathbf{b}.
Justificar a escolha considerando custo computacional, estabilidade numérica, garantia de convergência e estrutura da matriz (simetria, esparsidade, etc.).
Resolver o sistema com o método escolhido.
Comparar resultados: eficiência do método e sensibilidade a erros numéricos.
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
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.
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):
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.
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
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.
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.
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).
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.
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.