ภาพรวม
ใช้ numpy.linalg.slogdet() เพื่อคำนวณเครื่องหมาย (sign) และลอการิทึมธรรมชาติ (natural logarithm) ของดีเทอร์มิแนนต์ของเมทริกซ์
ค่าที่คืน
- sign: เครื่องหมายของดีเทอร์มิแนนต์ สำหรับเมทริกซ์จริงเป็น 1, 0, หรือ -1 สำหรับเมทริกซ์เชิงซ้อนเป็นจำนวนเชิงซ้อนที่มีค่าสัมบูรณ์ 1 หรือ 0
- logdet: ลอการิทึมธรรมชาตของค่าสัมบูรณ์ดีเทอร์มิแนนต์ หากดีเทอร์มิแนนต์เป็นศูนย์ sign=0 และ logdet=-Inf
- ความสัมพันธ์: determinant = sign * exp(logdet)
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np - สร้างเมทริกซ์
arr = np.array([[1, 2], [3, 4]]) - ตรวจสอบคุณสมบัติ
print("เมทริกซ์ของเรา...\n", arr) print("\nมิติ...\n", arr.ndim) print("\nชนิดข้อมูล...\n", arr.dtype) print("\nรูปร่าง...\n", arr.shape) - คำนวณดีเทอร์มิแนนต์ (เพื่อเปรียบเทียบ)
print("\nดีเทอร์มิแนนต์...\n", np.linalg.det(arr)) - คำนวณ sign และ logdet
sign, logdet = np.linalg.slogdet(arr) print("\nผลลัพธ์....\n", (sign, logdet))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
arr = np.array([[1, 2], [3, 4]])
print("เมทริกซ์ของเรา...\n", arr)
print("\nมิติของเมทริกซ์...\n", arr.ndim)
print("\nชนิดข้อมูลของเมทริกซ์...\n", arr.dtype)
print("\nรูปร่างของเมทริกซ์...\n", arr.shape)
print("\nดีเทอร์มิแนนต์...\n", np.linalg.det(arr))
sign, logdet = np.linalg.slogdet(arr)
print("\nผลลัพธ์....\n", (sign, logdet))
ผลลัพธ์ที่คาดหวัง
เมทริกซ์ของเรา...
[[1 2]
[3 4]]
มิติของเมทริกซ์...
2
ชนิดข้อมูลของเมทริกซ์...
int64
รูปร่างของเมทริกซ์...
(2, 2)
ดีเทอร์มิแนนต์...
-2.0000000000000004
ผลลัพธ์....
(-1.0, 0.6931471805599455)