Loading...
Searching...
No Matches
gerbt: Apply random butterfly transformation (RBT)
Dense LA » Linear system solvers » General matrices: RBT + no pivoting LU

## Functions

magma_int_t | magma_cgerbt_gpu (magma_bool_t gen, magma_int_t n, magma_int_t nrhs, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb, magmaFloatComplex *U, magmaFloatComplex *V, magma_int_t *info)
| CGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.
magma_int_t | magma_dgerbt_gpu (magma_bool_t gen, magma_int_t n, magma_int_t nrhs, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb, double *U, double *V, magma_int_t *info)
| DGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.
magma_int_t | magma_sgerbt_gpu (magma_bool_t gen, magma_int_t n, magma_int_t nrhs, magmaFloat_ptr dA, magma_int_t ldda, magmaFloat_ptr dB, magma_int_t lddb, float *U, float *V, magma_int_t *info)
| SGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.
magma_int_t | magma_zgerbt_gpu (magma_bool_t gen, magma_int_t n, magma_int_t nrhs, magmaDoubleComplex_ptr dA, magma_int_t ldda, magmaDoubleComplex_ptr dB, magma_int_t lddb, magmaDoubleComplex *U, magmaDoubleComplex *V, magma_int_t *info)
| ZGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.

## Detailed Description

## Function Documentation

## magma_cgerbt_gpu()

magma_int_t magma_cgerbt_gpu | ( | magma_bool_t | gen,
|  | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaFloatComplex_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaFloatComplex_ptr | dB,
|  | magma_int_t | lddb,
|  | magmaFloatComplex * | U,
|  | magmaFloatComplex * | V,
|  | magma_int_t * | info )

CGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.

Random Butterfly Tranformation is applied on A and B, then the LU decomposition with no pivoting is used to factor A as A = L * U, where L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B.

Parameters

  [in]

  gen

  magma_bool_t
  - = MagmaTrue: new matrices are generated for U and V
  - = MagmaFalse: matrices U and V given as parameter are used

  [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 | COMPLEX array, dimension (LDDA,n). On entry, the M-by-n matrix to be factored. On exit, the factors L and U from the factorization A = L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,n).
  [in,out] | dB | COMPLEX array, dimension (LDDB,nrhs) On entry, the right hand side matrix B. On exit, the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDDB >= max(1,n).
  [in,out] | U | COMPLEX array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue U is generated and returned as output; else we use U given as input. CPU memory
  [in,out] | V | COMPLEX array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue V is generated and returned as output; else we use U given as input. CPU memory

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.

## magma_dgerbt_gpu()

magma_int_t magma_dgerbt_gpu | ( | magma_bool_t | gen,
|  | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaDouble_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaDouble_ptr | dB,
|  | magma_int_t | lddb,
|  | double * | U,
|  | double * | V,
|  | magma_int_t * | info )

DGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.

Random Butterfly Tranformation is applied on A and B, then the LU decomposition with no pivoting is used to factor A as A = L * U, where L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B.

Parameters

  [in]

  gen

  magma_bool_t
  - = MagmaTrue: new matrices are generated for U and V
  - = MagmaFalse: matrices U and V given as parameter are used

  [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 | DOUBLE PRECISION array, dimension (LDDA,n). On entry, the M-by-n matrix to be factored. On exit, the factors L and U from the factorization A = L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,n).
  [in,out] | dB | DOUBLE PRECISION array, dimension (LDDB,nrhs) On entry, the right hand side matrix B. On exit, the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDDB >= max(1,n).
  [in,out] | U | DOUBLE PRECISION array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue U is generated and returned as output; else we use U given as input. CPU memory
  [in,out] | V | DOUBLE PRECISION array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue V is generated and returned as output; else we use U given as input. CPU memory

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.

## magma_sgerbt_gpu()

magma_int_t magma_sgerbt_gpu | ( | magma_bool_t | gen,
|  | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaFloat_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaFloat_ptr | dB,
|  | magma_int_t | lddb,
|  | float * | U,
|  | float * | V,
|  | magma_int_t * | info )

SGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.

Random Butterfly Tranformation is applied on A and B, then the LU decomposition with no pivoting is used to factor A as A = L * U, where L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B.

Parameters

  [in]

  gen

  magma_bool_t
  - = MagmaTrue: new matrices are generated for U and V
  - = MagmaFalse: matrices U and V given as parameter are used

  [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 | REAL array, dimension (LDDA,n). On entry, the M-by-n matrix to be factored. On exit, the factors L and U from the factorization A = L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,n).
  [in,out] | dB | REAL array, dimension (LDDB,nrhs) On entry, the right hand side matrix B. On exit, the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDDB >= max(1,n).
  [in,out] | U | REAL array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue U is generated and returned as output; else we use U given as input. CPU memory
  [in,out] | V | REAL array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue V is generated and returned as output; else we use U given as input. CPU memory

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.

## magma_zgerbt_gpu()

magma_int_t magma_zgerbt_gpu | ( | magma_bool_t | gen,
|  | magma_int_t | n,
|  | magma_int_t | nrhs,
|  | magmaDoubleComplex_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaDoubleComplex_ptr | dB,
|  | magma_int_t | lddb,
|  | magmaDoubleComplex * | U,
|  | magmaDoubleComplex * | V,
|  | magma_int_t * | info )

ZGERBT solves a system of linear equations A * X = B where A is a general n-by-n matrix and X and B are n-by-nrhs matrices.

Random Butterfly Tranformation is applied on A and B, then the LU decomposition with no pivoting is used to factor A as A = L * U, where L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B.

Parameters

  [in]

  gen

  magma_bool_t
  - = MagmaTrue: new matrices are generated for U and V
  - = MagmaFalse: matrices U and V given as parameter are used

  [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 | COMPLEX_16 array, dimension (LDDA,n). On entry, the M-by-n matrix to be factored. On exit, the factors L and U from the factorization A = L*U; the unit diagonal elements of L are not stored.
  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,n).
  [in,out] | dB | COMPLEX_16 array, dimension (LDDB,nrhs) On entry, the right hand side matrix B. On exit, the solution matrix X.
  [in] | lddb | INTEGER The leading dimension of the array B. LDDB >= max(1,n).
  [in,out] | U | COMPLEX_16 array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue U is generated and returned as output; else we use U given as input. CPU memory
  [in,out] | V | COMPLEX_16 array, dimension (2,n) Random butterfly matrix, if gen = MagmaTrue V is generated and returned as output; else we use U given as input. CPU memory

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.