算法调试启示
经过几天迷茫中的试探与不懈的努力,终于找到了阶数守恒H型矩阵乘法(level conserving H-matrix multiplication)在使用与精确计算结果相同的矩阵秩(rank)参数的情况下依旧无法达到机器精度(machine precision)的原因:即,叶节点矩阵的秩会在成对格式加法(pairwise formatted addition)中逐渐增加,从而导致预先设定的固定秩不再够用。此外,亦发现导致H型矩阵的秩与将其转换为满阵后的秩不一致的问题乃由输出数据的精度不够导致,而非理论理解错误或算法实现上的问题。
由此看来,尽管在理论层面上搞清了数学算法内在的逻辑推演关系,但对其从理性上的确认到情感上的理解则需要通过理论与实践的结合才能实现。这里所说的“情感上的理解”包括:1、对不同数量之间关系的定性把握与感受;2、抛开纯粹逻辑后对理论形象而生动的理解。其中,前者反映我们对领域知识的熟悉程度,就像是乐器演奏中的肌肉记忆。后者虽然并非理论的本质,但却是将理论转化为真正能被我们掌握的智慧的必由之路。
更多阅读:《形象与情感的理解层》、《被封的谷歌与大师之路》
Backlinks: 《程序调试与反问题》