Maxima

Bir Bilgisayar Cebiri Sistemi

English Русский

Sıkça Sorulan Sorular

  1. Maxima'ya Giriş ve Kurulum
  2. Genel
  3. Lisp'le İlgili Konular
  4. Kurulum Sorunları
  5. Çalıştırma Sorunları

1. Maxima'ya Giriş ve Kurulum

Maxima nedir?

Maxima, temelleri 1960 ların sonunda MIT de atılan DOE-Macsyma'nın bir türevidir.Macsyma türevleri arasında, özgür yazılım (açık kaynak-açık kod) özelliğinden dolayı akitif kullanıcı topluluğunun gayretleriyle gelişimini devam ettiren tek sistemdir. Macsyma,yeni nesil bilgisayar cebiri sistemlerinin ilk örneğidir ve Maple ve Mathematica gibi programlara yol göstermiştir. Macsyma'nın bu özel verisyonu (DOE-Macsyma) 1982'den 2001'de vefatına kadar William Schelter tarafından sürdürüldü. 1998'de kaynak kodların GPL (Genel Kamu Lisansı) ile kullanılması iznini aldı. Maxima'nın varlığını sürdürmesi O'nun gayret ve bilimsel yetenekleri sayesinde olmuştur.Bizler zamanını ve yeteneklerini orijinal Macsyma kodlarının devamı ve geliştirilmesi konusunda fedakarca kullanmasından dolayı kendisine müteşekkiriz. Ölümünden dolayı bir grup kullanıcı ve geliştirici-programcı bir araya geldi ve Maxima'yı zinde tutmak için çabalıyorlar. Maxima sembolik integral,3B grafik çizimi, Adi Diferansiyel Denklemleri gibi konularda yetenekli olması bağlamında oldukça donanımlı ve gelişmiş bir yazılımdır.Ancak hala hataların düzeltilmesi, temizlenmesi ve dokümantasyon konularında yapılacak çok iş var. Bu yeni özellikler olmayacak anlamına gelmez. Ancak bu aşamaya gelmeden önce yapılacak çok iş var ve yeni özellikler bizim yoğunluk verdiğimiz alanın dışında kalıyor.

Maxima'nın ne tür bir lisansı vardır?

Maxima GNU Genel Kamu Lisansı (GPL) ile lisanslanmıştır ve SourceForge.net 'de hizmete sunulmaktadır.

○ Maxima'yı nasıl indirebilirim?

Her durum için uygun indirme sayfası linkleri bulunan İndirme sayfasındaki değişik seçenekler arasından seçerek indirebilirsiniz. Maxima kodları, değişik işletim sistemleri için 'kaynak kodu' ve önderlemeli ikili dosyalar (binary files) olarak da elde edilebilir.

Maxima'yı bilgisayarıma nasıl kurabilirim?

İndirme sayfasında verilen yönlendirmeleri dikkate alarak,kullanmak istediğiniz metod ve işletim sisteminize göre kurabilirsiniz.

Bilmem gereken en önemli Maxima linkleri hangileridir?

2. Genel

Maxima projesini kimler gerçekleştiriyor ?

William Schelter'ın ölümü üzerine bir grup Maxima kullanıcı ve geliştirici, Maxima'nın geliştirilmesinin devamı için bir araya geldi.Bugün itibariyle, kaynak kodlarda değişiklik yapabilecek 27 kişilik bir geliştirme grubu bulunuyor.Bu kişilerle ilişkiye geçebilmenin yolu E-posta listesidir.

○ Maxima özgür bir yazılım mıdır?

Evet. Maxima GNU Genel Kamu Lisansı altında (Birleşik Devletler Energy Bakanlığının koymuş olduğu şartlar-kısıtlamalar dahilinde) yayınlanmaktadır.

Müşterilerim yada öğrencilerim kolaylıkla indirebilmeleri için Maxima'nın bir kopyasını yerel sunucumdan gönderebilirmiyim?

Evet. Telif hakkı uyarılarını göz önünde tutarak Maxima'yı istediğiniz kişilere dağıtabilirsiniz.Ayrıca yerel sunucunuza kaynak kodların bir kopyasını koyabilir veya nereden indirilebileceğini gösteren bir link verebilirsiniz.

Maxima'yı kim yazdı?

Maxima, temelleri 1960 ların sonunda MIT de atılan DOE-Macsyma'nın bir türevidir.Macsyma türevleri arasında, özgür yazılım (açık kaynak-açık kod) özelliğinden dolayı aktif kullanıcı topluluğunun gayretleriyle gelişimini devam ettiren tek (Macsyma türevi) sistemdir. Macsyma,yeni nesil bilgisayar cebiri sistemlerinin ilk örneğidir ve Maple ve Mathematica gibi programlara yol göstermiştir. Macsyma'nın bu özel versiyonu (DOE-Macsyma) 1982'den 2001'de vefatına kadar William Schelter tarafından sürdürüldü. 1998'de kaynak kodların GPL (Genel Kamu Lisansı) ile kullanılması iznini aldı.

Macsyma, DOE-Macsyma, Symbolics Macsyma ve Maxima arasındaki farklar nelerdir?

M.I.T de geliştirilen versiyon Macsyma olarak adlandırıldı (altı bit karakter kodunda dosya adları altı BÜYÜK harf ile sınırlandırıldığından MACSYM ve MAXIMA takma isimleri de kullanıldı.)

'Symbolics Inc.' M.I.T den telif haklarını (lisans) aldı ve "Macsyma" 'yı ticari bir marka olarak tescil ettirdi (büyük olasılıkla bunu M. I. T.' nin izniyle yaptı).

Macsyma, serbest bir şekilde elde edilebilen bir program olacak şekilde sonlandırılınca, kaynak kodların gerçekleştirilmesinde sponsorluk ve yüklenicilik olarak birlikte oldukları DOE (Birleşik Devletler Enerji Bakanlığına) hibe edilmesi için (çoğunluğu Richard Fateman tarafından yapılan) M. I. T.'üzerinde bir baskı oluştu. Bunu üzerine DOE bu kodları bazı şartlar- kısıtlamalar serbest bırakmıştır.

Bu kaynak tabanı DOE-Macsyma olarak adlandırlır.

DOE'nin, kaynak tabanının tersine Macsyma ismi hakkında ne tür haklara sahip olduğu açık değildir. Ancak, muhtemelen DOE-Macsyma yı ticari amaçları için kullanmayanlar, isim konusunda herhangi bir tartışmaya yol açmamak için Maxima ismini kullanmaya başladılar.

Kısaca, Maxima DOE-Macsyma adı altında başlayan sürümlerin en yeni adıdır.

Akademik bir içerikte Maxima'ya atıf yapmanın en uygun yolu nedir?

Şöyle bir şey öneririz:

Maxima.sourceforge.net. Maxima, bir Bilgisayar Cebiri Sistemi
Versiyon 5.34.1 (2014). http://maxima.sourceforge.net/

(Eğer başka bir versiyon kullanıyorsanız, ya da versiyon numarası ve sürüm yılını yerleştirin).

Alıntılarınız için Bibtex kullanıyorsanız, ifadelerini Bibtex veritabanına giriniz:

@ELECTRONIC{maxima,
author = {Maxima},
year = {2022},
title = {Maxima, bir Bilgisayar Cebiri Sistemi. Versiyon 5.46.0},
address = {http://maxima.sourceforge.io/},
url = {http://maxima.sourceforge.io/},
owner = {maxima},
timestamp = {2022.04.13}
}

3. Lisp'le İlgili Konular

Maxima ile kullanılabilen Lisp uygulamaları nelerdir?

Clisp, SBCL, CCL, GCL (ANSI-enabled only), CMUCL, ECL, Scieneer Common Lisp (SCL) and Allegro Common Lisp (ACL). Diğer ANSI Lisp versiyonlarına bağlantı kapıları (ports) anlaşılması kolay olmalı ve uyumlu olmalı; bu tür bir bağlantı kapıları (Port) konusunda çalışmak isterseniz lütfen geliştirici takım ile irtibata geçiniz. Ayrıca bakınız: Lisp Uygulamaları Sayfası.

4. Kurulum Sorunları

wxMaxima RPM dosyasını Linux' a kurarken ""maxima_exec" is a missing dependency" hatası oluşuyor. Bunu nasıl çözebilirim?

En az iki rpm dosyası yüklemek zorundasınız:maxima ve maxima_exec.SourceForge dosya yöneticisine tekrar dönün ve bir maxima-exec dosyası indirin ve aynı zamanda maxima paketi olarak kurulumunu yapın.

Maxima'dan, RPM dosyalarını kurarken "maxima_exec" den başka ögelerden 'bağımlılık (dependency) hataları' mesajları alıyorum. Bunu anlamı nedir?

Maxima RPM leri özel bir Linux sisteminde oluşturuldu. (RPM, LINUX Package dosyalarında standart olarak kullanılan bir dosya uzantısıdır.) Diğer sistemler değişik kütüphanelerin farklı verisyonlarına sahiptir. Maxima'yı kurmak için kütüphane biçimleri aynı olmalıdır. Size özel Linux versiyonu için RPM dosyalarını 'maxima ports' (Maxima kapıları) sayfasında bulabilirsiniz. Maxima'yı sisteminizde tekrar derleyerek, sisteminizin RPM dosyalarını oluşturabilirsiniz.

Maxima'yı tekrar derleyebilmeniz için bir Lisp uygulamasına gereksiminiz olacaktır. Biz Clisp 'i öneriyoruz.Clisp i kurduktan sonra SF dosya yöneticisinden Maxima src.rpm 'yı indirin. Paketi açtıktan sonra RPM dosyalarını oluşturmak için rpmbuild dosyasını çalıştırın:

$ sudo rpm -ih maxima-5.9.3.src.rpm
$ cd /usr/src/local   # yada  RPM kaynak kodu nereye kurulduysa
$ sudo rpmbuild -bb SPECS/maxima.spec

Sonra /usr/src/local/RPMS 'ta oluşturulmuş olan RPM dosyalarını kurun.

Sudo kullanıldığından dolayı /usr/src/local 'e dosyaları yazmak için kesin olarak ,hemen hemen süper bir bilgisayar kullanıcısının (superuser) sahib olduğu ayrıcalıklara ihtiyacınız olur. Muhtemelen sistem yöneticisinin yardımına ihtiyacınız olur.

RPM dosyalarını oluşturursanız,Sourceforge dosya yöneticisinde diğer kişilerin kullanımına sunabiliriz. Oluşturduğunuz dosyalar başka bir Linux türevi kullananlara yardımcı olabilir.

İndir kısmındaki Kurulum Notları Maxima'nın yeniden yapılandırılması hakkında bir parça daha fazla bilgi içerebilir.Özellikle README.lisps ve README.rpms'teki linkleri takip edin.

5. Çalıştırma Sorunları

Windows'ta Maxima Grafik Kulanıcı aryüzünü GUI (Xmaxima veya WxMaxima), başlatabiliyorum fakat, bir zaman aşımı mesajı (runtime error) alıyorum ve girdiğim ifadeler için Maxima'dan herhangi bir yanıt alamıyorum.

1. Sorun. Bloke edilmiş yuva (socket).
Maxima GUI (grafiksel kullanıcı arayüzü) hesaplama motoru ile bir yuva (socket) aracılığyla konuşur. (prize takılan fiş gibi düşünün.) Antivirus yada firewall (güvenlik duvarı) programları bunu görür ve bloke etmeye çalışır. (Çünkü bazı kötü niyetli programlar da yuva açarlar.)
ÇÖzüm: Denetim Masası (control panel) den antivirus yada güvenlik duvarı programlarını bulun. Onlar tarafından bloke edilmiş programlar listesinden Maxima GUI'yi bulun ve blokeyi kaldırın. GUI programı "Tcl/Tk"(Xmaxima için GUI araç kutusunun adı) şeklinde görülebilir.
2. Sorun. Verilerin işlenmesinin Önlenmesi (Data Execution Prevention(DEP)).
Bazı Lisp uygulamaları, kodları, belleğin veri bölgesinde işlerler. Windows DEP bunu görür ve bloke eder.(Çünkü bazı kötü niyetli programlar da bu bölgeyi kullanır.)
Çözüm: Maxima'nın bütün program yolunu gerçekleştirilebilenler arasına dahil edin, örneğin DEP dışında tutulacaklar listesine (Control Panel → System → Advanced → Performance → DEP) C:\Program Files\Maxima-5.10.0\lib\maxima\5.10.0\binary-gcl\maxima.exe 'yi dahil edin.

Linux'ta /etc/hosts dosyasında 'an invalid entry for localhost' hata mesajı alıyorum.

ÇÖzüm: 127.0.0.1 localhost ile eşleşen bir giriş olduğundan emin olun. Aksi takdirde, wxMaxima ve\veya XMaxima "localhost" u geçersiz bir IP ye çözümleyemeyecektir ve sonunda hata verecek ve "maxima terminated"mesajını verecektir.

MacOS'ta wxMaxima başlıyor ancak Maxima komutlarının yürütülmesi yapılan her girişimde ""Not connected to maxima!"" = ""maxima'ya bağlanamadı!"" rapor ediliyor..

Yapacağınız en iyi şey bu durumu wxMaxima kullanıcı forumunda paylaşmanız olacaktır. Maxima Clisp yada SBCL ile derlendiği durumlarda wx Maxima nın çalışmadığını içeren bildirimler bulunmaktadır. Eğer siz de bu türden bir Lisp versiyonu kullanıyorsanız Maxima'yı CMUCL ile derlemeyi deneyebilirsiniz.