MAGMA
2.3.0
Matrix Algebra for GPU and Multicore Architectures

\( x = op(A^{1})\; b \) More...
Functions  
void  magmablas_ctrsv_batched (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaFloatComplex **A_array, magma_int_t lda, magmaFloatComplex **b_array, magma_int_t incb, magma_int_t batchCount, magma_queue_t queue) 
ctrsv solves one of the matrix equations on gpu More...  
void  magmablas_dtrsv_batched (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, double **A_array, magma_int_t lda, double **b_array, magma_int_t incb, magma_int_t batchCount, magma_queue_t queue) 
dtrsv solves one of the matrix equations on gpu More...  
void  magmablas_strsv_batched (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, float **A_array, magma_int_t lda, float **b_array, magma_int_t incb, magma_int_t batchCount, magma_queue_t queue) 
strsv solves one of the matrix equations on gpu More...  
void  magmablas_ztrsv_batched (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaDoubleComplex **A_array, magma_int_t lda, magmaDoubleComplex **b_array, magma_int_t incb, magma_int_t batchCount, magma_queue_t queue) 
ztrsv solves one of the matrix equations on gpu More...  
\( x = op(A^{1})\; b \)
void magmablas_ctrsv_batched  (  magma_uplo_t  uplo, 
magma_trans_t  trans,  
magma_diag_t  diag,  
magma_int_t  n,  
magmaFloatComplex **  A_array,  
magma_int_t  lda,  
magmaFloatComplex **  b_array,  
magma_int_t  incb,  
magma_int_t  batchCount,  
magma_queue_t  queue  
) 
ctrsv solves one of the matrix equations on gpu
op(A)*x = b, or x*op(A) = b,
where alpha is a scalar, X and B are vectors, A is a unit, or nonunit, upper or lower triangular matrix and op(A) is one of
op(A) = A, or op(A) = A^T, or op(A) = A^H.
The vector x is overwritten on b.
[in]  uplo  magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows:

[in]  trans  magma_trans_t. On entry, trans specifies the form of op(A) to be used in the matrix multiplication as follows:

[in]  diag  magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows:

[in]  n  INTEGER. On entry, n N specifies the order of the matrix A. n >= 0. 
[in]  A_array  Array of pointers, dimension (batchCount). Each is a COMPLEX array A of dimension ( lda, n ), Before entry with uplo = MagmaUpper, the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with uplo = MagmaLower, the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when diag = MagmaUnit, the diagonal elements of A are not referenced either, but are assumed to be unity. 
[in]  lda  INTEGER. On entry, lda specifies the first dimension of A. lda >= max( 1, n ). 
[in]  b_array  Array of pointers, dimension (batchCount). Each is a COMPLEX array of dimension n On exit, b is overwritten with the solution vector X. 
[in]  incb  INTEGER. On entry, incb specifies the increment for the elements of b. incb must not be zero. Unchanged on exit. 
[in]  batchCount  INTEGER The number of matrices to operate on. 
[in]  queue  magma_queue_t Queue to execute in. 
void magmablas_dtrsv_batched  (  magma_uplo_t  uplo, 
magma_trans_t  trans,  
magma_diag_t  diag,  
magma_int_t  n,  
double **  A_array,  
magma_int_t  lda,  
double **  b_array,  
magma_int_t  incb,  
magma_int_t  batchCount,  
magma_queue_t  queue  
) 
dtrsv solves one of the matrix equations on gpu
op(A)*x = b, or x*op(A) = b,
where alpha is a scalar, X and B are vectors, A is a unit, or nonunit, upper or lower triangular matrix and op(A) is one of
op(A) = A, or op(A) = A^T, or op(A) = A^H.
The vector x is overwritten on b.
[in]  uplo  magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows:

[in]  trans  magma_trans_t. On entry, trans specifies the form of op(A) to be used in the matrix multiplication as follows:

[in]  diag  magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows:

[in]  n  INTEGER. On entry, n N specifies the order of the matrix A. n >= 0. 
[in]  A_array  Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array A of dimension ( lda, n ), Before entry with uplo = MagmaUpper, the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with uplo = MagmaLower, the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when diag = MagmaUnit, the diagonal elements of A are not referenced either, but are assumed to be unity. 
[in]  lda  INTEGER. On entry, lda specifies the first dimension of A. lda >= max( 1, n ). 
[in]  b_array  Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array of dimension n On exit, b is overwritten with the solution vector X. 
[in]  incb  INTEGER. On entry, incb specifies the increment for the elements of b. incb must not be zero. Unchanged on exit. 
[in]  batchCount  INTEGER The number of matrices to operate on. 
[in]  queue  magma_queue_t Queue to execute in. 
void magmablas_strsv_batched  (  magma_uplo_t  uplo, 
magma_trans_t  trans,  
magma_diag_t  diag,  
magma_int_t  n,  
float **  A_array,  
magma_int_t  lda,  
float **  b_array,  
magma_int_t  incb,  
magma_int_t  batchCount,  
magma_queue_t  queue  
) 
strsv solves one of the matrix equations on gpu
op(A)*x = b, or x*op(A) = b,
where alpha is a scalar, X and B are vectors, A is a unit, or nonunit, upper or lower triangular matrix and op(A) is one of
op(A) = A, or op(A) = A^T, or op(A) = A^H.
The vector x is overwritten on b.
[in]  uplo  magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows:

[in]  trans  magma_trans_t. On entry, trans specifies the form of op(A) to be used in the matrix multiplication as follows:

[in]  diag  magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows:

[in]  n  INTEGER. On entry, n N specifies the order of the matrix A. n >= 0. 
[in]  A_array  Array of pointers, dimension (batchCount). Each is a REAL array A of dimension ( lda, n ), Before entry with uplo = MagmaUpper, the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with uplo = MagmaLower, the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when diag = MagmaUnit, the diagonal elements of A are not referenced either, but are assumed to be unity. 
[in]  lda  INTEGER. On entry, lda specifies the first dimension of A. lda >= max( 1, n ). 
[in]  b_array  Array of pointers, dimension (batchCount). Each is a REAL array of dimension n On exit, b is overwritten with the solution vector X. 
[in]  incb  INTEGER. On entry, incb specifies the increment for the elements of b. incb must not be zero. Unchanged on exit. 
[in]  batchCount  INTEGER The number of matrices to operate on. 
[in]  queue  magma_queue_t Queue to execute in. 
void magmablas_ztrsv_batched  (  magma_uplo_t  uplo, 
magma_trans_t  trans,  
magma_diag_t  diag,  
magma_int_t  n,  
magmaDoubleComplex **  A_array,  
magma_int_t  lda,  
magmaDoubleComplex **  b_array,  
magma_int_t  incb,  
magma_int_t  batchCount,  
magma_queue_t  queue  
) 
ztrsv solves one of the matrix equations on gpu
op(A)*x = b, or x*op(A) = b,
where alpha is a scalar, X and B are vectors, A is a unit, or nonunit, upper or lower triangular matrix and op(A) is one of
op(A) = A, or op(A) = A^T, or op(A) = A^H.
The vector x is overwritten on b.
[in]  uplo  magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows:

[in]  trans  magma_trans_t. On entry, trans specifies the form of op(A) to be used in the matrix multiplication as follows:

[in]  diag  magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows:

[in]  n  INTEGER. On entry, n N specifies the order of the matrix A. n >= 0. 
[in]  A_array  Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array A of dimension ( lda, n ), Before entry with uplo = MagmaUpper, the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with uplo = MagmaLower, the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when diag = MagmaUnit, the diagonal elements of A are not referenced either, but are assumed to be unity. 
[in]  lda  INTEGER. On entry, lda specifies the first dimension of A. lda >= max( 1, n ). 
[in]  b_array  Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array of dimension n On exit, b is overwritten with the solution vector X. 
[in]  incb  INTEGER. On entry, incb specifies the increment for the elements of b. incb must not be zero. Unchanged on exit. 
[in]  batchCount  INTEGER The number of matrices to operate on. 
[in]  queue  magma_queue_t Queue to execute in. 