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หรือrangeaxis -- แกนเสริมที่ใช้คำนวณค่า 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.ndarrayValueError -- หาก m ไม่ใช่สองมิติ หรือ mode ไม่ใช่ค่าที่ยอมรับ
การ decomposition นี้ถูกนำไปใช้งานผ่านการหมุน Givens แบบต่อเนื่อง