Numpy - 计算对角线的乘积

GPB*_*GPB 2 python numpy matrix

新手问题:假设我有一个矩阵 A,是否有一个 numpy 函数可以计算 A 的对角线元素的乘积?

例如:

在此输入图像描述

其中,X(i,i) 是矩阵的对角积。

Nei*_*bst 5

您可以使用diagonalprod方法:

import numpy as np
a = np.matrix([[1, 1, 1],
             [1, 2, 3],
             [3, 3, 3]])

prod_diag = a.diagonal().prod()
print(prod_diag)
# gives 6 as answer
Run Code Online (Sandbox Code Playgroud)

diagonal将矩阵的对角线分量作为一维数组返回,并prod计算数组所有元素的乘积。