Professional Documents
Culture Documents
Maple permite trabajar con matrices y sus operaciones tanto a nivel numrico como simblico. Se utilizan los algoritmos de libreras especiales, como NAG, LaPACK, ATLAS y MKL, para proporcionar clculos numricos precisos en relacin con las operaciones matriciales. Usando la paleta de comandos especiales para generar matrices, podemos definir fcilmente cualquier matriz de tipo, por ejemplo, 1000x1000 con coeficientes numricos en forma de nmeros decimales. El comando esencial para las definiciones matriciales es el siguiente: > Matrix(r, c, init, ro, sc, sh, st, o, dt, f, a) Todos los parmetros del comando son opcionales. Sin embargo, el sistema necesita la informacin suficiente para crear la estructura matricial. Si no hay especificaciones incluidas, la respuesta del sistema es una matriz de tipo 0x0. El comando > Matrix(r) genera una matriz cuadrada de orden r con coeficientes cero. > Matrix(2);
El comando > Matrix(r,c) Genera una matriz de tipo rxc con coeficientes cero. > Matrix(2,3);
En lo que sigue se realizan diferentes ejemplos sobre maneras de definir matrices. > Matrix(1..3,1..2,5);
> Matrix([[1,2,3],[4,5,6]]);
Los coeficientes de la matriz del ltimo ejemplo estn definidos como potencias de la variable x, mientras que sus exponentes se han determinado por la posicin fila-columna que ocupan en la matriz. Las matrices pueden tambin definirse por medio de operadores. Adems se puede asignar el nombre de una variable a la matriz y posteriormente referirnos a la matriz con el nombre de la variable. > A:=Matrix(3,4,[[1,2,3],[4,5,6]],readonly=true);
> MA := Matrix([[9,9,9,9],[9,9,9,9],[9,9,9,9],[9,9,9,9]]);
> C:=(3/2)*A;
La operacin puede realizarse simblicamente con una variable formal, por ejemplo /c., pero usando un comando diferente: > with(LinearAlgebra): F:=ScalarMultiply(A,lambda/c);
> M:=M1+M2;
> N:=M1.M2;
> K:=M1-M2;
Las operaciones con matrices, vectores y escalares pueden hacerse tambin por medio del paquete LinearAlgebra.
> b := <x,y,z>;
> L:=K^(-1);
> E:=K.L;
El clculo de la matriz inversa puede realizarse tambin con el comando Inverse en mdulo n, o por medio del comando MatrixInverse del paquete Linear Algebra:
> X := Matrix([[1,2,3],[1,3,0],[1,4,3]]);
> Z := X.Y;
> Map(simplify,%);
Matriz traspuesta
La funcin Transpose devuelve la matriz traspuesta de la matriz de entrada. Para ilustrar el clculo de la matriz traspuesta usaremos la matriz V definida anteriormente: > Transpose(V);
Los mismos pasos pueden dares usando el paquete LinearAlgebra. Despus de la definicin de la matriz M, con coeficientes generados aleatoriamente, la matriz traspuesta se calcula usando las funciones Create, Transpose
> Transpose(30,M,inplace): M;
> Determinant(M);
> Determinant(Matrix([[3,2,1,0],[7,6,5,4],[1,0,9,8],[5,4,3,2]]));