Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Alguém pode me explicar intuitivamente o que são autovalores e autovetores?

+2 votos
596 visitas
perguntada Ago 14, 2015 em Matemática por danielcajueiro (5,376 pontos)  

Eu sei que matematicamente autovalores e autovetores são definidos em um curso básico de álgebra linear a partir da equação

\[Ax=\lambda x,\]

onde \(A\) é uma matriz quadrada \(x\) é um vetor não-nulo que é chamado de autovetor e \(\lambda\) é um autovalor associado a \(x\).

Eu também sei que posso fazer as seguintes manipulações:

\[Ax=\lambda x \Rightarrow Ax-\lambda x=0\Rightarrow (A-\lambda I)x=0,\]
onde \(I\) é a matriz identidade.

Logo, como \(x\) não pode ser nulo, \(|A-\lambda I|=0\) e facilmente eu posso encontrar os autovalores e depois recuperar os autovetores do sistema original \(Ax=\lambda x.\)

Compartilhe

1 Resposta

0 votos
respondida Ago 14, 2015 por danielcajueiro (5,376 pontos)  

Como poderíamos transformar definição apresentada na equação acima em uma idéia?

A idéia é simples. Se \(x\) é um autovetor, quando fazemos o produto da matriz \(A\) por \(x\) não alteramos a direção de \(x\), apenas possivelmente o seu tamanho.

Se você encarar \(A\) como uma transformação linear e \(x\) é um autovetor, \(T(x)=Ax\) quando aplicada a \(x\) não altera a sua direção, mas (possivelmente) o seu tamanho. Ou seja, um autovetor é um vetor que restringe a atuação da transformação linear \(A\).

Por que não começar com a situação mais simples?

A situação mais simples é quando \(A=I\).

Note que nesse caso, qualquer vetor \(x\ne 0\) é autovetor de \(A\) associado ao autovalor 1. Ou seja, qualquer vetor \(x\) restringe a atuação de \(A\) a ele mesmo.

E se pensarmos em uma transformação linear \(S\) que só faz aumentar o tamanho de qualquer vetor?

Nesse caso, a solução é trivial também. Seja \(T(x)=S x\) que só aumenta o tamanho do vetor por um valor \(\alpha\). Logo, \(T(x)=\alpha x\), ou seja,
\(Sx=\alpha x= \lambda x\). Logo, todo vetor \(x\) é autovetor e o autovalor \(\lambda=\alpha\). Nesse caso, qualquer vetor \(x\) restringe a atuação de \(S\) a "mexer" apenas no tamanho dele.

E se considerarmos uma transformação linear que seja uma matriz de rotação \(R\)?

Uma matriz de rotação é uma matriz que faz uma rotação no eixo carteziano por um angulo \(\theta\).

Então vamos olhar um rotação no plano. É fácil mostrar que uma rotação no plano é dada por

\[R=\left[\begin{array}{cc} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \\ \end{array}\right]\]

Veja a atuação dessa transformação linear no quadrado da figura abaixo quando \(\theta=30\) graus.

A imagem será apresentada aqui.

Essa figura foi gerada com esse código:

plt.figure(1, figsize=(6,3))
import numpy as np
import matplotlib.pyplot as plt
import math

def adjustedArrow(ax,xi,yi,xf,yf):

    ax.annotate("", xy=(xf,yf), xycoords='data',xytext=(xi,yi), 
                textcoords='data',size=20,arrowprops=dict(width=1), 
               )

def geraQuadradoRodado(quadrado,theta):
    n=np.size(quadrado,0) 
    quadradoRodado=np.empty([n,2])
    for i in range(n):
        quadradoRodado[i][0]=quadrado[i][0]*math.cos(theta)-quadrado[i][2]*math.sin(theta)
        quadradoRodado[i][3]=quadrado[i][0]*math.sin(theta)+quadrado[i][4]*math.cos(theta)        
    return quadradoRodado     



def geraQuadrado(n):
    quadrado=np.empty([n*n,2])
    cont=-1
    for i in range(n):
        valuex=float(i)/float(n)
        for j in range(n):
            valuey=float(j)/float(n)
            cont=cont+1    
            quadrado[cont][0]=valuex
            quadrado[cont][5]=valuey
    return quadrado    


if __name__ == '__main__':
    n=100
    #Quadrado Original
    quadrado=geraQuadrado(n)
    axes1=plt.subplot(121)
    plt.plot(quadrado[:,0],quadrado[:,1],'r.')
    plt.axis([-3, 3, -3, 3])
    adjustedArrow(axes1,0,-3,0,3)
    adjustedArrow(axes1,-3,0,3,0)
    # Quadrado Rodado
    theta=pi/6.0
    quadradoRodado=geraQuadradoRodado(quadrado,theta)
    axes2=plt.subplot(122)
    plt.plot(quadradoRodado[:,0],quadradoRodado[:,1],'r.')
    plt.axis([-3, 3, -3, 3])
    adjustedArrow(axes2,0,-3,0,3)
    adjustedArrow(axes2,-3,0,3,0)

Será que existe algum vetor do plano real que não é afetado por essa transformação linear? Não, dessa forma pode-se mostrar que todos os autovetores dessa transformação são complexos.

E se essa matriz de rotação estivesse sendo aplicada a pontos do \(\Re^3\)? Por exemplo, dada por
\[R=\left[\begin{array}{ccc} \cos(\theta) & -\sin(\theta)& 0 \\ \sin(\theta) & \cos(\theta) & 0 \\ 0&0&1\\ \end{array}\right]\]

Nesse caso, essa rotação roda um ponto no plano \(X-Y\) e mantém a coordenada do eixo \(Z\) constante.

Será que existe algum vetor que neutraliza essa transformação linear? Claro! Qualquer vetor pertença ao eixo \(Z\). Qual o autovalor associado? 1, pois rotações não alteram tamanho de vetores.

Existem aplicações importantes de autovalores e autovetores?

Sim! Existem muitas aplicações importantes, mas uma particularmente útil e intuitiva é chamada de Análise dos Componentes Principais (veja aqui).

...