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

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:

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

Mais visualizadas nos últimos 30 dias

Mais visualisadas