如何使用numpy将对角线元素彼此相乘?

时间:2019-03-13 12:14:58

标签: python numpy matrix

出于本练习的目的,让我们考虑一个矩阵,其中如果m_{i, j}m_{i, j} = i*j则规则i == j给出元素0

是否有一种简便的“ numpy”方式来计算这种矩阵,而不必借助if语句来检查索引?

3 个答案:

答案 0 :(得分:1)

如果将预期的对角线作为一维数组作为输入,则可以使用numpy函数diag来构造对角线矩阵。

因此,您只需要创建一个像[i**2 for i in range (N)]N那样的矩阵尺寸即可。

答案 1 :(得分:0)

假设您有一个平方矩阵,可以执行以下操作:

<link rel="icon" href="data:,">

答案 2 :(得分:0)

您可以使用numpy.identity(n)给定的单位矩阵,然后将其乘以n维向量。