MAGMA  2.0.0
Matrix Algebra for GPU and Multicore Architectures
single precision

Functions

magma_int_t magma_sjacobisetup_matrix (magma_s_matrix A, magma_s_matrix *M, magma_s_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_sjacobisetup_diagscal (magma_s_matrix A, magma_s_matrix *d, magma_queue_t queue)
 It returns a vector d containing the inverse diagonal elements. More...
 
magma_int_t magma_sjacobisetup_vector (magma_s_matrix b, magma_s_matrix d, magma_s_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_sjacobisetup (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *M, magma_s_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_sjacobiiter (magma_s_matrix M, magma_s_matrix c, magma_s_matrix *x, magma_s_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_sjacobiiter_precond (magma_s_matrix M, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_sjacobiiter_sys (magma_s_matrix A, magma_s_matrix b, magma_s_matrix d, magma_s_matrix t, magma_s_matrix *x, magma_s_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_sjacobiiter ( magma_s_matrix  M,
magma_s_matrix  c,
magma_s_matrix *  x,
magma_s_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_s_matrix input matrix M = D^(-1) * (L+U)
[in]cmagma_s_matrix c = D^(-1) * b
[in,out]xmagma_s_matrix* iteration vector x
[in,out]solver_parmagma_s_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobiiter_precond ( magma_s_matrix  M,
magma_s_matrix *  x,
magma_s_solver_par *  solver_par,
magma_s_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_s_matrix input matrix M = D^(-1) * (L+U)
[in,out]xmagma_s_matrix* iteration vector x
[in,out]solver_parmagma_s_solver_par* solver parameters
[in]precondmagma_s_precond_par* precond parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobiiter_sys ( magma_s_matrix  A,
magma_s_matrix  b,
magma_s_matrix  d,
magma_s_matrix  t,
magma_s_matrix *  x,
magma_s_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_s_matrix input matrix M = D^(-1) * (L+U)
[in]bmagma_s_matrix input RHS b
[in]dmagma_s_matrix input matrix diagonal elements diag(A)
[in]tmagma_s_matrix temporary vector
[in,out]xmagma_s_matrix* iteration vector x
[in,out]solver_parmagma_s_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobisetup ( magma_s_matrix  A,
magma_s_matrix  b,
magma_s_matrix *  M,
magma_s_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_s_matrix input matrix A
[in]bmagma_s_matrix RHS b
[in]Mmagma_s_matrix* M = D^(-1) * (L+U)
[in]cmagma_s_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobisetup_diagscal ( magma_s_matrix  A,
magma_s_matrix *  d,
magma_queue_t  queue 
)

It returns a vector d containing the inverse diagonal elements.

Parameters
[in]Amagma_s_matrix input matrix A
[in,out]dmagma_s_matrix* vector with diagonal elements
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobisetup_matrix ( magma_s_matrix  A,
magma_s_matrix *  M,
magma_s_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_s_matrix input matrix A
[in]Mmagma_s_matrix* M = D^(-1) * (L+U)
[in,out]dmagma_s_matrix* vector with diagonal elements of A
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_sjacobisetup_vector ( magma_s_matrix  b,
magma_s_matrix  d,
magma_s_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_s_matrix RHS b
[in]dmagma_s_matrix vector with diagonal entries
[in]cmagma_s_matrix* c = D^(-1) * b
[in]queuemagma_queue_t Queue to execute in.