Determinantes e seu significado geométrico
Talvez você se lembre do determinante de matrizes que talvez tenha aprendido no ensino médio. O determinante da matriz é um número relacionado à matriz, e vamos estudar seu significado. Para isso, usaremos o caso de matrizes \(2 \times 2\), sabendo que esse significado pode ser extrapolado para matrizes de dimensão mais alta.
Equação para calcular determinante da matriz \(2 \times 2\)
Significado do determinante
Tipicamente, ensinamos que, se o determinante de \(A\) é zero, então \(A^{-1}\) não existe.
Determinantes em Python
A função np.linalg.det(A) calcula o determinante de A.
Significado geométrico: intersecção de retas
As equações de primeiro grau são aquelas que relacionam uma variável de entrada (\(x\)) a uma saída (\(y\)) por meio de um polinômio de primeiro grau como:
Esse tipo de equação também é chamado de "equação da reta". O motivo disso é que os pontos \((x_0,y_0)\) que satisfazem a essa equação se organizam em uma reta.
Uma outra forma de escrever a equação da reta é usar a forma geral:
Nesse caso, para traçar a reta, é preciso isolar \(y\) e então proceder normalmente.
Esboce (manualmente), na mesma figura, as retas:
- \(y = 0.5x\)
- \(y = 1 - 0.5x\)
- \(2y - 2 - x = 0\)
- \(y = 2\)
Problema: onde corredores se encontram?
Dois corredores estão correndo por uma trilha. Um deles parte da marcação do km 3, e corre a 5km/h. O outro deles parte da marcação do km 5 e corre a 2km/h, na mesma direção do primeiro. Para encontrar a posição na estrada e o instante em que eles vão se encontrar, podemos modelar o problema como um sistema de equações e resolvê-lo normalmente.
- Após quanto tempo os corredores se encontrarão?
- Em que local da trilha os corredores se encontrarão?
- Esboce as retas que representam os movimentos dos corredores
- Qual é o ponto em que as retas se encontram?
- Qual é a relação desse ponto de encontro com a solução do sistema linear?
Formulação matricial do problema
Exemplo
O sistema de equações com que lidamos é:
Ele pode ser re-escrito como:
e, na forma matricial, ficaríamos com:
Da forma matricial para equações da reta
O sistema de equações abaixo, escrito na forma matricial, determina duas retas. Encontre a equação das retas e determine (use um script Python, e depois confira manualmente se a resposta está correta) o ponto em que elas se cruzam:
Retas paralelas
Dizemos que duas retas são paralelas quando seus coeficientes angulares (o "\(a\)" na equação \(y=ax+b\)) é igual. Por exemplo:
-
Determine \(c \in \mathbb{R}\) abaixo para que as retas relacionadas ao sistema sejam paralelas:
$$ \begin{cases} \begin{array}{rl} y &= 3x + 6 \\ y &= cx + 12 \end{array} \end{cases} $$ -
Determine \(c \in \mathbb{R}\) abaixo para que as retas relacionadas ao sistema sejam paralelas:
$$ \begin{cases} \begin{array}{rl} y &= 3x + 6 \\ 10 &= cx + 12 + 2y \end{array} \end{cases} $$ -
Determine \(c \in \mathbb{R}\) abaixo para que as retas relacionadas ao sistema sejam paralelas:
$$ \begin{bmatrix} 1 & 2\\ c & 4 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 17 \\ 23 \end{bmatrix} $$ -
Determine qual deve ser a relação entre \(a\), \(b\), \(c\) e \(d\) abaixo para que as retas relacionadas ao sistema sejam paralelas:
$$ \begin{bmatrix} a & b\\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} \beta_1 \\ \beta_2 \end{bmatrix} $$
Resumo: determinantes e a intersecção das retas
O determinante da matriz \(2 \times 2\) é zero quando as retas determinadas por esse sistema não se cruzam. Nessas condições, não existe inversa da matriz porque o sistema relacionado não tem solução. No caso de matrizers de tamanho maior, estamos falando da intersecção de planos ou de hiperplanos.
Significado geométrico: áreas de formas
Neste estudo, verificaremos o que acontece com áreas de polígonos na multiplicação matricial. Para isso, vamos partir de criar uma núvem de pontos:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.uniform(-0.5, 0.5, size=(2, 600))
plt.figure()
plt.scatter(x[0,:], x[1,:], s=1, c='r')
plt.xlim([-2, 2])
plt.ylim([-2, 2])
plt.grid()
plt.show()
Veja que x contém vários pontos (1 ponto por coluna). Mas, gostaríamos de verificar o que acontece com nossa núvem de pontos quando multiplicamos por uma matriz \(A\). Em outras palavras, gostaríamos de fazer:
que pode ser interpretado como aplicar a matriz \(A\) sobre cada uma das colunas de \(X\), ou:
Podemos implementar essa situação para a matriz \(A=\begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}\) com o código:
x = np.random.uniform(-0.5, 0.5, size=(2, 600))
A = np.array([ [2, 0], [0, 2] ])
y = A @ x
plt.figure()
plt.scatter(x[0,:], x[1,:], s=1, c='r')
plt.scatter(y[0,:], y[1,:], s=1, c='b')
plt.xlim([-2, 2])
plt.ylim([-2, 2])
plt.grid()
plt.show()
Veja que isso levou a termos duas núvens de pontos: a vermelha, correspondente aos pontos originais, e a azul, correspondente aos pontos transformados.
Qual é a área ocupada pelos pontos originais (vermelhos)?
A área é \(1\)
Qual é a área ocupada pelos pontos transformados (azuis)?
A área é \(4\)
Transforme a núvem de pontos anterior, experimentando independentemente cada uma das candiatas a matriz \(A\) abaixo. Use os seguintes valores para \(D\): \(1\), \(1.5\), \(2\), \(0\). Para cada valor de \(D\) na matriz, calcule o determinante da matriz e a área da núvem de pontos resultante.
O que significa o determinante em relação à transformação da área da núvem de pontos?
Se transformamos uma núvem de pontos por uma matriz \(A\), a área ocupada pela núvem transformada é a área original multiplicada pelo determinante de \(A\).
Por que o determinante \(0\) implica necessariamente em uma matriz não ser inversível?
Como os pontos de uma área são projetados sobre uma reta (ou seja, estão sendo achatados, de forma semelhante a uma foto achatando um mundo 3D), então sabemos que há vários pontos da núvem original que são projetados sobre o mesmo ponto da núvem transformada. Por isso, é impossível determinar qual era o ponto original, e, portanto, a função que leva de \(X\) para \(Y\) não é inversível. Por isso, \(A\) não tem inversa.