programa de software computacional
Wolfram Mathematica es un sistema de software con bibliotecas integradas para varias áreas de la informática técnica que permiten el aprendizaje automático , estadística , computación simbólica , manipulación de datos, análisis de redes, análisis de series de tiempo, PNL , optimización , funciones de trazado y varios tipos de datos, implementación . de algoritmos , creación de interfaces de usuario e interfaz con programas escritos en otros lenguajes de programación . Fue concebido por Stephen Wolfram y desarrollado por Wolfram Research de Champaign, Illinois. [8] [9] Wolfram Language es el lenguaje de programación utilizado en Mathematica . [10] Mathematica 1.0 fue lanzado el 23 de junio de 1988 en Champaign, Illinois y Santa Clara, California . [11] [12] [13]
Interfaz del portátil
Mathematica se divide en dos partes: el núcleo y el front-end . El kernel interpreta expresiones (código Wolfram Language) y devuelve expresiones de resultados, que luego pueden mostrarse en la interfaz.
La interfaz original, diseñada por Theodore Gray [14] en 1988, consta de una interfaz de cuaderno y permite la creación y edición de documentos de cuaderno que pueden contener código, texto sin formato, imágenes y gráficos. [15]
Las alternativas al front-end de Mathematica incluyen Wolfram Workbench, un entorno de desarrollo integrado (IDE) basado en Eclipse que se introdujo en 2006. Proporciona herramientas de desarrollo de código basadas en proyectos para Mathematica, incluida la gestión de revisiones, depuración, creación de perfiles y pruebas. [dieciséis]
También hay un complemento para IDE basados en IntelliJ IDEA para trabajar con código de Wolfram Language que, además del resaltado de sintaxis, puede analizar y autocompletar variables locales y funciones definidas. [17] El kernel de Mathematica también incluye una interfaz de línea de comandos. [18]
Otras interfaces incluyen JMath, [19] basado en GNU Readline y WolframScript [20] que ejecuta programas Mathematica autónomos (con argumentos) desde la línea de comandos de UNIX.
La extensión de archivo para los archivos de Mathematica es .nb y .m para los archivos de configuración.
Mathematica está diseñado para ser completamente estable y compatible con versiones anteriores.
Computación de alto rendimiento
Las capacidades para la computación de alto rendimiento se ampliaron con la introducción de matrices empaquetadas en la versión 4 (1999) [21] y matrices dispersas (versión 5, 2003), [22] y mediante la adopción de la Biblioteca aritmética de precisión múltiple GNU para evaluar la computación de alta precisión. aritmética.
La versión 5.2 (2005) agregó subprocesos múltiples automáticos cuando los cálculos se realizan en computadoras con múltiples núcleos . [23] Esta versión incluía bibliotecas optimizadas específicas de la CPU. [24] Además, Mathematica cuenta con el respaldo de hardware de aceleración especializado de terceros, como ClearSpeed . [25]
En 2002, se introdujo gridMathematica para permitir la programación paralela a nivel de usuario en clústeres heterogéneos y sistemas multiprocesador [26] y en 2008 se incluyó tecnología de computación paralela en todas las licencias de Mathematica, incluido el soporte para tecnología grid como Windows HPC Server 2008 , Microsoft Compute Cluster Server y Rejilla solar .
En 2010 se agregó soporte para hardware GPU CUDA y OpenCL. [27]
Extensiones
A partir de la Versión 14, hay 6602 funciones y símbolos integrados en Wolfram Language. [28] Stephen Wolfram anunció el lanzamiento del Wolfram Function Repository en junio de 2019 como una forma para que la comunidad pública Wolfram contribuya con funcionalidad a Wolfram Language. [29] En el momento del anuncio del lanzamiento de Stephen Wolfram para Mathematica 13, se habían contribuido 2259 funciones como funciones de recursos. [30] Además del repositorio de funciones Wolfram, existe un repositorio de datos Wolfram con datos computables y el repositorio Wolfram Neural Net para aprendizaje automático. [31]
Wolfram Mathematica es la base del paquete Combinatorica, que agrega al programa funcionalidad de matemáticas discretas en combinatoria y teoría de grafos. [32]
Conexiones a otras aplicaciones, lenguajes de programación y servicios.
La comunicación con otras aplicaciones se puede realizar mediante un protocolo llamado Wolfram Symbolic Transfer Protocol (WSTP). Permite la comunicación entre el kernel de Wolfram Mathematica y el front-end y proporciona una interfaz general entre el kernel y otras aplicaciones. [33]
Wolfram Research distribuye gratuitamente un kit de desarrollo para vincular aplicaciones escritas en el lenguaje de programación C al kernel de Mathematica a través de WSTP usando J/Link., [34] un programa Java que puede pedirle a Mathematica que realice cálculos. Se logra una funcionalidad similar con .NET /Link, [35] pero con programas .NET en lugar de programas Java.
Otros lenguajes que se conectan a Mathematica incluyen Haskell , [36] AppleScript , [37] Racket , [38] Visual Basic , [39] Python , [40] [41] y Clojure . [42]
Mathematica soporta la generación y ejecución de modelos Modelica para el modelado de sistemas y se conecta con Wolfram System Modeler .
También hay enlaces disponibles a muchos paquetes de software y API de terceros. [43]
Mathematica también puede capturar datos en tiempo real de una variedad de fuentes [44] y puede leer y escribir en cadenas de bloques públicas ( Bitcoin , Ethereum y ARK). [45]
Admite la importación y exportación de más de 220 formatos de datos, imágenes, videos, sonido, diseño asistido por computadora (CAD), sistemas de información geográfica (GIS), [46] documentos y biomédicos.
En 2019, se agregó soporte para compilar código de Wolfram Language en LLVM . [47]
La versión 12.3 de Wolfram Language agregó soporte para Arduino . [48]
Datos computables
Mathematica también está integrado con Wolfram Alpha , un motor de respuestas en línea que proporciona datos adicionales, algunos de los cuales se mantienen actualizados en tiempo real, para los usuarios que usan Mathematica con una conexión a Internet. Algunos de los conjuntos de datos incluyen datos astronómicos, químicos, geopolíticos, lingüísticos, biomédicos, de aviones y meteorológicos, además de datos matemáticos (como nudos y poliedros). [49]
Recepción
En 1989, BYTE incluyó a Mathematica entre los ganadores de la "Distinción" de los premios BYTE, afirmando que "es otra aplicación innovadora de Macintosh... podría permitirle absorber el álgebra y el cálculo que parecían imposibles de comprender en un libro de texto". [50] Mathematica ha sido criticada por ser de código cerrado. [51] Wolfram Research afirma que mantener el código cerrado de Mathematica es fundamental para su modelo de negocio y la continuidad del software. [52] [53]
Ver también
Referencias
- ^ Wolfram, Stephen (23 de junio de 2008), Mathematica cumple 20 años hoy, Wolfram , consultado el 16 de mayo de 2012
- ^ "Aún más ideas nuevas y funciones nuevas: lanzamiento de la versión 14.1 de Wolfram Language & Mathematica" . Consultado el 31 de julio de 2024 .
- ^ "Celebrando el primer cuarto de siglo de Mathematica" . Consultado el 11 de agosto de 2015 .
- ^ La ingeniería de software de Mathematica: documentación de Wolfram Mathematica 9 Archivado el 29 de julio de 2017 en Wayback Machine . Referencia.wolfram.com. Recuperado el 23 de marzo de 2015.
- ^ "Requisitos del sistema y disponibilidad de la plataforma de Mathematica 12" . Consultado el 16 de diciembre de 2020 .
- ^ Raspberry Pi incluye Mathematica gratis Archivado el 9 de mayo de 2014 en Wayback Machine The Verge
- ^ "Wolfram Matemática" . Consultado el 11 de agosto de 2015 .
- ^ "Stephen Wolfram: Soluciones simples; el software Mathematica del físico iconoclasta resuelve acertijos complejos" . Semana de Negocios . 3 de octubre de 2005 . Consultado el 4 de agosto de 2021 .
- ^ "Comuníquese con Wolfram Research" . Consultado el 11 de agosto de 2015 .
- ^ "El nuevo lenguaje de programación de Stephen Wolfram: ¿Puede hacer que el mundo sea computable?". Revista Pizarra . 6 de marzo de 2014 . Consultado el 11 de agosto de 2015 .
- ^ "Mathematica: tres décadas de contribuciones, invención, descubrimiento y educación". www.wolfram.com . Consultado el 16 de mayo de 2022 .
- ^ "Celebrando un tercio de siglo de Mathematica y mirando hacia el futuro: Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 16 de mayo de 2022 .
- ^ "Hubo un tiempo antes de Mathematica…—Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 16 de mayo de 2022 .
- ^ Patente US8407580 Búsqueda de patentes de Google
- ^ Hayes, Brian (1 de enero de 1990). "Reflexiones sobre Mathematica" (PDF) . Píxel . Archivado (PDF) desde el original el 15 de julio de 2014.
- ^ "Wolfram presenta Workbench IDE para Mathematica". Macmundo . 21 de junio de 2006. Archivado desde el original el 2 de julio de 2006 . Consultado el 11 de agosto de 2015 .
- ^ "Complemento de Mathematica para IntelliJ IDEA".
- ^ Uso de una interfaz basada en texto Archivado el 29 de octubre de 2013 en la documentación de Wayback Machine en wolfram.com
- ^ "JMath: una interfaz basada en GNU Readline para Mathematica" . Consultado el 11 de agosto de 2015 .
- ^ "Listado de directorios" . Consultado el 18 de abril de 2019 .
- ^ El software matemático ofrece nuevas capacidades; nuevos programas automatizan procesos tan tediosos como la resolución de ecuaciones diferenciales no lineales y la conversión de unidades por Agnes Shanley, Ingeniería Química , 1 de marzo de 2002.
- ^ Mathematica 5.1: las funciones adicionales hacen que el software sea ideal para profesionales de investigación de operaciones Archivado el 25 de septiembre de 2008 en Wayback Machine por ManMohan S. Sodhi, OR/MS Today , 1 de diciembre de 2004.
- ^ La 21ª edición anual de los Editors' Choice Awards Archivado el 12 de enero de 2009 en Wayback Machine , Macworld , 1 de febrero de 2006.
- ^ "Mathematica está optimizado para aprovechar las funciones de la CPU cuando estén disponibles" . Consultado el 13 de abril de 2020 .
- ^ "Placas aceleradoras ClearSpeed Advance certificadas por Wolfram Research; los coprocesadores matemáticos permiten a los usuarios de Mathematica cuadriplicar el rendimiento". Archivado desde el original el 25 de enero de 2016 . Consultado el 11 de agosto de 2015 .
- ^ gridMathematica ofrece una solución de computación paralela Archivado el 2 de diciembre de 2005 en Wayback Machine por Dennis Sellers, MacWorld , 20 de noviembre de 2002.
- ^ "Se agregó compatibilidad con CUDA y OpenCL en Mathematica 8" . Consultado el 13 de abril de 2020 .
- ^ "La historia continúa: anunciando la versión 14 de Wolfram Language y Mathematica". escritos.stephenwolfram.com . Consultado el 25 de junio de 2024 .
- ^ "El repositorio de funciones Wolfram: lanzamiento de una plataforma abierta para ampliar Wolfram Language: Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 16 de mayo de 2022 .
- ^ "Lanzamiento de la versión 13.0 de Wolfram Language + Mathematica: Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 16 de mayo de 2022 .
- ^ "Lanzamiento del repositorio de datos Wolfram: publicación de datos que realmente funciona: Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 16 de mayo de 2022 .
- ^ Skiena, Steven (2003). Matemática discreta computacional: combinatoria y teoría de grafos con Mathematica . Prensa de la Universidad de Cambridge.
- ^ "Protocolo de transferencia simbólica de Wolfram (WSTP)".
- ^ Mathematica 4.2 Archivado el 21 de noviembre de 2007 en Wayback Machine por Charles Seiter, Macworld , 1 de noviembre de 2002.
- ^ .NET/Link Archivado el 9 de septiembre de 2010 en Wayback Machine : .NET/Link es un conjunto de herramientas que integra Mathematica y Microsoft .NET Framework.
- ^ "mathlink: escribir paquetes de Mathematica en Haskell - Hackage" . Consultado el 11 de agosto de 2015 .
- ^ S. Kratky. "MathLink para AppleScript". Archivado desde el original el 17 de julio de 2011 . Consultado el 11 de agosto de 2015 .
- ^ "MrMathematica: llamar a Mathematica desde Scheme" . Consultado el 11 de agosto de 2015 .
- ^ "Mathematica para ActiveX - del archivo de la biblioteca Wolfram" . Consultado el 11 de agosto de 2015 .
- ^ "erocarrera/pythonika". GitHub . Consultado el 11 de agosto de 2015 .
- ^ "PYML (interfaz Python Mathematica): del archivo de la biblioteca Wolfram" . Consultado el 11 de agosto de 2015 .
- ^ "Clojuratica - Inicio". Clojuratica.weebly.com . Consultado el 16 de agosto de 2013 .
- ^ "Documentación de Wolfram: ServiceConnect" . Consultado el 4 de agosto de 2021 .
- ^ "Vernier y Mathematica".
- ^ "Trabajar con cadenas de bloques" . Consultado el 15 de abril de 2020 .
- ^ Revisión de Mathematica 6 Labs Archivada el 25 de marzo de 2022 en Wayback Machine Cadalyst el 1 de febrero de 2008
- ^ "Crear código LLVM" . Consultado el 13 de abril de 2020 .
- ^ "Lanzamiento de la versión 12.3 de Wolfram Language & Mathematica: Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 29 de enero de 2022 .
- ^ "Datos científicos y técnicos", Guía matemática , Wolfram Research, archivado desde el original el 10 de mayo de 2012 , consultado el 16 de mayo de 2012
- ^ "Los premios BYTE". BYTE . Enero de 1989. pág. 327.
- ^ "Paul Romer". paulromer.net . Consultado el 5 de agosto de 2021 .
- ^ "Por qué Wolfram Tech no es de código abierto: una docena de razones: blog de Wolfram". blog.wolfram.com . Consultado el 5 de agosto de 2021 .
- ^ "Seis razones por las que Wolfram Language es (parecido) de código abierto: blog de Wolfram". blog.wolfram.com . Consultado el 16 de mayo de 2022 .
enlaces externos
- Página web oficial
- Centro de Documentación Matemática
- Un poco de la historia de Mathematica que documenta el crecimiento del código base y la cantidad de funciones a lo largo del tiempo.