编写系数矩阵时的debug方法

大家好!我在做数值相关的编程时发现(并不限于Taichi)很多时候错误都发生在Ax=b的系数矩阵的计算上,有时候赋值错位,有时候漏掉一些节点的赋值等等的错误。这个时候有一个方便观察矩阵的utility就显得很重要。但是在矩阵稍大一些的情况下往往print就显得很不实用了,我个人比较喜欢的是用colormap去可视化一下,这样可以快速地定位出有问题的地方。不过自己写的可视化小代码比较简陋:

# 假设mat是一个Taichi的2维标量
def visual(mat):
    A = mat.to_numpy()
    import matplotlib.pyplot as plt
    import matplotlib.cm as cm
    # 'nearest' interpolation - faithful but blocky
    plt.imshow(A, interpolation='nearest', cmap=cm.rainbow)
    plt.colorbar()
    plt.show()

想请教一下大家在编写系数矩阵的时候都用怎样的方法来查错呢?

3 个赞