Do more. Code less. Free software for GPU computing.
<scroll to top>

Solving linear systems

Advanced Dense Linear Algebra

Integer powers of input matrix. More...

Device pointer interface: Solving linear systems.

Parameters:
[out]d_XSolution to the equation d_A * d_X = d_B.
[in]mNumber of rows in d_A.
[in]nNumber of columns in d_A, Number of rows in d_B.
[in]d_AThe co-efficient matrix.
[in]batch_AThe number of tiles of d_A being computed.
[in]kNumber of columns in d_B.
[in]d_BThe residual matrix.
[in]batch_BThe number of tiles of d_B being computed.
[in]optsGive specific information about the system.
optscombination (sum) of:

  • 0 for no information (solves using LU/CHOL for m == n, QR for m != n)
  • 1 if d_A is positive definite
  • 2 if d_A is not positive definite
  • 3 Use Gaussian elimination (fast, cannot be combined with other options)
  • 4 Use pseudo inverse (fast, cannot be combined with other options)
  • 256 to do conjugate transpose on d_A before solving
  • 512 to do transpose on d_A before solving
  • 1024 if d_A is Upper triangular
  • 2048 if d_A is Lower triangular

afError af_linearSolve_SS (float *d_X, unsigned m, unsigned n, const float *d_A, unsigned batch_A, unsigned k, const float *d_B, unsigned batch_B, unsigned opts)
 Solve a single precision system. DLA not required for opts = 0, 3.
afError af_linearSolve_CC (cuComplex *d_X, unsigned m, unsigned n, const cuComplex *d_A, unsigned batch_A, unsigned k, const cuComplex *d_B, unsigned batch_B, unsigned opts)
 Solve a single precision complex system. DLA not required for opts = 3.
afError af_linearSolve_DD (double *d_X, unsigned m, unsigned n, const double *d_A, unsigned batch_A, unsigned k, const double *d_B, unsigned batch_B, unsigned opts)
 Solve a double precision system. DLA not required for opts = 3.
afError af_linearSolve_ZZ (cuDoubleComplex *d_X, unsigned m, unsigned n, const cuDoubleComplex *d_A, unsigned batch_A, unsigned k, const cuDoubleComplex *d_B, unsigned batch_B, unsigned opts)
 Solve a double precision complex system. DLA not required for opts = 3.

Detailed Description

Integer powers of input matrix.

Double-precision or complex inputs require ArrayFire Pro.


Function Documentation

afError af_linearSolve_SS ( float *  d_X,
unsigned  m,
unsigned  n,
const float *  d_A,
unsigned  batch_A,
unsigned  k,
const float *  d_B,
unsigned  batch_B,
unsigned  opts 
)

Solve a single precision system. DLA not required for opts = 0, 3.

afError af_linearSolve_CC ( cuComplex *  d_X,
unsigned  m,
unsigned  n,
const cuComplex *  d_A,
unsigned  batch_A,
unsigned  k,
const cuComplex *  d_B,
unsigned  batch_B,
unsigned  opts 
)

Solve a single precision complex system. DLA not required for opts = 3.

afError af_linearSolve_DD ( double *  d_X,
unsigned  m,
unsigned  n,
const double *  d_A,
unsigned  batch_A,
unsigned  k,
const double *  d_B,
unsigned  batch_B,
unsigned  opts 
)

Solve a double precision system. DLA not required for opts = 3.

afError af_linearSolve_ZZ ( cuDoubleComplex *  d_X,
unsigned  m,
unsigned  n,
const cuDoubleComplex *  d_A,
unsigned  batch_A,
unsigned  k,
const cuDoubleComplex *  d_B,
unsigned  batch_B,
unsigned  opts 
)

Solve a double precision complex system. DLA not required for opts = 3.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines