viinilv, sempre que leio "sistema de equações" me recordo das aulas de Matemática na escola, quando classificava os sistemas em três tipos:
- possível e determinado (SPD);
- possível e indeterminado (SPI);
- impossível (SI).
Seu exemplo se enquadra na classe SPD. Daí surgem algumas perguntas.
- O que fazer quando a matriz ({A}) dos coeficientes é quadrada mas não tem inversa ordinária?
Use a estratégia com decomposição em valores singulares (SVD) e então calcule a solução "especial".
- E se essa matriz ({A}) dos coeficientes for retangular (mais linhas que colunas ou ainda, mais colunas que linhas)?
Crie a forma quadrática ({A'A}). Se for singular, use a estratégia com decomposição em valores singulares (SVD) e então calcule a solução "especial".
- O que fazer quando o vetor dos termos independentes da equação é um "hipervetor", para não dizer matriz coluna, ou seja, ({X}) em vez de ({x})?
Nada de novo aqui, apenas tente resolver o sistema por alguma estratégia!
Não precisa responder, mas podem ser tópicos para suas próximas publicações indicando aplicações do dia a dia em que esses sistemas de equações "exóticos" fazem-se presentes nos dispositivos eletrônicos que utilizamos. Com a modularização dessas rotinas em pacotes como LAPACK(Linear Algebra PACKage), é bem raro ver algum código desenvolvido pelo programador para realizar tais operações (evitando overengineering), contudo, é bom saber como funciona por detrás dos bastidores toda essa "mágica". Quando passei pelo assunto, escrevi alguns códigos em Javascript para experimentar resolver sistemas de equações com diferentes métodos até descobrir que já existiam "bibliotecas" em desenvolvimento. Algumas delas com rotinas avançadas para decomposição de uma matriz qualquer em seus valores singulares (SVD).
O assunto que abordou é bastante útil e amplo, podendo ser dividido em dezenas, centenas de posts bem elaborados aqui no Tabnews (se haver interesse), tratando dos vários aspectos com detalhes.
PS: O primeiro contato com solução de sistemas de equações foi em um software de benchmark que usava inversão de matriz pelo método de Cramer, o mesmo que aprendemos na escola. Por ser um método muito ineficiente, servia como uma das rotinas para testar a velocidade de processamento de um microcomputador.