基于超节点LDL分解的大规模结构计算.docx

基于超节点LDL分解的大规模结构计算.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

基于超节点LDL分解的大规模结构计算

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

赖智超罗晓群张其林

摘要:采用列压缩稀疏(CompressedSparseColumn,CSC)矩阵存储策略对矩阵LDL分解前进行填充元优化排序;基于消去树进行LDL符号分解,使之独立于数值分解,避免多余的内存消耗,减少不必要的数值运算.利用矩阵非零元的分布特性分析并实现超节点LDL分解算法,将稀疏矩阵的分解运算变为一系列稠密矩阵运算,并使用优化的BLAS函数库加速分解.测试表明:算法在成倍地提高计算速度的同时进一步降低内存消耗,适用于大规模的结构计算.

关键词:稀疏矩阵;LDL分解;消去树;符号分解;超节点

中图分类号:TP301

文献标志码:B

现代结构工程的计算经有限元法处理后往往归结为一个规模庞大的线性代数方程组的求解.大规模的矩阵存储和快速的求解是制约大型结构计算的关键.

稀疏矩阵是指矩阵中大多数数值为零的矩阵.对于较大规模的稀疏矩阵,非零元占总元素个数比例非常小.结构分析中得到的矩阵就是一个具有很好特性的对称正定(SymmetricPositiveDefinite,SPD)稀疏矩阵.本文的关注点是结构工程中的SPD稀疏矩阵的直接法求解计算.目前,已经有不少稳定高效的求解库,如csparse,taucs,cholmod和superLU等,它们主要是使用cholesky分解和LU分解将稀疏矩阵A分解为LLT或

LU的形式.由于分解后的L中非零元相对于A会增多,所以称之为“填充元”.[1]因此,一般将稀疏矩阵的分解分为2部分:计算填充元的位置,称之为“符号分解”;进行实际的数值分解计算,称之为“数值分解”.

第一个通用快速SPD稀疏矩阵求解器实现库是SPARSPAK库[2],具有里程碑的意义.随后,稀疏矩阵快速直接解法的算法研究与图论算法紧密结合,如消去树[3]性质研究、最小度算法[4]和图剖分算法[5]等,同时算法的高效性还充分考虑到计算机硬件的内存布局和cache命中率等,因此稀疏矩阵算法得到迅速发展,已经是一个集工程结构、计算数学和计算机应用科学于一体的综合性学术研究领域.

本文采用列压缩稀疏(CompressedSparseColumn,CSC)矩阵存储[6]策略,对矩阵LDL分解前进行优化排序减少填充元,基于消去树进行LDL符号分解,使之独立于LDL数值分解.由于非零元相同的稀疏矩阵符号分解结果相同,因此可以重复使用,避免多余的内存消耗,减少不必要的数值运算.进一步充分利用矩阵非零元的分布特性,分析并实现超节点LDL分解算法,使稀疏矩阵的分解运算转变成一系列稠密矩阵运算,并使用优化的BLAS函数库加速分解,在成倍地提高计算速度的同时进一步降低内存消耗,适用于大规模结构计算问题.

1稀疏三角系统Lx=b的求解

本节讨论稀疏三角系统Lx=b的求解,其中:

L为稀疏下三角矩阵,b为稀疏向量.该算法是矩阵分解算法内部的基本运算子单元,拥有高效的稀疏右端项求解算法,直接影响矩阵分解算法的效率,因而具有重要意义.

1.1求解原理

因为CSC格式存储矩阵的特点是能够快速地读取一列中的元素,因此算法以列的方式对矩阵操作,提高求解速度.式(1)~(3)可以满足要求.

由于右端项b是稀疏的,因此解x大多也是稀疏的.所以,首先要快速地判断求解结果x中非零元的位置模式,之后采用式(1)~(3)求解x.

1.2非零元位置模式求解算法

该问题可以抽象为一个图论数学模型——有向图的可达性遍历[7],其中,

有向图G构建方式为

摘要:采用列压缩稀疏(CompressedSparseColumn,CSC)矩阵存储策略对矩阵LDL分解前进行填充元优化排序;基于消去树进行LDL符号分解,使之独立于数值分解,避免多余的内存消耗,减少不必要的数值运算.利用矩阵非零元的分布特性分析并实现超节点LDL分解算法,将稀疏矩阵的分解运算变为一系列稠密矩阵运算,并使用优化的BLAS函数库加速分解.测试表明:算法在成倍地提高计算速度的同时进一步降低内存消耗,适用于大规模的结构计算.

关键词:稀疏矩阵;LDL分解;消去树;符号分解;超节点

中图分类号:TP301

文献标志码:B

现代结构工程的计算经有限元法处理后往往归结为一个规模庞大的线性代数方程组的求解.大规模的矩阵存储和快速的求解是制约大型结构计算的关键.

稀疏矩阵是指矩阵中大多数数值为零的矩阵.对于较大规模的稀疏矩阵,非零元占总元素个数比例非常小.结构分析中得到的矩阵就是一个具有很好特性的对称正定(SymmetricPositiveDefinite,SPD)稀疏矩阵.本文的关注点是结构工程中的SPD稀疏矩阵的直接法求解计算.目前

您可能关注的文档

文档评论(0)

136****6482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档