Executando verificação de segurança...
14

A.X = B

Vale lembrar que fiz isso apenas para fins de estudo, eu escrevo textos sobre determinados assuntos a fim de entende-lo, então talvez algumas informações estejam erradas, e se sintam a vontade para corrigir :P

O que significa a expressão  A.X = B?

A equação A.X = B representa uma forma concisa e poderosa de expressar um sistema de equações lineares.

  • A: É uma matriz de coeficientes. Cada elemento dessa matriz corresponde a um coeficiente de uma incógnita em uma das equações do sistema.
  • X: É um vetor coluna que contém as incógnitas do sistema.
    • B: É um vetor coluna que contém os termos independentes das equações.

Por que usar a forma matricial?

  1. Concisão: Permite representar sistemas de equações, por mais complexos que sejam, de forma compacta.
  2. Generalização: A teoria das matrizes nos fornece ferramentas poderosas para analisar e resolver sistemas lineares de forma geral.
  3. Aplicações: Essa forma é fundamental em diversas áreas, como engenharia, física, economia e ciência da computação, para modelar e resolver problemas que envolvem sistemas de equações lineares.

Quando usar sistemas de equações lineares?

Uma ótima maneira de encarar o problema é inventando um. Vamos supor uma situação hipotética:

Em um restaurante existem 3 mesas, e as 3 mesas pediram 3 itens iguals, porém em quantidades diferentes

mesa 1: 3 sushis, 7 refrigerantes e 1 torta, resultando em R$ 35,50

mesa 2: 4 sushis, 10 refrigerantes e 1 torta, resultando em R$ 49,00.

mesa 3: 1 sushi, 1 refrigerante e 2 tortas, resultando em R$ 10,50.

Mistério: Qual o valor únitário de cada item?

Como resolver?


Vamos utilizar a fórmula Eliminação Gaussiana A.X=B

Dimensão da matriz A

A dimensão da matriz A é dada é a quantidade de equações por quantidade de incógnitas, por exemplo:

Aₑₓᵢ
e = Número de equações da matriz A
i = Número de incógnitas da matriz A

Equações da matriz A

equação 1 = 3s + 7r + 1t = 35,50
equação 2 = 4s + 10r + 1t = 49
equação 3 = 1s + 1r + 2t = 10,50

Incógnitas da matriz A

s t r
Ou seja, 3 incógnitas


Logo a matriz A é uma matriz de ordem 3 por 3, ou seja:

A3x3


# Dimensão do vetor X

  • o vetor x é um vetor coluna

O tamanho do vetor X depende do número de coisas que estamos procurando (as incógnitas). Se temos 3 incógnitas, precisamos de 3 espaços no vetor X para colocar as respostas. Por isso, se A tem 3 incógnitas, X será um vetor coluna com 3 posições.
Logo nosso x seria X3x1


Informações até agora

Com oque conseguimos, podemos definir que nosso calculo está da seguinte forma:

A_{3x3}.X_{3x1} = B


Forma de resolver quando matriz A é uma matriz QUADRADA

[!NOTE] Repare o seguinte
Quando multiplicamos a minha matriz A pela sua inversa, temos que multiplicar o vetor dos termos independentes pala matriz inversa também, para eu não perder a igualdade.

O objetivo ao multiplicar ambos os lados por A⁻¹:

  • Isolar X: Nossa meta é encontrar o valor de X, ou seja, descobrir as incógnitas do sistema. Para isso, precisamos "desfazer" a multiplicação de A por X.
  • A inversa é a operação inversa da multiplicação: Assim como a divisão "desfaz" a multiplicação em números, a multiplicação por A⁻¹ "desfaz" a multiplicação por A.

Por que a igualdade se mantém?

  • Propriedade da igualdade: Se você realiza a mesma operação em ambos os lados de uma igualdade, a igualdade se mantém.
  • Propriedade da matriz identidade: A multiplicação de uma matriz por sua inversa resulta na matriz identidade (I). A matriz identidade, quando multiplicada por qualquer matriz, resulta na própria matriz.

multiplicar a A e o termo independente B por A^{-1}, ficaríamos com o calculo

A^{-1}A_{3x3}X_{3x1} = A^{-1}B
I_{3x3}X_{3x1} = A^{-1}B

Um matriz indenidade I_{3x3}, vezes um vetor de incógnitas X_{3x1}, é ele próprio. Logo...
X_{3x1} = A^{-1}B

[!NOTE]
Essa forma só vai valer se a matriz A for uma matriz quadrada. Pois a matriz inversa só existe para matrizes quadradas.



Forma de resolver com QUALQUER dimensão de matriz a partir da Eliminação Gaussiana.

srtB
q137135.5
eq2410149
eq311210.5

Oque fazer com essa Matriz Ampliada?

Agora a ideia é escalonar esse sistema com operações elementares.

Oque é escalonar?

Escalonar uma matriz é como organizar um sistema de equações de forma mais simples, com o objetivo de encontrar a solução. A ideia é transformar a matriz em uma forma triangular superior, onde os elementos abaixo da diagonal principal são todos zero. Isso facilita muito a resolução do sistema.

Exemplo:

1234
0678
00112

Partindo da segunda linha, vamos zerar o primeiro elemento, e na próxima, zerar os dois primeiros.

srtB
eq137135.5
eq2410149
eq311210.5

Por que Zerar os Elementos Abaixo da Diagonal Principal?

  • Simplificação: Ao zerar esses elementos, estamos eliminando uma incógnita de cada equação, tornando o sistema mais fácil de resolver.

Como Zerar um Elemento?

Para zerar um elemento, você precisa realizar operações entre as linhas da matriz. Essas operações podem ser:

  • Multiplicar uma linha por um número: Isso equivale a multiplicar toda a equação correspondente por esse número.
  • Somar ou subtrair uma linha de outra: Isso equivale a somar ou subtrair as equações correspondentes membro a membro.

Como podemos transformar isso com operações elementares?

Multiplicar a primeira linha por 4: Isso resultará em 12 na primeira posição da primeira linha.

Multiplicar a segunda linha por 3: Isso resultará em 12 na primeira opção da segunda linha.

Fazer a subtração dos resultados das linhas: Isso resultara em 0 na primeira opção da segunda linha.

4 se torne zero.

L_2 = 3L_2 - 4L_1

3L_2 = (12, 30, 3, 147)
4L_2 = (12, 28, 4, 142)

L_2 = (0, 2, -1, 5)

Tabela coma linha 2 atualizada:

srtB
37135,5
02-15
11210,5

Agora precisamos que os dois primeiros itens da primeira linha sejam iguais a 0.
Agora preciso que o primeiro item da ultima linha seja 0. Não posso usar uma linha que contenha um elemento nulo

L_3 => L_1 - 3L_3
L_1 = (3, 7, 1, 35.5)
L_3 = (3, 3,6, 31.5)

L_3 => (0, 4, -5, 4)

Tabela com a linha 3 atualizada:

srtB
37135,5
02-15
04-54

Para que o segundo elemento da linha 3 seja 0, podemos fazer:

L_3 => L_3 - 2L_2

L_3 = (0, 4, -5, 4)
2L_2 = (0, 4, -2, 10)

L_3 => L_3 - 2L_2 = (0,0,-3, -6)

Agora com a terceira linha atualizada:

srtB
37135,5
02-15
00-3-6

Objetivo concluído

Ao escalona nossa matriz ampliada, temos uma matriz equivalente ao nosso sistema inicial

equação 1 = { 3s + 7r + 1t = 35,50
equação 2 = { 4s + 10r + 1t = 49
equação 3 = { 1s + 1s + 2t = 10,50

Com a nossa matriz, podemos fazer um novo sistema utilizando seus itens:
equação 1 = {3s + 7r + 1t = 35.5
equação 2 = {0 + 2r - 1t = 5
equação 3 = {0 + 0 - 3t = -6

Agora podemos resolver a equação inicial, baseada na nossa equação equivalente, partindo da que contém menos incógnitas.

Vamos resolver a equação 3:

-3t = -6
t = -6 /-3
t = 2

Agora que temos o valor de t, podemos resolver a equação 2:
2r - 2 = 5 2r = 2+5

2r = 7 r = 7/2

r=3,5

Agora que temos os valores de t e r podemos resolver a equação 1:
3s + 7s + 1t = 35.5 3s + 7(3.5) + 2 = 35.5

3s + 24.5 + 2 = 35.5 3s = 35.5 - 26.5

3s = 9 s = 9/3

s = 3

Logo, nosso vetor solução é:
X = [s, r, t]
X = [3, 3.5, 2]

Carregando publicação patrocinada...
1

Direto e bem explicado, por vezes, uma multiplicação vetorial serve até mais que diversos processamentos paralelos inúteis.

1

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.

  1. 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".

  1. 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".

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

1

Muito obrigado pela sua resposta, eu amo essa ideia de dividir um assunto em dezenas e até centenas de posts bem elaborados, e essa é minha ideia, porém ainda estou bemmmmm no começo dessa área, e seria muito interessante se já houvesem posts bem elaborados sobre assuntos específicos nessa área. Caso tenha algum lugar para me recomendar, ou se tiver aqui no tabnews mesmo, ficarei grato por me mostrar o caminho. Pois a maior fonte de informação e elaboração das minhas próprias perguntas tem sido o chat-gpt mesmo kkk

1

Por nada!! É uma boa iniciativa de sua parte documentar o que tem aprendido. Compartilhar a informação construindo um texto, revisando-o, te ajuda a consolidar o conhecimento recebido. Quando seu texto é colocado para discussão, como aqui, pode receber feedbacks como sugestões de melhorias, correções. Semelhante à sua ideia, há uma iniciativa colaborativa mantida por um grupo da UFRGS completamente focada em Cálculo Numérico.
https://www.ufrgs.br/reamat/CalculoNumerico
Veja também https://www.ufrgs.br/reamat/AlgebraLinear

Caso se interesse por outras referências, uma bem conhecida na área é livro com título Numerical Recipes. Contém um capítulo dedicado à solução de sistemas de equações lineares, apresentando alguns códigos fonte que implementam os algoritmos. Você encontra amostras desse livro por meio de uma busca no Google. Por exemplo,

file:NumericalRecipesinC.pdf

Ainda tenho uns probleminhas para usar a sintaxe markdown incorporando equações com a sintaxe do \LaTeX. Contudo, essa capacidade do Tabnews permitir renderização de equações é quase tão boa quanto aquela que temos, por exemplo, nos textos na Wikipedia.


O uso dos GPTs, assim como qualquer resultado de buscadores ou conteúdo na internet, sempre vai exigir sua interpretação, validação e crítica assim como deve ter feito para produzir seu texto. Logo, não vejo nada contra essa prática de busca de informação nessas diferentes fontes. No entanto, no caso de você estar elaborando um texto para um relatório de pesquisa, postagem, ou outra produção literária, espera-se que sua capacidade de criação esteja sendo colocada em prática. Ao final, se possível, citar os materiais a que você recorreu para fundamentação, ou seja, a base teórica, vai enriquecer sua composição. Atualmente não me parece ser razoável citar os GPTs como fonte, exceto em situações bem particulares. Sempre que puder, recorra à fontes de informação como livros especializados e outras criações que dão ao leitor interessado o poder de conferir tudo que leu, caso desejar. Os textos gerados por GPTs são mutantes e geralmente não se vê criadores de conteúdo compartilhando suas conversações na íntegra como fonte 8-).