رياضي

Mathomatic [ 2 ] هو نظام جبر حاسوبي مجاني ، محمول ، ومتعدد الأغراض ، قادر على حل المعادلات الجبرية وتبسيطها ودمجها ومقارنتها رمزياً ، كما يمكنه إجراء العمليات الحسابية على الأعداد المركبة ، والوحدات النمطية ، ومتعددات الحدود ، بالإضافة إلى العمليات الحسابية القياسية. ويمكنه إجراء التفاضل والتكامل الرمزي ( المشتقة ، والقيم القصوى ، ومتسلسلة تايلور ، وتكامل متعددات الحدود ، وتحويلات لابلاسوالتكامل العددي ، ويتعامل مع جميع العمليات الجبرية الأساسية باستثناء اللوغاريتمات . ويمكن إدخال الدوال المثلثية ومعالجتها باستخدام الدوال الأسية المركبة ، وذلك باستخدام معالج GNU m4 المسبق. ولا يدعم حالياً الدوال العامة مثل f ( x )، والحسابات ذات الدقة العشوائية ، والحسابات الفاصلية ، بالإضافة إلى المصفوفات .

سمات

يستطيع برنامج Mathomatic حل مسائل الجبر الابتدائي، وتفاضلها، وتبسيطها، وحسابها، وعرضها بصريًا. [ 3 ] كما يمكنه إجراء عمليات الجمع والضرب ، وعرض العمليات الحسابية تلقائيًا مهما كان طولها، وذلك بإدخال قيم متسلسلة أو تجريبية في أي صيغة، ثم تقريبها وتبسيطها قبل عرضها.

يمكن عرض النتائج الوسيطة (التي توضح خطوات الحل) بكتابة الأمر "set debug 1" مسبقًا (انظر مثال الجلسة )؛ وهذا ينطبق على حل جميع أوامر Mathomatic تقريبًا. أما الأمر "set debug 2" فيعرض تفاصيل أكثر حول العمل المنجز.

لا يتضمن البرنامج واجهة مستخدم رسومية إلا في الإصدارات المخصصة للهواتف الذكية والأجهزة اللوحية التي تعمل بنظامي iOS [ 4 ] أو Android ، والمرخصة بموجب علامة Mathomatic التجارية . [ 5 ] برنامج Mathomatic، المتوفر على موقعه الرسمي [ 6 ] ، مرخص للاستخدام في أي نوع آخر من البرامج، وذلك بفضل ترخيصه الحر ( GNU LGPL ). وهو متوفر كمكتبة برمجية حرة ، وكتطبيق مجاني يعمل في وضع سطر الأوامر، ويستخدم واجهة سطر أوامر ملونة مع مخرجات منسقة ، ويعمل في محاكي طرفي على أي نظام تشغيل. [ 3 ] واجهة سطر الأوامر بسيطة، وتتطلب تعلم أساسيات الترميز الجبري للبدء. جميع المدخلات والمخرجات عبارة عن نصوص ASCII سطرًا بسطر . افتراضيًا، تكون المدخلات والمخرجات قياسية . عادةً ما يتم تجميع Mathomatic باستخدام editline أو GNU readline لتسهيل الإدخال.

لا توجد إمكانية للبرمجة؛ يعمل المفسر كآلة حاسبة جبرية. تُدخل التعبيرات والمعادلات باستخدام الترميز الجبري القياسي . وتُجرى العمليات عليها بإدخال أوامر إنجليزية بسيطة .

نظرًا لأن جميع العمليات الحسابية العددية تتم باستخدام نظام الفاصلة العائمة مزدوج الدقة ، ولا يتم تتبع أخطاء التقريب ، فإن برنامج Mathomatic غير مناسب للتطبيقات التي تتطلب دقة عالية، مثل الحسابات الفلكية. وهو مفيد لإجراء حسابات رمزية-عددية بدقة تصل إلى 14 رقمًا عشريًا تقريبًا، على الرغم من أن العديد من النتائج ستكون دقيقة قدر الإمكان.

يمكن استخدام Mathomatic كأداة لتوليد أكواد حسابية للأعداد العشرية أو الصحيحة ، حيث تعمل على تبسيط المعادلات وتحويلها إلى عبارات إسناد مُحسّنة في لغات البرمجة Python و C و Java . ويمكن جعل المخرجات متوافقة مع معظم برامج الرياضيات الأخرى، باستثناء أن تنسيقي TeX و MathML غير متوفرين حاليًا للإدخال والإخراج. كما يمكن ضبط الأحرف ASCII المسموح بها في أسماء متغيرات Mathomatic، مما يسمح باستخدام أسماء متغيرات بتنسيق TeX.

يمكن تجميع الكود المصدري لـ Mathomatic كمكتبة رياضية رمزية مع واجهة برمجة تطبيقات (API) ، والتي يمكن ربطها ببرامج متوافقة مع لغة C والتي تحتاج إلى استخدام محرك الرياضيات الرمزية Mathomatic.

أمثلة على الجلسات

مجموعة أخرى من الأمثلة، من لقطة شاشة

مثال على حل المسألة وتوليد الكود، حيث يتم عرض خطوات الحل:

1-> x = (a+1)*(b+2) #1: x = (a + 1)*(b + 2) 1-> ضبط وضع التصحيح 1 نجاح. 1-> حل لإيجاد قيمة b المستوى 1: س = (أ + 1)*(ب + 2) بطرح "(أ + 1)*(ب + 2)" من كلا طرفي المعادلة: المستوى 1: س - ((أ + 1)*(ب + 2)) = 0 بطرح "س" من طرفي المعادلة: المستوى 1: -1*(أ + 1)*(ب + 2) = -1*س قسمة طرفي المعادلة على "-1": المستوى 1: (أ + 1) × (ب + 2) = س بقسمة طرفي المعادلة على "أ + 1": المستوى 1: ب + 2 = س/(أ + 1) بطرح "2" من طرفي المعادلة: المستوى 1: ب = (س/(أ + 1)) - 2 تم حل المسألة: المستوى 1: ب = (س/(أ + 1)) - 2 تم حل المشكلة بنجاح: x #1: b = ------- - 2 (أ + 1) 1-> كود C؛ إخراج كود لغة البرمجة C ب = ((س/(أ + 1.0)) - 2.0)؛ 1-> المتغيرات C؛ تعريف المتغيرات لمترجم لغة C x مزدوج؛ ألف مزدوجة؛ حرف ب مزدوج؛ 1-> 

تاريخ

بدأ جورج جيسلين الثاني تطوير برنامج Mathomatic عام 1986، كتجربة في مجال الرياضيات الحاسوبية. [ 7 ] كُتب البرنامج في الأصل بلغة مايكروسوفت سي لنظام التشغيل MS-DOS . نشرت شركة Dynacomp من روتشستر، نيويورك، الإصدارين 1 و2 عامي 1987 [ 1 ] و1988 [ 8 ] كمنتج برمجي علمي لنظام DOS. بعد ذلك، أُصدر البرنامج كبرنامج تجريبي ثم كبرنامج يُرسل عبر البريد الإلكتروني ، مع برنامج لرسم المعادلات ثنائية الأبعاد . مع مطلع القرن الحادي والعشرين، نُقل برنامج Mathomatic إلى مُترجم GNU C تحت نظام لينكس ، وأصبح برنامجًا مجانيًا . توقف تطوير برنامج الرسم البياني، وأصبح رسم المعادلات ثنائي وثلاثي الأبعاد يتم الآن باستخدام برنامج gnuplot .

اسم "Mathomatic" هو مزيج من كلمتي "math" و "automatic"، [ 3 ] وقد استوحيت من تسمية وأتمتة Rog-O-Matic ، والتي كانت تجربة مبكرة في مجال الذكاء الاصطناعي .

توقف التطوير نتيجة لوفاة المؤلف في 24 فبراير 2013. [ 9 ]

المنصات المتاحة

يتوفر برنامج Mathomatic لجميع المنصات تقريبًا، بما في ذلك نظام التشغيل Microsoft Windows باستخدام MinGW . [ 10 ] وهو متوفر أيضًا لنظام التشغيل Mac OS X ، [ 11 ] [ 12 ] ولنظام iOS ، [ 4 ] ولنظام Android ، [ 5 ] ولجهاز Nintendo DS تحت نظام DSLinux وكبرنامج مستقل. [ 13 ] وتتضمن توزيعات Fedora Linux ، [ 14 ] وSlackware ، [ 15 ] وDebian ، [ 16 ] وUbuntu ، [ 17 ] و Gentoo Linux ، [ 18 ] وجميع توزيعات BSD Unix الرئيسية [ 19 ] [ 20 ] [ 21 ] برنامج Mathomatic كحزمة قابلة للتثبيت تلقائيًا. كما توجد نسخة منه مكتوبة بلغة JavaScript باستخدام Emscripten ، مما يسمح بتشغيل Mathomatic في متصفح الويب . [ 22 ] ويتولى مطورو هذه النسخ صيانة كل نسخة على حدة.

متطلبات

يتطلب بناء البرنامج من المصدر مُصرّف لغة C مزودًا بمكتبات POSIX C القياسية . إذا تم تجميع Mathomatic باستخدام مُصرّف GCC C أو مُصرّف Tiny C لنظام تشغيل شبيه بنظام Unix ، فلن يلزم إجراء أي تغييرات على شفرة المصدر. لا يستخدم Mathomatic أي شفرة خاصة بمُصرّف مُحدد، لذا فإنه عادةً ما يُجمّع بسهولة باستخدام أي مُصرّف C. يتيح استخدام مكتبة Mathomatic للرياضيات الرمزية إمكانية دمج لغات البرمجة، وهي مستقلة عن نظام التشغيل. [ 23 ]

يمكن نقل برنامج Mathomatic إلى أي جهاز كمبيوتر مزود بذاكرة وصول عشوائي (RAM) لا تقل عن 1 ميجابايت . يبلغ الحد الأقصى الافتراضي لذاكرة التوزيعة القياسية لبرنامج Mathomatic [ 6 ] 400 ميجابايت، وذلك حسب حجم مساحات المعادلات وعدد التعبيرات المُدخلة. مساحات المعادلات عبارة عن مصفوفات ذات حجم ثابت يتم تخصيصها حسب الحاجة، ويُحدد حجمها أثناء عملية الترجمة أو بدء التشغيل. يتم تخزين كل تعبير جبري أو معادلة يتم إدخالها في موجه الأوامر الرئيسي في مساحة معادلة.

صُمم برنامج Mathomatic لإجراء معظم عمليات التلاعب الرمزي بنقل البيانات في الذاكرة، تمامًا مثل برامج لغة التجميع. يتسبب هذا في تعطل Mathomatic عند استخدامه مع واجهة LLVM الخلفية الجديدة ، التي يبدو أنها لا تدعم دالة memmove(3) القياسية في مكتبة C. لاستخدام Mathomatic مع مُصرّف C يستخدم واجهة LLVM الخلفية، عطّل جميع التحسينات باستخدام "-O0" في سطر أوامر مُصرّف C. وإلا، ستدخل اختبارات التراجع في حلقة لا نهائية. من المؤكد أن هذا خطأ في تحسين LLVM. لمساعدة من يحاولون تصحيح هذا الخطأ، سيفشل Mathomatic عندما يُحسّن LLVM تبسيط (32^.5) إلى 4*(2^.5)، وما شابه، مما يؤدي إلى حلقة لا نهائية في كل مرة.

انظر أيضاً

مراجع

  1. 1 2 كتالوج البرمجيات: الحواسيب الصغيرة . كتب جوجل (6 فبراير 2007). تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  2. "Mathomatic - دليل البرمجيات الحرة" . directory.fsf.org . تم الاطلاع عليه بتاريخ 28 فبراير 2023 .
  3. 1 2 3 جورج جيسلين الثاني (29 يونيو 2012). "دليل مستخدم ماثوماتيك" . وثائق ماثوماتيك الرسمية . مؤرشف من الأصل في 22 يوليو 2012. تم الاطلاع عليه في 13 يوليو 2012 .
  4. 1 2 تطبيق Mathomatic لنظام iOS . iTunes.apple.com. تم الاطلاع عليه بتاريخ 10 مارس 2012.
  5. 1 2 تطبيق Mathomatic لنظام Android . Play.google.com. تم الاطلاع عليه بتاريخ 13 يوليو 2012.
  6. ١ ٢ عُثر عليه على موقع Mathomatic الإلكتروني. مؤرشف بتاريخ ١٣ مايو ٢٠٠٦ في Wayback Machine . Mathomatic.org. تم الاطلاع عليه بتاريخ ٢٩ نوفمبر ٢٠١١.
  7. جورج جيسلين الثاني (29 يونيو 2012). "دليل مستخدم ماثوماتيك" . وثائق ماثوماتيك الرسمية (تاريخ) . مؤرشف من الأصل في 22 يوليو 2012. تم الاطلاع عليه في 13 يوليو 2012 .
  8. الأجهزة الذكية والحواسيب . sGoogle Books. تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  9. ^ "جورج جون جيسلين الثاني" . مجلة إيثاكا. 26 فبراير 2013 . تم الاسترجاع في 6 نوفمبر 2021 .
  10. نسخة برنامج Mathomatic لنظام التشغيل Windows مؤرشفة بتاريخ 31 يناير 2016 على موقع Wayback Machine . موقع Mathomatic.org (4 نوفمبر 2011). تم الاطلاع عليها بتاريخ 29 نوفمبر 2011.
  11. نسخة Mathomatic لنظام التشغيل Mac OS X مؤرشفة في 31 يناير 2016 على موقع Wayback Machine . Mathomatic.org (4 نوفمبر 2011). تم الاطلاع عليها في 29 نوفمبر 2011.
  12. "نسخة Mathomatic لنظام التشغيل Mac OS X من MacPorts" . مؤرشفة من الأصل بتاريخ 21 فبراير 2018. تم الاطلاع عليها بتاريخ 7 يوليو 2012 .
  13. تم نقل برنامج Mathomatic إلى جهاز Nintendo DS. مؤرشف بتاريخ 28 أكتوبر 2007 في Wayback Machine . Blog.davr.org (22 فبراير 1999). تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  14. حزمة Mathomatic في فيدورا . Admin.fedoraproject.org. تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  15. نسخة رسمية من برنامج Mathomatic متوافقة مع Slackware، متوفرة على SlackBuilds . Slackbuilds.org. تم الاطلاع عليها بتاريخ 29 نوفمبر 2011.
  16. جميع حزم Mathomatic في دبيان . Packages.debian.org. تم الاطلاع عليه بتاريخ 31 أغسطس 2012.
  17. جميع حزم Mathomatic في نظام Ubuntu Linux . Launchpad.net. تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  18. حزم جنتو /package/sci-mathematics/mathomatic . Packages.gentoo.org (25 نوفمبر 2011). تم الاطلاع عليه بتاريخ 29 نوفمبر 2011.
  19. شجرة OpenBSD CVS لبرنامج Mathomatic
  20. شجرة حزم NetBSD pkgsrc CVS ​​لبرنامج Mathomatic
  21. شجرة نظام إدارة الإصدارات (CVS) لنظام FreeBSD لبرنامج Mathomatic
  22. "Mathomatic في جافا سكريبت" . مؤرشف من الأصل في 14 يناير 2014. تم الاطلاع عليه في 4 أغسطس 2013 .
  23. جورج جيسلين الثاني (29 يونيو 2012). "دليل مستخدم ماثوماتيك" . وثائق ماثوماتيك الرسمية (معلومات المطورين) . مؤرشف من الأصل في 22 يوليو 2012. تم الاطلاع عليه في 13 يوليو 2012 .