Independência linear de vetores com Python
🧭 Como identificar vetores linearmente independentes com Python?
Se você já conferiu as postagens Vetores linearmente independentes, Posto e Nulidade de uma Matriz e Como calcular o Posto e a Nulidade de uma Matriz com Python, você já tem a base teórica que precisa para analisar conjuntos de vetores com Python.
Agora é hora de colocar a mão na massa! Vamos mostrar como identificar se vetores são linearmente independentes fornecendo-os separadamente, organizando-os em uma matriz e analisando o posto. Tudo isso, com exemplos e a saída esperada no terminal!
🔍 Qual é a lógica?
Para um conjunto de vetores, a verificação da independência linear é feita da seguinte forma:
- Coloque os vetores como colunas de uma matriz;
- Calcule o posto da matriz;
- Compare com o número de vetores.
✅ Se o posto = número de vetores, os vetores são linearmente independentes.
❌ Se o posto < número de vetores, há dependência linear.
⚠️ Exemplo 1: Vetores Linearmente Dependentes
Vamos usar vetores em \( \mathbb{R}^3 \):
$$ v_1 = \begin{bmatrix}1 \\ 0 \\ 2\end{bmatrix}, \quad v_2 = \begin{bmatrix}2 \\ 1 \\ 3\end{bmatrix}, \quad v_3 = \begin{bmatrix}3 \\ 1 \\ 5\end{bmatrix} $$
import numpy as np
v1 = np.array([1, 0, 2])
v2 = np.array([2, 1, 3])
v3 = np.array([3, 1, 5])
# Criando matriz M onde as colunas são os vetores
M = np.column_stack((v1, v2, v3))
# Determinando o posto (rank) da matriz M
posto = np.linalg.matrix_rank(M)
# Identificando o número de colunas da matriz M
num_vetores = M.shape[1]
print("Matriz formada pelos vetores:\\n", M)
print("Posto:", posto)
print("Número de vetores:", num_vetores)
if posto == num_vetores:
print("Os vetores são linearmente independentes.")
else:
print("Os vetores são linearmente dependentes.")
🖥️ Saída esperada:
Matriz formada pelos vetores:
[[1 2 3]
[0 1 1]
[2 3 5]]
Posto: 2
Número de vetores: 3
Os vetores são linearmente dependentes.
🧠 O vetor \( v_3 \) é combinação linear de \( v_1 \) e \( v_2 \). Isso gera um posto menor que o número de vetores → dependência confirmada!
✅ Exemplo 2: Vetores Linearmente Independentes em \( \mathbb{R}^4 \)
Agora, vamos usar vetores com 4 coordenadas:
$$ u_1 = \begin{bmatrix}1 \\ 0 \\ 0 \\ 1\end{bmatrix}, \quad u_2 = \begin{bmatrix}0 \\ 1 \\ 0 \\ 1\end{bmatrix}, \quad u_3 = \begin{bmatrix}0 \\ 0 \\ 1 \\ 1\end{bmatrix} $$
u1 = np.array([1, 0, 0, 1])
u2 = np.array([0, 1, 0, 1])
u3 = np.array([0, 0, 1, 1])
# Esta função cria matriz onde as colunas são os vetores
M2 = np.column_stack((u1, u2, u3))
# Calculando o posto (rank) da matriz M2
posto2 = np.linalg.matrix_rank(M2)
# Identificando o número de colunas da matriz M2
num_vetores2 = M2.shape[1]
print("Matriz formada pelos vetores:\\n", M2)
print("Posto:", posto2)
print("Número de vetores:", num_vetores2)
if posto2 == num_vetores2:
print("Os vetores são linearmente independentes.")
else:
print("Os vetores são linearmente dependentes.")
🖥️ Saída esperada:
Matriz formada pelos vetores:
[[1 0 0]
[0 1 0]
[0 0 1]
[1 1 1]]
Posto: 3
Número de vetores: 3
Os vetores são linearmente independentes.
✨ O posto é 3 e temos 3 vetores → independência garantida!
📐 Como saber se vetores são linearmente independentes usando o determinante?
Além de calcular o posto da matriz com Python, também é possível determinar a independência linear de um conjunto de vetores por meio de uma abordagem clássica da Álgebra Linear: o determinante.
A regra é simples e poderosa:
Se o determinante da matriz formada pelos vetores (como colunas) é diferente de zero, então os vetores são linearmente independentes.
Essa abordagem só vale quando temos o mesmo número de vetores e de coordenadas, ou seja, uma matriz quadrada.
Vamos ver isso funcionando com um exemplo em Python utilizando a biblioteca sympy
, que permite calcular determinantes de forma simbólica:
🔎 Exemplo: Verificando independência com o determinante
Considere os seguintes vetores em \( \mathbb{R}^3 \):
$$ v_1 = \begin{bmatrix}1 \\ 0 \\ 2\end{bmatrix}, \quad v_2 = \begin{bmatrix}0 \\ 1 \\ 1\end{bmatrix}, \quad v_3 = \begin{bmatrix}1 \\ 1 \\ 0\end{bmatrix} $$Queremos saber: eles são linearmente independentes?
import sympy as sp
# Criando a matriz com os vetores como colunas
v1 = sp.Matrix([1, 0, 2])
v2 = sp.Matrix([0, 1, 1])
v3 = sp.Matrix([1, 1, 0])
# Formando a matriz 3x3
M = sp.Matrix.hstack(v1, v2, v3)
# Calculando o determinante
det = M.det()
print("Matriz formada pelos vetores:")
sp.pprint(M)
print("\nDeterminante da matriz:", det)
if det != 0:
print("Os vetores são linearmente independentes.")
else:
print("Os vetores são linearmente dependentes.")
🖥️ Saída esperada:
Matriz formada pelos vetores:
⎡1 0 1⎤
⎢0 1 1⎥
⎣2 1 0⎦
Determinante da matriz: -3
Os vetores são linearmente independentes.
✅ O determinante foi diferente de zero, então concluímos que os vetores são linearmente independentes. Nenhum deles pode ser escrito como combinação linear dos outros!
Esse método é prático para conjuntos pequenos de vetores com o mesmo número de componentes, e ajuda a reforçar a compreensão conceitual de independência linear como "volume diferente de zero".
Caso tenha mais vetores do que dimensões, ou deseje verificar conjuntos maiores, o ideal é utilizar o matrix_rank()
, como vimos nos exemplos anteriores.
🎯 E aí, seus vetores passam no teste?
Com apenas algumas linhas de código em Python, conseguimos verificar se vetores são linearmente independentes — uma habilidade fundamental na Álgebra Linear e em diversas aplicações matemáticas e computacionais.
Este post é a continuação natural dos temas já explorados aqui no blog. Confira:
- 📌 Vetores linearmente independentes
- 📌 Posto e Nulidade de uma Matriz
- 📌 Como calcular o Posto e a Nulidade de uma Matriz com Python
Curtiu? Quer ver mais exemplos com vetores simbólicos, aplicações em problemas reais ou visualizações gráficas? Deixa nos comentários — a gente adora desafio novo! 🚀
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.