MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures
trtri: Triangular inverse; used in getri, potri

$$A = A^{-1}$$ where $$A$$ is triangular More...

## Functions

void magmablas_ctrtri_diag_vbatched (magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t *n, magmaFloatComplex const *const *dA_array, magma_int_t *ldda, magmaFloatComplex **dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue)
ctrtri_diag inverts the NB x NB diagonal blocks of A. More...

void magmablas_dtrtri_diag_vbatched (magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t *n, double const *const *dA_array, magma_int_t *ldda, double **dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue)
dtrtri_diag inverts the NB x NB diagonal blocks of A. More...

void magmablas_strtri_diag_vbatched (magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t *n, float const *const *dA_array, magma_int_t *ldda, float **dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue)
strtri_diag inverts the NB x NB diagonal blocks of A. More...

void magmablas_ztrtri_diag_vbatched (magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t *n, magmaDoubleComplex const *const *dA_array, magma_int_t *ldda, magmaDoubleComplex **dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue)
ztrtri_diag inverts the NB x NB diagonal blocks of A. More...

## Detailed Description

$$A = A^{-1}$$ where $$A$$ is triangular

## Function Documentation

 void magmablas_ctrtri_diag_vbatched ( magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t * n, magmaFloatComplex const *const * dA_array, magma_int_t * ldda, magmaFloatComplex ** dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue )

ctrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
 [in] uplo magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows: = MagmaUpper: A is an upper triangular matrix. = MagmaLower: A is a lower triangular matrix. [in] diag magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows: = MagmaUnit: A is assumed to be unit triangular. = MagmaNonUnit: A is not assumed to be unit triangular. [in] n INTEGER. On entry, n specifies the order of the matrix A. N >= 0. [in] dA_array COMPLEX array of dimension ( ldda, n ) The triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. [in] ldda INTEGER. The leading dimension of the array A. LDDA >= max(1,N). [out] dinvA_array COMPLEX array of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A. [in] queue magma_queue_t Queue to execute in.
 void magmablas_dtrtri_diag_vbatched ( magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t * n, double const *const * dA_array, magma_int_t * ldda, double ** dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue )

dtrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
 [in] uplo magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows: = MagmaUpper: A is an upper triangular matrix. = MagmaLower: A is a lower triangular matrix. [in] diag magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows: = MagmaUnit: A is assumed to be unit triangular. = MagmaNonUnit: A is not assumed to be unit triangular. [in] n INTEGER. On entry, n specifies the order of the matrix A. N >= 0. [in] dA_array DOUBLE PRECISION array of dimension ( ldda, n ) The triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. [in] ldda INTEGER. The leading dimension of the array A. LDDA >= max(1,N). [out] dinvA_array DOUBLE PRECISION array of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A. [in] queue magma_queue_t Queue to execute in.
 void magmablas_strtri_diag_vbatched ( magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t * n, float const *const * dA_array, magma_int_t * ldda, float ** dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue )

strtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
 [in] uplo magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows: = MagmaUpper: A is an upper triangular matrix. = MagmaLower: A is a lower triangular matrix. [in] diag magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows: = MagmaUnit: A is assumed to be unit triangular. = MagmaNonUnit: A is not assumed to be unit triangular. [in] n INTEGER. On entry, n specifies the order of the matrix A. N >= 0. [in] dA_array REAL array of dimension ( ldda, n ) The triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. [in] ldda INTEGER. The leading dimension of the array A. LDDA >= max(1,N). [out] dinvA_array REAL array of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A. [in] queue magma_queue_t Queue to execute in.
 void magmablas_ztrtri_diag_vbatched ( magma_uplo_t uplo, magma_diag_t diag, magma_int_t nmax, magma_int_t * n, magmaDoubleComplex const *const * dA_array, magma_int_t * ldda, magmaDoubleComplex ** dinvA_array, magma_int_t resetozero, magma_int_t batchCount, magma_queue_t queue )

ztrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
 [in] uplo magma_uplo_t. On entry, uplo specifies whether the matrix A is an upper or lower triangular matrix as follows: = MagmaUpper: A is an upper triangular matrix. = MagmaLower: A is a lower triangular matrix. [in] diag magma_diag_t. On entry, diag specifies whether or not A is unit triangular as follows: = MagmaUnit: A is assumed to be unit triangular. = MagmaNonUnit: A is not assumed to be unit triangular. [in] n INTEGER. On entry, n specifies the order of the matrix A. N >= 0. [in] dA_array COMPLEX_16 array of dimension ( ldda, n ) The triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. [in] ldda INTEGER. The leading dimension of the array A. LDDA >= max(1,N). [out] dinvA_array COMPLEX_16 array of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A. [in] queue magma_queue_t Queue to execute in.