Loading...
Searching...
No Matches
gesv_rbt: Solves Ax = b using RBT + LU factorization (driver)
Batched LA » Linear system solvers » General matrices: RBT + no pivoting LU

## Functions

magma_int_t | magma_cgesv_rbt_batched (magma_int_t n, magma_int_t nrhs, magmaFloatComplex **dA_array, magma_int_t ldda, magmaFloatComplex **dB_array, magma_int_t lddb, magma_int_t *dinfo_array, magma_int_t batchCount, magma_queue_t queue)
| CGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by CGETRF_GPU.
magma_int_t | magma_dgesv_rbt_batched (magma_int_t n, magma_int_t nrhs, double **dA_array, magma_int_t ldda, double **dB_array, magma_int_t lddb, magma_int_t *dinfo_array, magma_int_t batchCount, magma_queue_t queue)
| DGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by DGETRF_GPU.
magma_int_t | magma_sgesv_rbt_batched (magma_int_t n, magma_int_t nrhs, float **dA_array, magma_int_t ldda, float **dB_array, magma_int_t lddb, magma_int_t *dinfo_array, magma_int_t batchCount, magma_queue_t queue)
| SGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by SGETRF_GPU.
magma_int_t | magma_zgesv_rbt_batched (magma_int_t n, magma_int_t nrhs, magmaDoubleComplex **dA_array, magma_int_t ldda, magmaDoubleComplex **dB_array, magma_int_t lddb, magma_int_t *dinfo_array, magma_int_t batchCount, magma_queue_t queue)
| ZGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by ZGETRF_GPU.

## Detailed Description

## Function Documentation

## magma_cgesv_rbt_batched()

magma_int_t magma_cgesv_rbt_batched | ( | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaFloatComplex ** | dA_array,
|  | magma_int_t | ldda,
|  | magmaFloatComplex ** | dB_array,
|  | magma_int_t | lddb,
|  | magma_int_t * | dinfo_array,
|  | magma_int_t | batchCount,
|  | magma_queue_t | queue )

CGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by CGETRF_GPU.

This is a batched version that solves batchCount N-by-N matrices in parallel. dA, dB, and info become arrays with one entry per matrix.

Parameters

  [in] | n | INTEGER The order of the matrix A. N >= 0.
  [in] | nrhs | INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  [in,out] | dA_array | Array of pointers, dimension (batchCount). Each is a COMPLEX array on the GPU, dimension (LDDA,N). On entry, each pointer is an M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of each array A. LDDA >= max(1,M).
  [in,out] | dB_array | Array of pointers, dimension (batchCount). Each is a COMPLEX array on the GPU, dimension (LDDB,N). On entry, each pointer is an right hand side matrix B. On exit, each pointer is the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDB >= max(1,N).

  [out]

  dinfo_array

  Array of INTEGERs, dimension (batchCount), for corresponding matrices.
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  - > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dgesv_rbt_batched()

magma_int_t magma_dgesv_rbt_batched | ( | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | double ** | dA_array,
|  | magma_int_t | ldda,
|  | double ** | dB_array,
|  | magma_int_t | lddb,
|  | magma_int_t * | dinfo_array,
|  | magma_int_t | batchCount,
|  | magma_queue_t | queue )

DGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by DGETRF_GPU.

This is a batched version that solves batchCount N-by-N matrices in parallel. dA, dB, and info become arrays with one entry per matrix.

Parameters

  [in] | n | INTEGER The order of the matrix A. N >= 0.
  [in] | nrhs | INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  [in,out] | dA_array | Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array on the GPU, dimension (LDDA,N). On entry, each pointer is an M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of each array A. LDDA >= max(1,M).
  [in,out] | dB_array | Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array on the GPU, dimension (LDDB,N). On entry, each pointer is an right hand side matrix B. On exit, each pointer is the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDB >= max(1,N).

  [out]

  dinfo_array

  Array of INTEGERs, dimension (batchCount), for corresponding matrices.
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  - > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_sgesv_rbt_batched()

magma_int_t magma_sgesv_rbt_batched | ( | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | float ** | dA_array,
|  | magma_int_t | ldda,
|  | float ** | dB_array,
|  | magma_int_t | lddb,
|  | magma_int_t * | dinfo_array,
|  | magma_int_t | batchCount,
|  | magma_queue_t | queue )

SGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by SGETRF_GPU.

This is a batched version that solves batchCount N-by-N matrices in parallel. dA, dB, and info become arrays with one entry per matrix.

Parameters

  [in] | n | INTEGER The order of the matrix A. N >= 0.
  [in] | nrhs | INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  [in,out] | dA_array | Array of pointers, dimension (batchCount). Each is a REAL array on the GPU, dimension (LDDA,N). On entry, each pointer is an M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of each array A. LDDA >= max(1,M).
  [in,out] | dB_array | Array of pointers, dimension (batchCount). Each is a REAL array on the GPU, dimension (LDDB,N). On entry, each pointer is an right hand side matrix B. On exit, each pointer is the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDB >= max(1,N).

  [out]

  dinfo_array

  Array of INTEGERs, dimension (batchCount), for corresponding matrices.
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  - > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_zgesv_rbt_batched()

magma_int_t magma_zgesv_rbt_batched | ( | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaDoubleComplex ** | dA_array,
|  | magma_int_t | ldda,
|  | magmaDoubleComplex ** | dB_array,
|  | magma_int_t | lddb,
|  | magma_int_t * | dinfo_array,
|  | magma_int_t | batchCount,
|  | magma_queue_t | queue )

ZGESV solves a system of linear equations A * X = B, A**T * X = B, or A**H * X = B with a general N-by-N matrix A using the LU factorization computed by ZGETRF_GPU.

This is a batched version that solves batchCount N-by-N matrices in parallel. dA, dB, and info become arrays with one entry per matrix.

Parameters

  [in] | n | INTEGER The order of the matrix A. N >= 0.
  [in] | nrhs | INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  [in,out] | dA_array | Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array on the GPU, dimension (LDDA,N). On entry, each pointer is an M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of each array A. LDDA >= max(1,M).
  [in,out] | dB_array | Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array on the GPU, dimension (LDDB,N). On entry, each pointer is an right hand side matrix B. On exit, each pointer is the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDB >= max(1,N).

  [out]

  dinfo_array

  Array of INTEGERs, dimension (batchCount), for corresponding matrices.
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  - > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.