Universidad de Jaén//Grado en
Química//Matemática I
PDO Sesión 4. Álgebra lineal
I. Matrices
Definición de una matriz
Podemos interpretar una matriz n x m como un vector de dimensión n donde cada elemento sea un
vector de dimensión m. Es decir, entendemos la matriz como una lista ordenada de vectores fila del
mismo tamaño. En Mathematica escribimos los vectores como listas (usamos {} y separamos los
elementos por comas).
In[113]:=
M = {{a, b}, {c, d}}
Out[113]=
{{a, {{0}, {0}, {0}}}, {c, d}}
Para poder visualizar la matriz como estamos habituados podemos utilizar el comando MatrixForm.
In[114]:=
MatrixForm[M]
forma de matriz
Out[114]//MatrixForm=
a {{0}, {0}, {0}}
c d
In[115]:=
M // MatrixForm
forma de matriz
Out[115]//MatrixForm=
a {{0}, {0}, {0}}
c d
Otra manera de escribir una matriz es utilizando el asistente de clase en la pestaña avanzada
(paleta).
In[116]:=
ab
M=
cd
Out[116]=
{{a, {{0}, {0}, {0}}}, {c, d}}
Si situamos el ratón sobre la celda de las matrices en la paleta podemos ver los atajos de teclado
para crear una matriz. Escribimos paréntesis, nos situamos dentro Ctrl+Enter para añadir filas y
Ctrl+, para añadir columnas. Además, podemos usar los botones Fila+ y Col+ que aparecen en la
2 Práctica [Link]
paleta.
Si añadimos demasiadas filas o columnas podemos borralas si eliminamos el primer elemento de
una fila o columna que no tenga ningún elemento definido
Existen otras maneras de crear matrices con una forma preestablecida.
Para la matriz identidad de orden n: IdentityMatrix[n]
In[117]:=
IdentityMatrix[4] // MatrixForm
matriz identidad forma de matriz
Out[117]//MatrixForm=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Una matriz diagonal a partir de una lista: DiagonalMatrix[lista]
In[118]:=
DiagonalMatrix[{1, 2, 3, 4, 5}] // MatrixForm
matriz diagonal forma de matriz
Out[118]//MatrixForm=
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
Para crear una matriz cuyos elementos dependan de una función f (i, j) dependiente de la fila y la
columna podemos hacer :
Table[f[i, j], {i, m}, {j, n}]
Por ejemplo para una matriz constante.
In[119]:=
Table[5, {i, 2}, {j, 7}] // MatrixForm
tabla forma de matriz
Out[119]//MatrixForm=
5 5 5 5 5 5 5
5 5 5 5 5 5 5
Operaciones con matrices
In[120]:=
12
A= ;
34
7 8
B= ;
9 10
Suma de matrices
Las sumas de matrices se realizan con el operador usual “+“ .
Práctica [Link] 3
In[122]:=
A + B // MatrixForm
forma de matriz
Out[122]//MatrixForm=
8 10
12 14
Suma a todos los elementos de la matriz
In[123]:=
1 + A // MatrixForm
forma de matriz
Out[123]//MatrixForm=
2 3
4 5
Producto por escalar
In[124]:=
5 * A // MatrixForm
forma de matriz
Out[124]//MatrixForm=
5 10
15 20
Producto de matrices
Para el producto de matrices empleamos el punto ".".
In[125]:=
A.B // MatrixForm
forma de matriz
Out[125]//MatrixForm=
25 28
57 64
Recordemos que el producto de matrices no es conmutativo en general.
In[126]:=
B.A // MatrixForm
forma de matriz
Out[126]//MatrixForm=
31 46
39 58
In[127]:=
A.B B.A
Out[127]=
False
IMPORTANTE : el operador "*" NO es el producto de matrices, lo que hace es el producto "item-
wise", es decir, multiplica los elementos correspondientes.
4 Práctica [Link]
In[128]:=
A * B // MatrixForm
forma de matriz
Out[128]//MatrixForm=
7 16
27 40
Veamos este comportamiento de forma general/simbólica.
In[129]:=
a11 a12
A= ;
a21 a22
b11 b12
B= ;
b21 b22
In[131]:=
A.B // MatrixForm
forma de matriz
Out[131]//MatrixForm=
a11 b11 + a12 b21 a11 b12 + a12 b22
a21 b11 + a22 b21 a21 b12 + a22 b22
In[132]:=
A * B // MatrixForm
forma de matriz
Out[132]//MatrixForm=
a11 b11 a12 b12
a21 b21 a22 b22
El producto de matrices requiere que los ordenes de las matrices sean compatibles. Podemos
multiplicar matrices A.B si A en de orden m x n y B es de orden n x l. Es decir, la primera matriz debe
tener tantas columnas como filas tenga la segunda. El resultado será una matriz de orden m x l. El
orden de una matriz lo podemos ver con el comando Dimensions.
In[133]:=
A = RandomInteger[10, {2, 3}]
entero aleatorio
Out[133]=
{{4, 7, 8}, {1, 2, 9}}
In[134]:=
B = RandomInteger[10, {3, 5}]
entero aleatorio
Out[134]=
{{9, 6, 9, 9, 0}, {2, 0, 8, 10, 5}, {7, 4, 9, 9, 10}}
In[135]:=
Dimensions[A]
dimensiones
Out[135]=
{2, 3}
In[136]:=
Dimensions[B]
dimensiones
Out[136]=
{3, 5}
Práctica [Link] 5
In[137]:=
A.B
Out[137]=
{{106, 56, 164, 178, 115}, {76, 42, 106, 110, 100}}
In[138]:=
B.A (*ERROR*)
Dot: Tensors {{9, 6, 9, 9, 0}, {2, 0, 8, 10, 5}, {7, 4, 9, 9, 10}} and {{4, 7, 8}, {1, 2, 9}} have incompatible shapes.
Out[138]=
{{9, 6, 9, 9, 0}, {2, 0, 8, 10, 5}, {7, 4, 9, 9, 10}}.{{4, 7, 8}, {1, 2, 9}}
Otras operaciones
In[139]:=
12
A= ;
34
24
B= ;
48
También podemos realizar otras operaciones sobre las matrices como:
Inversa
In[141]:=
Inverse[A] // MatrixForm
matriz inversa forma de matriz
Out[141]//MatrixForm=
-2 1
3 1
-
2 2
Comprobamos:
In[142]:=
[Link][A] // MatrixForm
matriz inversa forma de matriz
Out[142]//MatrixForm=
1 0
0 1
In[143]:=
Inverse[A].A // MatrixForm
matriz inversa forma de matriz
Out[143]//MatrixForm=
1 0
0 1
No siempre existe la inversa de una matriz.
In[144]:=
Inverse[B] // MatrixForm
matriz inversa forma de matriz
Inverse: Matrix {{2, 4}, {4, 8}} is singular.
Out[144]//MatrixForm=
Inverse[{{2, 4}, {4, 8}}]
6 Práctica [Link]
Traspuesta
In[145]:=
Transpose[A] // MatrixForm
transposición forma de matriz
Out[145]//MatrixForm=
1 3
2 4
Determinante
In[146]:=
Det[A]
determinante
Out[146]=
-2
Traza
Suma de los elementos en la diagonal principal.
In[147]:=
Tr[A]
traza
Out[147]=
II. Sistemas de ecuaciones
Sea una sistema de ecuaciones de tres ecuaciones con tres incógnitas :
2 x + y − z= 5,
x − y + 2 z = 3,
3 x + 2 y + z = 6.
Si definimos la matriz de coeficientes A, el vector de términos independientes y el vector de incógni-
tas X. El sistema puede ser expresado como A.X=b.
In[148]:=
2 1 -1
A= 1 -1 2 ;
3 2 1
5
b= 3 ;
6
x
X= y ;
z
Práctica [Link] 7
Resolución de un sistema
In[151]:=
Solve[A.X b, {x, y, z}]
resuelve
Out[151]=
14 2
x , y - 1, z -
5 5
Si el sistema es compatible determinado y la matriz de coeficientes es cuadrada, es decir, tenemos
tantas ecuaciones como incógnitas podemos utilizar la inversa.
In[152]:=
X = Inverse[A].b
matriz inversa
Out[152]=
14 2
, {- 1}, -
5 5
In[153]:=
X // MatrixForm
forma de matriz
Out[153]//MatrixForm=
14
5
-1
2
-
5
Matriz ampliada
Para construir la matriz ampliada podemos hacer:
In[154]:=
Ab = ArrayFlatten[{{A, b}}]
aplana arreglo
Out[154]=
{{2, 1, - 1, 5}, {1, - 1, 2, 3}, {3, 2, 1, 6}}
In[155]:=
Ab // MatrixForm
forma de matriz
Out[155]//MatrixForm=
2 1 -1 5
1 -1 2 3
3 2 1 6
Rango
In[156]:=
1 2 1
2 4 0
M= ;
0 0 5
7 14 7
Para realizar la discusión de un sistema mediante el teorema de Rouché - Froebenius necesitamos
calcular el rango de la matriz de coeficientes y de la matriz ampliada. Esto lo podemos realizar
mediante la orden MatrixRank[].
8 Práctica [Link]
In[157]:=
MatrixRank[A]
rango matricial
Out[157]=
Una de las maneras de hallar el rango de una matriz es calcular cual es el mayor número para el
que existe algún menor de ese orden que sea distinto de cero.
In[158]:=
Minors[M, 1]
menores
Out[158]=
{{1, 2, 1}, {2, 4, 0}, {0, 0, 5}, {7, 14, 7}}
In[159]:=
Minors[M, 2]
menores
Out[159]=
{{0, - 2, - 4}, {0, 5, 10}, {0, 0, 0}, {0, 10, 20}, {0, 14, 28}, {0, - 35, - 70}}
Forma general (no es necesario memorizar esta manera de hacerlo)
In[160]:=
Table[Max[Map[Abs, Flatten[Minors[M, i]]]], {i, 0, Min[Dimensions[M]]}]
tabla má⋯ apl⋯ valo⋯ aplana menores mí⋯ dimensiones
Out[160]=
{1, 14, 70, 0}
In[161]:=
Last[Position[%, _ ? (# ≠ 0 &)]]〚1〛
último posición
Out[161]=
Discusión de un sistema
In[162]:=
If[MatrixRank[A] MatrixRank[Ab],
si rango matricial rango matricial
If[MatrixRank[A] Dimensions[A]〚2〛, Print["SCD"], Print["SID"]],
si rango matricial dimensiones escribe escribe
Print["SI"]]
escribe
SCD
Ejemplo
Podemos aplicar los sistemas de ecuaciones para ajusta reacciones químicas.
Por ejemplo.
Sea la reacción: a C_3H_8 + b O_2 -> c CO_2 + d H_2O
Queremos encontrar {a,b,c,d}, una variable por compuesto. Por cada átomo tendremos una
ecuación.
In[163]:=
Clear[a, b, c, d]
borra
Práctica [Link] 9
In[164]:=
Solve[{3 a, 8 a, 2 b} {c, 2 d, 2 c + d}, {a, b, c, d}]
resuelve
Solve: Equations may not give solutions for all "solve" variables.
Out[164]=
{{b 5 a, c 3 a, d 4 a}}
Evidentemente el sistema es indeterminado. Si {a, b, c, d} es solución, también lo será {n a, n b, n c,
n d} para todo n. En la solución
In[165]:=
A = {{3, 0, - 1, 0}, {8, 0, 0, - 2}, {0, 2, - 2, - 1}};
TerIndep = Transpose[{{0, 0, 0}}];
transposición
In[167]:=
Ab = ArrayFlatten[{{A, TerIndep}}]
aplana arreglo
Out[167]=
{{3, 0, - 1, 0, 0}, {8, 0, 0, - 2, 0}, {0, 2, - 2, - 1, 0}}
In[168]:=
Ab // MatrixForm
forma de matriz
Out[168]//MatrixForm=
3 0 -1 0 0
8 0 0 -2 0
0 2 -2 -1 0
Forma reducida de la matriz ampliada.
In[169]:=
RowReduce[Ab] // MatrixForm
reduce filas forma de matriz
Out[169]//MatrixForm=
1
1 0 0 - 0
4
5
0 1 0 - 0
4
3
0 0 1 - 0
4
Como es un sistema homogéneo (términos independientes nulos) y además es indeterminado, las
soluciones formarán un subespacio vectorial. Podemos usar el comando NullSpace que veremos
en la sección de diagonalización .
In[170]:=
NullSpace[A]
espacio nulo
Out[170]=
{{1, 5, 3, 4}}
Este nos da una base del espacio de soluciones de la ecuación A . X = 0
III. Diagonalización
In[171]:=
Clear["Global`*"]
borra
10 Práctica [Link]
El objetivo de la diagonalización de una matriz cuadrada A es obtener matrices D y P siendo la
matriz D una matriz diagonal y la matriz P invertible de manera que se verifique A = PDP-1 . Esto
facilita enormemente cálculos como la potenciación de matrices.
Paso a paso
Supongamos una matriz diagonalizable A.
In[172]:=
0 1 -2
A= 0 1 0 ;
1 -1 3
Los valores propios “m” deben cumplir que AX=mX para algún X distinto de cero. Por lo que (A-
mI)X=0. Para que esto ocurra para X distintos de X debe ocurrir que Det[A-mI]==0. Al Det[A-mI] lo
llamamos polinomio característico.
Polinomio característico
In[173]:=
Det[A - m IdentityMatrix[3]] 0
determin⋯ matriz identidad
Out[173]=
2 - 5 m + 4 m 2 - m3 0
Valores propios
Los valores propios serán las soluciones del polinomio característico.
In[174]:=
ValP = Solve[Det[A - m IdentityMatrix[3]] 0, m] // Values // Flatten // Sort
resue⋯ determin⋯ matriz identidad valores aplana ordena
Out[174]=
{1, 1, 2}
Para cada valor propio distinto me interesa calcular cuanto vale la dimensión geométrica y la
dimensión algebraica.
In[175]:=
ValP // DeleteDuplicates // Sort
elimina repeticiones ordena
Out[175]=
{1, 2}
Dimensión algebraica
Se trata de cuantas veces aparece un valor propio como solución del polinomio característico.
Usemos el comando Count[].
In[176]:=
DimsAlgs = Counts[ValP]
conteos
Out[176]=
1 2, 2 1
Este comando nos devuelve un diccionario compuesto por entradas (llaves/keys) y para cada llave
Práctica [Link] 11
un valor asignado que se corresponde con el número de veces que aparece un valor propio en la
lista de soluciones del polinomio característico. Es decir con su dimensión algebraica.
In[177]:=
ValPrUnicos = Counts[ValP] // Keys
conteos claves
Out[177]=
{1, 2}
Analicemos lo que pasa con uno de los valores propios.
In[178]:=
vp = ValPrUnicos〚1〛
Out[178]=
Dimensión algebraica
Para este valor propio la dimensión algebraica es :
In[179]:=
DimsAlgs[vp]
Out[179]=
Dimensión geométrica
Para calcular la dimensión geométrica queremos saber una base del subespacio de vectores que
cumple que (A - vp I)X=0. Usaremos el comando NullSpace que hace justo eso.
In[180]:=
BaseSubEsp[vp] = NullSpace[(A - vp IdentityMatrix[3])];
espacio nulo matriz identidad
In[181]:=
BaseSubEsp[vp]
Out[181]=
{{- 2, 0, 1}, {1, 1, 0}}
Con Lenght[] calculamos el tamaña de la base y por tanto la dimensión geométrica de vp.
In[182]:=
DimGeo[vp] = Length[BaseSubEsp[vp]];
longitud
In[183]:=
DimGeo[vp]
Out[183]=
Si las dimensiones algebraicas y geométricas de todos los valores propios coinciden la matriz será
diagonalizable. La base del subespacio propio asociado a vp la guardamos para poder construir
más adelante la matriz P.
12 Práctica [Link]
Análisis general
In[184]:=
For[i = 1, i ≤ Length[ValPrUnicos], i ++,
para cada longitud
vp = ValPrUnicos〚i〛;
Print["Comprobando valor propio: ", vp];
escribe
DimAlg[vp] = Counts[ValP][vp];
conteos
BaseSubEsp[vp] = NullSpace[(A - vp IdentityMatrix[3])];
espacio nulo matriz identidad
DimGeo[vp] = Length[BaseSubEsp[vp]];
longitud
If[DimAlg[vp] DimGeo[vp],
si
Print[" Dimensión geométrica y algebraica: ", DimAlg[vp]];
escribe
Print[" Base del subespacio propio asociado: ", BaseSubEsp[vp]],
escribe
(*else*)Print[" Dimensión algebraica:", DimAlg[vp]];
escribe
Print[" Dimensión geométrica:", DimGeo[vp]];
escribe
Print[" Matriz no diagonalizable."];
escribe
Break
finaliza iteración
];
]
Comprobando valor propio: 1
Dimensión geométrica y algebraica: 2
Base del subespacio propio asociado: {{-2, 0, 1}, {1, 1, 0}}
Comprobando valor propio: 2
Dimensión geométrica y algebraica: 1
Base del subespacio propio asociado: {{-1, 0, 1}}
Matriz diagonal
In[185]:=
Diag = DiagonalMatrix[ValP]
matriz diagonal
Out[185]=
{{1, 0, 0}, {0, 1, 0}, {0, 0, 2}}
Matriz de paso
Consiste en una matriz que tiene por filas los vectores de bases del los subespacios propios en el
mismo orden en el que aparecen la matriz D.
Práctica [Link] 13
In[186]:=
P = {};
For[i = 1, i ≤ Length[ValPrUnicos], i ++,
para cada longitud
vp = ValPrUnicos〚i〛;
P = Join[P, BaseSubEsp[vp]] (*uno las bases obtenidas como filas*)
junta
];
P = Transpose[P](*hago la traspuesta para que pasen de filas a columnas*)
transposición
Out[188]=
{{- 2, 1, - 1}, {0, 1, 0}, {1, 0, 1}}
Comprobamos si ha sido correcto.
In[189]:=
A [Link][P]
matriz inversa
Out[189]=
True
Potencias
Diagonalizar nos puede servir para hacer potencias de matrices de forma más sencilla.
In[190]:=
(*Paso 1:Matriz diagonal*)Diag = DiagonalMatrix[{1, 2, 3, 4, 5, 6, 7}];
matriz diagonal
(*Paso 2:Matriz P invertible*)
P = RandomInteger[10, {7, 7}];
entero aleatorio
(*Verificar si P es invertible*)
If[Det[P] ≠ 0, Print["P es invertible"], Print["P no es invertible"]];
si determinante escribe escribe
(*Paso 3:Construir la matriz A*)
A = [Link][P];
matriz inversa
(*Paso 4:Comprobaciones*)
Print["Valores propios de A: ", Eigenvalues[A]];
escribe autovalores
Print["¿A diagonalizable?: ", Simplify[[Link][P] A]];
escribe simplifica matriz inversa
P es invertible
Valores propios de A: {7, 6, 5, 4, 3, 2, 1}
¿A diagonalizable?: True
14 Práctica [Link]
In[196]:=
A.A // MatrixForm // N
forma de matriz valor numérico
Out[196]//MatrixForm=
22.8185 9.81825 - 69.7131 25.1449 57.7366 - 50.6899 48.3788
12.7564 39.4041 - 79.2523 11.5057 90.3048 - 73.5151 36.8064
- 5.09552 26.0053 22.7105 - 27.8522 - 9.06019 - 9.49205 - 1.7142
- 2.75921 4.11251 13.726 - 2.00506 - 15.0001 12.8728 - 8.51335
- 6.73033 17.6357 22.9685 - 27.3168 - 15.0206 17.2521 - 15.5253
- 0.084344 4.59383 9.58885 - 12.4855 - 25.367 39.9667 - 6.16516
7.06903 21.4187 - 17.8054 - 9.49856 11.3203 - 24.3255 32.1258
In[197]:=
P.(Diag ^ 2).Inverse[P] // MatrixForm // N
matriz inversa forma de matriz valor numérico
Out[197]//MatrixForm=
22.8185 9.81825 - 69.7131 25.1449 57.7366 - 50.6899 48.3788
12.7564 39.4041 - 79.2523 11.5057 90.3048 - 73.5151 36.8064
- 5.09552 26.0053 22.7105 - 27.8522 - 9.06019 - 9.49205 - 1.7142
- 2.75921 4.11251 13.726 - 2.00506 - 15.0001 12.8728 - 8.51335
- 6.73033 17.6357 22.9685 - 27.3168 - 15.0206 17.2521 - 15.5253
- 0.084344 4.59383 9.58885 - 12.4855 - 25.367 39.9667 - 6.16516
7.06903 21.4187 - 17.8054 - 9.49856 11.3203 - 24.3255 32.1258
Comandos de Mathematica
Mathematica tiene implementado un comando que hace la potencia de una matriz directamente.
In[198]:=
MatrixPower[A, 2] // MatrixForm // N
potencia matricial forma de matriz valor numérico
Out[198]//MatrixForm=
22.8185 9.81825 - 69.7131 25.1449 57.7366 - 50.6899 48.3788
12.7564 39.4041 - 79.2523 11.5057 90.3048 - 73.5151 36.8064
- 5.09552 26.0053 22.7105 - 27.8522 - 9.06019 - 9.49205 - 1.7142
- 2.75921 4.11251 13.726 - 2.00506 - 15.0001 12.8728 - 8.51335
- 6.73033 17.6357 22.9685 - 27.3168 - 15.0206 17.2521 - 15.5253
- 0.084344 4.59383 9.58885 - 12.4855 - 25.367 39.9667 - 6.16516
7.06903 21.4187 - 17.8054 - 9.49856 11.3203 - 24.3255 32.1258
IMPORTANTE : NO hacemos A^2, esto nos devuelve A*A.
In[199]:=
A ^ 2 A.A
Out[199]=
False
In[200]:=
MatrixPower[A, 2] A.A
potencia matricial
Out[200]=
True
In[201]:=
A * A A^2
Out[201]=
True
Práctica [Link] 15
In[202]:=
A * A - A ^ 2 // MatrixForm
forma de matriz
Out[202]//MatrixForm=
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
El comando de Mathematica JordanDescomposition[] nos permite hacer todos los cálculos para la
diagonalización directamente.
In[203]:=
JordanDecomposition[A]
descomposición Jordan
Out[203]=
10 1
1 1 89 7 4 4
0, , 0, 0, , ,
, , , 3, , , , 1,
3 8 7 5 7 3 8 8 7
10 7 5 1 7 3 1 1 1
, 3, , , 0, , , , , 3, , , 0, 0,
7 3 4 7 10 7 3 2 4
10 8 4 5 5 1 6 4 4 9 4
, , , , , 0, , , , , , 1, , 0, {1, 1, 1, 1, 0, 1, 1},
7 3 3 4 8 5 7 3 3 8 7
{{1, 0, 0, 0, 0, 0, 0}, {0, 2, 0, 0, 0, 0, 0}, {0, 0, 3, 0, 0, 0, 0}, {0, 0, 0, 4, 0, 0, 0},
{0, 0, 0, 0, 5, 0, 0}, {0, 0, 0, 0, 0, 6, 0}, {0, 0, 0, 0, 0, 0, 7}}
Nos devuelve una lista de dos matrices.
La primera de ellas se corresponde con una matriz de paso.
In[204]:=
JordanDecomposition[A]〚1〛 // MatrixForm
descomposición Jordan forma de matriz
Out[204]//MatrixForm=
10 1 8 4
0 0 0
3 8 7 5
1 1 9 7 4
3 1
7 3 8 8 7
10 7 5 1 7
3 0
7 3 4 7 10
3 1 1 1
3 0 0
7 3 2 4
10 8 4 5 5 1
0
7 3 3 4 8 5
6 4 4 9 4
1 0
7 3 3 8 7
1 1 1 1 0 1 1
La segunda será una matriz diagonal si A es diagonalizable. Si no se puede diagonalizar devuelve
una matriz de Jordan no diagonal.
16 Práctica [Link]
In[205]:=
JordanDecomposition[A]〚2〛 // MatrixForm
descomposición Jordan forma de matriz
Out[205]//MatrixForm=
1 0 0 0 0 0 0
0 2 0 0 0 0 0
0 0 3 0 0 0 0
0 0 0 4 0 0 0
0 0 0 0 5 0 0
0 0 0 0 0 6 0
0 0 0 0 0 0 7
Además los comando Eigenvalues[] y Eigenvectors[] nos proporcional los valores y vectores propios
respectivamente.
In[206]:=
Eigenvalues[A]
autovalores
Out[206]=
{7, 6, 5, 4, 3, 2, 1}
In[207]:=
Eigenvectors[A] // MatrixForm
autovectores forma de matriz
Out[207]//MatrixForm=
4 7 1
1 0 0 1
5 10 5
8 4 1 4
0 0 1
7 7 7 7
1 7 1 5
0 1 0
8 8 4 8
9 5 1 5 9
0 1
8 4 2 4 8
7 4 4
0 3 3 1
3 3 3
10 1 1 8 4
3 1
3 3 3 3 3
1 10 3 10 6
0 1
7 7 7 7 7
Nos los devuelve como vectores fila, si queremos la matriz de paso P tenemos que hacer la
traspuesta.
In[208]:=
P = Transpose[Eigenvectors[A]]
transposición autovectores
Out[208]=
4 8 1 10 4 7 9 1 1
, , , 0, 0, , 0, 1, , , , 3, , ,
5 7 8 3 7 8 8 3 7
7 1 5 7 10 1 1 1 3
, , 0, , , 3, , 0, 0, , , 3, , ,
10 7 4 3 7 4 2 3 7
1 5 5 4 8 10 4 9 4 4 6
, 0, , , , , , 0, , 1, , , , , {1, 1, 0, 1, 1, 1, 1}
5 8 4 3 3 7 7 8 3 3 7
In[209]:=
A [Link][Eigenvalues[A]].Inverse[P]
matriz diagonal autovalores matriz inversa
Out[209]=
True