numpy.linalg --- รูทีนพีชคณิตเชิงเส้น

The numpy.linalg submodule provides a small selection of linear-algebra routines that operate on numpy.ndarray objects. Functions that operate on matrices require two-dimensional arrays; passing arrays of a different dimensionality raises a ValueError.

ฟังก์ชัน

numpy.linalg.cholesky(A: ndarray) ndarray

คำนวณ Cholesky decomposition ของเมทริกซ์สี่เหลี่ยมจัตุรัสแบบสมมาตรและ positive-definite

พารามิเตอร์:

A -- เมทริกซ์สี่เหลี่ยมจัตุรัสสองมิติแบบ positive-definite และสมมาตร

ค่าที่คืนกลับ:

numpy.ndarray สามเหลี่ยมล่าง L ที่สอดคล้องกับ A = L @ L.T

ข้อผิดพลาดที่เกิดขึ้น:

ValueError -- หาก A ไม่ใช่เมทริกซ์สี่เหลี่ยมจัตุรัส ไม่สมมาตร หรือไม่ใช่ positive definite

numpy.linalg.det(m: ndarray) float

คำนวณ determinant ของเมทริกซ์สี่เหลี่ยมจัตุรัส

พารามิเตอร์:

m -- เมทริกซ์สี่เหลี่ยมจัตุรัสสองมิติ

ค่าที่คืนกลับ:

determinant ของ m ในรูปแบบ Python float ค่าที่คืนกลับเป็น float เสมอ แม้ว่าอินพุตจะเป็นอาร์เรย์จำนวนเต็ม

ข้อผิดพลาดที่เกิดขึ้น:

ValueError -- หาก m ไม่ใช่เมทริกซ์สี่เหลี่ยมจัตุรัส

การคำนวณทำโดยใช้ Gaussian elimination แบบ partial pivoting

numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]

คำนวณ eigenvalue และ eigenvector ของเมทริกซ์สี่เหลี่ยมจัตุรัสแบบสมมาตรจริง

พารามิเตอร์:

m -- เมทริกซ์สี่เหลี่ยมจัตุรัสสองมิติ แบบจริงและสมมาตร

ค่าที่คืนกลับ:

2-tuple (eigenvalues, eigenvectors) โดย eigenvalues คืออาร์เรย์หนึ่งมิติที่มีความยาว N และ eigenvectors คืออาร์เรย์ขนาด N-by-N ที่มีคอลัมน์เป็น eigenvector ที่สอดคล้องกัน

ข้อผิดพลาดที่เกิดขึ้น:

ValueError -- หาก m ไม่ใช่เมทริกซ์สี่เหลี่ยมจัตุรัส ไม่สมมาตร หรือการวนซ้ำ Jacobi-rotation ไม่ลู่เข้า

numpy.linalg.inv(m: ndarray) ndarray

คำนวณ inverse ของเมทริกซ์สี่เหลี่ยมจัตุรัส

พารามิเตอร์:

m -- เมทริกซ์สี่เหลี่ยมจัตุรัสสองมิติ

ค่าที่คืนกลับ:

inverse ของ m ในรูปแบบ numpy.ndarray ชนิด float

ข้อผิดพลาดที่เกิดขึ้น:

ValueError -- หาก m ไม่ใช่เมทริกซ์สี่เหลี่ยมจัตุรัส หรือเป็น singular

การผกผันทำโดยใช้ Gauss-Jordan elimination

numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray

คำนวณ 2-norm ของเวกเตอร์หรือเมทริกซ์

พารามิเตอร์:
  • x -- numpy.ndarray, tuple, list หรือ range

  • axis -- แกนเสริมที่ใช้คำนวณค่า norm หาก None (ค่าเริ่มต้น) จะคำนวณ norm จากอินพุตที่แบนราบและคืนค่าเป็น float เดียว มิฉะนั้นจะลด norm ตามแกนนั้นและคืนค่าเป็น numpy.ndarray

ค่าที่คืนกลับ:

เป็น Python float (เมื่อ axis เป็น None หรือเมื่อ x เป็น iterable ที่ไม่ใช่ ndarray) หรือเป็น numpy.ndarray ที่ถูกลบแกนนั้นออก

2-norm คำนวณจาก sqrt(sum(x*x)) โดยใช้ค่าเฉลี่ยแบบ running mean ที่มีเสถียรภาพเชิงตัวเลข ดังนั้นการดำเนินการนี้จึงไม่ต้องการพื้นที่จัดเก็บเพิ่มเติมตามสัดส่วนของขนาดอินพุต

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) ตามลำดับ

ค่าที่คืนกลับ:

2-tuple (Q, R) ของออบเจกต์ numpy.ndarray ที่สอดคล้องกับ m == Q @ R โดย Q เป็น orthonormal และ R เป็นสามเหลี่ยมบน

ข้อผิดพลาดที่เกิดขึ้น:
  • TypeError -- หาก m ไม่ใช่ numpy.ndarray

  • ValueError -- หาก m ไม่ใช่สองมิติ หรือ mode ไม่ใช่ค่าที่ยอมรับ

การ decomposition นี้ถูกนำไปใช้งานผ่านการหมุน Givens แบบต่อเนื่อง