Mathics 7.0 – l’alternative open source à Mathematica
(github.com/Mathics3)Résumé de la mise à jour de Mathics3/mathics-core
-
Nouvelles fonctionnalités et améliorations
- Des travaux ont été menés pour prendre en charge le chargement paresseux des fonctions intégrées.
- Modernisation du code Python et du style, ajout d’annotations de type et suppression des fautes d’orthographe.
- Utilisation des versions les plus récentes de SymPy et de Python.
- Ajout de nouvelles fonctions intégrées :
$MaxLengthIntStringConversion,Elements,ComplexExpand,ConjugateTranspose,LeviCivitaTensor,RealAbs,RealSign,RealValuedNumberQ.
-
Documentation
- Correction de problèmes de mise en forme dans les fichiers PDF.
- Augmentation de l’espacement de la numérotation dans les tables des matières des chapitres et sections.
- Augmentation des espaces autour des définitions intégrées.
- Correction de fautes d’orthographe.
- Révision du code d’exécution des
doctestset de génération de la documentation LaTeX pour permettre des mises à jour progressives des fonctions intégrées.
-
Compatibilité
Plotn’affiche plus de messages pendant l’évaluation.Range[]peut désormais aussi gérer les valeurs négatives.- Amélioration de la prise en charge de
DirectedInfinityetIndeterminate. - Affichage des info-bulles de messages d’erreur dans l’interface Mathics-Django.
$CharacterEncodingpeut être modifié au sein d’une session.
-
Structure interne
eval_abseteval_signont été extraits deAbsetSignpuis ajoutés àmathics.eval.arithmetic.- Le nombre maximal de chiffres pour les chaînes est fixé à 7000 et peut être ajusté via la variable d’environnement
MATHICS_MAX_STR_DIGITS. - Les comparaisons de nombres réels reposent désormais sur l’implémentation interne de
RealSign. - En Python 3.11,
$MaxLengthIntStringConversioncontrôle la taille maximale des conversions entre grands entiers et chaînes.
-
Corrections de bugs
Definitionsest compatible avecpickle.- Amélioration de la prise en charge des expressions
Quantity. - L’option d’arrière-plan fonctionne dans
GraphicsetGraphics3D. - Correction d’un problème de comparaison numérique pour les expressions contenant des chaînes.
- Correction d’un problème de gestion de l’infini dans
Switch[]. - Correction d’un problème de traitement de
SparseArraydansOuter[]. ArrayQ[]détecte désormaisSparseArray.- Correction d’un problème de gestion de l’exception
BoxExpressionError. - Correction d’un problème d’évaluation des dérivées de
True,False,List[]. - Correctifs du package
Combinatorica. - Correction d’un problème de fonctionnement de
Exit[]. BaseFormest listé dans$OutputForms.
-
Modifications de l’API
- Il est désormais nécessaire d’appeler la nouvelle fonction
import_and_load_builtins(). - Cela est nécessaire pour prendre en charge le chargement paresseux des modules intégrés.
- Il est désormais nécessaire d’appeler la nouvelle fonction
-
Mise à jour des packages
- Prise en charge de Python 3.11.
- Prise en charge de Sympy 1.12.
1 commentaires
Avis Hacker News
Je suis ce projet depuis quelques années, et il existe de nombreuses solutions matures pour ceux qui s’intéressent aux systèmes de calcul formel open source
Personnellement, j’aime le style très LISPy de Mathematica, mais la vraie force de MMA réside dans l’ampleur de ses bibliothèques
Wolfram Cloud est gratuit pour un usage personnel, et Wolfram Engine permet d’utiliser Mathematica gratuitement en ligne de commande
Une brève introduction à Mathics est disponible ici
Mathematica est gratuit sur Raspberry Pi, et la plupart des universités disposent d’une licence site
Les logiciels de mathématiques (F)OSS continuent malgré tout de jouer un rôle important
Je n’ai pas un grand intérêt pour les projets qui cherchent à reproduire les fonctionnalités de Mathematica, mais ils poussent Wolfram Research à améliorer continuellement les fonctions de base
Les ingénieurs logiciel ont tendance à ne pas vouloir payer pour leurs logiciels
L’un des aspects pénibles de Mathematica est que toutes les fonctions sont entassées dans le même espace de noms, sans surcharge via différentes options de paramétrage