ماكسيما هو برمجية لحل المسائل الجبرية (بالانجليزية: Computer algebra system) وهو مبني على نسخة من برنامج Macsyma من العام 1982. ماكسيما كتب بلغة Common Lisp ويعمل على جميع أنظمة التشغيل من نوع بوزيكس مثل لينكس وماك ويونكس وتوزيعة برمجيات بيركلي وكذلك لنظامي مايكروسوفت ويندوز وأندرويد. اصدر تحت شروط رخصة جنو العمومية (GPL) وهو بالتالي من البرمجيات الحرة.
نوع |
computer algebra system |
---|---|
موقع الويب |
لغة البرمجة | |
---|---|
الإصدار الأول |
1982 |
الإصدار الأخير |
5.43.1 (20 يناير 2020) |
المستودع | |
الرخصة |
تاريخ ماكسيما
ماكسيما مبني على نسخة من برمجية Macsyma وهو مشروع نفذ في معهد ماساتشوستس للتكنولوجيا بتمويل من وزراة الطاقة الأمريكية بالإضافة إلى جهات حكومية أمريكية أخرى. إحدى النسخ المصدرية الخاصة بالمشروع كانت تحت اشراف بيل شيلتر منذ العام 1982 حتى وفاتة في العام 2001 وقد قام في العام 1998 بنشرها تحت رخصة جنو العمومية بعد أخذ الأذن من وزارة الطاقة الأمريكية. هذه النسخة هي ما يعرف باسم ماكسيما ويشرف عليه مجموعة مستقلة من المطورين والمستخدمين. لا يحتوي برنامج ماكسيما على أي من التعديلات التي جرت على البرنامج الأصلي في الفترة 1982–1999 وبالتالي على الرغم من توافق الأوامر الأساسية بين النسختين فإن الأوامر التي استحدثت على النسخة الأصلية لن تعمل على ماكسيما والعكس صحيح.[3]
المزايا
يتضمن ماكسيما لغة برمجة متكاملة تشابة في تركيبها النحوي لغة ألغول ولكنها تتبع في دلالتها الشكلية لغة ليسب. كتبت اللغة باستخدام لغة البرمجة كومون ليسب، ويمكن الوصول إليها برمجياً وإضافة ميزات جديدة إليها أو تخصيصها، حيث من الممكن استدعاءها مباشرة عبر ماكسيما. يستخدم برنامج جنو بلوت لرسم المنحنيات في ماكسيما.
الحسابات العددية
ماكسيما هو برنامج شامل للحسابات الجبرية يتخصص في الحسابات الرمزية، ولكنه يتضمن مميزات للعمليات العددية[4] مثل عمليات حساب دقيق تعسفي والعمليات على الأعداد الصحيحة والأعداد الكسرية والتي يمكن لها أن تكون كبيرة ولا يحد قيمتها الا حجم ذاكرة الكمبيوتر، وحسابات الفاصلة المتحركة التي يمكن التحكم في حجمها (bfloats).
للعمليات التي تحتاج حسابات الفاصلة المتحركة والمصفوفات بشكل كبير يقدم ماكسيما خاصية توليد كود لهذه العمليات على لغات أخرى (لا سيما فورتران) حيث يمكن القيام بها بشكل أكثر فعالية.
ماكسيما هو برنامج للاستخدام العام، لذلك العمليات المتخصصة مثل تحليل عدد صحيح إلى عوامل لأعداد كبيرة والتعامل مع متعددة الحدود الكبيرة وغيرها، يفضل القيام بها في برمجيات وأنظمة متخصصة.
الوجهات الرسومية
يمكن استخدام ماكسيما من طرفية على أنظمة لينكس وبوزيكس والماك، ولكن هناك العديد من الواجهات الرسومية التي من الممكن استخدمها:
- wxMaxima وهي واجهة رسومية باستخدام وكس ويدجيتز.
- Project Jupyter وهي واجهة بشكل مفكرة افتراضية كتبت بلغة البرمجة بايثون[5].
- GMaxima وهي واجهة رسومية باستخدام جتك+.
- Cantor وهو واجهة رسومية باستخدام كيوت ويمكنها الارتباط كذلك مع عدد من البرمجيات الرياضية الأخرى مثل جنو أوكتاف[6].
- برامج تعديل النصوص GNU TeXmacs وLyX يمكن لهم الارتباط مع ماكسيما لتوفير واجهة رسومية له.
- Kayali[7].
أمثلة لاستخدام ماكسيما
تقوم برمجية ماكسيما بالعديد من العمليات الرياضية بشكل عددي أو رمزي، ويتم إدخال الأوامر بشكل كتابي بطريقة مشابهة لبرامج أخرى مثل ماتلاب، ويرمز لأمر الإدخال بالرمز (i%) متبوعا بعدد يوضح ترتيب الإدخال، وكذلك بالنسبة لناتج العملية يرمز لها بالرمز (o%).
استخراج عوامل الأعداد ومتعددة الحدود
تقوم البرمجية باستخراج العامل للأعداد أو لمتعدد الحدود باستخدام الأمر factor[8]،
(%i1)factor(15); (%o1)3*5 (%i2)factor(3*x^2-2*x+12*x-8); (%o2)(x+4)*(3*x-2)
رسم منحنيات الدوال
يمكن باستخدام ماكسيما رسم دوال ثنائية الأبعاد وثلاثية الأبعاد باستخدام الأمر plot2d والأمر plot3d[8]،
(%i3) plot2d(x^2, [x, -10, 10]); (%i4) plot3d(x^3+y^3. [x, -10, 10], [y, -10, 10]);
التفاضل والتكامل
يتم اجراء عمليات التفاضل والتكامل باستخدام الأمر diff والأمر integrate[8]،
(%i5)diff(5*x^3-x^2+1,x); (%o5)15*x^2-2*x (%i6)integrate(tan(x), x); (%o6)log(sec(x))
مراجع
- https://www.openhub.net/p/maxima/analyses/latest/languages_summary
- https://sourceforge.net/projects/maxima/ — تاريخ الاطلاع: 11 ديسمبر 2016 — المخترع: سورس فورج
- "Maxima, a Computer Algebra System". maxima.sourceforge.net. مؤرشف من الأصل في 10 مايو 201910 ديسمبر 2018.
- Barnes, David J. & Chu, Dominique (2010). Introduction to Modeling for Biosciences. Chapter 5: Springer. . مؤرشف من الأصل في 03 أبريل 2019.
- A Maxima kernel for Jupyter, based on CL-Jupyter (Common Lisp kernel): robert-dodier/maxima-jupyter, 2018-11-24, مؤرشف من الأصل في 22 سبتمبر 2019,17 ديسمبر 2018
- "The KDE Education Project - Cantor". edu.kde.org. مؤرشف من الأصل في 11 يوليو 201817 ديسمبر 2018.
- "Kayali". SourceForge (باللغة الإنجليزية). مؤرشف من الأصل في 3 أبريل 201917 ديسمبر 2018.
- maxima. "تحميل Maxima 5.42.1-win64 للويندوز مجاناً". downzen.com. مؤرشف من الأصل في 30 مارس 201909 ديسمبر 2018.