البرمجة

حساب التدرج والهيسيان باستخدام Sympy

في هذا السياق، تسعى إلى حساب التدرج (الجاكوبيان) والهيسيان (المشتقات الجزئية الثانية) لدالة رمزية تسمى “لامب” بالنسبة للمتغيرات إيتا وزاي. الدالة “لامب” تعتمد على عناصر المتغير زد وعناصر دوال المتغير الأتش. الطريقة التقليدية للقيام بذلك في بايثون باستخدام مكتبة Sympy تتطلب تعريف الدوال والمتغيرات بشكل صحيح، ثم حساب التدرج والهيسيان باستخدام الدوال والمتغيرات المعرفة. ومن الواضح أنك بالفعل قمت بتعريف المتغيرات والدوال بشكل صحيح، ولكنك بحاجة إلى الخطوة التالية وهي حساب التدرج والهيسيان.

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

أعتقد أن الخطوة الأولى هي حساب التدرج، يمكنك القيام بذلك باستخدام الأمر diff من Sympy، حيث يمكنك تمرير المتغير والدالة التي تريد حساب التدرج بالنسبة لهذا المتغير. فمثلاً، لحساب التدرج بالنسبة لمتغير إيتا، يمكنك استخدام:

python
gradient_eta = lamb.diff(eta)

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

المزيد من المعلومات

بالطبع، دعوني أكمل المقال بالشرح المفصل لكيفية حساب التدرج والهيسيان باستخدام مكتبة Sympy في Python.

بعد تعريف الدوال والمتغيرات كما فعلت في الشيفرة البرمجية التي قدمتها، يمكنك البدء في حساب التدرج والهيسيان. الخطوة الأولى هي حساب التدرج.

لحساب التدرج بالنسبة للمتغير إيتا، يمكنك استخدام الأمر التالي:

python
gradient_eta = lamb.diff(eta)

وبالتالي، ستحصل على التدرج بالنسبة للمتغير إيتا. يمكنك تكرار نفس العملية لحساب التدرج بالنسبة للمتغير الآخر، مثل زاي.

python
gradient_xi = lamb.diff(xi)

الآن بعد أن حصلت على التدرج بالنسبة لكل من المتغيرين، يمكنك بناء مصفوفة الهيسيان. الهيسيان يتكون من المشتقات الجزئية الثانية لدالة اللامب بالنسبة لكل من المتغيرات. يمكنك القيام بذلك باستخدام الأمر diff مرة أخرى، ولكن هذه المرة بالنسبة للتدرجات التي حسبتها بالفعل.

python
hessian_eta_eta = lamb.diff(eta, eta) hessian_eta_xi = lamb.diff(eta, xi) hessian_xi_eta = lamb.diff(xi, eta) hessian_xi_xi = lamb.diff(xi, xi)

الآن لديك جميع المشتقات الجزئية الثانية التي تشكل مصفوفة الهيسيان.

يمكنك الآن استخدام هذه المشتقات لأي تطبيق تحليلي تحتاج إليه، مثل حساب نقاط المرجع (النقاط التي يتوقف فيها التدرج) أو تقييم نوعية النقاط (من خلال تحديد الهيسيان). كما يمكنك استخدامها في حساب القيم الحدودية أو تحليل الانحدارات.

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

باستخدام مكتبة Sympy، يمكنك استكشاف مجموعة واسعة من الحسابات الرمزية والتحليلية بشكل فعال، مما يتيح لك إجراء العديد من العمليات الرياضية المعقدة بسهولة وفعالية في Python.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر