python 判断是否对角矩阵
时间: 2023-07-12 10:12:26 浏览: 355
python 实现矩阵对角线之和
5星 · 资源好评率100%
判断一个矩阵是否为对角矩阵,就是判断矩阵除了对角线上的元素以外,其余元素是否全为零。可以使用以下代码来实现:
```python
import numpy as np
def is_diagonal_matrix(matrix):
"""
判断矩阵是否为对角矩阵
"""
rows, cols = matrix.shape
for i in range(rows):
for j in range(cols):
if i != j and matrix[i][j] != 0:
return False
return True
```
其中,`matrix` 为输入的矩阵,`shape` 函数用于获取矩阵的行数和列数。遍历矩阵的每一个元素,如果不在对角线上且不为零,则矩阵不是对角矩阵,返回 False。如果所有元素都符合要求,则矩阵是对角矩阵,返回 True。
另外,也可以使用 `numpy` 库提供的 `numpy.diag` 函数来判断一个矩阵是否为对角矩阵。该函数可以取出矩阵的对角线元素,返回一个一维数组,如果该数组与原矩阵的对角线元素相同,则该矩阵为对角矩阵。具体实现方法如下:
```python
import numpy as np
def is_diagonal_matrix(matrix):
"""
判断矩阵是否为对角矩阵
"""
diagonal = np.diag(matrix)
return np.array_equal(diagonal, matrix)
```
其中,`diag` 函数用于取出矩阵的对角线元素,`array_equal` 函数用于比较两个数组是否相等。如果取出的对角线元素与原矩阵的对角线元素相同,则返回 True,否则返回 False。
阅读全文