Friday, October 24, 2014

Digest for comp.programming.threads@googlegroups.com - 3 updates in 2 topics

comp.programming.threads@googlegroups.com Google Groups
Unsure why you received this message? You previously subscribed to digests from this group, but we haven't been sending them for a while. We fixed that, but if you don't want to get these messages, send an email to comp.programming.threads+unsubscribe@googlegroups.com.
Ramine <ramine@1.1>: Oct 23 02:02PM -0700

Hello,
 
 
I have read this thesis in Mathematis and statistics about
conjugate gradients solver with incomplete Cholesky factorization:
 
http://repositories.tdl.org/ttu-ir/bitstream/handle/2346/47490/KENNEDY-THESIS.pdf?sequence=2
 
 
You will notice that the preconditionner with the incomplete Cholesky
factorization will give around 2x to 3x improvement on the number of
iterations...
 
But as you have noticed i have not used a preconditionner for
my conjugate gradiants system solver cause it's already a parallel solver:
 
https://sites.google.com/site/aminer68/parallel-implementation-of-conjugate-gradient-linear-system-solver
 
 
But if you want me to implement a precondtionner that's easy:
 
So to solve a linear system of linear equations:
 
A*x = b [1]
 
we have to first use incomplete Cholesky factorization on A
this will give us A := R*Transpose(R)
 
Note: Tanspose(R) means the matrix transpose of R
and Inverse(M) means the inverse of the matrix
 
[1] equal to inverse(M)*A = inverse(M)*b
 
M is equal to R*Transpose(R)
 
So after resolving, this will give:
 
Inverse(Transpose(R))*A*Inverse(R)*R*x = Inverse(Transpose(R))*b
 
So we have to resolve the following system of equations:
 
A1*x1=b1
 
where A1=Inverse(Transpose(R))*A*Inverse(R)
 
and x1=R*x
and b = Inverse(Transpose(R))*b
 
 
So we have to apply the conjugate gradients solver to the system:
 
A1*x1=b1
 
 
And after that we have to resolve the system R*x=x1 to find the vector x
 
So we have to parallelize the calculation of the determinant of
a matrix to calculate the inverse of a matrix and we have to parallelize
the calculation of the incomplete Cholesky factorization,
and that's not so difficult for me.
 
That's how the system will be preconditionned to accelerate the
convergence and that's will give a 2x to 3x improvement on the number of
iterations..
 
And as you have noticed also that i am using arrays to implement my
parallel conjugate gradiant solver, but arrays do take too much memory
even if the matrix is more sparse, but i have decided to implement it
like that with arrays, so a matrix of 100000 by 100000 elements will
take around 64 Gbytes of memory, so you have to have a computer with 32
Gbytes of memory or more to be able to solve large industrial problems
with my parallel Parallel Conjugate gradient linear system solver.
To use much less memory i have to use linklists , but linklists
are not parallel freindly with my parallel algorithm, they will
be too CPU expensive , hence too slow, so this is why i have decided
to keep using arrays in my parallel conjugate gradiant algorithm
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 23 02:33PM -0700

Hello,
 
To solve large insdustrial problems , you have to compile my Parallel
conjugate gradient linear system solver library to a 64bit binary form
and you have to have a 32Gbytes of memory or more in your
computer as i have just explained to you
 
You can download my Parallel Conjugate gradient system solver library from:
 
https://sites.google.com/site/aminer68/parallel-implementation-of-conjugate-gradient-linear-system-solver
 
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 23 01:03PM -0700

Hello,
 
 
As you have noticed i have implemented a multiple linear regression
program here:
 
https://sites.google.com/site/aminer68/multiple-linear-regression
 
 
And since i am using an optimized LU factorization method that uses SSE2
instructions to compute the inverse matrix, this will give a more
numerically stable method to compute the inverse.
 
Cause LU factorization is a more numerically stable method, read here:
 
 
http://www.metacademy.org/graphs/concepts/lu_factorization
 
 
 
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com.

No comments: