PDF de programación - Software matemático básico: Maxima

Imágen de pdf Software matemático básico: Maxima

Software matemático básico: Maximagráfica de visualizaciones

Publicado el 9 de Abril del 2018
507 visualizaciones desde el 9 de Abril del 2018
852,5 KB
76 paginas
Creado hace 15a (30/06/2008)
Software matemático básico:

Maxima

Curso intensivo i-MATH de Software libre orientado

a Ciencias e Ingeniería.

Vigo - Cádiz. Julio de 2008

Mario Rodríguez Riotorto

[email protected]

1

Copyright c2008 Mario Rodriguez Riotorto
Este documento es libre; se puede redistribuir y/o modificar bajo los términos de la
GNU General Public License tal como lo publica 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. Generalidades

2. Despegando con Maxima

Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.
2.2. Tomando contacto con el programa . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Matemáticas con Maxima

3.1. Números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Listas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Transformaciones algebraicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Resolución de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Límites, derivadas e integrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Vectores y campos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9. Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10. Probabilidades y análisis de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Interpolación numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. Programación

4.1. Nivel Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Nivel Lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

5
5
6

13
13
15
19
24
27
33
40
44
50
57
61

65
65
73

2

Capítulo 1

Generalidades

Maxima es un programa de Matemáticas escrito en Lisp.
Su nombre original fue Macsyma (MAC’s SYmbolic MAnipulation System). Se desarrolló en
los laboratorios del MIT entre los años 1969 y 1982 con fondos aportados por varias agencias
gubernamentales norteamericanas (National Aeronautics and Space Administration, Office of Naval
Research, U.S. Department of Energy (DOE) 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 automatizar las manipulaciones simbólicas que realizan 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 da por finalizado el proyecto; una copia pasará al DOE (conocida
como DOE-Macsyma) y otra a la empresa Symbolics Inc. para su explotación comercial, haciendo
el código propietario. La copia del DOE fue mantenida por William Schelter de la Universidad
de Texas y traducida a Common Lisp; parte de la comunidad científica podría utilizarla, pero
no tendría derechos de redistribución. Es la época en la que aparecen en el mercado Maple y
Mathematica. La versión comercial apenas se desarrolla, es superada por estos dos programas y
deja de desarrollarse en 1999.

En 1998 Schelter obtiene permiso del Departamento de Energía para distribuir Maxima (así lla-
mado ahora para diferenciarlo de la versión comercial) bajo la licencia GPL (General Public Li-
cense) de la Free Software Foundation. En el año 2000 Maxima pasa a ser un proyecto hospedado
en Sourceforge y en el 2001 fallece Schelter. Actualmente el proyecto se mantiene con el trabajo
voluntario de un equipo internacional de programadores.

Toda la información relevante del proyecto está disponible en la URL

http://maxima.sourceforge.net

desde donde se puede descargar la documentación y los ficheros de instalación. La vía más directa
y rápida de tomar contacto con el equipo de desarrollo y el resto de usuarios es a través de la lista
de correo

http://maxima.sourceforge.net/maximalist.html

Además, existe una lista de correos para usuarios de habla hispana en

http://sourceforge.net/mailarchive/forum.php?forum id=50322

Uno de los aspectos más relevantes de este programa es su naturaleza libre; la licencia GPL en

la que se distribuye brinda al usuario ciertas libertades:

3

CAPÍTULO 1. GENERALIDADES

4

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, accesible a todos los presupuestos, tanto institucionales como
individuales.

Finalmente, tampoco es ajeno este programa al mundo empresarial e industrial (no en vano
algunos de los desarrolladores actuales de Maxima son ingenieros), ya que junto a la reducción
de los costes económicos en licencias hay que añadir el dinamismo de su desarrollo, pues no son
pocas las ocasiones en las que una sugerencia o propuesta de mejora por parte de los usuarios del
programa ha tenido una rápida respuesta por parte del equipo de desarrollo.

Capítulo 2

Despegando con Maxima

2.1.

Instalación

Maxima funciona en Windows, Linux y Mac-OS.
En Windows, la instalación consiste en descargar el binario exe desde el enlace correspondiente

En Linux, la mayoría de las distribuciones tienen ficheros precompilados con las extensiones

en la página del proyecto y ejecutarlo.

rpm o deb, según el caso.

Las siguientes indicaciones sobre su compilación hacen referencia al sistema operativo Linux.
Si se quiere instalar Maxima en su estado actual de desarrollo, será necesario descargar los
ficheros fuente completos del CVS de Sourceforge y proceder posteriormente a su compilación. Se
deberá tener operativo un entorno Common Lisp en la máquina (clisp, cmucl, sbcl y gcl son
todas ellas alternativas libres válidas), así como todos los programas que permitan ejecutar las
instrucciones que se indican a continuación, incluidas las dependencias tcl-tk y gnuplot. Grosso
modo, los pasos a seguir son los siguientes1:

1. Descargar las fuentes a un directorio local siguiendo las instrucciones que se indican en el

enlace al CVS de la página del proyecto.

2. Acceder a la carpeta local de nombre maxima y ejecutar las instrucciones

./bootstrap
./configure --enable-clisp --enable-lang-es-utf8
make
make check
sudo make install
make clean

3. Para ejecutar Maxima desde la línea de comandos se deberá escribir

maxima

si se quiere trabajar con la interfaz gráfica (ver sección siguiente), teclear

xmaxima

1Se supone que se trabajará con clisp, siendo la codificación del sistema unicode.

5

CAPÍTULO 2. DESPEGANDO CON MAXIMA

6

2.2. Tomando contacto con el programa

En esta sesión se intenta realizar un primer acercamiento al programa a fin de familiarizarse

con el estilo operativo de Maxima, dejando sus habilidades matemáticas para más adelante.

Una vez iniciada la ejecución del programa, se nos presenta una cabecera:

Maxima 5.15.0cvs http://maxima.sourceforge.net
Using Lisp CLISP 2.41 (2006-10-13)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1)

donde el símbolo (%i1) nos indica que Maxima está esperando la primera entrada del usuario
(i de input). Ahora se puede escribir una instrucción y terminarla con un punto y coma (;) para
que el programa la ejecute; por ejemplo,

(%i1) diff(1-exp(-k*x),x);

( %o1)

k e−k x

(%i2)
donde le pedimos la derivada de la función y = 1 − exp(−kx) respecto de x, a lo que Maxima res-
ponde con ke−kx, etiquetando este resultado con (%o1) (o de output). Nótese que tras la respuesta,
la etiqueta (%i2) nos indica que Maxima espera una segunda instrucción.

El símbolo %e es la forma que tiene Maxima de representar la base de los logaritmos naturales,

de igual forma que %pi representa al número π. Continuando con la sesión,

(%i2) %pi + %pi;

( %o2)

(%i3) float(%);

2 π

( %o3)

6.283185307179586

Maxima hace simplificaciones algebraicas, como π + π = 2π, las cuales devuelve en forma
simbólica. El símbolo %, cuando se utiliza aislado, representa la última respuesta dada por Maxima;
así, en la entrada número tres se solicita que el último resultado se devuelva en formato decimal
de coma flotante.

Maxima está escrito en Lisp, por lo que ya se puede intuir su potencia a la hora de trabajar
con listas, las cuales deben finalizar y terminar con corchetes ([a,c,...]); en el siguiente diálogo,
el texto escrito entre las marcas /* y */ son comentarios que no afectan a los cálculos, además se
observa cómo se hace una asignación con el operador de dos puntos (:) a la variable xx,

(%i4) /* Se le asigna a la variable x una lista */

xx: [cos(%pi), 4/16, [a, b], (-1)^3, integrate(u^2,u)];

( %o4)



−1,

1
4 , [a, b] ,−1,

u3
3



CAPÍTULO 2. DESPEGANDO CON MAXIMA

7

(%i5) /* Se calcula el número de elementos del último resultado */

length(%);

( %o5)

5

(%i6) /* Se transforma una lista en conjunto, */
*/
*/

/* eliminando redundancias. Los
/* corchetes se transforman en llaves
setify(xx);

( %o6)

−1,

1
4 , [a, b] ,

u3
3

De la misma manera que % representa el último resultado, también se puede hacer referencia a
una sal
  • Links de descarga
http://lwp-l.com/pdf10283

Comentarios de: Software matemático básico: Maxima (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad