numpy.linalg --- إجراءات الجبر الخطي¶
يوفّر الوحدة الفرعية numpy.linalg مجموعة صغيرة من إجراءات الجبر الخطي التي تعمل على كائنات numpy.ndarray. وتتطلب الدوال التي تعمل على المصفوفات مصفوفات ثنائية البعد؛ وتمرير مصفوفات ذات أبعاد مختلفة يُطلق الاستثناء ValueError. ولا تدعم هذه الوحدة الفرعية أنواع البيانات المركبة.
الدوال¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
تحسب تحليل تشوليسكي لمصفوفة مربعة متماثلة موجبة التحديد.
- المعاملات:
A -- مصفوفة مربعة ثنائية البعد متماثلة موجبة التحديد.
- تُرجع:
مصفوفة سفلية مثلثية
numpy.ndarrayتُسمىLبحيث يكونA = L @ L.T.- يُطلق:
ValueError -- إذا لم تكن A مربعة، أو لم تكن متماثلة، أو لم تكن موجبة التحديد.
- numpy.linalg.det(m: ndarray) float¶
تحسب محدِّد مصفوفة مربعة.
- المعاملات:
m -- مصفوفة مربعة ثنائية البعد.
- تُرجع:
محدِّد m بوصفه عدداً من نوع Python
float. والقيمة المُرجَعة دائماً عدد عشري، حتى عندما يكون الإدخال مصفوفة أعداد صحيحة.- يُطلق:
ValueError -- إذا لم تكن m مربعة.
تُنفَّذ العملية الحسابية بالحذف الغاوسي مع الإرتكاز الجزئي.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
تحسب القيم الذاتية والمتجهات الذاتية لمصفوفة مربعة حقيقية متماثلة.
- المعاملات:
m -- مصفوفة مربعة ثنائية البعد حقيقية متماثلة.
- تُرجع:
زوجاً ثنائياً
(eigenvalues, eigenvectors). حيثeigenvaluesمصفوفة أحادية البعد بطولN؛ وeigenvectorsمصفوفة بحجمN×Nتكون أعمدتها هي المتجهات الذاتية المقابلة.- يُطلق:
ValueError -- إذا لم تكن m مربعة، أو لم تكن متماثلة، أو إذا أخفقت تكرارات دوران ياكوبي في التقارب.
- numpy.linalg.inv(m: ndarray) ndarray¶
تحسب معكوس مصفوفة مربعة.
- المعاملات:
m -- مصفوفة مربعة ثنائية البعد.
- تُرجع:
معكوس m بوصفه مصفوفة عشرية
numpy.ndarray.- يُطلق:
ValueError -- إذا لم تكن m مربعة أو كانت شاذّة.
يُنفَّذ القلب بالحذف الغاوسي-جوردان.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
تحسب القاعدة-2 (المعيار الإقليدي) لمتجه أو مصفوفة.
- المعاملات:
x -- كائن
numpy.ndarrayأوtupleأوlistأوrange.axis -- محور اختياري يُحسب على امتداده المعيار. إذا كان
None(القيمة الافتراضية)، فيُؤخذ المعيار على الإدخال المُسطَّح ويُرجَع عدد عشري واحدfloat. وإلا فيُختزَل المعيار على امتداد ذلك المحور ويُرجَع كائنnumpy.ndarray.
- تُرجع:
إما عدد من نوع Python
float(عندما يكون axis مساوياًNoneأو عندما يكون x كائناً قابلاً للتكرار بخلاف ndarray) أو كائنnumpy.ndarrayمع إزالة ذلك المحور.
تُحسب القاعدة-2 على أنها
sqrt(sum(x*x))باستخدام متوسط جارٍ مستقر عددياً، بحيث لا تتطلب العملية تخزيناً إضافياً يتناسب مع حجم الإدخال.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
تحلّل مصفوفة إلى حاصل ضرب مصفوفة متعامدة الأعمدة (orthonormal) ومصفوفة علوية مثلثية.
- المعاملات:
m -- مصفوفة ثنائية البعد بالشكل
(M, N).mode -- إما
'reduced'(الافتراضي) أو'complete'. في الوضع'complete'، يكون لـQالشكل(M, M)ولـRالشكل(M, N). وفي الوضع'reduced'، تُقتطعQوRإلى الأعمدة والصفوف الأولى البالغةmin(M, N)على التوالي.
- تُرجع:
زوجاً ثنائياً
(Q, R)من كائناتnumpy.ndarrayبحيث يكونm == Q @ R، مع كونQمتعامدة الأعمدة وRعلوية مثلثية.- يُطلق:
TypeError -- إذا لم تكن m كائن
numpy.ndarray.ValueError -- إذا لم تكن m ثنائية البعد أو لم يكن mode أحد القيم المقبولة.
يُنفَّذ التحليل عبر دورانات جيفنز المتتالية.