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

## Functions

magma_int_t | magma_dbaiter (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dbaiter_overlap (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dbicg (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbicgstab (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbicgstab_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbicgstab_merge2 (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbicgstab_merge3 (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbombard (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbombard_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dcgs (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dfgmres (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_diterref (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_djacobi (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_djacobidomainoverlap (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dlsqr (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpbicg (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpbicgstab (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpbicgstab_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpcgs (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpcgs_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpqmr (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dpqmr_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dptfqmr_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_solver_par *solver_par, magma_d_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_dqmr (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dqmr_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dtfqmr (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dtfqmr_merge (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dtfqmr_unrolled (magma_d_matrix A, magma_d_matrix b, magma_d_matrix *x, magma_d_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_dbaiter()

magma_int_t magma_dbaiter | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbaiter_overlap()

magma_int_t magma_dbaiter_overlap | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbicg()

magma_int_t magma_dbicg | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbicgstab()

magma_int_t magma_dbicgstab | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbicgstab_merge()

magma_int_t magma_dbicgstab_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbicgstab_merge2()

magma_int_t magma_dbicgstab_merge2 | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_dbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

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

## magma_dbicgstab_merge3()

magma_int_t magma_dbicgstab_merge3 | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_dbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.

Parameters

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

## magma_dbombard()

magma_int_t magma_dbombard | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dbombard_merge()

magma_int_t magma_dbombard_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dcgs()

magma_int_t magma_dcgs | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dfgmres()

magma_int_t magma_dfgmres | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix descriptor for matrix A
  [in] | b | magma_d_matrix RHS b vector
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_diterref()

magma_int_t magma_diterref | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in,out] | precond_par | magma_d_preconditioner* inner solver
  [in] | queue | magma_queue_t Queue to execute in.

## magma_djacobi()

magma_int_t magma_djacobi | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_djacobidomainoverlap()

magma_int_t magma_djacobidomainoverlap | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dlsqr()

magma_int_t magma_dlsqr | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in,out] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpbicg()

magma_int_t magma_dpbicg | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in,out] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpbicgstab()

magma_int_t magma_dpbicgstab | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpbicgstab_merge()

magma_int_t magma_dpbicgstab_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpcgs()

magma_int_t magma_dpcgs | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpcgs_merge()

magma_int_t magma_dpcgs_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpqmr()

magma_int_t magma_dpqmr | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dpqmr_merge()

magma_int_t magma_dpqmr_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dptfqmr_merge()

magma_int_t magma_dptfqmr_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_solver_par * | solver_par,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in,out] | precond_par | magma_d_preconditioner* preconditioner
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dqmr()

magma_int_t magma_dqmr | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dqmr_merge()

magma_int_t magma_dqmr_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dtfqmr()

magma_int_t magma_dtfqmr | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dtfqmr_merge()

magma_int_t magma_dtfqmr_merge | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dtfqmr_unrolled()

magma_int_t magma_dtfqmr_unrolled | ( | magma_d_matrix | A,
|  | magma_d_matrix | b,
|  | magma_d_matrix * | x,
|  | magma_d_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_d_matrix input matrix A
  [in] | b | magma_d_matrix RHS b
  [in,out] | x | magma_d_matrix* solution approximation
  [in,out] | solver_par | magma_d_solver_par* solver parameters
  [in] | queue | magma_queue_t Queue to execute in.