并行共轭梯度算法的开发

0 0
  • 0 Collaborators

共轭梯度算法也叫共轭斜量法。从理论上讲它是属于直接法,但在实际计算过程中,由于不可避免地会出现误差,所以常作为迭代法使用。该方法的最大特点是,当方程组的阶数很高时,往往只要经过比阶数小得多的迭代次数,就能得到满足精度要求的近似解。 使用openMP共轭梯度算法的串行以及并行版本,并统计在不同数据规模以及不同的并行线程数下,共轭梯度算法完成运算所耗费的时间并比较。 ...learn more

Project status: Under Development

oneAPI

Intel Technologies
DevCloud, oneAPI

Code Samples [1]

Overview / Usage

使用openMP共轭梯度算法的串行以及并行版本,并统计在不同数据规模以及不同的并行线程数下,共轭梯度算法完成运算所耗费的时间并比较。

Methodology / Approach

基本思想:共轭梯度法是属于最小化类的迭代方法。为了求解Ax = b这样的一次函数,可以先构造一个二次函数

f(x)=(xTAx)/2-b^Tx

然后利用最小化原理对其求导,再令其为零。这样求解Ax = b的值可以转换为求解f(x)的最小值。

Repository

https://github.com/Csthyx/Conjugate_Gradient

Comments (0)