提问
-------------------------------------------------------------------------------------------
你好:
在仿真科技论坛上看到你几年前的帖子(http://forum.simwe.com/thread-862713-1-2.html),请问你做过FMM吗?能不能详细讲一下为什么要做低秩逼近?
期待你的回复!谢谢!
我的回答
=====================================================
你好!
很高兴和你讨论问题。
我一直做FMM。
关于“为什么要做低秩逼近”,我可以举一个简单的例子。比如,有一个n维方阵A,并假设它可以分解成两个列向量a、b的乘积,即A=a*b^T (b^T 表示b的转置,是个行向量)。这说明方阵A的秩是1。那么,请问,如果要在计算机里存储矩阵A的话,你是直接存方阵A呢,还是只存两个向量a、b呢?前者的存储量为n*n,而后者是2*n。对于大规模计算问题,n可达上百万,那么这两种存储思路的内存消耗将会有巨大差异!同样,在进行一些矩阵运算是,直接采用A往往计算量巨大,而用两个向量a、b代替,则会大大降低计算量。
庆幸的是,一些数值方法(比如,边界元法)中形成的矩阵A具有低秩特性,因此可以采用以上的思路,有效降低存储量和计算量。
不知我的回答是否清楚?
祝好,
校金友
https://blog.sciencenet.cn/blog-299024-835536.html
上一篇:
本研究组招收硕士生、博士生、博士后下一篇:
我究竟为什么做科研?