11 abr 2021

Álgebra Lineal Parte 1/4: Valores propios, vectores propios y subespacios propios

En esta ocasión, vamos a hablar de valores propios y vectores propios: estos son valores y vectores característicos asociados a un operador lineal $T:V\to V$ que permiten estudiar a $T$ en una forma particularmente conveniente. Nuestro objetivo final es describir métodos para encontrar una base para $V$ tal que la matriz asociada $T$ tenga una forma especialmente simple.

Primero vamos a describir el proceso de diagonalización, procedimiento que se hace para encontrar una base tal que la matriz asociada a $T$ sea una matriz diagonal, y que caracteriza a los operadores lineales que son diagonalizables.

Desafortunadamente, no todos los operadores lineales son diagonalizables, así que también vamos a discutir un método para calcular la forma canónica de una matriz, el cual es la representación más cercana posible a una matriz diagonal. Finalmente estudiaremos unas aplicaciones de la forma canónica de Jordan, incluyendo el teorema de Cayley-Hamilton que es para cualquier matriz que satisface su polinómio característico.

Valores propios, vectores propios y el polinómio característico

Suponga que se tiene una transformación lineal $T:V\to V$ de un espacio vectorial finito dimensional en sí mismo. Vamos a probar que existe una base $\beta$ de $V$ tal que la matriz asociada a $T$ es una matriz diagonal. La motivación para resolver esto, es porque es deseable describir a $T$ en la forma más simple posible, ¿Y hay otra forma más simple que una matriz diagonal?

Suponga que $\beta = \{v_1, \dots, v_n\}$ y que la matriz asociada a $T$ es la matriz diagonal $[T]_{\beta}^{\beta} =\operatorname*{diag\,} (\lambda_1, \dots, \lambda_n)$. Bajo este supuesto, se tiene que $[T]_{\beta}^{\beta}(v_i)=\lambda_i v_i$ para cada $1\leq i\leq n$; la transformación lineal $T$ se comporta como la multiplicación de un escalar $\lambda_i$ por un vector $v_i$. Inversamente, si se tiene una base $\beta$ de $V$ tal que $[T]_{\beta}^{\beta}(v_i)=\lambda_i v_i$ para algún escalar $\lambda_i$, con $1\leq i \leq n$, entonces la matriz asociada $[T]_{\beta}^{\beta}$ es una matriz diagonal.

Esto sugiere que hay que estudiar los vectores $v$ tal que $T(v) = \lambda v$ para algún escalar $\lambda$.

Definición. Si $T:V\to V$ es una transformación lineal, un vector no nulo $v$ con $T(v)=\lambda v$ es una vector propio de $T$, y le corresponde un escalar $\lambda$ llamado valor propio de $T$.

No se considera el vector cero como un vector propio. La razón de esta convención es para asegurar que si $v$ es un vector propio, entonces le corresponde un valor propio $\lambda$ único. Tambien observe que implícitamente $\lambda$ debe ser un elemento del campo escalar de $V$, dado que en otro caso $\lambda v$ no tendría sentido.

Cuando $V$ es un espacio de funciones, se usa a menudo las palabras funciones propias en lugar de vectores propios.

Veamos algunos ejemplos de transformaciones lineales y vectores propios

Ejemplo 1. Si $T:\mathbb{R}^2\to \mathbb{R}^2$ es una transformación con $T(x, y) = [2x+3y, x+4y]^\top$, entonces $v=[3, -1]^\top$ es una vector propio de $T$ con valor propio $\lambda = 1$, por lo tanto $T(v) = [3, -1]^\top = v$. En efecto:

In [1]:
def T(x, y):
return (2 * x + 3 * y, x + 4 * y)
In [2]:
T(3, -1) == (3, -1)
Out[2]:
True

Ejemplo 2. Si $T:M_{2\times 2}(\mathbb{R})\to M_{2\times 2}(\mathbb{R})$ es la transformación transposición, entonces la matriz $\big[\begin{smallmatrix} 1 & 1 \\ 1 & 3 \end{smallmatrix}\big]$ es un vector propio de $T$ con valor propio $\lambda = 1$, en efecto:

In [3]:
from sympy import Matrix
In [4]:
def T(w):
return w.T
In [5]:
A = Matrix([[1, 1], [1, 3]])
In [6]:
T(A) == A
Out[6]:
True

Ejemplo 3. Si $T:P(\mathbb{R})\to P(\mathbb{R})$ es la transformación dada por $T(f(x))=xf'(x)$, entonces para cualquier entero $n\geq 0$, el polinomio $p(x) = x^n$ es una función propia de $T$ con valor propio $n$, dado que $T(x^{n})=nx^{n}$. Esto lo vemos en Python así:

In [7]:
from sympy import symbols, diff
In [8]:
x = symbols('x')
n = symbols('n')
In [9]:
def f(x):
return x**n
In [10]:
def T(f):
return x * diff(f, x)
In [11]:
T(f(x)) == n * f(x)
Out[11]:
True

Ejemplo 4. Si $V$ es un espacio infinito diferenciable de funciones y $D:V\to V$ es el operador diferenciación, la función $f(x) = e^{rx}$ es una función propia con valor propio $r$, para cualquier número real $r$, dado que $D(e^{rx})=re^{rx}$.

In [12]:
from sympy import symbols, exp, diff
In [13]:
x = symbols('x')
r = symbols('r')
In [14]:
def f(x):
return exp(r*x)
In [15]:
def D(f):
return diff(f, x)
In [16]:
D(f(x)) == r * f(x)
Out[16]:
True

Ejemplo 5. Si $T:V\to V$ es cualquier transformación lineal y $v$ es un vector no nulo en $\ker (T)$, entonces $v$ es un vector propio de $V$ con valor propio cero. En efecto, los vectores propios asociados a cero son precisamente los vectores no nulos en $\ker (T)$.

Encontrar los vectores propios es una generalización del cálculo del kernel de una transformación lineal, en efecto, se puede reducir el problema de encontrar los vectores propios a computar el kernel de una transformación lineal relacionada.

Criterio del valor propio. Si $T: V\to V$ es una transformación lineal, el vector no nulo $v$ es un vector propio de $T$ con valor propio $\lambda$ si y sólo si $v$ está en el $\ker(\lambda \operatorname{id} - T) = \ker(T-\lambda \operatorname{id})$, donde $\operatorname{id}$ es la transformación identidad sobre $V$.

Este criterio reduce el cálculo de los vectores propios a computar el kernel de una colección de transformaciones lineales.

Demostración: Asuma que $v\neq 0$. Entonces $v$ es un vector propio de $T$ con valor propio $\lambda$ si, y solo si $T(v)=\lambda v$ si, y solo si $(\lambda\operatorname{id})v - T(v) =0$ si, y solo si $(\lambda \operatorname{id} - T)(v) = 0$ si, y solo si $v$ pertenece al kernel de $\lambda \operatorname{id}-T$. La equivalencia $\ker (\lambda \operatorname{id} - T) = \ker(T-\lambda \operatorname{id})$ es también inmediata.

$\Box$

Es importante resaltar que hay algunos operadores lineales que no tienen vectores propios.

Ejemplo 6. Si $I:\mathbb{R}[x]\to \mathbb{R}[x]$ es el operador integración, $I(p)=\int_{0}^{x}p(t)dt$, no tiene vectores propios. En efecto, si se supone que $I(p)=\lambda p$, esto es $\int_{0}^{x}p(x)dt = \lambda p(x)$. Entonces derivando a ambos lados con respecto a $x$ y aplicando el teorema fundamental del cálculo se deduce que $p(x) = \lambda p'(x)$. Si $p$ tiene un grado positivo $n$, entonces $\lambda p'(x)$ debería tener un grado a lo sumo de $n-1$, que no es igual a $p(x)$. Por lo tanto, $p$ debe ser el polinomio constante. Pero el único polinomio constante con $I(p) = \lambda p$ es el polinomio cero, el cual por definición no es un vector propio. Por lo tanto, $I$ no tiene vectores propios.

En otros casos, la existencia de los vectores propios dependen del campo escalar que se está usando.

Ejemplo 7. Si se considera $T:F^2 \to F^2$ definido por $T(x, y) = \langle y, -x\rangle$, no tiene valores propios cuando $F=\mathbb{R}$, pero si tiene vectores propios cuando $F=\mathbb{C}$. En efecto si $T(x, y) = \lambda \langle x , y\rangle$, se tiene que $y=\lambda x$ y $-x = \lambda x$, así que $(\lambda^{2} + 1)y=0$. Si $y$ fuera cero, entonces $x=-\lambda y$ sería tambien cero, imposible. Por lo tanto $y\neq 0$ y así $\lambda^{2}+1=0$. Cuando $F=\mathbb{R}$ no existe tal escalar $\lambda$, y por lo tanto en este caso no hay vectores propios. Sin embargo, cuando $F=\mathbb{C}$, se tiene que $\lambda =\pm i$, y entonces los vectores propios son $[x, -ix]^{\top}$ con valor propio $i$ y $[x, ix]^{\top}$ con valor propio $-i$.

Calcular los vectores propios en general de transformaciones lineales sobre espacio infinito dimensionales pueder ser muy complicado.

Por ejemplo, si $V$ es un espacio infinito diferenciable de funciones, entonces calcular los vectores propios de la transformación $T:V\to V$ con $T(f)=f''+xf'$ requiere resolver la ecuación $f''+x f'=\lambda f$ para un $\lambda$ arbitrario. Es bastante díficil resolver esa ecuación diferencial particular para una $\lambda$ en general, al menos sin recurrir a utilizar una expansión en serie infinita para describir las soluciones, además las soluciones para la mayoría de los valores de $\lambda$ son funciones no elementales.

En el caso finito dimensional, el problema se puede resolver usando matrices

Valores propios y matrices. Suponga que $V$ es un espacio vectorial finito dimensional con una base ordenada $\beta$ y tal que $T:V\to V$ es una transformación lineal. Entonces $v$ es un vector propio de $T$ con valor propio $\lambda$ si y solo si $[v]_{\beta}$ es un vector propio de la multiplicación a la izquierda por $[T]_{\beta}^{\beta}$ con valor propio $\lambda$.

Demostración: Observe que $v\neq 0$ si y sólo si $[v]_{\beta}\neq 0$. Entonces cuando $v$ es un vector de propio de $T$ entonces $T(v)=\lambda v$, es decir, $[T(v)]_{\beta} = [\lambda v]_{\beta}$ esto es $[T]_{\beta}^{\beta}[v]_{\beta}$ si y solo si $[v]_{\beta}$ es un vector propio de la multiplicación a la izquirda por $[T]_{\beta}^{\beta}$.

$\Box$

Valores propios y vectores propios de una matriz

Ahora vamos a estudiar los valores y vectores propios de una matriz. Por conveniencia, vamos a establecer esta definicion:

Definición. Para una matriz $A$ de orden $n\times n$, un vector no nulo $x$ con $Ax = \lambda x$ es un vector propio de $A$, y le corresponde un escalar $\lambda$ llamado valor propio de $A$.

Ejemplo 8. Si $\big[\begin{smallmatrix} 2 & 3 \\ 1 & 4 \end{smallmatrix}\big]$, el vector $x = [3, -1]^{\top}$ es un vector propio de $A$ con valor propio $1$. En efecto:

In [17]:
from sympy import Matrix
In [18]:
A = Matrix([[2, 3], [1, 4]])

Ensympyes fácil definir vectores columna, estos se definen mediante una lista de elementos:

In [19]:
x = Matrix([3, -1])
In [20]:
A*x == x
Out[20]:
True

Ejemplo 9. Si $A = \begin{bmatrix}2 & -4 & 5\\ 2 & -2 & 5 \\ 2 & 1 & 2\end{bmatrix}$, el vector $x = [1, 2, 2]^{\top}$ es un vector propio de $A$ con valor propio cuatro. En efecto:

In [21]:
from sympy import Matrix
In [22]:
A = Matrix([[2, -4, 5], [2, -2, 5], [2, 1, 2]])
In [23]:
x = Matrix([1, 2, 2])
In [24]:
A*x == 4*x
Out[24]:
True

Ejemplo 10. Los valores y vectores propios tambien pueden involucrar número complejos, incluso si la matriz $A$ tiene solo entradas de número reales. Usualmente se asumen que el campo escalar del espacio vectorial es $\mathbb{R}$ al menos que se especifíque otro caso. A continuación veamos un ejemplo en $\mathbb{C}$.

Sea $A = \begin{bmatrix}6 & 3 & -2\\ -2 & 0 & 0 \\ 6 & 4 & 2\end{bmatrix}$, el vector $x = [1-i, 2i, 2]^{\top}$ es una vector propio de $A$ con valor propio $i+1$. En efecto:

In [25]:
from sympy import Matrix, I, expand
In [26]:
A = Matrix([[6, 3, -2], [-2, 0, 0], [2, 2, 0]])
In [27]:
x = Matrix([1-I, 2*I, 2])
In [28]:
A*x == expand((I+1)*x)
Out[28]:
True

Para este ejemploI es el número imaginario $i$, y el comando expand se utilizó para expandir los productos.

En principio parece que una matriz puede tener muchos vectores propios con muchos valores propios. Pero en efecto, cualquier matriz $n\times n$ tiene unos pocos valores propios, y hay una forma simple de encontrarlos todos utilizando determinantes.

Cálculando valores propios. Si $A$ es una matriz de orden $n\times n$, el escalar $\lambda$ es una valor propio de $A$ si y sólo si $\det(\lambda I - A) =0.$

Demostración. Suponga que $\lambda$ es un valor propio asociado con el vector no nulo $x$. Entonces $Ax=\lambda x$, o como vimos antes $(\lambda I - A)x = 0$. De los resultados para matrices invertibles, se sabe que la ecuación $(\lambda I - A)x$ tiene solución no nula para $x$ si y solo si la matrix $\lambda I - A$ es no invertible, lo cual es equivalente a decir $\det (\lambda I - A) =0$.

$\Box$

Cuando se expande el determinante $\det(\lambda I - A)$, se obtiene un polinomio de grado $n$ en la variable $\lambda$, como se puede verificar por inducción.

Definición. Para una matriz $A$ de orgen $n\times n$, el polinomio de grado $p(\lambda) = \det(\lambda I - A)$ es llamado el polinomio característico de $A$, y precisamente su raíces son los valores propios de $A$.

Algunos autores define el polinomio característico como el determinante de la matriz $A-\lambda I$ en lugar de $\lambda I - A$. Aca se define de esta forma porque el coficiente de $\lambda^{n}$ siempre será $1$, en llugar de $(-1)^{n}$.

Así para encontrar los valores propios de una matriz, solo se necesita encontrar las raíces del polinómio característico.

Cuando se investiga las raíces para un polinomio de grado pequeño, el siguiente caso de test para las raíces racionales es amenudo útil.

Criterio de las raíces racionales de un polínomio. Suponga que $p(\lambda) = \lambda^{n}+\cdots + b$ tiene coeficientes enteros y el coeficiente principal igual a uno. Entonces cualquier número racional que es una raíz de $p(\lambda)$ debe ser un entero que divide a $b$.

La proposición reduce la cantidad de prueba y error necesaria para encontrar raíces racionales de polinomios, ya que solo necesitamos considerar los números enteros que dividen al término constante.

Por supuesto, un polinomio genérico no tendrá una raíz racional, por lo que para calcular valores propios en la práctica generalmente se necesita usar algún tipo de procedimiento de aproximación numérica, como el método de Newton para $n$ raíces.

Ejemplo 11. Encontrar los valores propios de $A = \big[\begin{smallmatrix} 3 & 1 \\ 2 & 4 \end{smallmatrix}\big]$. Primero encontramos su polinomio característico.

In [29]:
from sympy import Matrix, factor
In [30]:
A = Matrix([[3, 1], [2, 4]])
In [31]:
polynomial = A.charpoly()
factor(polynomial.as_expr())
Out[31]:
$\displaystyle \left(\lambda - 5\right) \left(\lambda - 2\right)$

Como vemos los ceros del polinomio característico son $\lambda =2$ $\lambda=5$, por lo tanto los valores propios de $A$ son $2$ y $5$.

Ejemplo 12. Encontrar los valores propios de $A = \begin{bmatrix}1 & 4 & \sqrt{3}\\ 0 & 3 & -8 \\ 0 & 0 & \pi\end{bmatrix}$.

Observe que el determinante de $\lambda I - A es$: $$\det(\lambda - A) = \begin{bmatrix}\lambda - 1 & -4 & -\sqrt{3}\\ 0 & \lambda - 3 & 8 \\ 0 & 0 & \lambda -\pi\end{bmatrix} = (\lambda - 1)(\lambda - 3)(\lambda - \pi)$$ debido a que la matriz es triangular superior. Por lo tanto los valores propios son $1, 3, pi$.

In [32]:
from sympy import Matrix, factor, pi, sqrt
In [33]:
A = Matrix([[1, 4, sqrt(3)], [0, 3, -8], [0, 0, pi]])
In [34]:
polynomial = A.charpoly()
factor(polynomial.as_expr())
Out[34]:
$\displaystyle \left(\lambda - 3\right) \left(\lambda - 1\right) \left(\lambda - \pi\right)$

La idea del ejemplo anterior funciona en general:

Valores propios de una matriz triangular. Los valores propios de una matriz triangular superior o inferior son las entradas de la diagonal principal.

Demostración. Si $A$ es una matriz triangular superior de orden $n\times n$ (o inferior), entonces se tiene que $\lambda I - A$ también es una matriz triangular superior (o inferior). Luego por las propiedades de los determinantes, $\det(\lambda I - A)$ es igual a el producto de las entradas de la diagonal principal de $\lambda I - A$. Dado que estas entradas son simplemente $\lambda - a_{i, i}$ para $1\leq i\leq n$, los valores propios son $a_{i, i}$ para $1\leq i\leq n$, es decir, simplemente las entradas de la diagonal principal de $A$.

$\Box$

Puede ocurrir que el polinomio característico tenga raíces repetidas. En tal caso, cada valor propio tiene multiplicidad y se incluye el valor propio el número de veces restante cuando son listados todos los valor propios.

Por ejemplos, si una matriz tiene el polinomio caractístico $\lambda^{2}(\lambda - 1)^{1}$, se puede decir que los valores propios son cero con multiplicidad dos, y uno con multiplicidad tres. Los valores propios se deberían listar como $\lambda = 0, 0, 1, 1, 1$.

Ejemplo 12. Encontrar los valores propios de la matriz $A = \begin{bmatrix}1 & -1 & 0\\ 1 & 3 & 0 \\ 0 & 0 & 0\end{bmatrix}$. En este caso se tiene:

In [35]:
from sympy import Matrix, factor
In [36]:
A = Matrix([[1, -1, 0], [1, 3, 0], [0, 0, 0]])
In [37]:
polynomial = A.charpoly()
factor(polynomial.as_expr())
Out[37]:
$\displaystyle \lambda \left(\lambda - 2\right)^{2}$

Por lo tanto, el polinomio característico tiene las raíces $\lambda = 0$ de multiplicidad uno y a $\lambda=2$ de multiplicidad dos. De esta forma la matriz $A$ tiene los valores propios $\lambda = 0$ de multiplicidad uno y a $\lambda = 2$ de multiplicidad dos. Y se listarían como $\lambda = 0, 2, 2.$

Ejemplo 12. Encontrar los valores propios de la matriz $A = \begin{bmatrix}1 & 1 & 0\\ 0 & 1 & 1 \\ 0 & 0 & 1\end{bmatrix}$.

En este caso como $A$ es triangular superior, los valores propios son las entradas de la diagonal principal, así $A$ tiene por valor propio a $\lambda = 1$ con multiplicidad tres. Y se listaría como $\lambda = 1, 1, 1.$

In [38]:
from sympy import Matrix, factor
In [39]:
A = Matrix([[1, 1, 0], [0, 1, 1], [0, 0, 1]])
In [40]:
polynomial = A.charpoly()
factor(polynomial.as_expr())
Out[40]:
$\displaystyle \left(\lambda - 1\right)^{3}$

Note también que un polinomio característico podría tener raíces no reales, incluso si la entradas de la matriz son reales.

Dado que el polinomio característico tiene coeficientes reales, los valores propios no reales serán pares conjugados de números complejos. Además, los vectores propios para estos valores propios no necesariamente contienen entradas no reales.

Ejemplo 13. Encontrar los valores propios de $A =\big[\begin{smallmatrix} 1 & 1 \\ -2 & 3\end{smallmatrix}\big]$. En este caso se tiene:

In [41]:
from sympy import Matrix, factor, I
In [42]:
A = Matrix([[1, 1], [-2, 3]])
In [43]:
polynomial = A.charpoly()
factor(polynomial.as_expr(), extension=[I])
Out[43]:
$\displaystyle \left(\lambda - 2 - i\right) \left(\lambda - 2 + i\right)$

Los valores propios son $\lambda = 2 + i, 2 -i$.

Subespacios propios

Usando el polinomio caraterístico, se pueden encontrar todos los valores propios de una matriz $A$ sin calcular los vectores propios asociados. Sin embargo, también se quiere encontrar los vectores propios asociados para cada valor propio.

Subespacios propios. Si $T: V\to V$ es una transformación lineal, entonces para cualquier valor fijo de $\lambda$, el conjunto $E_{\lambda}$ de vectores en $V$ que satisface $T(v)=\lambda v$ es un subespacio de $V$. Este espacio $E_{\lambda}$ se denomina subespacio propio asociado al vector propio $\lambda$ o simplemente $\lambda$ - subespacio.

Observe que $E_{\lambda}$ es precisamente el conjunto de vectores propios asociados a $\lambda$ junto con el vector cero.

Los subespacios propios de una matriz $A$ son definidos de la misma forma. $E_{\lambda}$ es el espacio de vectores $v$ tal que $Av = \lambda v$.

Demostración. Por definición, $E_{\lambda}$ es el kernel de la transformación lineal $\lambda \operatorname{id} - T$, y por lo tanto es un subespacio de $V$.

$\Box$

Ejemplo 14. Encontrar todos los valores propios, y una base para cada subespacio propio, para la matriz $A = \big[\begin{smallmatrix} 2 & 2 \\ 3 & 1 \end{smallmatrix}\big]$.

In [44]:
from sympy import Matrix, factor, eye, I
In [45]:
A = Matrix([[2, 2], [3, 1]])
In [46]:
polynomial = A.charpoly()
factor(polynomial.as_expr(), extension=[I])
Out[46]:
$\displaystyle \left(\lambda - 4\right) \left(\lambda + 1\right)$

En este caso los valores propios son $\lambda = -1, 4$ cada uno de multiplicidad uno.

In [47]:
A.eigenvals()
Out[47]:
{4: 1, -1: 1}

De forma general se puede definir la aplicación $f(\lambda)=\lambda\operatorname{id} - A$ de la siguiente forma:

In [48]:
def eigen_transformation(eigenvalue, A):
identity = eye(A.shape[0])
return eigenvalue * identity - A

Para $\lambda = -1$, se tiene matriz asociada:

In [49]:
B = eigen_transformation(eigenvalue=-1, A=A)
B
Out[49]:
$\displaystyle \left[\begin{matrix}-3 & -2\\-3 & -2\end{matrix}\right]$

Y su kernel o espacio nulo es

In [50]:
B.nullspace()
Out[50]:
[Matrix([
[-2/3],
[ 1]])]

De decir que el $-1$-subspacio propio es $1$-dimensional y es generado por $\big[\begin{smallmatrix} -2 \\ 3 \end{smallmatrix}\big]$.

Para $\lambda=4$ se debe encontrar el espacio nulo de la matriz:

In [51]:
B = eigen_transformation(eigenvalue=4, A=A)
B
Out[51]:
$\displaystyle \left[\begin{matrix}2 & -2\\-3 & 3\end{matrix}\right]$

Aplicando el método nullspace se tiene:

In [52]:
B.nullspace()
Out[52]:
[Matrix([
[1],
[1]])]

Así, el $4$-subespacio propio es $1$-dimensional y es generado por $\big[\begin{smallmatrix} 1 \\ 1 \end{smallmatrix}\big]$.

Ejemplo 15. Encontrar todos los valores propios y una base para cada subespacio propio, para la matriz: \begin{equation}\begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix}.\end{equation}

In [53]:
from sympy import Matrix, factor, eye, I
In [54]:
A = Matrix([[0, 0, 0], [1, 0, -1], [0, 1, 0]])
In [55]:
polynomial = A.charpoly()
factor(polynomial.as_expr(), extension=[I])
Out[55]:
$\displaystyle \lambda \left(\lambda - i\right) \left(\lambda + i\right)$

En este caso los valores propios son $\lambda = 0, i, -i.$

Para $\lambda = 0$, se busca el espacio nulo de la matriz:

In [56]:
B = eigen_transformation(eigenvalue=0, A=A)
B
Out[56]:
$\displaystyle \left[\begin{matrix}0 & 0 & 0\\-1 & 0 & 1\\0 & -1 & 0\end{matrix}\right]$

cuyo espacio nulo viene dado por:

In [57]:
B.nullspace()
Out[57]:
[Matrix([
[1],
[1]])]
[0],

por lo tanto el $0$-espacio propio es $1$ - dimensional y es generado por $[1, 0, 1]^{\top}$.

Para $\lambda = i$ se tiene:

In [58]:
B = eigen_transformation(eigenvalue=I, A=A)
B.nullspace()
Out[58]:
[Matrix([
[0],
[1]])]
[I],

Así el $i$-espacio propio es generado por $[0,i, 1]^{\top}$.

Y para $\lambda = -i$ se tiene:

In [59]:
B = eigen_transformation(eigenvalue=-I, A=A)
B.nullspace()
Out[59]:
[Matrix([
[ 0],
[ 1]])]
[-I],

y finalmente el $(-i)$-espacio propio es generado por $[0, -i, 1]^{\top}$.

Note que en el ejemplo anterior, con una matriz real se pueden encontrar valores propios complejos conjugados asociados a vectores propios que también son complejos conjugados. Estos no es un accidente:

Valores propios conjugados. Si $A$ es una matriz real y $v$ es un vector propio con valores propios $\lambda$, entonces el complejo conjugado $\bar{v}$ es un vector propio con valor propio $\bar{\lambda}$. En particular, una base para $\bar{\lambda}$-subespacio propio es dado por el complejo conjugado de una base para el $\lambda$ - subespacio propio.

Demostración. La primera afirmación se sigue de la observación que el complejo conjugado de un producto o una suma es propiamente el producto o la suma de los complejos conjugados, así si $A$ y $B$ son cualquier par de matrices compatibles en tamaño para la multiplicación, se tiene $\overline{A\cdot B} = \overline{A}\cdot\overline{B}$.

Por lo tanto, si $Av= \lambda v$, tomando complejos conjudagos dados por $\overline{A}\overline{v}=\overline{\lambda}\overline{v}$, y dado que $\overline{A} = A$ porque $A$ es una matriz real, se puede ver que $A\overline{v} =\overline{\lambda}\overline{v}$, por lo tanto, $\overline{v}$ es un vector propio con valores propio $\overline{\lambda}.$

La segunda afirmación se sigue de la primera, dado que la conjugación compleja no afecta la independencia lineal o la dimensión.

$\Box$

Ejemplo 16. Encontrar todos los valores propios, y una base para cada valor propio, para la matriz $A = \big[\begin{smallmatrix} 3 & -1 \\ 2 & 5 \end{smallmatrix} \big]$.

In [60]:
from sympy import Matrix, factor, eye, I
In [61]:
A = Matrix([[3, -1], [2, 5]])
In [62]:
polynomial = A.charpoly()
factor(polynomial.as_expr(), extension=[I])
Out[62]:
$\displaystyle \left(\lambda - 4 - i\right) \left(\lambda - 4 + i\right)$

El espacio nulo para $\lambda = 4+i$ es:

In [63]:
B = eigen_transformation(eigenvalue=4+I, A=A)
B.nullspace()
Out[63]:
[Matrix([
[-1/2 + I/2],
[ 1]])]

de donde se concluye que el $(4 + i)$ - subespacio propio es $1$ - dimensional y es generado por $[-1/2 + i/2, 1]^{\top}$.

Ahora para $\lambda = 4- i$ el $(4-i)$-subespacio también es $1$ - dimensional y es generado por $[-1/2 - i/2, 1]^{\top}.$

El siguiente resultado sobre valores propios puede ser útil en los cálculos de doble verificación:

Valores propios, traza y determinantes. El producto de los valores propios de $A$ es el determinante de $A$ y la suman de los valores propios de $A$ es igual a la traza de $A$.

Recuerde que la traza de una matriz es definida por la suma de las entradas de su diagonal principal.

Demostración. Sea $p(\lambda)$ el polinomio característico de $A$. Si se expande el producto de $p(\lambda)=(\lambda -\lambda_1)(\lambda -\lambda_2)\cdot\cdots\cdot (\lambda -\lambda_n)$, se encuentra que el termino constante es igual a $(-1)^{n}\lambda_1\lambda_2\cdots\lambda_n$. Pero el termino constante también es $p(0)$, y dado que $p(\lambda) = \det (\lambda I - A)$ se tiene $p(0)=\det(-A)=(-1)^{n}\det(A)$, por lo tanto $\lambda_1\lambda_2\cdots \lambda_n =\det(A)$.

Además también de la expansión de $p(\lambda)=(\lambda -\lambda_1)(\lambda -\lambda_2)\cdot\cdots\cdot (\lambda -\lambda_n)$, se tiene que el coeficiente de $\lambda^{n-1}$ es igual a $-(\lambda_1 +\cdots+\lambda_n)$.

Si se expande el determinante $\det(\lambda I - A)$ para encontrar el coeficiente de $\lambda^{n-1}$, por una proceso de inducción se puede demostrar que el coeficiente es el negativo de la suma de las entradas de la diagonal principal de $A$.

Por lo tanto, igualando las dos expresiones se muestra que la suma de los valores propios es igual a la traza de $A$.

$\Box$

Ejemplo 16. Encontrar los valores propios de la matriz $$A = \begin{bmatrix} 2 & 1 & 1 \\ -2 & -1 & -2 \\ 2 & 2 & -3 \end{bmatrix}$$ y verificar las formulas para la traza y el determinante en terminos de los valores propios.

In [64]:
from sympy import Matrix, Trace
In [65]:
A = Matrix([[2, 1, 1], [-2, -1, -2], [2, 2, -3]])
In [66]:
polynomial = A.charpoly()
polynomial.as_expr()
Out[66]:
$\displaystyle \lambda^{3} + 2 \lambda^{2} - \lambda - 2$

Para encontrar los valores propios, se puede resolver la ecuación cúbica $\lambda^3 + 2\lambda^2 - \lambda -2 = 0$ o simplemente:

In [67]:
A.eigenvals()
Out[67]:
{1: 1, -1: 1, -2: 1}

Los valores propios son $\lambda = 1, -1, -2$, y su suma es $1 + (-1) + (-2) = -2$ y el producto $(1)\cdot (-1) \cdot (-2) = 2$. Por otro lado la traza de $A$ es:

In [68]:
Trace(A).simplify()
Out[68]:
$\displaystyle -2$

y el determinante de $A$ es:

In [69]:
A.det()
Out[69]:
$\displaystyle 2$

En todos los ejemplos anteriores, la dimensión de cada subespacio era menor o igual que la multiplicidad de los valores propios como raíces del polinomio característico. Esto es verdad en general.

Multiplicidad de los valores propios. Si $\lambda$ es un valor propio de la matriz $A$ el cual aparece exactamente $k$ veces como una raíz del polinomio característico, entonces la dimensión del subespacio propio corresponde a $\lambda$ es a lo menos uno y a lo sumo $k$.

Recuerde que el número de veces que $\lambda$ aparece como una raíz del polinomio característico se denomina usualmente como la multiplicidad algebraica de $\lambda$, y la dimensión del subespacio propio correspondiente a $\lambda$ se denomina multiplicidad geométrica y es menor o igual que la multiplicidad algebraica.

Ejemplo 17. Si el polinomio característico de una matriz es $(\lambda - 1)^{3}(\lambda -3)^{2}$, entonces el subespacio propio para $\lambda = 1$ es a lo sumo 3 - dimensional y el subespacio propio para $\lambda=3$ es a lo sumo 2 - dimensional.

Demostración. La afirmación de que un subespacio propio tiene al menos dimensión uno es inmediata, porque si $\lambda$ es una raíz del polinomio característico hay al menos un vector no nulo asociado a él.

Para la otra afirmación, observe que la dimensión de el $\lambda$ - subespacio es la dimensión del espacio homogéneo del sistema $(\lambda I - A) x = 0$.

Si $\lambda$ aparece $k$ veces como una raíz del polinomio característico, entonces cuadno se hace $\lambda I - A$ entonces al reducir esta matriz a la forma escalonada por filas $B$, $B$ debe tener al menos $k$ fila no nulas.

Por otro lado, la matriz $B$ (y por lo tanto $\lambda I - A$ también, dado que la nulidad y el rango de una matriz no cambian por las operaciones filas) debería tener a cero como un valor propio más de $k$ veces, porque $B$ está en forma escalonada y por lo tanto es triangular superior.

Pero el número de filas nulas en una matriz cuadrada en la forma escalonada es el mismo número de columnas que no tiene pivote, es decir, es el número de variables libres, el cual es la dimensión del espacio solución.

Así, de todos los argumentos anteriores, se puede ver que la dimensión de los subespacios propios es a lo sumo $k$.

$\Box$

Bibliografía

  1. Evan Dummit, 2020, Linear Algebra - part 4: Eingenvalues, Diagonalization, and the Jordan Form.
  2. SymPy Development Team. 2021. Sympy 1.8 documetation.

Contacto

  • Participa de la canal de Nerve a través de Discord.
  • Se quieres conocer más acerca de este tema me puedes contactar a través de Classgap.