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

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

ماكسيما
لقطة شاشة
معلومات عامة
نوع
computer algebra system (en)
موقع الويب
معلومات تقنية
لغة البرمجة
الإصدار الأول
الإصدار الأخير
المستودع
الرخصة
رخصة جنو العمومية، الإصدار 2[2]

تاريخ ماكسيما

ماكسيما مبني على نسخة من برمجية 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))

مراجع

  1. وصلة مرجع: https://www.openhub.net/p/maxima/analyses/latest/languages_summary.
  2. "سورس فورج". اطلع عليه بتاريخ 11 ديسمبر 2016. الوسيط |CitationClass= تم تجاهله (مساعدة); تحقق من التاريخ في: |access-date= (مساعدة)
  3. "Maxima, a Computer Algebra System". maxima.sourceforge.net. مؤرشف من الأصل في 10 مايو 2019. اطلع عليه بتاريخ 10 ديسمبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  4. Barnes, David J. & Chu, Dominique (2010). Introduction to Modeling for Biosciences. Chapter 5: Springer. ISBN 978-1-84996-325-1. مؤرشف من الأصل في 03 أبريل 2019. الوسيط |CitationClass= تم تجاهله (مساعدة)صيانة CS1: أسماء متعددة: قائمة المؤلفون (link) CS1 maint: location (link)
  5. A Maxima kernel for Jupyter, based on CL-Jupyter (Common Lisp kernel): robert-dodier/maxima-jupyter, 2018-11-24, مؤرشف من الأصل في 22 سبتمبر 2019, اطلع عليه بتاريخ 17 ديسمبر 2018 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link)
  6. "The KDE Education Project - Cantor". edu.kde.org. مؤرشف من الأصل في 11 يوليو 2018. اطلع عليه بتاريخ 17 ديسمبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  7. "Kayali". SourceForge (باللغة الإنجليزية). مؤرشف من الأصل في 3 أبريل 2019. اطلع عليه بتاريخ 17 ديسمبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  8. maxima. "تحميل Maxima 5.42.1-win64 للويندوز مجاناً". downzen.com. مؤرشف من الأصل في 30 مارس 2019. اطلع عليه بتاريخ 09 ديسمبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
    • بوابة برمجيات حرة
    • بوابة رياضيات
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.