ماكسيما (برمجية)

من ويكيبيديا، الموسوعة الحرة

ماكسيما هو برمجية لحل المسائل الجبرية (بالإنجليزية: Computer algebra system) وهو مبني على نسخة من برنامج Macsyma من العام 1982. ماكسيما كتب بلغة Common Lisp ويعمل على جميع أنظمة التشغيل من نوع  بوزيكس مثل لينكس وماك ويونكس وتوزيعة برمجيات بيركلي وكذلك لنظامي مايكروسوفت ويندوز وأندرويد. اصدر تحت شروط رخصة جنو العمومية (GPL) وهو بالتالي من البرمجيات الحرة.

تاريخ ماكسيما[عدل]

ماكسيما مبني على نسخة من برمجية Macsyma وهو مشروع نفذ في معهد ماساتشوستس للتكنولوجيا بتمويل من وزراة الطاقة الأمريكية بالإضافة إلى جهات حكومية أمريكية أخرى. إحدى النسخ المصدرية الخاصة بالمشروع كانت تحت اشراف بيل شيلتر منذ العام 1982 حتى وفاتة في العام 2001 وقد قام في العام 1998 بنشرها تحت رخصة جنو العمومية بعد أخذ الأذن من وزارة الطاقة الأمريكية. هذه النسخة هي ما يعرف باسم ماكسيما ويشرف عليه مجموعة مستقلة من المطورين والمستخدمين. لا يحتوي برنامج ماكسيما على أي من التعديلات التي جرت على البرنامج الأصلي في الفترة 1982–1999 وبالتالي على الرغم من توافق الأوامر الأساسية بين النسختين فإن الأوامر التي استحدثت على النسخة الأصلية لن تعمل على ماكسيما والعكس صحيح.[4]

المزايا[عدل]

يتضمن ماكسيما لغة برمجة متكاملة تشابة في تركيبها النحوي لغة ألغول ولكنها تتبع في دلالتها الشكلية لغة ليسب. كتبت اللغة باستخدام لغة البرمجة كومون ليسب، ويمكن الوصول إليها برمجياً وإضافة ميزات جديدة إليها أو تخصيصها، حيث من الممكن استدعاءها مباشرة عبر ماكسيما. يستخدم برنامج جنو بلوت لرسم المنحنيات في ماكسيما.

الحسابات العددية[عدل]

ماكسيما هو برنامج شامل للحسابات الجبرية يتخصص في الحسابات الرمزية، ولكنه يتضمن مميزات للعمليات العددية[5] مثل عمليات حساب دقيق تعسفي والعمليات على الأعداد الصحيحة والأعداد الكسرية والتي يمكن لها أن تكون كبيرة ولا يحد قيمتها الا حجم ذاكرة الكمبيوتر، وحسابات الفاصلة المتحركة التي يمكن التحكم في حجمها (bfloats).

للعمليات التي تحتاج حسابات الفاصلة المتحركة والمصفوفات بشكل كبير يقدم ماكسيما خاصية توليد كود لهذه العمليات على لغات أخرى (لا سيما فورتران) حيث يمكن القيام بها بشكل أكثر فعالية.

ماكسيما هو برنامج للاستخدام العام، لذلك العمليات المتخصصة مثل تحليل عدد صحيح إلى عوامل لأعداد كبيرة والتعامل مع متعددة الحدود الكبيرة وغيرها، يفضل القيام بها في برمجيات وأنظمة متخصصة.

الوجهات الرسومية[عدل]

يمكن استخدام ماكسيما من طرفية على أنظمة لينكس وبوزيكس والماك، ولكن هناك العديد من الواجهات الرسومية التي من الممكن استخدمها:

  • wxMaxima وهي واجهة رسومية باستخدام وكس ويدجيتز.
  • Project Jupyter وهي واجهة بشكل مفكرة افتراضية كتبت بلغة البرمجة بايثون.[6]
  • GMaxima وهي واجهة رسومية باستخدام جتك+.
  • Cantor وهو واجهة رسومية باستخدام كيوت ويمكنها الارتباط كذلك مع عدد من البرمجيات الرياضية الأخرى مثل جنو أوكتاف.[7]
  • برامج تعديل النصوص GNU TeXmacs وLyX يمكن لهم الارتباط مع ماكسيما لتوفير واجهة رسومية له.
  • Kayali.[8]

أمثلة لاستخدام ماكسيما[عدل]

تقوم برمجية ماكسيما بالعديد من العمليات الرياضية بشكل عددي أو رمزي، ويتم إدخال الأوامر بشكل كتابي بطريقة مشابهة لبرامج أخرى مثل ماتلاب، ويرمز لأمر الإدخال بالرمز (i%) متبوعا بعدد يوضح ترتيب الإدخال، وكذلك بالنسبة لناتج العملية يرمز لها بالرمز (o%).

استخراج عوامل الأعداد ومتعددة الحدود[عدل]

تقوم البرمجية باستخراج العامل للأعداد أو لمتعدد الحدود باستخدام الأمر factor[9]،

(%i1)	factor(15);
(%o1)	3*5
(%i2)	factor(3*x^2-2*x+12*x-8);
(%o2)	(x+4)*(3*x-2)

رسم منحنيات الدوال[عدل]

يمكن باستخدام ماكسيما رسم دوال ثنائية الأبعاد وثلاثية الأبعاد باستخدام الأمر plot2d والأمر plot3d[9]،

(%i3) plot2d(x^2, [x, -10, 10]);
(%i4) plot3d(x^3+y^3. [x, -10, 10], [y, -10, 10]);

التفاضل والتكامل[عدل]

يتم إجراء عمليات التفاضل والتكامل باستخدام الأمر diff والأمر integrate[9]،

(%i5)	diff(5*x^3-x^2+1,x);
(%o5)	15*x^2-2*x
(%i6)	integrate(tan(x), x);
(%o6)	log(sec(x))

مراجع[عدل]

  1. ^ وصلة مرجع: https://www.openhub.net/p/maxima/analyses/latest/languages_summary.
  2. ^ أ ب "Announcing 5.47.0". 1 يونيو 2023. اطلع عليه بتاريخ 2023-06-02.
  3. ^ "سورس فورج". اطلع عليه بتاريخ 2016-12-11.
  4. ^ "Maxima, a Computer Algebra System". maxima.sourceforge.net. مؤرشف من الأصل في 2019-05-10. اطلع عليه بتاريخ 2018-12-10.
  5. ^ Barnes, David J. & Chu, Dominique (2010). Introduction to Modeling for Biosciences. Chapter 5: Springer. ISBN:978-1-84996-325-1. مؤرشف من الأصل في 2019-04-03.{{استشهاد بكتاب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link) صيانة الاستشهاد: مكان (link)
  6. ^ A Maxima kernel for Jupyter, based on CL-Jupyter (Common Lisp kernel): robert-dodier/maxima-jupyter، 24 نوفمبر 2018، مؤرشف من الأصل في 2019-09-22، اطلع عليه بتاريخ 2018-12-17
  7. ^ "The KDE Education Project - Cantor". edu.kde.org. مؤرشف من الأصل في 2018-07-11. اطلع عليه بتاريخ 2018-12-17.
  8. ^ "Kayali". SourceForge (بالإنجليزية). Archived from the original on 2019-04-03. Retrieved 2018-12-17.
  9. ^ أ ب ت maxima. "تحميل Maxima 5.42.1-win64 للويندوز مجاناً". downzen.com. مؤرشف من الأصل في 2019-03-30. اطلع عليه بتاريخ 2018-12-09.