Hello,

Parallel implementation of Conjugate Gradient Linear System Solver

1.0

Description:

The Parallel implementation of Conjugate

Gradient Linear System Solver that i programmed here is designed to be used to

solve large sparse systems of linear equations where the direct methods can

exceed available machine memory and/or be extremely time-consuming. for example

the direct method of the Gauss algorithm takes O(n^2) in the back substitution

process and is dominated by the O(n^3) forward elimination process, that means,

if for example an operation takes 10^-9 second and we have 1000 equations , the

elimination process in the Gauss algorithm will takes 0.7 second, but if we have

10000 equations in the system , the elimination process in the Gauss algorithm

will take 11 minutes !. This is why i have develloped for you the Parallel

implementation of Conjugate Gradient Linear System Solver in Object Pascal, that

is very fast.

Jacobi serial complexity is O(N^2) and Conjugate gradient serial complexity

= O(N^3/2).

You can download Parallel implementation of Conjugate Gradient Linear

System Solver 1.0 from:

http://pages.videotron.com/aminer/

Please look at the test.pas example inside the zip file, compile and

execute it...

Language: FPC Pascal v2.2.0+ / Delphi 7+: http://www.freepascal.org/

Operating Systems: Win , Linux and Mac (x86).

Note: to be able to port to Linux and Mac OSX you have to compile the

dynamic libraries...

Required FPC switches: -O3 -Sd -dFPC -dWin32 -dFreePascal

-Sd for delphi mode....

-dUnix for Linux,MacOSX etc.

Required Delphi switches: -DMSWINDOWS -$H+ -DDelphi

And inside defines.inc you have two defines:

{$DEFINE CPU32} for 32 bits systems

{$DEFINE CPU64} for 64 bits

systems

Thank you.

Amine Moulay Ramdane.