miércoles, 7 de junio de 2017

ÁLGEBRA LINEAL CON MAXIMA

Á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. 

Maxima es un software que se derivó del sistema original Macsyma, desarrollado en el MIT (Massachusetts Institute of Technology) entre los años 1968 y 1982 como parte de un proyecto de investigación en computación simbólica  llamado “MAC”. 

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:
> 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

> 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 

 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
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

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