Mathics 7.0 – Alternatif open source untuk Mathematica
(github.com/Mathics3)Ringkasan pembaruan Mathics3/mathics-core
-
Fitur baru dan peningkatan
- Sedang dilakukan pekerjaan untuk mendukung lazy loading fungsi bawaan.
- Kode dan gaya Python dimodernisasi, anotasi tipe ditambahkan, serta kesalahan ejaan dihapus.
- Menggunakan versi terbaru SymPy dan Python.
- Penambahan fungsi bawaan baru:
$MaxLengthIntStringConversion,Elements,ComplexExpand,ConjugateTranspose,LeviCivitaTensor,RealAbs,RealSign,RealValuedNumberQ.
-
Dokumentasi
- Memperbaiki masalah format pada file PDF.
- Menambah jarak penomoran pada daftar isi bab dan bagian.
- Menambah ruang kosong di sekitar definisi bawaan.
- Memperbaiki kesalahan ejaan.
- Merevisi kode untuk menjalankan
doctestsdan menghasilkan dokumen LaTeX agar pembaruan bawaan bertahap dimungkinkan.
-
Kompatibilitas
Plottidak lagi menampilkan pesan selama evaluasi.Range[]kini juga dapat menangani bilangan negatif.- Dukungan untuk
DirectedInfinitydanIndeterminateditingkatkan. - Menampilkan tooltip pesan kesalahan di antarmuka Mathics-Django.
$CharacterEncodingkini dapat diubah di dalam sesi.
-
Struktur internal
eval_absdaneval_signdiekstrak dariAbsdanSign, lalu ditambahkan kemathics.eval.arithmetic.- Jumlah digit maksimum string ditetapkan ke 7000 dan dapat disesuaikan melalui variabel lingkungan
MATHICS_MAX_STR_DIGITS. - Perbandingan bilangan riil kini didasarkan pada implementasi internal
RealSign. - Di Python 3.11,
$MaxLengthIntStringConversionmengendalikan ukuran maksimum konversi antara bilangan bulat besar dan string.
-
Perbaikan bug
Definitionskini kompatibel denganpickle.- Dukungan untuk ekspresi
Quantityditingkatkan. - Opsi latar belakang pada
GraphicsdanGraphics3Dkini berfungsi. - Masalah perbandingan numerik pada ekspresi yang berisi string telah diperbaiki.
- Masalah penanganan tak hingga pada
Switch[]telah diperbaiki. - Masalah penanganan
SparseArraypadaOuter[]telah diperbaiki. ArrayQ[]kini mendeteksiSparseArray.- Masalah penanganan pengecualian
BoxExpressionErrortelah diperbaiki. - Masalah evaluasi turunan untuk
True,False, danList[]telah diperbaiki. - Paket
Combinatoricatelah diperbaiki. - Masalah pada cara kerja
Exit[]telah diperbaiki. BaseFormkini tercantum di$OutputForms.
-
Perubahan API
- Diperlukan pemanggilan fungsi baru
import_and_load_builtins(). - Ini diperlukan untuk mendukung lazy loading modul bawaan.
- Diperlukan pemanggilan fungsi baru
-
Pembaruan paket
- Mendukung Python 3.11.
- Mendukung Sympy 1.12.
1 komentar
Komentar Hacker News
Saya telah mengikuti proyek ini selama beberapa tahun, dan ada berbagai solusi matang bagi orang-orang yang tertarik pada sistem aljabar komputer open source
Secara pribadi saya menyukai gaya LISPy Mathematica, tetapi kekuatan MMA ada pada library-nya yang sangat besar
Wolfram Cloud tersedia gratis untuk penggunaan pribadi, dan Wolfram Engine adalah cara untuk menggunakan Mathematica secara gratis melalui command line
Pengantar singkat tentang Mathics bisa dilihat di sini
Mathematica dapat digunakan gratis di Raspberry Pi, dan sebagian besar universitas memiliki lisensi situs
Software matematika (F)OSS tetap memainkan peran penting
Saya tidak terlalu tertarik pada proyek yang mencoba mereplikasi kemampuan Mathematica, tetapi proyek-proyek seperti ini memberi tekanan pada Wolfram Research agar terus meningkatkan fitur-fitur dasarnya
Para software engineer cenderung tidak ingin membayar biaya software
Salah satu hal yang merepotkan dari Mathematica adalah semua fungsi menumpuk dalam namespace yang sama, dan tidak ada overloading dengan opsi parameterisasi yang berbeda