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

