哪位大佬能介绍一下matrix-free方法?

搞流体模拟的隐式粘度求解器,直接求解线性系统是真算不动啊。网上没搜到很直观的关于matrix-free方法的介绍啊555(具体如 matrix-free conjugate gradient。有好一些的参考资料吗?)

Matrix-free 的求解器可以参考一下 Scipy 的文档:scipy.sparse.linalg.LinearOperator — SciPy v1.10.1 Manual

目前 Taichi 里也有了一个 matrix-free 的 CG 求解器:[lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang by houkensjtu · Pull Request #7690 · taichi-dev/taichi · GitHub

使用方法暂时可以参考测试脚本:taichi/test_taichi_cg.py at master · taichi-dev/taichi · GitHub

简单说就是你可以定义一个 LinearOperator 来代替矩阵 A ,然后传入 CG 求解器来求解方程组。有问题的话欢迎继续讨论!

1 Like

非常感谢,我先学习学习~