Visualizações de página dos últimos 30 dias

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

Mais visualizadas nos últimos 30 dias

Mais visualisadas