4 puntos por GN⁺ 2024-12-09 | 1 comentarios | Compartir por WhatsApp

Resumen de la actualización de Mathics3/mathics-core

  • Nuevas funciones y mejoras

    • Se avanzó en el trabajo para admitir la carga diferida de funciones integradas.
    • Se modernizó el código y estilo de Python, se agregaron anotaciones de tipo y se eliminaron errores ortográficos.
    • Uso de las versiones más recientes de SymPy y Python.
    • Nuevas funciones integradas: $MaxLengthIntStringConversion, Elements, ComplexExpand, ConjugateTranspose, LeviCivitaTensor, RealAbs, RealSign, RealValuedNumberQ.
  • Documentación

    • Se resolvieron problemas de formato en archivos PDF.
    • Se aumentó el espaciado de numeración en los índices de capítulos y secciones.
    • Se incrementó el espacio en blanco alrededor de las definiciones integradas.
    • Se corrigieron errores ortográficos.
    • Se revisó el código para ejecutar doctests y generar documentación en LaTeX, permitiendo actualizaciones graduales de integrados.
  • Compatibilidad

    • Plot ya no muestra mensajes durante la evaluación.
    • Range[] ahora también puede manejar valores negativos.
    • Se mejoró el soporte para DirectedInfinity e Indeterminate.
    • Se muestran tooltips de mensajes de error en la interfaz Mathics-Django.
    • $CharacterEncoding puede cambiarse dentro de la sesión.
  • Estructura interna

    • eval_abs y eval_sign se extrajeron de Abs y Sign y se añadieron a mathics.eval.arithmetic.
    • La cantidad máxima de dígitos en cadenas se fija en 7000 y puede ajustarse con la variable de entorno MATHICS_MAX_STR_DIGITS.
    • La comparación de números reales ahora se basa en la implementación interna de RealSign.
    • En Python 3.11, $MaxLengthIntStringConversion controla el tamaño máximo de conversión entre enteros grandes y cadenas.
  • Corrección de errores

    • Definitions es compatible con pickle.
    • Se mejoró el soporte para expresiones Quantity.
    • La opción de fondo funciona en Graphics y Graphics3D.
    • Se resolvió un problema de comparación numérica en expresiones que incluyen cadenas.
    • Se resolvió un problema con el manejo de infinito en Switch[].
    • Se resolvió un problema con el manejo de SparseArray en Outer[].
    • ArrayQ[] detecta SparseArray.
    • Se resolvió un problema en el manejo de excepciones BoxExpressionError.
    • Se resolvió un problema en la evaluación de derivadas de True, False, List[].
    • Se corrigió el paquete Combinatorica.
    • Se resolvió un problema de funcionamiento de Exit[].
    • BaseForm aparece listado en $OutputForms.
  • Cambios en la API

    • Ahora es necesario llamar a la nueva función import_and_load_builtins().
    • Esto es necesario para admitir la carga diferida de módulos integrados.
  • Actualización de paquetes

    • Soporte para Python 3.11.
    • Soporte para Sympy 1.12.

1 comentarios

 
GN⁺ 2024-12-09
Comentarios de Hacker News
  • He seguido este proyecto durante algunos años, y existen varias soluciones maduras para quienes están interesados en sistemas de álgebra computacional de código abierto

    • Van desde opciones clásicas como GNU Octave y Maxima hasta alternativas modernas como SAGEmath, Symbolics.jl y sympy
    • Abarcan desde bibliotecas simbólicas como GiNaC hasta IDEs con "baterías incluidas" como SAGEmath
    • SAGEmath fue pionero en la interfaz de cuaderno web que dio lugar a lo que hoy es Jupyter
  • Personalmente me gusta el estilo LISPy de Mathematica, pero la verdadera fortaleza de MMA está en su enorme biblioteca

    • Incluye no solo soluciones líderes en la industria para temas básicos como integración simbólica, gráficos 2D/3D y método de elementos finitos, sino también dominios de propósito especial como la bioinformática
    • Mathics ha replicado bien el núcleo, pero le faltan todas esas bibliotecas
    • La lógica es similar a la de los clones de Matlab y numpy
  • Wolfram Cloud se ofrece gratis para uso personal, y Wolfram Engine es una forma de usar Mathematica gratis desde la línea de comandos

  • Una breve introducción a Mathics puede verse aquí

  • Mathematica puede usarse gratis en Raspberry Pi, y la mayoría de las universidades tienen licencia institucional

    • La licencia "Home & Hobby" es relativamente barata: $195 al año o $390 por una licencia perpetua
    • Creo que vale la pena pagar el precio de la licencia para aficionados, y que apoyar el software matemático es algo positivo
  • El software matemático (F)OSS sigue cumpliendo un papel importante

    • Mathematica es completo, pero tiene algunas carencias importantes en matemáticas avanzadas
    • Software (F)OSS como GAP, M2 y PARI/GP cumple un papel importante para complementar lo que le falta a Wolfram Language
  • No me interesan mucho los proyectos que intentan replicar las funciones de Mathematica, pero estos proyectos presionan a Wolfram Research para que siga mejorando las funciones básicas

  • Los ingenieros de software tienden a no querer pagar por software

  • Una de las cosas incómodas de Mathematica es que todas las funciones están amontonadas en el mismo espacio de nombres y no hay sobrecarga con distintas opciones de parametrización