Publicado el 25 de Mayo del 2017
1.850 visualizaciones desde el 25 de Mayo del 2017
1,5 MB
156 paginas
Creado hace 10a (13/02/2015)
Primeros pasos en Maxima
Mario Rodríguez Riotorto
http://riotorto.users.sourceforge.net
13 de febrero de 2015
Copyright c2004-2011 Mario Rodríguez Riotorto
Este documento es libre; se puede redistribuir y/o modificar bajo
los términos de la GNU General Public License tal como lo publi-
ca la Free Software Foundation. Para más detalles véase la GNU
General Public License en http://www.gnu.org/copyleft/gpl.html
This document is free; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation. See the GNU General Public
License for more details at
http://www.gnu.org/copyleft/gpl.html
Índice general
1. Introducción
2. Despegando con Maxima
2.1.
Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Una primera sesión . . . . . . . . . . . . . . . . . . . . . . . .
3. Números y sus operaciones
. . . . . . . . . . . . . . . . . . . . . . .
3.1. Enteros y decimales
3.2. Números complejos . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Combinatoria . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. Estructuras de datos
4.1. Listas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5. Álgebra
5.1. Transformaciones simbólicas . . . . . . . . . . . . . . . . . . .
5.2. Ecuaciones
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.
5.4. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Patrones y reglas . . . . . . . . . . . . . . . . . . . . . . . . .
3
7
7
8
23
23
26
28
31
31
36
39
44
47
53
53
63
68
70
81
6. Cálculo
87
87
6.1. Funciones matemáticas . . . . . . . . . . . . . . . . . . . . . .
91
6.2. Límites
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
6.3. Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
6.4.
Integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . .
99
6.6. Vectores y campos vectoriales . . . . . . . . . . . . . . . . . . 107
1
2
ÍNDICE GENERAL
7. Gráficos
111
7.1. El módulo ”plot” . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.2. El módulo ”draw” . . . . . . . . . . . . . . . . . . . . . . . . 113
8. Probabilidades y estadística
121
8.1. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.2. Estadística descriptiva . . . . . . . . . . . . . . . . . . . . . . 125
8.3. Estadística inferencial
. . . . . . . . . . . . . . . . . . . . . . 129
9. Otros métodos numéricos
133
Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
. . . . . . . . . . . . . . . . . 137
. . . . . . . . . . . . . . . . . 139
. . . . . . . . . . . . . . . . . . . . . . . 141
9.1.
9.2. Ajuste por mínimos cuadrados
9.3. Optimización con restricciones
9.4. Programación lineal
10.Programando en Maxima
143
10.1. Programación a nivel de Maxima . . . . . . . . . . . . . . . . 143
10.2. Programación a nivel de Lisp . . . . . . . . . . . . . . . . . . 150
Capítulo 1
Introducción
Este es un manual introductorio al entorno de cálculo simbólico Maxima,
directo sucesor del legendario Macsyma.
El objetivo del manual es facilitar el acceso a este programa a todas
aquellas personas que por vez primera se acercan a él.
Maxima es un programa cuyo objeto es la realización de cálculos ma-
temáticos, tanto simbólicos como numéricos; es capaz de manipular expre-
siones algebraicas y matriciales, derivar e integrar funciones, realizar diversos
tipos de gráficos, etc.
Su nombre original fue Macsyma (MAC’s SYmbolic MAnipulation Sys-
tem, donde MAC, Machine Aided Cognition, era el nombre del Laboratory
for Computer Science del MIT durante la fase inicial del proyecto Macsy-
ma). Se desarrolló en estos laboratorios a partir del año 1969 con fondos
aportados por varias agencias gubernamentales norteamericanas (National
Aeronautics and Space Administration, Office of Naval Research, U.S. De-
partment of Energy y U.S. Air Force).
El concepto y la organización interna del programa están basados en la
tesis doctoral que Joel Moses elaboró en el MIT sobre integración simbólica.
Según Marvin Minsky, director de esta tesis, Macsyma pretendía automati-
zar las manipulaciones simbólicas que realizaban los matemáticos, a fin de
entender la capacidad de los ordenadores para actuar de forma inteligente.
El año 1982 es clave. El MIT transfiere una copia de Macsyma a la
empresa Symbolics Inc. para su explotación económica, haciendo el código
propietario, y otra al Departamento de Energía, copia ésta que será conocida
con el nombre de DOE-Macsyma. En 1992 la versión comercial de Macsyma
sería adquirida por una empresa que se llamaría precisamente Macsyma Inc,
y el programa iría perdiendo fuelle progresivamente ante la presencia en el
mercado de otros programas similares como Maple o Mathematica, ambos
los dos inspirados en sus orígenes en el propio Macsyma.
Pero ocurrieron dos historias paralelas. Desde el año 1982, y hasta su
fallecimiento en el 2001, William Schelter de la Universidad de Texas man-
3
4
CAPÍTULO 1. INTRODUCCI ÓN
tuvo una versión de este programa adaptada al estándar Common Lisp en
base a DOE-Macsyma, la cual ya se conoce con el nombre de Maxima para
diferenciarla de la versión comercial. En el año 1998 Schelter había conse-
guido del DOE permiso para distribuir Maxima bajo la licencia GNU-GPL
(www.gnu.org); con este paso, muchas más personas empezaron a dirigir su
mirada hacia Maxima, justo en el momento en el que la versión comercial
estaba declinando. Actualmente, el proyecto está siendo mantenido por un
grupo de desarrolladores originarios de varios países, asistidos y ayudados
por otras muchas personas interesadas en Maxima y que mantienen un cauce
de comunicación a través de la lista de correo
http://maxima.sourceforge.net/maximalist.html
Además, desde el año 2006, se ha activado una lista de correos para
usuarios de habla hispana en
http://lists.sourceforge.net/lists/listinfo/maxima-lang-es
Puesto que Maxima se distribuye bajo la licencia GNU-GPL, tanto el
código fuente como los manuales son de libre acceso a través de la página
web del proyecto,
http://maxima.sourceforge.net
Uno de los aspectos más relevantes de este programa es su naturale-
za libre; la licencia GPL en la que se distribuye brinda al usuario ciertas
libertades:
libertad para utilizarlo,
libertad para modificarlo y adaptarlo a sus propias necesidades,
libertad para distribuirlo,
libertad para estudiarlo y aprender su funcionamiento.
La gratuidad del programa, junto con las libertades recién mencionadas,
hacen de Maxima una formidable herramienta pedagógica, de investigación
y de cálculo técnico, accesible a todos los presupuestos, tanto institucionales
como individuales.
No quiero terminar esta breve introducción sin antes recordar y agradecer
a todo el equipo humano que ha estado y está detrás de este proyecto, desde
el comienzo de su andadura allá por los años 70 hasta el momento actual;
incluyo también a todas las personas que, aún no siendo desarrolladoras del
programa, colaboran haciendo uso de él, presentando y aportando continua-
mente propuestas e ideas a través de las listas de correos. Un agradecimiento
especial a Robert Dodier y James Amundson, quienes me brindaron la opor-
tunidad de formar parte del equipo de desarrollo de Maxima y me abrieron
las puertas a una experiencia verdaderamente enriquecedora.
Finalmente, un recuerdo a William Schelter. Gracias a él disponemos
hoy de un Maxima que, paradójicamente, por ser libre, no pertenece a nadie
pero que es de todos.
Ferrol-A Coruña
5
6
CAPÍTULO 1. INTRODUCCI ÓN
Capítulo 2
Despegando con Maxima
2.1.
Instalación
Maxima funciona en Windows, Mac y Linux.
En Windows, la instalación consiste en descargar el binario exe desde el
enlace correspondiente en la página del proyecto y ejecutarlo.
En Mac, es necesario descargar el fichero con extensión dmg, hacer doble
clic sobre él y arrastrar los iconos de Maxima, wxMaxima y Gnuplot a la
carpeta Aplicaciones. El proceso detallado se explica aquí:
http://www.faq-mac.com/41547/instalacion-maximawxmaxima-mac-
javier-arantegui
En Linux, la mayoría de las distribuciones tienen ficheros precompilados
en sus respectivos repositorios con las extensiones rpm o deb, según el caso.
Sin embargo, en algunas distribuciones las versiones oficiales no suelen es-
tar muy actualizadas, por lo que podría ser recomendable proceder con la
compilación de las fuentes, tal como se expone a continuación.
Las siguientes indicaciones sobre la compilación hacen referencia al sis-
tema operativo Linux.
Si se quiere instalar Maxima en su estado actual de desarrollo, será nece-
sario descargar los ficheros fuente completos desde el repositorio de Source-
forge y proceder posteriormente a su compilación. Se deberá tener operativo
un entorno Common Lisp en la máquina (clisp, cmucl, sbcl o gcl son
todas ellas alternativas válidas), así como todos los programas que permi-
tan ejecutar las instrucciones que se indican a continuación, incluidas las
dependencias tcl-tk y gnuplot. Grosso modo, estos son los pasos a seguir
para tener Maxima operativo en el sistema1:
1. Descargar las fuentes a un directorio local siguiendo las instrucciones
que se indican en el enlace al repositorio de la página del proyecto.
1Se supone que se trabaja con clisp, con codificación unicode y que queremos el sistema
de ayuda en inglés y español.
7
8
CAPÍTULO
Comentarios de: Primeros pasos en Maxima (1)