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

## Functions

magma_int_t | magma_sbaiter (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_sbaiter_overlap (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_sbicg (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_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_sbicgstab (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_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_sbicgstab_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_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_sbicgstab_merge2 (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_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_sbicgstab_merge3 (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_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_sbombard (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real general matrix A.
magma_int_t | magma_sbombard_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real general matrix A.
magma_int_t | magma_scgs (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_sfgmres (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real sparse matrix stored in the GPU memory.
magma_int_t | magma_siterref (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real symmetric N-by-N positive definite matrix A.
magma_int_t | magma_sjacobi (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real symmetric N-by-N positive definite matrix A.
magma_int_t | magma_sjacobidomainoverlap (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real symmetric N-by-N positive definite matrix A.
magma_int_t | magma_slsqr (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_spbicg (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_spbicgstab (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real N-by-N general matrix.
magma_int_t | magma_spbicgstab_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_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_spcgs (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_spcgs_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_spqmr (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general real matrix A.
magma_int_t | magma_spqmr_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general real matrix A.
magma_int_t | magma_sptfqmr_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_s_preconditioner *precond_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_sqmr (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a general real matrix A.
magma_int_t | magma_sqmr_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real general matrix A.
magma_int_t | magma_stfqmr (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_stfqmr_merge (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.
magma_int_t | magma_stfqmr_unrolled (magma_s_matrix A, magma_s_matrix b, magma_s_matrix *x, magma_s_solver_par *solver_par, magma_queue_t queue)
| Solves a system of linear equations A * X = B where A is a real matrix A.

## Detailed Description

## Function Documentation

## magma_sbaiter()

magma_int_t magma_sbaiter | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | precond_par | magma_s_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbaiter_overlap()

magma_int_t magma_sbaiter_overlap | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | precond_par | magma_s_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbicg()

magma_int_t magma_sbicg | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbicgstab()

magma_int_t magma_sbicgstab | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbicgstab_merge()

magma_int_t magma_sbicgstab_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbicgstab_merge2()

magma_int_t magma_sbicgstab_merge2 | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_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_sbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

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

## magma_sbicgstab_merge3()

magma_int_t magma_sbicgstab_merge3 | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_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_sbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

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

## magma_sbombard()

magma_int_t magma_sbombard | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * X = B where A is a real 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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sbombard_merge()

magma_int_t magma_sbombard_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * X = B where A is a real 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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_scgs()

magma_int_t magma_scgs | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_sfgmres()

magma_int_t magma_sfgmres | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_siterref()

magma_int_t magma_siterref | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

Solves a system of linear equations A * X = B where A is a real symmetric 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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in,out] | precond_par | magma_s_preconditioner* inner solver
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sjacobi()

magma_int_t magma_sjacobi | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Jacobi method.

Parameters

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

## magma_sjacobidomainoverlap()

magma_int_t magma_sjacobidomainoverlap | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

This is a GPU implementation of the Jacobi method allowing for domain overlap.

Parameters

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

## magma_slsqr()

magma_int_t magma_slsqr | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in,out] | precond_par | magma_s_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_spbicg()

magma_int_t magma_spbicg | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in,out] | precond_par | magma_s_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_spbicgstab()

magma_int_t magma_spbicgstab | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_spbicgstab_merge()

magma_int_t magma_spbicgstab_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_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_s_matrix input matrix A
  [in] | b | magma_s_matrix RHS b
  [in,out] | x | magma_s_matrix* solution approximation
  [in,out] | solver_par | magma_s_solver_par* solver parameters
  [in] | precond_par | magma_s_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_spcgs()

magma_int_t magma_spcgs | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_spcgs_merge()

magma_int_t magma_spcgs_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_spqmr()

magma_int_t magma_spqmr | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_spqmr_merge()

magma_int_t magma_spqmr_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_sptfqmr_merge()

magma_int_t magma_sptfqmr_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_s_preconditioner * | precond_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_sqmr()

magma_int_t magma_sqmr | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_sqmr_merge()

magma_int_t magma_sqmr_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_stfqmr()

magma_int_t magma_stfqmr | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_stfqmr_merge()

magma_int_t magma_stfqmr_merge | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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

## magma_stfqmr_unrolled()

magma_int_t magma_stfqmr_unrolled | ( | magma_s_matrix | A,
|  | magma_s_matrix | b,
|  | magma_s_matrix * | x,
|  | magma_s_solver_par * | solver_par,
|  | magma_queue_t | queue )

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

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

Parameters

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