Como calcular o Posto e a Nulidade de uma Matriz com Python
Se você leu nossa postagem anterior sobre posto e nulidade de uma matriz, já sabe que essas duas grandezas dizem muito sobre a estrutura interna de uma matriz — especialmente sobre suas colunas e o espaço que ela transforma.
Agora é hora de transformar teoria em prática! Neste post, vamos mostrar como usar Python para calcular rapidamente o posto e a nulidade de qualquer matriz,
com exemplos simples e diretos no NumPy
e SymPy
.
🧪 Exemplo 1: Matriz 3×3 com nulidade 1
Vamos começar com uma matriz \( A_1 \), onde uma das colunas é combinação linear das outras. Veja só:
import numpy as np
from sympy import Matrix
A1 = np.array([
[1, 2, 3],
[2, 4, 6],
[1, 1, 1]
])
# Posto com NumPy
rank_A1 = np.linalg.matrix_rank(A1)
print(f"Posto de A1: {rank_A1}")
# Nulidade com SymPy
A1_sym = Matrix(A1)
nullity_A1 = len(A1_sym.nullspace())
print(f"Nulidade de A1: {nullity_A1}")
📌 Saída esperada:
Posto de A1: 2 Nulidade de A1: 1
Mesmo com 3 colunas, só duas são efetivamente independentes. A terceira é redundante — e isso aparece como nulidade 1.
🧪 Exemplo 2: Matriz 3×4 com nulidade 3
Agora, uma matriz \( A_2 \) com mais colunas que linhas e alta redundância:
A2 = np.array([
[1, 2, 3, 4],
[2, 4, 6, 8],
[3, 6, 9, 12]
])
rank_A2 = np.linalg.matrix_rank(A2)
print(f"Posto de A2: {rank_A2}")
A2_sym = Matrix(A2)
nullity_A2 = len(A2_sym.nullspace())
print(f"Nulidade de A2: {nullity_A2}")
📌 Saída esperada:
Posto de A2: 1 Nulidade de A2: 3
Nesse caso, todas as colunas são múltiplos da primeira. O Python confirma isso com um posto igual a 1 e nulidade igual a 3, indicando que só uma coluna traz informação nova.
💡 Dica final
Usenp.linalg.matrix_rank()
para calcular o posto eMatrix().nullspace()
doSymPy
para obter a base do núcleo e a nulidade.
Essa combinação de bibliotecas permite fazer análises precisas, seja para estudar sistemas lineares, transformar espaços vetoriais ou apenas para explorar a beleza da estrutura algébrica das matrizes.
🔗 Leitura complementar
Se você ainda não viu a explicação detalhada sobre o que é posto e nulidade, confira o post anterior aqui:
📚 Posto e Nulidade de uma Matriz
E não esquece de compartilhar este post com quem está aprendendo Python e quer entender Álgebra Linear de verdade! 💙
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.