ÁLGEBRA LINEAL CON MAXIMA
Ing. Luis Manfredo Reyes
El Algebra lineal es una rama de la matemática en la cual se opera con entidades llamadas Matrices y Vectores.
En éste documento se discuten las principales operaciones quese pueden realizar usando el programa Maxima.
Maxima es un sistema de cálculo simbólico, que fue desarrollado inicialmente en el lenguaje de programación Lisp.
En un gesto digno de agradecimiento, el MIT otorgó una copia del código fuente original del software al DOE (Department of Energy) en 1982, en una versión conocida como DOE-Macsyma.
Una de estas copias fue custodiada por el Profesor William F. Schelter de la Universidad de Texas desde el año 1982 hasta su fallecimiento en 2001.
En 1998 gracias a las gestiones y perseverancia de Schelter, se logró obtener el permiso del Departamento de Energía para distribuir el programa bajo la llamada licencia GNU-GPL, iniciando en el año 2000 el proyecto Maxima en SourceForge con el fin de mantener y seguir desarrollando DOE-Macsyma, ahora con el nombre de Maxima.
El Software puede descargarse, instalarse, utilizarse en forma gratuita, siempre que no se use con fines comerciales, ni se cobre por su uso. El sitio es:
http://sourceforge.net/projects/maxima/files/latest/download?source=files
Maxima posee un amplio conjunto de funciones para hacer manipulación simbólica de polinomios, matrices, funciones racionales, integración, derivación, manejo de gráficos en 2D y 3D, manejo de números de punto flotante y grandes, expansión en series de potencias y de Fourier, entre otras funcionalidades.
EXISTE UNA VERSIÓN DE MAXIMA PARA ANDROID E IOS, tanto para tabletas como para teléfonos inteligentes.
OPERACIONES CON MATRICES Y VECTORES
Definición de una matriz:
forma directa:
forma directa:
> matrix([[1,2,3],[4,5,6]]); shift+enter
Otra forma:
> < < 1 | 2 | 3 >, < 4 | 5 | 6 > >; shift+enter
FORMA INDIRECTA: se asigna a una variable
M: matrix([[1,2,3],[4,5,6]]); shift+enter
Inversa de una matriz:
Solamente se aplica a matrices cuadradas
M: matrix([[1,2,3],[4,5,6]]); shift+enter
Inversa de una matriz:
Solamente se aplica a matrices cuadradas
> invert(matrix([a,c],[b,d])); shift+enter
> invert(matrix([1,2,3,4],[2,3,4,0],[3,4,0,0],[4,0,0,0])); shift+enter
Determinante de una matriz:
Solamente aplica a matices cuadradas
Solamente aplica a matices cuadradas
M: matrix([a,0,0],[[b,c,0],[d,e,f]); shift+enter
> determinant(M); shift+enter
acf
Transpuesta de una matriz:
Se aplica a cualquier matriz aunque no sea cuadrada
Se aplica a cualquier matriz aunque no sea cuadrada
transpose(M); shift+enter
Producto punto de vectores:
> V1 : matrix([x,y,1,2]);
> V2 :matriz([3,4,5,6]);
> V1 . V2 ;
Producto Cruz:
Es más cómodo asignar la matriz a una variable
Es más cómodo asignar la matriz a una variable
> V1 : matrix([1,2,3]; shift+enter
> V2 : matrix([2,3,4]); shift+enter
> CrossProduct(V1, V2); shift+enter
Adición (suma) y sustracción (resta) de matrices:
Para que éstas operaciónes sean válidas, las matrices deben tener las mismas dimensiones
La operación se puede realizar directamente, o bien almacenar las matrices en objetos
A: matrix([[2,-1,-2],[0,4,1],[-3,3,5]]); shift+enter
B: matrix([[-3,0,1],[4,3,3],[0,0,4]]); shift+enter
A+B; shift+enter
A-B; shift+enter
PRODUCTO DE MATRICES:
Es necesario cumplir con la condición de conformabilidad: el número de columnas de la primera matriz debe ser igual al número de filas de la segunda matriz.
Ejemplo: con las mismas matrices A y B efectúe: AxB
A*B; shift+enter
EIGENVALORES (VALORES PROPIOS) Y EIGENVECTORES
Usando la misma matriz B del ejemplo anterior:
B: matrix([[-3,0,1],[4,3,3],[0,0,4]]); shift+enter
eigenvalues(B); shift+enter
eigenvectors(B); shift+enter
[-4,-3,3]
[[1,25,7],[-3,2,0],[0,1,0]]
No hay comentarios:
Publicar un comentario