Mathics 7.0 – Mathematica'ya açık kaynaklı alternatif
(github.com/Mathics3)Mathics3/mathics-core güncelleme özeti
-
Yeni özellikler ve iyileştirmeler
- Yerleşik fonksiyonların lazy loading desteği için çalışmalar yapıldı.
- Python kodu ve stil modernize edildi, tür notları eklendi ve yazım hataları giderildi.
- SymPy ve Python'ın en güncel sürümleri kullanılıyor.
- Yeni yerleşik fonksiyonlar eklendi:
$MaxLengthIntStringConversion,Elements,ComplexExpand,ConjugateTranspose,LeviCivitaTensor,RealAbs,RealSign,RealValuedNumberQ.
-
Dokümantasyon
- PDF dosyalarındaki biçim sorunları çözüldü.
- Bölüm ve alt bölüm içindekilerinin numara aralıkları artırıldı.
- Yerleşik tanımların çevresindeki boşluk artırıldı.
- Yazım hataları düzeltildi.
doctestsçalıştırma ve LaTeX dokümanı üretme kodu gözden geçirilerek yerleşiklerin kademeli güncellenmesi mümkün hale getirildi.
-
Uyumluluk
Plot, değerlendirme sırasında artık mesaj göstermiyor.Range[]artık negatif değerleri de işleyebiliyor.DirectedInfinityveIndeterminatedesteği iyileştirildi.- Mathics-Django arayüzünde hata mesajı tooltip olarak gösteriliyor.
$CharacterEncodingartık oturum içinde değiştirilebiliyor.
-
İç yapı
eval_absveeval_sign,AbsveSigniçinden ayrıştırılarakmathics.eval.arithmeticiçine eklendi.- Dizelerdeki maksimum basamak sayısı 7000 olarak ayarlandı;
MATHICS_MAX_STR_DIGITSortam değişkeniyle ayarlanabiliyor. - Gerçek sayı karşılaştırmaları artık
RealSigniç uygulamasını temel alıyor. - Python 3.11'de
$MaxLengthIntStringConversion, büyük tamsayılarla dizeler arasındaki dönüşümün azami boyutunu kontrol ediyor.
-
Hata düzeltmeleri
Definitions,pickleile uyumlu hale getirildi.Quantityifadelerine yönelik destek iyileştirildi.GraphicsveGraphics3Diçin arka plan seçeneği çalışıyor.- Dize içeren ifadelerdeki sayısal karşılaştırma sorunu çözüldü.
Switch[]içindeki sonsuzluk işleme sorunu çözüldü.Outer[]içindekiSparseArrayişleme sorunu çözüldü.ArrayQ[],SparseArraytespit ediyor.BoxExpressionErroristisnası işleme sorunu çözüldü.True,False,List[]için türev değerlendirme sorunu çözüldü.Combinatoricapaketi düzeltildi.Exit[]çalışma sorunu çözüldü.BaseForm,$OutputFormsiçinde listeleniyor.
-
API değişiklikleri
- Yeni
import_and_load_builtins()fonksiyonunun çağrılması gerekiyor. - Bu, yerleşik modüllerin lazy loading desteği için gerekli.
- Yeni
-
Paket güncellemeleri
- Python 3.11 desteği.
- Sympy 1.12 desteği.
1 yorum
Hacker News yorumu
Bu projeyi birkaç yıldır takip ediyorum; açık kaynak bilgisayarlı cebir sistemleriyle ilgilenenler için çeşitli olgun çözümler mevcut
Kişisel olarak Mathematica'nın LISPy stilini seviyorum, ancak MMA'nın gücü devasa kütüphane ekosisteminde yatıyor
Wolfram Cloud kişisel kullanım için ücretsiz sunuluyor ve Wolfram Engine, komut satırı üzerinden Mathematica'yı ücretsiz kullanmanın bir yolu
Mathics'e kısa bir girişe buradan bakılabilir
Mathematica, Raspberry Pi üzerinde ücretsiz kullanılabiliyor ve çoğu üniversitenin site lisansı bulunuyor
(F)OSS matematik yazılımları hâlâ önemli bir rol oynuyor
Mathematica'nın işlevlerini kopyalamaya çalışan projelere büyük bir ilgim yok, ancak bu tür projeler Wolfram Research üzerinde temel işlevleri sürekli iyileştirmesi yönünde baskı oluşturuyor
Yazılım mühendisleri genellikle yazılım için para ödemek istemiyor
Mathematica'nın can sıkıcı yönlerinden biri, tüm fonksiyonların aynı namespace içinde sıkışmış olması ve farklı parametrelendirme seçenekleriyle overloading bulunmaması