مشعبات سيج

SageManifolds (بتصميم مشابه لـ SageMath) هو امتداد مُدمج بالكامل في SageMath ، [ 1 ] يُستخدم كحزمة للهندسة التفاضلية وحساب الموترات . الصفحة الرسمية للمشروع هي sagemanifolds.obspm.fr. ويمكن استخدامه على CoCalc .

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

تُعدّ فئة المشعبات شبه الريمانية ، التي تشمل المشعبات الريمانية والمشعبات اللورنتزية ، فئةً مهمةً من المشعبات المعالجة ، ولها تطبيقات في النسبية العامة . وعلى وجه الخصوص، يُنفّذ برنامج SageManifolds حساب موتر انحناء ريمان والكائنات المرتبطة به ( موتر ريتشي ، موتر ويل ). كما يُمكن لبرنامج SageManifolds التعامل مع الاتصالات الأفينية العامة ، وليس بالضرورة اتصالات ليفي-سيفيتا .

الوظائف

إصدارتاريخالوصف (من سجل التغييرات )
0.17 يوليو 2013تم إصداره لأول مرة
0.212 سبتمبر 2013تم تعريف ستة فئات، وتم تغيير العديد من اختبارات التوثيق لتتوافق مع Sage 5.11. طرق جديدة في كل فئة.
0.324 نوفمبر 2013تم نقل مستودع التطوير من SVN إلى Git . أوراق عمل نموذجية جديدة. المزيد من الفئات والأساليب (بعضها موروث من Sage).
0.410 فبراير 2014فئات وأعضاء وأساليب جديدة.
0.512 يوليو 2014هذا إصدار رئيسي يتضمن إدخال هياكل جبرية لوصف حقول الموترات، وتحديدًا الوحدات النمطية على جبر الحقول العددية، ومن بينها الوحدات النمطية الحرة ذات الرتبة المحدودة. ويتحقق ذلك عبر Sage Parent/ Elementscheme ونموذج الإكراه.
0.628 سبتمبر 2014
  • مخرجات رسومية للمخططات (الطريقة Chart.plot()) والنقاط (الطريقة Point.plot())؛ إليك بعض الأمثلة.
  • إدخال تدوين الفهرس للدلالة على انكماشات الموترات وتناظرات الموترات (فئة جديدة TensorWithIndices)؛ انظر هذه الروابط: 1 ، 2 .
  • أصبحت وسيطة الطرق symmetrize()وفي antisymmetrize()فئات الموترات الآن عبارة عن سلسلة مباشرة من مواضع الفهرس (ولم تعد قائمة/مجموعة واحدة تغلف مثل هذه السلسلة).
  • تمت إعادة تسمية طريقة self_contract()فئات الموترات trace().
  • تم تحسين الكود الخاص بانكماشات الموترات؛ علاوة على ذلك، أصبح من الممكن الآن إجراء انكماشات متعددة للموترات.
  • تم تحسين الوثائق (كتيبات المراجع 4 و 5 ).
0.712 مارس 2015بالنسبة للمستخدم النهائي، فإن الميزات الجديدة هي
  • إدخال المنحنيات في المشعبات (مع بعض إمكانيات الرسم البياني)
  • تحسينات في التحويلات التفاضلية بين المتشعبات، بما في ذلك تركيب التحويلات والتحويلات التفاضلية
  • إدخال التشاكلات بين الوحدات الحرة
0.816 مايو 2015التغييرات التي تطرأ على المستخدم النهائي:
  • رسم بياني لحقول المتجهات: طريقة جديدةVectorField.plot()
  • إمكانية موازاة العمليات الحسابية الثقيلة: يتم تنفيذ التوازي لحسابات الموترات الأساسية (الحسابات، والانكماشات) وحسابات التفاضل والتكامل المتعلقة بالاتصالات الأفينية (معاملات الاتصال، والتأثير على حقل الموترات، وموتر انحناء ريمان).
  • عرض رائع للمشتقات الجزئية
  • الدوال الرياضية القياسية مثل exp و cos و sin وغيرها على الحقول العددية
  • عرض مكونات الموتر كقائمة، مكون واحد في كل سطر: طرق جديدة TensorField.display_comp()وFreeModuleTensor.display_comp()
  • عرض رائع لمعاملات الاتصال: طريقة جديدةAffConnection.display()
  • عرض رائع لرموز كريستوفيل: طريقة جديدةMetric.christoffel_symbols_display()
  • عرض رائع لخرائط انتقال المخططات: طريقة جديدةCoordChange.display()
0.910 ديسمبر 2015هذا إصدار رئيسي، نتج عن إعادة هيكلة مهمة للكود، بهدف دمج SageManifolds بالكامل في SageMath (راجع التذكرة رقم 18528 على SageMath developer trac). التغييرات الرئيسية هي
  • تم فصل الخصائص الطوبولوجية عن الخصائص التفاضلية، من خلال تطبيق المشعبات الطوبولوجية (فئة جديدة TopologicalManifold) وجعل فئة المشعبات التفاضلية ( DifferentiableManifold) ترث من TopologicalManifold.
  • لم يعد يُفترض أن يكون الحقل الأساسي الذي تُعرَّف عليه المتشعبات هو الحقل الحقيقي، بل يمكن أن يكون أي حقل طوبولوجي (غير منفصل لتحديد قابلية التفاضل للمتشعبات التفاضلية). وهذا يسمح بتعريف متشعبات معقدة بسهولة، وذلك بتعيين الحقل إلى C.
  • ManifoldOpenSubsetتم حذف الفئة : أصبحت المجموعات الفرعية المفتوحة من المتشعبات الآن أمثلة على TopologicalManifoldأو DifferentiableManifold(لأن المجموعة الفرعية المفتوحة من متشعب علوي/تفاضلي هي متشعب علوي/تفاضلي بحد ذاتها)
  • لم تعد الدوال المعرفة على رقعة إحداثيات بالضرورة دوالًا رمزية للإحداثيات، بل أصبحت تنتمي إلى الفئة العامة CoordFunction، حيث تُوصف الدوال الرمزية بفئة فرعية منها CoordFunctionSymb. وهذا يفتح المجال أمام المتشعبات "العددية"، مثل الزمكانات المولدة بواسطة رموز النسبية العددية.
  • تحسين التوازي، الذي تحكمه فئة singleton الجديدة Parallelismوالدالة العامة use_multiproc.
0.9.119 سبتمبر 2016*تم إدراج التغيير الكامل الآن في صفحة ويكيبيديا (هذه)*

ينشر هذا الإصدار المزيد من التغييرات البرمجية المتعلقة بتكامل SageManifolds في SageMath (انظر metaticket#18528)؛ كما أنه يضيف بعض الوظائف الجديدة.

وظائف جديدة:

  • حساب موتر شوتين، وموتر كوتون المطابق، وموتر كوتون-يورك المطابق المرتبط بمقياس ريماني زائف معين
  • إضافة بنية جبر لي إلى وحدات حقول المتجهات (الفئات VectorFieldModuleو VectorFieldFreeModule): طريقة جديدةVectorField.bracket
  • موازاة مخططات حقل المتجهات
  • موازاة العمليات الحسابية لمكونات الموتر المتناظرة تمامًا
  • تحسين عرض المتغيرات في المشتقات الجزئية، باستخدام عرض LaTeX للرموز (الفئة ExpressionNice)
  • أضف عامل مقارنة لخرائط الانتقال (الفئة CoordChange)
  • أضف وظائف القوائم للقواعد (الأساليب __len__وفي __iter__الفئات FreeModuleBasisو FreeModuleCoBasis)

التغييرات النحوية:

  • الطريقة CoordChange.set_inverse: استبدل الكلمة المفتاحية checkبـ verbose، والقيمة الافتراضية هي الآنverbose=False
  • تم إدخال خاصية Manifold.optionsللتحكم في عرض التعبيرات الرياضية بدلاً من الدوال العامة nice_derivativesو omit_function_args، والتي تم إخفاؤها.
  • لم تعد الدالة set_axes_labels(لتعيين التسميات على الرسومات ثلاثية الأبعاد) تُستورد عند بدء التشغيل؛ إذا لزم الأمر، يجب كتابةfrom sage.manifolds.utilities import set_axes_labels
  • لم يعد يتم استيراد الدالة xder(المشتقة الخارجية) عند بدء التشغيل؛ إذا لزم الأمر، يجب كتابةfrom sage.manifolds.utilities import xder
  • الفئة DiffForm: exterior_derتم تغيير اسم الطريقةexterior_derivative
  • تمت إعادة تسمية الفئات والطريقة DiffScalarField، مع الاحتفاظ بـ كاسم بديل للطريقة الأخيرة .TensorFieldTensorFieldParallie_derlie_derivativelie_der

المزيد من التغييرات الداخلية:

  • يتم الآن وصف بنية التشعب من خلال فئات أحادية محددة: TopologicalStructure، و RealTopologicalStructure، DifferentialStructureوRealDifferentialStructure
  • TopologicalManifoldSubsetتم تغيير اسم الفصلManifoldSubset
  • TopologicalManifoldPointتم تغيير اسم الفصلManifoldPoint
  • لم تعد المجموعات الفرعية المتعددة بمثابة آباء واجهة
  • الفئة ManifoldSubset: أساليب جديدة liftوretract
  • تقديم الجبر التبادلي لجميع دوال الإحداثيات الرمزية على مخطط معين: فئة جديدة CoordFunctionSymbRing، والفئة CoordFunctionالآن ترث منAlgebraElement
  • الفئة FiniteRankFreeModule: تم تغيير الفئة من Modules(ring)إلىModules(ring).FiniteDimensional()
  • بعض التغييرات اللازمة للتحضير للانتقال إلى بايثون 3 (على سبيل المثال، printتم استبدالها بـ print())
1.011 يناير 2017إلى جانب التكامل الكامل في SageMath 7.5، هناك تغييرات طفيفة فقط فيما يتعلق بالإصدار 0.9.1:

التغييرات النحوية:

  • طريقة plotالفئات RealChartو : تم تغيير اسم VectorFieldوسيط الكلمة المفتاحيةnb_valuesnumber_values
  • تم تغيير اسم طريقة structure_coefالفئةVectorFramestructure_coeff
  • الفئة OpenInterval: وسيط subinterval_ofتمت إعادة تسميته ambientفي المُنشئ
  • الفئة RealLine: تم تغيير اسم LaTeX من \RRإلى\Bold{R}

التغييرات الداخلية:

  • الاستخدام المنهجي لبنية متوافقة مع Python3 (لإعداد عملية نقل SageMath إلى Python3)؛ على وجه الخصوص:
    • جميع حالات iteritems()التغيير إلىitems()
    • جميع حالات itervalues()التغيير إلىvalues()
    • تمت إعادة تسمية الفئات ScalarFieldوالطريقة TensorField:__nonzero____bool__
    • الفئة TensorField: __div__تم تغيير اسم الطريقة__truediv__
  • الفئات TensorFieldModule، VectorFieldModuleو DiffFormModule: إضافة طريقة مخزنة مؤقتًاzero
  • يتم تخزين الفئات DiffFormوالطريقة DiffFormParalمؤقتًا exterior_derivative(عبر المُزخرف @cached_method)
  • VectorFrameيتم تخزين طريقة الفئة مؤقتًا structure_coeff(عبر المُزخرف @cached_method)

تغييرات أخرى:

  • تم إدخال تحسينات على الوثائق؛ وعلى وجه الخصوص، تمت إضافة رسومات ثلاثية الأبعاد إلى دليل المرجع لتوضيح استخدام بعض plotالطرق.
  • تصبح القيم التي يحددها المستخدم لبعض الوسائط الرئيسية للأساليب plotهي القيم الافتراضية الجديدة حتى يتم إجراء تغيير صريح آخر (يتم توفير هذا السلوك بواسطة الديكور @options):
    • TangentVector.plot: دعوىscale
    • VectorField.plot: الحجج max_range، scaleوcolor
    • DifferentiableCurve.plot: الحجج thickness، و plot_points، max_rangeوaspect_ratio
1.0.125 مارس 2017
1.0.221 يوليو 2017
1.17 ديسمبر 2017

تتوفر المزيد من الوثائق على الرابط التالي: doc.sagemath.org/html/en/reference/manifolds/ .

برامج مجانية ومفتوحة المصدر

كما هو الحال مع SageMath، فإن SageManifolds برنامج مجاني ومفتوح المصدر مبني على لغة البرمجة بايثون . وهو مُرخص بموجب رخصة جنو العمومية العامة (GPL) . لتحميل وتثبيت SageManifolds، انظر هنا . وهو تحديدًا مرخص بموجب GPL الإصدار 2+ (مما يعني أنه يمكن للمستخدم اختيار ترخيص أعلى من GPL الإصدار 2).

تطوير

يوجد جزء كبير من المصدر على التذاكر في trac.sagemath.org .

توجد مستودعات GitHub على الرابط التالي: github.com/sagemanifolds/SageManifolds .

تتوفر روابط أخرى على الرابط التالي: sagemanifolds.obspm.fr/contact.html .

مراجع