python - 检查大矩阵是否是python中的对角矩阵

标签 python numpy matrix

我计算了一个非常大的矩阵 M,其中包含许多退化特征向量(具有相同特征值的不同特征向量)。我使用 QR 分解来确保这些特征向量是正交的,因此 Q 是 M 的正交特征向量,并且 Q^{-1}MQ = D,其中 D 是对角矩阵。现在我想检查D是不是真对角矩阵,但是打印D的时候矩阵太大显示不出来,怎么知道是不是真对角矩阵?

最佳答案

去掉对角线,统计非零元素:

np.count_nonzero(x - np.diag(np.diagonal(x)))

关于python - 检查大矩阵是否是python中的对角矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43884189/

相关文章:

python - 如何将此 Python 代码转换为 ColdFusion 代码?

python - NumPy 的 logical_and.reduce 的内部工作原理

python - 使用 sqlalchemy 时出现溢出错误

python - 在 Django 中显示数据

python - 将 Matplotlib 图形保存为全屏图像

Python:对体素组件进行网格划分以计算表面积

python - tf.Estimator 训练后检索张量 (Numpy) 值

c++ - 生成 "unique"矩阵

c - 尝试调整二维数组大小时出现段错误

c - 如何循环矩阵 block ?