[发明专利]一种高精度PSPIKE+求解器在审
申请号: | 202010497233.2 | 申请日: | 2020-06-04 |
公开(公告)号: | CN111723534A | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 王茜蒨;刘海达;彭中 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F30/28 | 分类号: | G06F30/28;G06F113/08;G06F119/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高精度 pspike 求解 | ||
1.一种高精度PSPIKE+求解器,其特征是该方法包括如下步骤:
(1)对线性系统矩阵进行重排和分割
高精度PSPIKE+求解器需要优化系统矩阵的对角占优性质以及系统矩阵的带宽,以提高求解器的求解精度和求解速度。其中,系统矩阵的对角占优性质会直接影响三角分解(LU分解)结果的精度。同时,系统矩阵的带宽越小,各个子系统之间的重叠区域越小,计算机的资源消耗越低。为实现矩阵对角增强及带宽降低,按照“先对角增强,后带宽降低”的顺序,分别对系统矩阵和右手边进行重排。为了对重排前后的线性系统做区分,假设重排前的线性系统为Fe=h,重排后的线性系统为Ax=b。重排后,根据带宽和分区数量,将线性系统分割为p个互相重叠的线性子系统,分割后第i个子系统通常表示为
其中,Ai为第i个子系统的系统矩阵;xi为第i个子系统的求解结果;bi为第i个子系统的右手边;yit和yib为第i个子系统右手边中的顶部重叠区域和底部重叠区域的未知向量,用于表示第i-1个子系统与第i+1个子系统对第i个子系统的影响。
(2)计算耦合矩阵与逆矩阵
为提高求解器的求解速度,引入表示以及第i个与第i-1个子系统关系的耦合矩阵Ali,第i个与第i+1个子系统关系的耦合矩阵Ari。
其中,矩阵Ai22、Ai21和Ai23分别代表第i个子系统矩阵的对应部分。
对Ai求逆,得到逆矩阵
高精度PSPIKE+求解器仅需要计算逆矩阵的一部分,包括矩阵Bi11、Bi13、Bi31和Bi33。这些矩阵可以利用简化的求逆过程直接获得,简化的求逆过程详见具体实施方式。
(3)构建平衡系统
线性系统Ax=b中第i-1、i和i+1个互相重叠的子系统如下所示
第i-1个子系统底部τi(τi表示向量xi1的长度)行与第i个子系统顶部τi行重叠,且第i+1个子系统顶部τi+1行与第i个子系统底部τi+1行重叠,因此第i-1和i+1个子系统的结果会受到第i个子系统结果的影响。为消除第i个子系统对第i-1和i+1个子系统的影响,需要引入向量yi-1b和yi+1t
其中,向量xi1的长度与向量yi-1b相同,向量xi3的长度与向量yi+1t相同,向量xi2的长度与向量yi-1b和yi+1t不同。因为上述公式中包含向量长度与yi-1b和yi+1t不同的xi2,所以难以直接利用上述公式构建平衡系统。为消去向量xi2,对不包含向量yib和yit的第i个子系统进行变形
将变形后的第i个子系统代入线性系统Ax=b中
结合向量yi-1b和yi+1t的定义,可以得到向量yi-1b和yi+1t不包含xi2的计算公式
上述公式中除却待求解向量yi-1b和yi+1t,还包含未知向量xi1和xi3。而在平衡系统中,除待求解向量以外,不能存在其他未知向量。为此,在第i个子系统的两侧同时乘上逆矩阵Bi,提取其中顶部τi行和底部τi+1行,得到xi1和xi3的表达式
为提高计算速度,引入向量btit和btib,计算公式为
将向量xi1和xi3的表达式代入到向量yi-1b和yi+1t的表达式中相应位置,可以得到仅包含未知向量yib和yit的公式
根据上述公式,可构建用于求解形如My=g的平衡系统,其中向量y包含子向量yib和yit。
(4)求解平衡系统
平衡系统的求解器采用BICG迭代求解方法,并在传统BICG法的基础上,将运算M×pvj和MT×pvtj分别转换为对向量pvj和pvtj执行的不包含矩阵M和MT的运算。由于矩阵M和MT由耦合矩阵和逆矩阵组成,而耦合矩阵和逆矩阵的计算过程占用大量系统内存。因此,不使用矩阵M和MT可以避免耦合矩阵和逆矩阵的计算,进而降低求解器对内存的占用。
为了降低内存的占用,对运算M×pvj和MT×pvtj进行替换,替换的运算过程包含如下步骤:矩阵M和MT由多个子矩阵拼接而成,不计算各个子矩阵,分别将矩阵M和MT按行划分为p个子矩阵(第i个子矩阵包含2×τi行),除去第i个子矩阵中全为零的部分(不包含任何矩阵的部分),得到矩阵Mi和MTi;矩阵M和MT的各个子矩阵均可用包含耦合矩阵和逆矩阵的表达式表达,根据矩阵M和MT各个子矩阵的表达式,结合矩阵Mi和MTi在M和MT中的位置,获取矩阵Mi和MTi的表达式;分别将向量pvj和pvtj分割为p组子向量yib和yit,并分别按向量yi-1t、yi-1b、yit、yib、yi+1t和yi+1b以及yi-1b、yit、yib和yi+1t的顺序组成列向量ymi和ymti;矩阵Mi和MTi表达式的右侧分别乘上向量ymi和ymti,并利用表达式,计算Mi×ymi和MTi×ymti的结果,得到向量Cyit和Cyib以及Ctyit和Ctyib;按先Cyit后Cyib或者先Ctyit后Ctyib的顺序,合并各组向量Cyit和Cyib以及Ctyit和Ctyib,合并结果即为乘法运算M×pvj和MT×pvtj的结果。其中,Mi和MTi的表达式以及向量Cyit、Cyib、Ctyit和Ctyib的定义与矩阵M(MT)的具体结构有关,详见具体实施方式。
上述运算过程中仅使用矩阵M和MT的子矩阵Mi和MTi的表达式,并未直接使用由耦合矩阵和逆矩阵组成的M和MT。但是,Mi×ymi和MTi×ymti的表达式中依旧包含耦合矩阵和逆矩阵的部分子矩阵(Ari、Ali、Bi11、Bi13、Bi31和Bi33)右乘向量的运算。为避免矩阵Ari、Ali、Bi11、Bi13、Bi31和Bi33的使用,利用如下公式,对于Mi×ymi和MTi×ymti中耦合矩阵和逆矩阵右乘向量的运算过程进行替代
其中,假设yitrpi为运算过程中,耦合矩阵和逆矩阵右乘的向量。
采用上述M×pvj和MT×pvtj替换运算的平衡系统迭代求解方法包含如下步骤:利用预设的初始结果或上一次的迭代求解结果,分别计算向量rj、rtj、pvj和pvtj;利用M×pvj和MT×pvtj的替换运算,计算矩阵M和MT分别右乘向量pvj和pvtj的结果;利用M×pvj的运算结果,结合向量rj,计算步长参数α;以pvj为梯度方向,以α为步长,计算更准确的迭代求解结果;利用M×pvj和MT×pvtj的运算结果,在向量rj和rtj的基础上,结合步长参数αj+1,计算向量rj+1和rtj+1;重复上述步骤,直到向量rj+1的范数小于收敛阈值,或迭代次数已达上限,输出迭代次数j_last以及迭代求解结果yj_last。
(5)并行求解子系统
为计算第i个子系统中右手边,将平衡系统的求解结果yj_last分割为i组向量yit和yib(长度分别为τi-1和τi),并将yit和yib代入到第i个子系统右手边表达式中相应位置处进行计算。在得到第i个子系统右手边后,对第i个子系统进行求解,以获取求解结果xi。其中,各子系统的求解过程相互独立,便于使用并行计算方法进行加速。
(6)合并子系统求解结果
为获取线性系统Ax=b的求解结果x,对子系统的求解结果xi进行合并。对于子系统结果之间的重叠部分,取平均值以降低误差。在合并求解结果xi后,按“先带宽降低,后对角增强”的顺序,对合并结果进行反向重排,得到反向重排后的求解结果e。
(7)外置迭代求解
利用直接求解过程(步骤(1)到(6))可以得到运算F-1×h的结果。为提高结果的准确性,将直接求解过程代入到外置BICG迭代求解器中。在含预处理过程的BICG迭代求解器中需要计算F-1×rj+1和(FT)-1×rtj+1。其中,将向量rj+1作为h,代入直接求解过程中,可得F-1×rj+1的结果。如果在步骤(1)中先对矩阵F执行转置运算,再进行矩阵重排,然后顺序执行步骤(2)到(6),可得(FT)-1×rtj+1的结果。
外置BICG迭代求解器的主要流程为:利用BICG迭代方法的计算公式,结合预设的初始结果或上一次的迭代求解结果,计算向量rj+1、rtj+1、pvj+1和pvtj+1;利用直接求解器,分别计算F-1×rj+1和(FT)-1×rtj+1的结果zj+1和ztj+1;利用向量zj+1、rtj+1、pvj+1和矩阵F,计算BICG算法中的步长参数αj+1;以pvj为梯度方向,αj+1为步长,计算更为准确的迭代求解结果;重复以上步骤,直到向量rj+1的范数小于收敛阈值或超过最大迭代次数,停止迭代,输出迭代次数j_last及迭代求解结果。
2.基于商业数学计算软件Matlab R2019b及PARDISO 6.0.0实现高精度PSPIKE+求解器。根据权利要求1所述的一种高精度PSPIKE+求解器的实现方法,其特征在于:引入耦合矩阵,用于表征子系统内部关系;结合耦合矩阵及部分逆矩阵,提出一种新的平衡系统构建方法,用于提高求解结果的准确性;根据平衡系统的构建方法,提出一种新的迭代求解方式,以降低内存占用,并节约耦合矩阵及部分逆矩阵计算时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010497233.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种稳定性高的管桩构造
- 下一篇:一种污水生物过滤装置