Aplicando a Regra de Laplace para calcular determinante de matriz $3\times 3$ no Python
Você já ouviu falar da Regra de Laplace, uma técnica elegante e poderosa que nos permite calcular determinantes com precisão cirúrgica. Agora imagine unir isso ao poder da programação: automatizar a Regra de Laplace com Python.
Neste post, você não só vai entender como a Regra de Laplace funciona, mas verá cada linha de código explicada, com direito a exemplo completo e saída do programa. Vamos transformar matemática em lógica e lógica em conhecimento!
🎲 Gerando nossa matriz aleatória
import numpy as np
# Gerando matriz aleatória, A, com números naturais menores que 10
A = np.random.randint(0, 10, (3, 3))
A
Explicação: Importamos a biblioteca numpy
para gerar e manipular matrizes. A função np.random.randint(0, 10, (3, 3))
gera uma matriz 3x3 com números inteiros aleatórios de 0 a 9.
Saída esperada:
array([[1, 3, 3],
[9, 1, 7],
[5, 3, 6]])
🧩 Escolhendo a linha da Regra de Laplace
i = int(input("Digite a linha, entre 1 e 3, que será aplicada a Regra de Laplace: "))
Explicação: Com input()
, o usuário escolhe uma linha (1, 2 ou 3). O int()
converte o valor digitado em número inteiro. A variável i
guardará essa linha.
Entrada simulada: 1
🧱 Construindo as submatrizes
M = [] # Variável que receberá todas as submatrizes
for k in range(1, 4):
M.append(np.delete(np.delete(A, i-1, axis=0), k-1, axis=1))
M
Explicação: Usamos dois np.delete
para remover a linha escolhida i-1
e cada coluna k-1
. Isso gera as submatrizes 2x2 necessárias para o cálculo dos cofatores. O resultado é armazenado na lista M
.
Saída esperada:
[array([[1, 7],
[3, 6]]),
array([[9, 7],
[5, 6]]),
array([[9, 1],
[5, 3]])]
📐 Calculando os cofatores
# Cálculo dos cofatores da linha escolhida pela Regra de Laplace
C=[] #Variável que receberá todos os cofatores
#Calcula o cofator e aguarda na variável C
for c in range(1, 4):
C.append(round((-1)**(i+c)*(M[c-1][0][0]*M[c-1][1][1]-
M[c-1][1][0]*M[c-1][0][1]),0))
C
Explicação: Para cada submatriz M[c-1]
, aplicamos a fórmula do determinante 2x2: \(ad - bc\). O sinal alternado é obtido com (-1)**(i+c)
. O resultado é arredondado e armazenado na lista C
.
Saída esperada: [-15, -19, 22]
🧮 Calculando o determinante
print(f"det(A)={sum(A[i-1]*C)}")
Explicação: Selecionamos a linha escolhida com A[i-1]
e multiplicamos seus elementos pelos cofatores em C
. A função sum()
soma os produtos, resultando no determinante final.
Saída esperada: det(A) = -6
💬 Quando o código revela a matemática
Mais do que apenas um cálculo, o que fizemos aqui foi uma jornada entre teoria e prática. Usamos Python para aplicar uma técnica clássica da Álgebra Linear, exploramos o funcionamento interno do algoritmo, e ainda tivemos o prazer de ver o resultado surgir linha por linha.
Agora, a Regra de Laplace não é só uma fórmula — ela é lógica, ela é estrutura, ela é código.
Se esse conteúdo te ajudou, compartilhe com seus colegas, comente suas dúvidas.
Estou disponibilizando o notebook com o código pra você, clique aqui.
Vamos além da fórmula. Vamos programar a matemática! 🚀
Comentários
Postar um comentário
Não postar comentários ofensivos e que contenham palavrões. Comente sobre o assunto da postagem que você leu.