Mathics 7.0 – Mathematica का ओपन सोर्स विकल्प
(github.com/Mathics3)Mathics3/mathics-core अपडेट सारांश
-
नई सुविधाएँ और सुधार
- बिल्ट-इन फ़ंक्शनों की lazy loading को सपोर्ट करने के लिए काम किया गया है.
- Python कोड और style को आधुनिक बनाया गया है, type annotations जोड़े गए हैं, और spelling errors हटाई गई हैं.
- SymPy और Python के नवीनतम versions का उपयोग.
- नए बिल्ट-इन फ़ंक्शन जोड़े गए:
$MaxLengthIntStringConversion,Elements,ComplexExpand,ConjugateTranspose,LeviCivitaTensor,RealAbs,RealSign,RealValuedNumberQ.
-
दस्तावेज़ीकरण
- PDF फ़ाइलों के formatting issues ठीक किए गए.
- chapter और section की table of contents में numbering spacing बढ़ाई गई.
- built-in definitions के आसपास white space बढ़ाया गया.
- spelling errors ठीक किए गए.
doctestsचलाने और LaTeX दस्तावेज़ बनाने वाले कोड को संशोधित किया गया ताकि बिल्ट-इन्स को क्रमिक रूप से अपडेट किया जा सके.
-
संगतता
Plotअब evaluation के दौरान messages नहीं दिखाता.Range[]अब negative numbers को भी संभाल सकता है.DirectedInfinityऔरIndeterminateके लिए support बेहतर किया गया.- Mathics-Django interface में error message tooltips दिखाए जाते हैं.
$CharacterEncodingअब session के भीतर बदला जा सकता है.
-
आंतरिक संरचना
eval_absऔरeval_signकोAbsऔरSignसे अलग करकेmathics.eval.arithmeticमें जोड़ा गया.- string की अधिकतम digit संख्या 7000 पर सेट है, और इसे environment variable
MATHICS_MAX_STR_DIGITSसे समायोजित किया जा सकता है. - real number comparison अब
RealSignके internal implementation पर आधारित है. - Python 3.11 में
$MaxLengthIntStringConversionबड़े integers और strings के बीच conversion के अधिकतम आकार को नियंत्रित करता है.
-
बग सुधार
Definitionsअबpickleके साथ compatible है.Quantityexpressions के लिए support बेहतर किया गया.GraphicsऔरGraphics3Dमें background option अब काम करता है.- strings वाली expressions के numeric comparison issues ठीक किए गए.
Switch[]में infinity handling की समस्या ठीक की गई.Outer[]मेंSparseArrayhandling की समस्या ठीक की गई.ArrayQ[]अबSparseArrayको detect करता है.BoxExpressionErrorexception handling की समस्या ठीक की गई.True,False,List[]के derivative evaluation issues ठीक किए गए.Combinatoricapackage को ठीक किया गया.Exit[]के काम न करने की समस्या ठीक की गई.BaseFormअब$OutputFormsमें सूचीबद्ध है.
-
API बदलाव
- नया फ़ंक्शन
import_and_load_builtins()कॉल करना आवश्यक है. - यह built-in modules की lazy loading support के लिए आवश्यक है.
- नया फ़ंक्शन
-
पैकेज अपडेट
- Python 3.11 support.
- Sympy 1.12 support.
1 टिप्पणियां
Hacker News राय
मैं इस प्रोजेक्ट को कई सालों से देख रहा हूँ, और open source computer algebra systems में रुचि रखने वाले लोगों के लिए कई परिपक्व समाधान मौजूद हैं
व्यक्तिगत रूप से मुझे Mathematica की LISPy style पसंद है, लेकिन MMA की असली ताकत उसकी विशाल libraries में है
Wolfram Cloud व्यक्तिगत उपयोग के लिए मुफ्त उपलब्ध है, और Wolfram Engine command line के जरिए Mathematica को मुफ्त में इस्तेमाल करने का एक तरीका है
Mathics का एक संक्षिप्त परिचय यहाँ देखा जा सकता है
Mathematica Raspberry Pi पर मुफ्त में इस्तेमाल किया जा सकता है, और अधिकांश universities के पास site license होता है
(F)OSS math software अब भी महत्वपूर्ण भूमिका निभाता है
मुझे Mathematica की functionality को replicate करने वाले projects में खास दिलचस्पी नहीं है, लेकिन ऐसे projects Wolfram Research पर बुनियादी features को लगातार बेहतर करने का दबाव बनाते हैं
software engineers में अक्सर software के लिए पैसे न चुकाने की प्रवृत्ति होती है
Mathematica की असुविधाजनक बातों में से एक यह है कि सभी functions एक ही namespace में ठुंसे हुए हैं, और अलग parameterization options के साथ overloading नहीं है