Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- SSOR preconditioner in RCI

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

Meysam_J_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

11-26-2013
01:39 AM

12 Views

SSOR preconditioner in RCI

Hi all,

I have a question related to the SSOR precondtioner for the cg algorithm, and would appreciate it if someone can help me with that.

The system of equation in my case is symmetric positive and it is stored in CSR format (3 array version). My cg solver is based on RCI from MKL. I already have Jacobi preconditioner implemented which, works fine. For the SSOR, there is an example in mkl/example directory, but I cannot really understand the example. That example assumes the the diagonal of the equation system is identity matrix. There is an iterative section in the example which I do not understand!

Let me explain the SSOR which I know:

M rho = r where r is the current residual (&tmp[2n] in rci) , rho is the modified residual (&tmp[3n]), and M is the precondtioner.

The SSOR precondtioner is as follows [SAAD2002]

M = LU

To solve the above equation system we do the following

1. Solve L z = r where L = (D-wE)*D^-1 = I-wED^-1

2. Solve U rho = z where U = D-wF

where: D = diagonal of A -E = strict lower triangular part of A -F = strict upper triangular part of A w = parameter in SOR method; should be 0<w<2 (if w=1, this is the Symmetric Gauss-Seidel (SGS) preconditioner

now the question is, I don't understand how to implement this! Do I need to store L, U and D separately? Or is there a way to take advantage of the mkl Blas function to do that more efficiently?

Thank you so much guys for any hint.

Regards,Meysam

0 Replies

For more complete information about compiler optimizations, see our Optimization Notice.