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

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

Use np.linalg.matrix_rank() para calcular o posto e Matrix().nullspace() do SymPy 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

Mais visualizadas nos últimos 30 dias

Mais visualisadas