Loading...
Searching...
No Matches
single-complex precision
Sparse LA » Sparse linear systems » General matrices

## Functions

magma_int_t | magma_cbaiter (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.
magma_int_t | magma_cbaiter_overlap (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.
magma_int_t | magma_cbicg (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cbicgstab (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cbicgstab_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cbicgstab_merge2 (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cbicgstab_merge3 (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cbombard (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex general matrix A.
magma_int_t | magma_cbombard_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex general matrix A.
magma_int_t | magma_ccgs (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_cfgmres (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory.
magma_int_t | magma_citerref (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_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.
magma_int_t | magma_cjacobi (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_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.
magma_int_t | magma_cjacobidomainoverlap (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_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.
magma_int_t | magma_clsqr (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A*X=B for X if A is consistent, otherwise it attempts to solve the least squares solution X that minimizes norm(B-A*X).
magma_int_t | magma_cpbicg (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cpbicgstab (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex N-by-N general matrix.
magma_int_t | magma_cpbicgstab_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general matrix.
magma_int_t | magma_cpcgs (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_cpcgs_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_cpqmr (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general complex matrix A.
magma_int_t | magma_cpqmr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general complex matrix A.
magma_int_t | magma_cptfqmr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_cqmr (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general complex matrix A.
magma_int_t | magma_cqmr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex general matrix A.
magma_int_t | magma_ctfqmr (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_ctfqmr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.
magma_int_t | magma_ctfqmr_unrolled (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a complex matrix A.

## Detailed Description

## Function Documentation

## magma_cbaiter()

magma_int_t magma_cbaiter | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbaiter_overlap()

magma_int_t magma_cbaiter_overlap | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.

It used restricted additive Schwarz overlap in top-down direction.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbicg()

magma_int_t magma_cbicg | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Biconjugate Gradient method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbicgstab()

magma_int_t magma_cbicgstab | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Biconjugate Gradient Stabilized method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbicgstab_merge()

magma_int_t magma_cbicgstab_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Biconjugate Gradient Stabilized method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbicgstab_merge2()

magma_int_t magma_cbicgstab_merge2 | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Biconjugate Gradient Stabilized method. The difference to magma_cbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbicgstab_merge3()

magma_int_t magma_cbicgstab_merge3 | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Biconjugate Gradient Stabilized method. The difference to magma_cbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbombard()

magma_int_t magma_cbombard | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the iterative bombardment suggested in Barrett et al. ''Algorithmic bombardment for the iterative solution of linear systems: A poly-iterative approach'' using BiCGSTAB, CGS and MQR. At this point, it only works for symmetric A.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cbombard_merge()

magma_int_t magma_cbombard_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the iterative bombardment suggested in Barrett et al. ''Algorithmic bombardment for the iterative solution of linear systems: A poly-iterative approach'' using BiCGSTAB, CGS and MQR. At this point, it only works for symmetric A.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ccgs()

magma_int_t magma_ccgs | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 Squared (CGS) method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cfgmres()

magma_int_t magma_cfgmres | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory.

X and B are complex vectors stored on the GPU memory. This is a GPU implementation of the right-preconditioned flexible GMRES.

Parameters

  [in] | A | magma_c_matrix descriptor for matrix A
  [in] | b | magma_c_matrix RHS b vector
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_citerref()

magma_int_t magma_citerref | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_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 Iterative Refinement method. The inner solver is passed via the preconditioner argument.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in,out] | precond_par | magma_c_preconditioner* inner solver
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cjacobi()

magma_int_t magma_cjacobi | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 Jacobi method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cjacobidomainoverlap()

magma_int_t magma_cjacobidomainoverlap | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 Jacobi method allowing for domain overlap.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_clsqr()

magma_int_t magma_clsqr | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A*X=B for X if A is consistent, otherwise it attempts to solve the least squares solution X that minimizes norm(B-A*X).

The N-by-P coefficient matrix A need not be square but the right hand side column vector B must have length N.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in,out] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpbicg()

magma_int_t magma_cpbicg | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in,out] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpbicgstab()

magma_int_t magma_cpbicgstab | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the preconditioned Biconjugate Gradient Stabelized method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpbicgstab_merge()

magma_int_t magma_cpbicgstab_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the preconditioned Biconjugate Gradient Stabelized method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpcgs()

magma_int_t magma_cpcgs | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_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 preconditioned Conjugate Gradient Squared (CGS) method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpcgs_merge()

magma_int_t magma_cpcgs_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_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 preconditioned Conjugate Gradient Squared (CGS) method.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpqmr()

magma_int_t magma_cpqmr | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cpqmr_merge()

magma_int_t magma_cpqmr_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the preconditioned Quasi-Minimal Residual method (QMR) using custom-designed kernels.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cptfqmr_merge()

magma_int_t magma_cptfqmr_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_c_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 preconditioned transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in,out] | precond_par | magma_c_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cqmr()

magma_int_t magma_cqmr | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Quasi-Minimal Residual method (QMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cqmr_merge()

magma_int_t magma_cqmr_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Quasi-Minimal Residual method (QMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ctfqmr()

magma_int_t magma_ctfqmr | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ctfqmr_merge()

magma_int_t magma_ctfqmr_merge | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ctfqmr_unrolled()

magma_int_t magma_ctfqmr_unrolled | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_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 transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix RHS b
  [in,out] | x | magma_c_matrix* solution approximation
  [in,out] | solver_par | magma_c_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.