Hàm numpy.linalg.matrix_power() nâng ma trận vuông lên lũy thừa n. Với n>0: nhân ma trận lặp lại; n=0: trả về ma trận đơn vị; n<0: tính nghịch đảo rồi lũy thừa |n|.
Ví dụ: lũy thừa 0 (ma trận đơn vị)
import numpy as np
from numpy.linalg import matrix_power
# Ma trận đơn vị ảo: [[0, 1], [-1, 0]]
arr = np.array([[0, 1],
[-1, 0]])
print("Ma trận:", arr)
print("Số chiều:", arr.ndim)
print("Kiểu dữ liệu:", arr.dtype)
print("Kích thước:", arr.shape)
# Lũy thừa 0 -> ma trận đơn vị
result = matrix_power(arr, 0)
print("Kết quả (m^0):", result)
Kết quả
Ma trận: [[ 0 1]
[-1 0]]
Số chiều: 2
Kiểu dữ liệu: int64
Kích thước: (2, 2)
Kết quả (m^0): [[1 0]
[0 1]]
Bất kỳ ma trận vuông nào lũy thừa 0 đều cho ma trận đơn vị cùng kích thước.