Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #1798

Parallel implementation of Conjugate Gradient Linear System Solver 1.0

From "aminer" <aminer@videotron.ca>
Newsgroups comp.programming.threads, comp.programming
Subject Parallel implementation of Conjugate Gradient Linear System Solver 1.0
Date 2012-06-14 11:41 -0500
Organization A noiseless patient Spider
Message-ID <jrd0mp$h8o$1@dont-email.me> (permalink)

Cross-posted to 2 groups.

Show all headers | View raw


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.


Back to comp.programming | Previous | NextNext in thread | Find similar


Thread

Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 11:41 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 11:47 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 12:03 -0500
    Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 12:13 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 12:54 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 15:56 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-14 17:22 -0500
  Re: Parallel implementation of Conjugate Gradient Linear System Solver 1.0 "aminer" <aminer@videotron.ca> - 2012-06-15 09:21 -0500

csiph-web