(%i39) load(diag)$
/* Carga de la librería necesaria
para calcular con matrices de Jordan */
(%i40) /* Introducción de la matriz
de un cierto endomorfismo
expresado con respecto a la base canónica */
A:matrix([322,-323,-323,322],[325,-326,-325,326],
[-259,261,261,-260],[-237,237,238,-237]);
(%o40) /* Ésta es la matriz introducida: */
matrix(
[322, -323, -323, 322],
[325, -326, -325, 326],
[-259, 261, 261, -260],
[-237, 237, 238, -237]
)
(%i41) /* Cálculo de los valores propios y sus
multiplicidades */
vp:jordan(A);
(%o41) [[5,4]]
/* en este caso, hay un sólo valor propio, 5,
y su multiplicidad es 4 */
(%i42) /* Cálculo de la matriz canónica de Jordan */
J:dispJordan(vp);
(%o42) matrix(
[5, 1, 0, 0],
[0, 5, 1, 0],
[0, 0, 5, 1],
[0, 0, 0, 5]
)
(%i43) /* Cálculo de la matriz del cambio de base */
B:ModeMatrix(A,jl);
/* Las columnas de dicha matriz corresponden
a las coordenadas de los vectores de la
nueva base */
(%o43) matrix(
[5922, 2857, 317, 1],
[4230, 2363, 325, 0],
[-3572, -1962, -259, 0],
[-5170, -2392, -237, 0]
)
(%i44) is (A=B.J.invert(B));
/* comprobación */
(%o44) true
(%i45) is (J=invert(B).A.B);
/* comprobación */
(%o45) true
lunes, 3 de julio de 2023
Ejemplo de cálculo de la matriz canónica de Jordan de una matriz dada
Etiquetas:
álgebra lineal,
clasificación de endomorfismos,
matriz canónica de Jordan,
matriz de Jordan
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario