MAGMA  2.0.2
Matrix Algebra for GPU and Multicore Architectures
single-complex precision

Functions

magma_int_t magma_cjacobisetup_matrix (magma_c_matrix A, magma_c_matrix *M, magma_c_matrix *d, magma_queue_t queue)
 Prepares the Matrix M for the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 
magma_int_t magma_cjacobisetup_diagscal (magma_c_matrix A, magma_c_matrix *d, magma_queue_t queue)
 It returns a vector d containing the inverse diagonal elements. More...
 
magma_int_t magma_cjacobisetup_vector (magma_c_matrix b, magma_c_matrix d, magma_c_matrix *c, magma_queue_t queue)
 Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 
magma_int_t magma_cjacobisetup (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *M, magma_c_matrix *c, magma_queue_t queue)
 Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 
magma_int_t magma_cjacobiiter (magma_c_matrix M, magma_c_matrix c, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
 Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 
magma_int_t magma_cjacobiiter_precond (magma_c_matrix M, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond, magma_queue_t queue)
 Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 
magma_int_t magma_cjacobiiter_sys (magma_c_matrix A, magma_c_matrix b, magma_c_matrix d, magma_c_matrix t, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
 Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. More...
 

Detailed Description

Function Documentation

magma_int_t magma_cjacobiiter ( magma_c_matrix  M,
magma_c_matrix  c,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_queue_t  queue 
)

Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

This routine takes the iteration matrix M as input.

Parameters
[in]Mmagma_c_matrix input matrix M = D^(-1) * (L+U)
[in]cmagma_c_matrix c = D^(-1) * b
[in,out]xmagma_c_matrix* iteration vector x
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobiiter_precond ( magma_c_matrix  M,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_preconditioner *  precond,
magma_queue_t  queue 
)

Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

Parameters
[in]Mmagma_c_matrix input matrix M = D^(-1) * (L+U)
[in,out]xmagma_c_matrix* iteration vector x
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]precondmagma_c_precond_par* precond parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobiiter_sys ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix  d,
magma_c_matrix  t,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_queue_t  queue 
)

Iterates the solution approximation according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

This routine takes the system matrix A and the RHS b as input.

Parameters
[in]Amagma_c_matrix input matrix M = D^(-1) * (L+U)
[in]bmagma_c_matrix input RHS b
[in]dmagma_c_matrix input matrix diagonal elements diag(A)
[in]tmagma_c_matrix temporary vector
[in,out]xmagma_c_matrix* iteration vector x
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobisetup ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  M,
magma_c_matrix *  c,
magma_queue_t  queue 
)

Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in]Mmagma_c_matrix* M = D^(-1) * (L+U)
[in]cmagma_c_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobisetup_diagscal ( magma_c_matrix  A,
magma_c_matrix *  d,
magma_queue_t  queue 
)

It returns a vector d containing the inverse diagonal elements.

Parameters
[in]Amagma_c_matrix input matrix A
[in,out]dmagma_c_matrix* vector with diagonal elements
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobisetup_matrix ( magma_c_matrix  A,
magma_c_matrix *  M,
magma_c_matrix *  d,
magma_queue_t  queue 
)

Prepares the Matrix M for the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

It returns the preconditioner Matrix M and a vector d containing the diagonal elements.

Parameters
[in]Amagma_c_matrix input matrix A
[in]Mmagma_c_matrix* M = D^(-1) * (L+U)
[in,out]dmagma_c_matrix* vector with diagonal elements of A
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cjacobisetup_vector ( magma_c_matrix  b,
magma_c_matrix  d,
magma_c_matrix *  c,
magma_queue_t  queue 
)

Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.

Returns the vector c

Parameters
[in]bmagma_c_matrix RHS b
[in]dmagma_c_matrix vector with diagonal entries
[in]cmagma_c_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.