الجبر الخطي باستخدام NumPy
استخدام np.dot وnp.linalg.inv وnp.linalg.eig وnp.linalg.solve لحل أنظمة المعادلات.
الجبر الخطي باستخدام NumPy درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
الجبر الخطي في NumPy
توفر NumPy عمليات المصفوفات من خلال العامل @ والوحدة np.linalg، وهما أساس معظم خوارزميات تعلّم الآلة تقريبًا.
ضرب المصفوفات باستخدام @
ينفذ العامل @ ضرب المصفوفات الحقيقي. ويجب أن تتطابق الأبعاد الداخلية: (m,k) @ (k,n) تعطي (m,n).
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B)
# [[19 22]
# [43 50]]@ مقارنةً بـ * (مهم!)
يعمل * على مستوى العناصر، بينما ينفذ @ ضرب المصفوفات. والخلط بينهما خطأ شائع.
print(A * B) # element-wise: [[ 5 12]
# [21 32]]
print(A @ B) # matrix product (different result)np.dot
np.dot هو الشكل الدالي. وبالنسبة إلى المصفوفات ثنائية الأبعاد، فهو يساوي @؛ أما المصفوفات أحادية البعد، فيحسب حاصل الضرب القياسي (قيمة عددية).
u = np.array([1, 2, 3])
v = np.array([4, 5, 6])
print(np.dot(u, v)) # 1*4 + 2*5 + 3*6 = 32معكوس المصفوفة
تُرجع np.linalg.inv(A) المعكوس، أي المصفوفة التي تعطي مصفوفة الوحدة عند ضربها في A. ولا يوجد معكوس إلا للمصفوفات المربعة غير المفردة.
A = np.array([[4.0, 7.0], [2.0, 6.0]])
Ainv = np.linalg.inv(A)
print(np.round(A @ Ainv, 6)) # identityالمحدد
تعطي np.linalg.det(A) محدد المصفوفة. ويعني كون المحدد يساوي 0 أن المصفوفة مفردة ولا يمكن عكسها.
print(np.linalg.det(A)) # 10.0 (nonzero -> invertible)حل الأنظمة الخطية
لحل A x = b، يُفضَّل استخدام np.linalg.solve(A, b) بدلًا من حساب المعكوس. فهو أسرع وأكثر استقرارًا عدديًا.
A = np.array([[3.0, 1.0], [1.0, 2.0]])
b = np.array([9.0, 8.0])
x = np.linalg.solve(A, b)
print(x) # [2. 3.]لماذا نستخدم solve بدلًا من inv
يؤدي حساب inv(A) @ b إلى هدر العمل وتضخيم خطأ التقريب. وتستخدم solve تحليل LU مباشرةً. استخدموا solve في الشيفرة الفعلية.
# Avoid: x = np.linalg.inv(A) @ b
# Prefer: x = np.linalg.solve(A, b)القيم والمتجهات الذاتية
تُرجع np.linalg.eig(A) القيم والمتجهات الذاتية. وتشكّل هذه أساس تحليل المكونات الرئيسية (PCA) وتحليل الاستقرار وغير ذلك.
A = np.array([[2.0, 0.0], [0.0, 3.0]])
vals, vecs = np.linalg.eig(A)
print(vals) # [2. 3.]معايير المتجهات والمصفوفات
يقيس np.linalg.norm المقدار. ويكون افتراضيًا المعيار الإقليدي (L2) للمتجهات، ويُستخدم في كل شيء بدءًا من المسافات ووصولًا إلى التنظيم.
v = np.array([3.0, 4.0])
print(np.linalg.norm(v)) # 5.0 (sqrt(9+16))
print(np.linalg.norm(v, 1)) # 7.0 (L1 norm)النقل
ينقل A.T المصفوفة، فيبدّل الصفوف والأعمدة. ويظهر باستمرار في صيغ مثل المعادلات العادية.
A = np.array([[1, 2, 3], [4, 5, 6]])
print(A.T)
# [[1 4]
# [2 5]
# [3 6]]اختبار سريع
اختبروا تذكّركم لمفاهيم الجبر الخطي.
مراجعة
أدوات الجبر الخطي:
@/np.dotلضرب المصفوفات والضرب القياسي (وليس*)np.linalg.invوnp.linalg.det- يتفوق
np.linalg.solve(A, b)على عكس المصفوفة - استخدموا
np.linalg.eigللتحليل إلى قيم ومتجهات ذاتية - استخدموا
np.linalg.normللمقادير، وA.Tلنقل المصفوفة
الأسئلة الشائعة
هل درس «الجبر الخطي باستخدام NumPy» مجاني؟
نعم — نص درس «الجبر الخطي باستخدام NumPy» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «الجبر الخطي باستخدام NumPy»؟
استخدام np.dot وnp.linalg.inv وnp.linalg.eig وnp.linalg.solve لحل أنظمة المعادلات. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «الجبر الخطي باستخدام NumPy»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إنشاء المصفوفات وخصائصها
- الفهرسة والتقطيع والفهرسة المتقدمة
- البث والعمليات المتجهة
- الجبر الخطي باستخدام NumPy