MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures

## Functions

magma_int_t magma_zqr (magma_int_t m, magma_int_t n, magma_z_matrix A, magma_int_t lda, magma_z_matrix *Q, magma_z_matrix *R, magma_queue_t queue)
This is a wrapper to call MAGMA QR on the data structure of sparse matrices. More...

magma_int_t magma_zbpcg (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zcg (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zcg_merge (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex matrix A. More...

magma_int_t magma_zcg_res (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zcgs_merge (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zidr_merge (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A. More...

magma_int_t magma_zidr_strms (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A. More...

magma_int_t magma_zpcg_merge (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex matrix A. More...

magma_int_t magma_zpidr_merge (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zpidr_strms (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

magma_int_t magma_zptfqmr (magma_z_matrix A, magma_z_matrix b, magma_z_matrix *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue)
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...

## Function Documentation

 magma_int_t magma_zqr ( magma_int_t m, magma_int_t n, magma_z_matrix A, magma_int_t lda, magma_z_matrix * Q, magma_z_matrix * R, magma_queue_t queue )

This is a wrapper to call MAGMA QR on the data structure of sparse matrices.

Output matrices Q and R reside on the same memory location as matrix A. On exit, Q is a M-by-N matrix in lda-by-N space. On exit, R is a min(M,N)-by-N upper trapezoidal matrix.

Parameters
 [in] m magma_int_t dimension m [in] n magma_int_t dimension n [in] A magma_z_matrix input matrix A [in] lda magma_int_t leading dimension matrix A [in,out] Q magma_z_matrix* input matrix Q [in,out] R magma_z_matrix* input matrix R [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zbpcg ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_z_preconditioner * precond_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the block preconditioned Conjugate Gradient method.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b - can be a block [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] precond_par magma_z_preconditioner* preconditioner [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zcg ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the Conjugate Gradient method.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zcg_merge ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex matrix A.

This is a GPU implementation of the Conjugate Gradient method in variant, where multiple operations are merged into one compute kernel.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zcg_res ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the preconditioned Conjugate Gradient method.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zcgs_merge ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the Conjugate Gradient Squared (CGS) method.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zidr_merge ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A.

This is a GPU implementation of the Induced Dimension Reduction method applying kernel fusion.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zidr_strms ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A.

This is a GPU implementation of the Induced Dimension Reduction method applying kernel fusion and kernel overlap.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zpcg_merge ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_z_preconditioner * precond_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex matrix A.

This is a GPU implementation of the Conjugate Gradient method in variant, where multiple operations are merged into one compute kernel.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] precond_par magma_z_preconditioner* preconditioner [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zpidr_merge ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_z_preconditioner * precond_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the preconditioned Induced Dimension Reduction method applying kernel fusion.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] precond_par magma_z_preconditioner* preconditioner [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zpidr_strms ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_z_preconditioner * precond_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the preconditioned Induced Dimension Reduction method applying kernel fusion and kernel overlap.

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in] precond_par magma_z_preconditioner* preconditioner [in] queue magma_queue_t Queue to execute in.
 magma_int_t magma_zptfqmr ( magma_z_matrix A, magma_z_matrix b, magma_z_matrix * x, magma_z_solver_par * solver_par, magma_z_preconditioner * precond_par, magma_queue_t queue )

Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.

This is a GPU implementation of the preconditioned transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters
 [in] A magma_z_matrix input matrix A [in] b magma_z_matrix RHS b [in,out] x magma_z_matrix* solution approximation [in,out] solver_par magma_z_solver_par* solver parameters [in,out] precond_par magma_z_preconditioner* preconditioner [in] queue magma_queue_t Queue to execute in.