Python中的diag
函數是NumPy庫中的一個函數,用于從給定的二維數組中提取對角線元素,或者創建一個新的二維數組,其對角線元素為給定的一維數組
v
:輸入的一維數組。如果未提供此參數,則返回一個單位矩陣。k
:可選參數,表示要提取或創建的對角線的偏移量。默認值為0,表示主對角線。正值表示上對角線,負值表示下對角線。示例:
import numpy as np
# 創建一個二維數組
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 提取主對角線元素
main_diag = np.diag(a)
print("Main diagonal:", main_diag)
# 提取上對角線元素(k=1)
upper_diag = np.diag(a, k=1)
print("Upper diagonal:", upper_diag)
# 提取下對角線元素(k=-1)
lower_diag = np.diag(a, k=-1)
print("Lower diagonal:", lower_diag)
# 使用一維數組創建一個新的二維數組,其對角線元素為給定的一維數組
b = np.diag([1, 2, 3])
print("New array with diagonal elements:")
print(b)
輸出:
Main diagonal: [1 5 9]
Upper diagonal: [2 6]
Lower diagonal: [4 8]
New array with diagonal elements:
[[1 0 0]
[0 2 0]
[0 0 3]]