Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำนวณค่าผกผันของหลายเมทริกซ์พร้อมกันใน Python ด้วย numpy.linalg.inv()

เมธอด numpy.linalg.inv() รองรับการคำนวณ inverse ของหลายเมทริกซ์พร้อมกัน (batch) โดยรับอาร์เรย์ 3 มิติที่แต่ละชิ้นเป็นเมทริกซ์กำลังสอง คืนค่าอาร์เรย์ inverse ของแต่ละเมทริกซ์

ขั้นตอนการใช้งาน

import numpy as np
from numpy.linalg import inv

สร้างอาร์เรย์ 3 มิติประกอบด้วย 2 เมทริกซ์ 2x2

arr = np.array([[[1., 2.], [3., 4.]], [[1, 3], [3, 5]]])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nShape of our Array object...\n", arr.shape)

คำนวณ inverse ของทั้งสองเมทริกซ์

print("\nResult...\n", np.linalg.inv(arr))

โค้ดตัวอย่างสมบูรณ์

import numpy as np
from numpy.linalg import inv

arr = np.array([[[1., 2.], [3., 4.]], [[1, 3], [3, 5]]])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nShape of our Array object...\n", arr.shape)
print("\nResult...\n", np.linalg.inv(arr))

ผลลัพธ์ที่คาดหวัง

Our Array...
[[[1. 2.] [3. 4.]] [[1. 3.] [3. 5.]]]
Dimensions of our Array...
3
Datatype of our Array object...
float64
Shape of our Array object...
(2, 2, 2)
Result...
[[[-2.   1.  ]
  [ 1.5 -0.5 ]]
 [[-1.25  0.75]
  [ 0.75 -0.25]]]