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]]