Mathematica

Mathematica
Mathematica
100px
Desarrollador
Wolfram Research
Página de Mathematica
Información general
Última versión estable 8.0.1
15 de noviembre de 2010
Género Sistema algebraico computacional
Sistema operativo Multiplataforma (list)
Licencia Propietario
En español ?

Mathematica es un programa utilizado en áreas científicas, de ingeniería, matemáticas y áreas computacionales. Originalmente fue concebido por Stephen Wolfram, quien continúa siendo el líder del grupo de matemáticos y programadores que desarrollan el producto en Wolfram Research, compañía ubicada en Champaign, Illinois. Comúnmente considerado como un sistema de álgebra computacional, Mathematica es también un poderoso lenguaje de programación de propósito general.

Contenido

Reseña

La primera versión de Mathematica se puso a la venta en 1988. La versión 8, fue lanzada el 15 de noviembre del 2010, se encuentra disponible para una gran variedad de sistemas operativos.

Mathematica se divide en 2 partes, el "kernel" o núcleo que desempeña los cálculos. Y el "front end" o interfaz, que despliega los resultados y permite al usuario interactuar con el núcleo como si fuera un documento. En la comunicación entre el kernel y la interfaz (o cualquier otro cliente) Mathematica usa el protocolo MathLink, a menudo sobre una red. Es posible que diferentes interfaces se conecten al mismo núcleo, y también que una interfaz se conecte a varios núcleos.

A diferencia de otros sistemas de álgebra computacional, por ejemplo Maxima o Maple, Mathematica intenta usar las reglas de transformación que conoce en cada momento tanto como sea posible, tratando de alcanzar un punto estable.

Características generales

El lenguaje de programación de Mathematica está basado en re-escritura de términos (que se identifica también como computación simbólica), y soporta el uso de programación funcional y de procedimientos (aunque en general, la programación funcional es más eficiente). Está implementado en una variante del Lenguaje de programación C orientado a objetos, pero el grueso del extenso código de librerías está en realidad escrito en el lenguaje Mathematica, que puede ser usado para extender el sistema algebraico. Usualmente, nuevo código puede ser añadido en forma de paquetes de Mathematica, como los archivos de texto escrito en el lenguaje de Mathematica.

Algunas de las características de Mathematica incluyen:[1]

  • Bibliotecas de funciones elementales y especiales para matemáticas.
  • Herramientas de visualización de datos en 2D y 3D.
  • Matrices y manipulación de datos, así como soporte de matrices tipo" sparse".
  • Capacidad de solucionar sistemas de ecuaciones, ya sea ordinarias, parciales o diferenciales, así como relaciones de recurrencia y algebraicas en general.
  • Herramientas numéricas y simbólicas para cálculo de variable continua o discreta.
  • Estadística multivariable.
  • Restringida y no restringida optimización de local y global .
  • Lenguaje de programación que soporta programación funcional.
  • Un kit de herramientas para añadir interfaces de usuario para cálculos y aplicaciones.
  • Herramientas para procesamiento de imágenes.
  • Herramientas de análisis y visualización.
  • Minería de datos, como análisis de clusters, alineamiento de secuencias, y "pattern matching".
  • Bibliotecas de funciones para teoría de números.
  • Transformaciones de integrales continuas y discretas.
  • Capacidades de importación y exportación de información de datos, imágenes, vídeo y sonido, así como otros formatos biomédicos y de intercambio de documentos en general.
  • Una colección de bases de datos incluidas de matemáticas, ciencia e información socio económica (astronomía, diccionarios, clima, poliedros, países, instrumentos financieros, componentes químicos, el genoma humano, entre otros).
  • Soporte para variable compleja, aritmética de precisión infinita y computación simbólica para todas las funciones incluidas.
  • Interfaz de tipo documento que permite la reutilización de entradas y salidas previas, incluidas gráficas y anotaciones de texto.
  • Funcionalidad como procesador de palabras técnico (cuaderno de notas), incluyendo un editor de fórmulas.

Interfaces

La interfaz preseleccionada por Mathematica tiene extensas características y capacidades gráficas, ofreciendo analogías a un cuaderno de trabajo: la entrada de datos por parte del usuario y los resultados enviados por el núcleo (incluyendo gráficas y sonidos), son colocados en forma de celdas jerárquicas (igual que Maple), lo cual permite seguir con facilidad la secuencia de las manipulaciones algebraicas o cálculos que se están desarrollando en una sesión. Comenzando con la versión 3.0 del software, los cuadernos se representan como expresiones que puedan ser manipuladas, a su vez, por el núcleo.

Para permitir a aquellos usuarios que no tienen una licencia, la visualización de los cuadernos de trabajo escritos en Mathematica, se creó un paquete de lectura dedicado. Este paquete, llamado MathReader puede bajarse de la red gratuitamente.

Otras interfaces se encuentran disponibles, como, JMath o mash, pero la interfaz estándar de Mathematica es la más popular.

Conexiones con otras aplicaciones

Las comunicaciones con otras aplicaciones ocurren a través del protocolo llamado MathLink. Este protocolo permite no solo comunicaciones entre el núcleo de Mathematica y las pantallas, sino que también provee la interface entre el núcleo y aplicaciones arbitrarias. Wolfram Research distribuye de forma gratuita un kit para enlazar aplicaciones escritas en el lenguaje de programación C hacía el núcleo de Mathematica a través de MathLink. Otros componentes de Mathematica, que usan el protocolo Mathlink, permite a los desarrolladores establecer comunicaciones entre el núcleo y Java o para programas .NET como J/Link y.NET/Link

Usando J/Link, un programa de Java puede decirle a Mathematica que ejecute cálculos; también Mathematica puede cargar cualquier clase de Java, manipular objetos de Java y desempeñar llamadas a métodos, haciendo posible construir interfaces gráficas desde Mathematica. De forma similar, la plataforma .NET puede enviarle órdenes al núcleo para que ejecute calculos, y devuelva los resultados, también los desarrolladores de Mathematica pueden acceder con facilidad a la funcionalidad de la plataforma .NET.

Funcionalidades de Mathematica para Internet

Wolfram Research cuenta con un programa denominado webMathematica que añade funcionalidades para publicación Web capaz de hacer cálculos y desplegar visualizaciones de Mathematica en línea.

Como demostración de las capacidades de Mathematica y webMathematica, Wolfram Research mantiene un sitio web en la que es posible realizar integrales indefinidas simples "The Integrator" en http://integrals.wolfram.com/index.jsp así como el "Demonstrations project" que consiste en pequeños programas encapsulados que muestran un concepto matemático o una función de Mathematica de manera simplificada, visual y libre ya que el código fuente también puede descargarse. Estos pequeños programas pueden visualizarse incluso sin contar con Mathematica sino directamente en el browser o con el Mathematica Player que es gratuito y puede descargarse en la página de Wolfram Research.


Ejemplos

La siguiente secuencia de Mathematica encuentra el determinante de una matriz de 6x6, cuyos i, j enésima entradas contienen ij con todos los ceros reemplazados por 1.

In[1]:= Det[Array[Times, {6, 6}, 0] /. 0 -> 1]
Out[1]= 0

Entonces, el determinante de tal matriz es cero.

El siguiente calcula numéricamente la raíz de la ecuación ex = x2 + 2, comenzando en el punto x = -1


In[2]:= FindRoot[Exp[x] == x^2 + 2, {x, -1}]
Out[2]= {x -> 1.3190736768573652}


Múltiples paradigmas como lenguaje de programación

Mathematica permite múltiples paradigmas de programación. Considere por ejemplo: una tabla con los valores de gcd(x, y) para 1 ≤ x ≤ 5, 1 ≤ y ≤ 5.

La opción más concisa es usar una de las muchas funciones especializadas:

In[3]:= Array[GCD, {5, 5}]
Out[3]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

También se puede de esta forma:

In[4]:= Table[GCD[x, y], {x, 1, 5}, {y, 1, 5}]
Out[4]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Igualmente se puede:

In[5]:= Outer[GCD, Range[5], Range[5]]
Out[5]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Outer corresponde al operador del producto externo , Range corresponde al operador iota.

De forma iterativa:

In[6]:= l1 = {}; (* inicia una lista vacía, para obtener una lista al final*)
       For[i = 1, i <= 5, i++,
       l2 = {}; 
          For[j = 1, j <= 5, j++,
             l2 = Append[l2, GCD[i, j] ] 
             ];                                      
          l1 = Append[l1, l2]; (* añade a la sublista, esto es, la fila *)
       ]; l1
Out[6]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Observe que esta solución es considerablemente más larga que las anteriores.

Estructuras comunes, manipulaciones comunes

Uno de los principios que guían en Mathematica, es la estructura unificada detrás de todos los objetos representables. Por ejemplo, la expresión x4 + 1 si es entrada será representada como si fuera escrita:

In[7]:= x^4 + 1
Out[7]= 1+x4

Pero si el comando FullForm es usado en esta expresión:

In[8]:= FullForm[x^4 + 1]
Out[8]= Plus[1, Power[x, 4]]

Casi todos los objetos en Mathematica tienen básicamente la forma head[e1, e2, ...] (la cual puede se mostrada o introducida de otras maneras). Por ejemplo, el head del ejemplo de arriba es Plus, y los símbolos tales como x tienen la forma Symbol["x"]. Las listas tienen esta estructura también, donde el head es List.

El principio permite expresiones ordinarias sin relación con listas, ser operadas con operaciones de listas:

In[9]:= Expand[(Cos[x] + 2 Log[x^11])/13][[2, 1]]
Out[9]= 2/13

Lo contrario también puede ocurrir -- listas pueden ser modificadas para comportarse como expresiones ordinarias:

In[10]:= Map[Apply[Log, #] &, {{2, x}, {3, x}, {4, x}}]
Out[10]= {Log[x]/Log[2], Log[x]/Log[3], Log[x]/Log[4]}

donde la función Apply cambia el head del segundo argumento hacia el primero.

Historia

Wolfram ha lanzado al mercado las siguientes versiones:

  • Mathematica 1.0 (1988)[2]
  • Mathematica 1.2 (1989)[3]
  • Mathematica 2.0 (1991)[4]
  • Mathematica 2.1 (1992)[5]
  • Mathematica 2.2 (1993)[6]
  • Mathematica 3.0 (1996)[7]
  • Mathematica 4.0 (1999)[8]
  • Mathematica 4.1 (2000)
  • Mathematica 4.2 (2002)[9]
  • Mathematica 5.0 (2003)[10]
  • Mathematica 5.1 (2004)[11]
  • Mathematica 5.2 (2005)[12]
  • Mathematica 6.0 (2007)[13]
  • Mathematica 7.0 (2008)[14]
  • Mathematica 7.0.1 (2009)[15]
  • Mathematica 8.0 (2010)

Véase también

  • Lista de programas de álgebra computacional

Referencias

  1. Mathematica documentation
  2. Supercomputer Pictures Solve the Once Insoluble, John Markoff, October 30, 1988.
  3. Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations by Elinor Craig, MacWeek, July 25, 1989.
  4. Mathematica + 283 functions = Mathematica 2.0 by Raines Cohen, MacWeek, January 15, 1991.
  5. New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps. (Wolfram Research Inc. ships Mathematica 2.1, new QuickTime-compatible version of Mathematica software) by Daniel Todd, MacWeek, June 15, 1992.
  6. New version of Mathematica, Mechanical Engineering, June 1, 1993.
  7. New Mathematica by Stephen H. Wildstrom, BusinessWeek, June 15, 1997.
  8. Mathematica 4.0 by Charles Seiters, Macworld, October 1, 1999.
  9. Mathematica 4.2: Feature-Rich Math Program Integrates with the Web, Adds Full Java Support by Charles Seiter, Macworld, November 1, 2002.
  10. Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica's initial release, Wolfram Research has released Mathematica , PC Magazine, September 3, 2003.
  11. Mathematica 5.1's Web Services Add Up; Mathematica 5.1 delivers improvements over Version 5.0 that are vastly out of proportion for a .1 upgrade. by Peter Coffee, eWeek, December 6, 2004.
  12. Mathematica hits 64-bit, MacWorld UK, July 13, 2005.
  13. Mathematica 6: Felix Grant finds that version 6 of Wolfram Research's symbolic mathematical software really does live up to its expectations. Scientific Computing, 2007.
  14. Mathematica 7: Released Wolfram Blog, 2008.
  15. [1], Announcing Mathematica 7.0.1.

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Mathematica — Тип Сист …   Википедия

  • Mathematica — Développeur Wolfram Research Dernière version 8 …   Wikipédia en Français

  • Mathematica — Mathematica …   Deutsch Wikipedia

  • Mathematica — For other uses, see Mathematica (disambiguation). Mathematica Mathema …   Wikipedia

  • Mathematica Policy Research, Inc. — Mathematica Policy Research, Inc. (MPR) is a policy research organization with offices in Princeton, New Jersey; Cambridge, Massachusetts; and Washington, D.C.; with a new office slated to open in Ann Arbor, Michigan in early 2008.… …   Wikipedia

  • Mathematica (disambiguation) — Mathematica is a computer algebra system and programming language. Mathematica may also refer to: Philosophiæ Naturalis Principia Mathematica, Newton s classic book containing basic laws of physics Mathematica Policy Research, Inc., a policy… …   Wikipedia

  • Mathematica: A World of Numbers... and Beyond — Multiplication machine in the exhibit. Large mobius strip …   Wikipedia

  • Mathematica Policy Research — For other uses, see Mathematica (disambiguation). Mathematica Policy Research is a policy research organization with offices in Princeton, New Jersey; Cambridge, Massachusetts; Chicago, Illinois; Washington, DC; Ann Arbor, Michigan; and Oakland,… …   Wikipedia

  • Mathematica — plattformübergreifende Mathematiksoftware zur Berechnung mit bel. Genauigkeit, 2D/3D Funktionsdarstellung und Statistik (WRI) …   Acronyms

  • Mathematica — plattformübergreifende Mathematiksoftware zur Berechnung mit bel. Genauigkeit, 2D/3D Funktionsdarstellung und Statistik (WRI) …   Acronyms von A bis Z

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”