MAGMA  2.0.0
Matrix Algebra for GPU and Multicore Architectures
double precision

Functions

magma_int_t magma_djacobisetup_matrix (magma_d_matrix A, magma_d_matrix *M, magma_d_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_djacobisetup_diagscal (magma_d_matrix A, magma_d_matrix *d, magma_queue_t queue)
 It returns a vector d containing the inverse diagonal elements. More...
 
magma_int_t magma_djacobisetup_vector (magma_d_matrix b, magma_d_matrix d, magma_d_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_djacobisetup (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *M, magma_d_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_djacobiiter (magma_d_matrix M, magma_d_matrix c, magma_d_matrix *x, magma_d_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_djacobiiter_precond (magma_d_matrix M, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_djacobiiter_sys (magma_d_matrix A, magma_d_matrix b, magma_d_matrix d, magma_d_matrix t, magma_d_matrix *x, magma_d_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_djacobiiter ( magma_d_matrix  M,
magma_d_matrix  c,
magma_d_matrix *  x,
magma_d_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_d_matrix input matrix M = D^(-1) * (L+U)
[in]cmagma_d_matrix c = D^(-1) * b
[in,out]xmagma_d_matrix* iteration vector x
[in,out]solver_parmagma_d_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobiiter_precond ( magma_d_matrix  M,
magma_d_matrix *  x,
magma_d_solver_par *  solver_par,
magma_d_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_d_matrix input matrix M = D^(-1) * (L+U)
[in,out]xmagma_d_matrix* iteration vector x
[in,out]solver_parmagma_d_solver_par* solver parameters
[in]precondmagma_d_precond_par* precond parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobiiter_sys ( magma_d_matrix  A,
magma_d_matrix  b,
magma_d_matrix  d,
magma_d_matrix  t,
magma_d_matrix *  x,
magma_d_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_d_matrix input matrix M = D^(-1) * (L+U)
[in]bmagma_d_matrix input RHS b
[in]dmagma_d_matrix input matrix diagonal elements diag(A)
[in]tmagma_d_matrix temporary vector
[in,out]xmagma_d_matrix* iteration vector x
[in,out]solver_parmagma_d_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobisetup ( magma_d_matrix  A,
magma_d_matrix  b,
magma_d_matrix *  M,
magma_d_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_d_matrix input matrix A
[in]bmagma_d_matrix RHS b
[in]Mmagma_d_matrix* M = D^(-1) * (L+U)
[in]cmagma_d_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobisetup_diagscal ( magma_d_matrix  A,
magma_d_matrix *  d,
magma_queue_t  queue 
)

It returns a vector d containing the inverse diagonal elements.

Parameters
[in]Amagma_d_matrix input matrix A
[in,out]dmagma_d_matrix* vector with diagonal elements
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobisetup_matrix ( magma_d_matrix  A,
magma_d_matrix *  M,
magma_d_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_d_matrix input matrix A
[in]Mmagma_d_matrix* M = D^(-1) * (L+U)
[in,out]dmagma_d_matrix* vector with diagonal elements of A
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_djacobisetup_vector ( magma_d_matrix  b,
magma_d_matrix  d,
magma_d_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_d_matrix RHS b
[in]dmagma_d_matrix vector with diagonal entries
[in]cmagma_d_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.