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 משולשית עליונה.

מרים:

הפירוק ממומש באמצעות סיבובי Givens עוקבים.