numpy.linalg — שגרות אלגברה לינארית¶
תת-המודול numpy.linalg מספק מבחר קטן של שגרות אלגברה לינארית הפועלות על אובייקטים מסוג numpy.ndarray. פונקציות הפועלות על מטריצות דורשות מערכים דו-ממדיים; העברת מערכים בעלי ממדיות שונה מרימה חריגת ValueError. תת-מודול זה אינו תומך בטיפוסי נתונים מרוכבים.
פונקציות¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
חישוב פירוק Cholesky של מטריצה ריבועית סימטרית מוגדרת חיובית.
- פרמטרים:
A – מטריצה ריבועית דו-ממדית, סימטרית ומוגדרת חיובית.
- החזרות:
מטריצה משולשית תחתונה
Lמסוגnumpy.ndarrayכך ש-A = L @ L.T.- מרים:
ValueError – אם A אינה ריבועית, אינה סימטרית, או אינה מוגדרת חיובית.
- numpy.linalg.det(m: ndarray) float¶
חישוב הדטרמיננטה של מטריצה ריבועית.
- פרמטרים:
m – מטריצה ריבועית דו-ממדית.
- החזרות:
הדטרמיננטה של m כ-
floatשל Python. ערך ההחזרה הוא תמיד מספר נקודה צפה, גם כאשר הקלט הוא מערך שלמים.- מרים:
ValueError – אם m אינה ריבועית.
החישוב מתבצע באמצעות אלימינציה גאוסיאנית עם בחירת ציר חלקית.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
חישוב הערכים העצמיים והווקטורים העצמיים של מטריצה ריבועית ממשית סימטרית.
- פרמטרים:
m – מטריצה ריבועית דו-ממדית, ממשית וסימטרית.
- החזרות:
זוג (2-tuple)
(eigenvalues, eigenvectors).eigenvaluesהוא מערך חד-ממדי באורךN;eigenvectorsהוא מערך בגודלN-על-Nשעמודותיו הן הווקטורים העצמיים המתאימים.- מרים:
ValueError – אם m אינה ריבועית, אינה סימטרית, או אם איטרציית סיבוב Jacobi אינה מתכנסת.
- numpy.linalg.inv(m: ndarray) ndarray¶
חישוב ההופכי של מטריצה ריבועית.
- פרמטרים:
m – מטריצה ריבועית דו-ממדית.
- החזרות:
ההופכי של m כ-
numpy.ndarrayשל מספרי נקודה צפה.- מרים:
ValueError – אם m אינה ריבועית או שהיא סינגולרית.
ההיפוך מתבצע באמצעות אלימינציית Gauss-Jordan.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
חישוב הנורמה-2 של וקטור או מטריצה.
- פרמטרים:
x – אובייקט מסוג
numpy.ndarray,tuple,listאוrange.axis – ציר אופציונלי שלאורכו מחושבת הנורמה. אם
None(ברירת המחדל), הנורמה נלקחת על הקלט המשוטח ומוחזרfloatיחיד. אחרת הנורמה מצומצמת לאורך אותו ציר ומוחזרnumpy.ndarray.
- החזרות:
או
floatשל Python (כאשר axis הואNoneאו כאשר x הוא איטרבל שאינו ndarray) אוnumpy.ndarrayשאותו ציר הוסר ממנו.
הנורמה-2 מחושבת כ-
sqrt(sum(x*x))באמצעות ממוצע רץ יציב מבחינה נומרית, כך שהפעולה אינה דורשת אחסון נוסף הפרופורציונלי לגודל הקלט.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
פירוק מטריצה למכפלה של מטריצה אורתונורמלית ומטריצה משולשית עליונה.
- פרמטרים:
m – מטריצה דו-ממדית בצורה
(M, N).mode – או
'reduced'(ברירת מחדל) או'complete'. במצב'complete', ל-Qיש צורה(M, M)ול-Rיש צורה(M, N). במצב'reduced',Qו-Rנחתכים לעמודות ולשורות המובילותmin(M, N)בהתאמה.
- החזרות:
זוג (2-tuple)
(Q, R)של אובייקטים מסוגnumpy.ndarrayכך ש-m == Q @ R, עםQאורתונורמלית ו-Rמשולשית עליונה.- מרים:
TypeError – אם m אינה
numpy.ndarray.ValueError – אם m אינה דו-ממדית או ש-mode אינו אחד מהערכים המקובלים.
הפירוק ממומש באמצעות סיבובי Givens עוקבים.