Mostrando las entradas con la etiqueta matemáticas. Mostrar todas las entradas
Mostrando las entradas con la etiqueta matemáticas. Mostrar todas las entradas

domingo, febrero 22, 2009

Principiante en matemáticas

Las matemáticas son una ciencia, que tiene tanto de largo como de ancho. Es impresionante observar los diversos campos de estudio alrededor de ellas y como constituyen un lenguaje unificador para las demás ciencias.

Hace unos días en la lista de discusión de Maxima, una persona escribió un correo pidiendo información sobre algún documento o libro para un principiante en matemáticas. Hubo varias respuestas, de parte de algunos de los desarrolladores de Maxima y muchos coincidian en que no era fácil recomendar un libro, debido a que la pregunta estaba planteada de manera muy general; y recomendaron a la persona que aclarara cuales eran sus intereses (topología, geometría, álgebra lineal, teoría de números, etc,.), para poder así recomendar algo más adecuado. Sin embargo, dentro de las sugerencias, no sabía que había un libro de cálculo del MIT disponible en formato PDF, una muy buena referencia:


Otra referencia para el estudio del cálculo elemental:


Y para rematar, uno de los manuscritos de Euler, publicado en 1748:


Defitivamente, hay mucho por conocer sobre matemáticas, aunque con las herramientas que poseemos actualmente, el camino se facilita bastante y el aprendizaje se vuelve más interactivo.


domingo, octubre 07, 2007

Release de sFourier 0.3a

Como lo dije aqui, hace algo de tiempo estaba junto con otros compañeros escribiendo un programa para aprendizaje de Series de Fourier. Las primeras versiones del programa permitian simular la vibración de una cuerda que estaba fija en sus extremos, como se explica aqui [PDF, PS] y para ello utilizamos Python como lenguaje junto con otros módulos, como VPython y wxPython. Así lucía sFourier (aunque para ese entonces el programa no estaba bautizado) hace unos meses:


Después de algunas discusiones y luego de apegarnos a un modelo de desarrollo mucho más estructurado y funcional que el que veniamos utiizando, se decidió cambiar a Java como lenguaje, debido a que la experiencia de los programadores era mucho mejor que la que se tenía en Python y se generó una segunda perspectiva de aplicación:




que permitía además de simular la vibración de la cuerda, calcular series de Fourier de funciones lineales continuas a trozos y comparar la vibración de dos cuerdas. Esta versión sirvió de base afinar muchos aspectos de lógica de la aplicación, así como de interfaz. Sin embargo, debido a un problema con la presentación de algunas gráficas, se buscaron mejores formas de llevar a cabo los métodos de simulación de la cuerda y presentación de espectros de amplitudes y se generó una última versión:


que después de varios ajustes se convirtió en la versión 0.3a (alpha) de sFourier y la primera que se encuentra lista para el usuario. sFourier 0.3a cuenta con las siguientes funcionalidades:

  • Simulación del fenómeno de la cuerda vibrante, permitiendo observar modos normales de vibración individuales y en suma, además de los espectros de amplitud.
  • Módulo de comparación entre cuerdas, que permite simular simultáneamente dos cuerdas vibrantes con parámetros de tensión y densidad diferentes.
  • Aproximación por Series de Fourier de funciones lineales contínuas a trozos, permitiendo observar las gráficas de la aproximación, términos individuales de la Serie de Fourier o sumados y el espectro de amplitudes.
La página oficial del proyecto es:

http://sfourier.sourceforge.net

El proyecto como pueden darse cuenta (versión 0.3a !) aún es muy jóven, pero esperamos poder liberar más versiones con muchas más funcionalidades y mejoras. Lo que esperamos para la próximas versiones es:

  • Corregir todos los bugs conocidos
  • Permitir definir funciones polinómicas y trigonométricas
  • Mejorar el algoritmo de verificación de funciones
  • Añadir una interfaz más cómoda para el ingreso de funciones
  • Presentar los coeficientes de Fourier después de calcular la serie de Fourier correspondiente
  • Añadir otros fenómenos físicos como la membrana vibrante.
  • Mostrar el espectro de fase
y todo aquello que se nos siga ocurriendo. Desde luego que sFourier es software libre !!!.

martes, junio 05, 2007

LaTeX más fácil con Emacs

Cualquiera de las personas que haya usado LaTeX (y sobre todo como principiante) al momento de la compilación de un documento se suelen obtener errores bien sea por mala escritura de comandos LaTeX u omisión de los mismos y además la salida en formato dvi o pdf no corresponde con lo esperado. Entonces hay que dirigirse al documento fuente (.tex) hacer las correcciones y compilar de nuevo. Una manera de tener una previsualización del documento conforme se va escribiendo es utilizar AucTeX (un modo de Emacs para LaTeX) que permite hacer previsualizaciones del documento bien sea por región, por entorno, por sección, por buffer o por todo el documento. Es muy útil cuando se escriben fórmulas matemáticas, por ejemplo:



para un principiante es algo complicado estar seguro si las anteriores fórmulas se encuentran bien escritas, pero con el preview-latex del modo AucTeX de Emacs se puede hacer lo siguiente:



obtener una previsualización de las fórmulas sin tener que compiliar el documento. El preview-latex de AucTeX permite guardar cada una de las fórmulas en imágenes en formato PNG si así se desea. Más información en: http://www.gnu.org/software/auctex/manual/auctex.index.html

miércoles, mayo 30, 2007

Revisión 0.1 a Maxima


Desde hoy inicio una serie de escritos acerca de Maxima, en los cuales comentaré algunas ideas que tengo respecto a: interfaz gráfica, nuevas características, paquetes adicionales e interfaces con otros lenguajes o programas existentes. Pero primero que todo empezaré por comentar acerca de Maxima, su historia y evolución para aquellos que aún no lo conocen.

Qué es Maxima ?

Maxima es un completo sistema de álgebra computacional de propósito general diseñado para la manipulación de expresiones algebráicas. Con Maxima usted puede manipular expresiones algebráicas que contengan constantes, variables y funciones. Maxima es una implementación en Common Lisp realizada por William F. Schelter y se basa en la implementación original de Macsyma que fue construida en el MIT (Instituto Tecnológico de Massachuttes, por sus siglas en inglés) para el Departamento de Energía de los EEUU (DOE, por sus siglas en inglés). Hace unos años el profesor Schelter (puede ver la carta de autorización aqui) obtuvo los permisos de parte del DOE para hacer copias derivadas del software y en particular distribuirlas bajo licencia GPL.

La Historia de Maxima

Los comienzos de Macsyma, donde la mayor parte del desarrollo toma lugar, datan a finales de la década de 1.960 y comienzos de la década de 1.970 en el marco del proyecto MAC, una unidad investigativa del MIT, la cual fue añadida al Laboratorio de Ciencias de la Computación de ese tiempo. El soporte investigativo para Macsyma incluía a la Advanced Research Projects Agency (ARPA), al Departamento de Defensa y de Energía de los Estados Unidos y otras entidades estatales y privadas. La idea original surge de parte de Marvin Minsky. Tras varios esfuerzos de desarrollo, de los cuales hicieron parte muchos trabajos de tesis, surgió Macsyma, un acrónimo para MAC's Symbolic Manipulator (Manipulador Simbólico de MAC). La etapa de diseño se llevó a cabo en Julio de 1.968 y su codificación empezó a principios de Julio de 1.969. Este primer desarrollo se hizo usando un computador bastante sencillo: un DEC PDP-6. Posteriormente, se inició un proceso de porte hacia otras plataformas de hardware, utilizando otras implementaciones de Lisp (cuando se habla de una implementación Lisp, nos referimos a un dialecto derivado de Lisp, orientado a un uso particular, por ejemplo Steel Bank Common Lisp que fue diseñado con énfasis en proveer facilidades para su mantenimiento. Es algo así como una distribución GNU/Linux. Puede encontrar más información en http://es.wikipedia.org/wiki/Lisp y en http://www.alu.org/table/lisp.htm.

A mediados de 1.980, la idea de portar Macsyma se fortaleció y gracias a la distribución Vaxima basada en Unix, que ejecutaba una implementación de Lisp elaborada en la Universidad de California en Berkeley, demostró que desde el punto de vista teórico y práctico era posible ejecutar software en una gran cantidad de sistemas. Una vez el código entró en una etapa estable, empezaron a surgir variantes del sistema, entre las que se encuentran Macsyma, Maxima, Paramax/Paramacs, Punimax, Aljbar y Vaxima. De esas 6 variantes, sólo sobrevivieron dos: Maxima y Macsyma.

Debido a algunos incovenientes, Macsyma se empezó a distribuir de forma comercial y el código fuente fue cerrado. Gracias al Profesor William F. Schelter, quien en Octubre de 1.998 obtuvo los permisos necesarios de parte del Departamento de Energía de los Estados Unidos para poder distribuir copias de Maxima (dado que la compañia que distribuia Macsyma desapareció), bajo licencia GPL. Es así como el profesor Schelter mantiene Maxima hasta su fallecimiento en Julio de 2001, lo cual significó un duro revés, pero dado que el código fuente de Maxima estaba bajo licencia GPL, se empezó a distribuir libremente. Es así, como un grupo de usuarios y desarrolladores, que trabajan continuamente por lista de correo, están haciendo de Maxima un proyecto de software libre, que se proyecta como uno de los mejores sistemas para manipulación simbólica y numérica, que sea accesible libremente.

En la actualidad

El proyecto Maxima cuenta actualmente con una comunidad de desarrollo activa (24 desarrolladores) y muchos otros usuarios que trabajan por lista de correo reportando bugs, solicitando soporte, enviado mejoras y escribiendo nuevas funcionalidades para el programa. Más información y documentación en: http://maxima.sourceforge.net

Por ahora tengo algunas ideas acerca de mejorar la actual interfaz gráfica de Maxima, pero para ello quisiera recibir sugerencias de parte de quienes lean este blog. Qué crees debe tener la interfaz gráfica de Maxima o mejor aún que debería incluir la interfaz gráfica de un programa para manipulación de matemáticas ?

lunes, febrero 26, 2007

Integración .....


A principio de carrera me di a la tarea de resolver una integral, que para el momento me tomó cierto tiempo y hoy buscando algunas cosas, me tope con un pequeño artículo que escribí acerca de la solución de esa integral. Para los interesados el archivo en formato PDF y su fuente LaTeX se encuentra en:

http://jpromerobx.mooo.com/articulos

Espero que les pueda ser de utilidad. Ah, una nota: Si tienen por ahi, alguna integral que no hayan podido resolver, envienmela y les colaboraré con gusto.