MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
trtri_diag: Invert diagonal blocks of triangular matrix; used in trsm

Functions

void magmablas_ctrtri_diag (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr d_dinvA, magma_queue_t queue)
 ctrtri_diag inverts the NB x NB diagonal blocks of A. More...
 
void magmablas_dtrtri_diag (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr d_dinvA, magma_queue_t queue)
 dtrtri_diag inverts the NB x NB diagonal blocks of A. More...
 
void magmablas_strtri_diag (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloat_const_ptr dA, magma_int_t ldda, magmaFloat_ptr d_dinvA, magma_queue_t queue)
 strtri_diag inverts the NB x NB diagonal blocks of A. More...
 
void magmablas_ztrtri_diag (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDoubleComplex_const_ptr dA, magma_int_t ldda, magmaDoubleComplex_ptr d_dinvA, magma_queue_t queue)
 ztrtri_diag inverts the NB x NB diagonal blocks of A. More...
 

Detailed Description

Function Documentation

void magmablas_ctrtri_diag ( magma_uplo_t  uplo,
magma_diag_t  diag,
magma_int_t  n,
magmaFloatComplex_const_ptr  dA,
magma_int_t  ldda,
magmaFloatComplex_ptr  d_dinvA,
magma_queue_t  queue 
)

ctrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
[in]uplomagma_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]diagmagma_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]nINTEGER. On entry, n specifies the order of the matrix A. N >= 0.
[in]dACOMPLEX array of dimension ( ldda, n ) The triangular matrix A.
If UPLO = MagmaUpper, 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 = MagmaLower, 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 = MagmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]lddaINTEGER. The leading dimension of the array A. LDDA >= max(1,N).
[out]d_dinvACOMPLEX 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]queuemagma_queue_t Queue to execute in.
void magmablas_dtrtri_diag ( magma_uplo_t  uplo,
magma_diag_t  diag,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  d_dinvA,
magma_queue_t  queue 
)

dtrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
[in]uplomagma_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]diagmagma_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]nINTEGER. On entry, n specifies the order of the matrix A. N >= 0.
[in]dADOUBLE PRECISION array of dimension ( ldda, n ) The triangular matrix A.
If UPLO = MagmaUpper, 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 = MagmaLower, 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 = MagmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]lddaINTEGER. The leading dimension of the array A. LDDA >= max(1,N).
[out]d_dinvADOUBLE 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]queuemagma_queue_t Queue to execute in.
void magmablas_strtri_diag ( magma_uplo_t  uplo,
magma_diag_t  diag,
magma_int_t  n,
magmaFloat_const_ptr  dA,
magma_int_t  ldda,
magmaFloat_ptr  d_dinvA,
magma_queue_t  queue 
)

strtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
[in]uplomagma_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]diagmagma_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]nINTEGER. On entry, n specifies the order of the matrix A. N >= 0.
[in]dAREAL array of dimension ( ldda, n ) The triangular matrix A.
If UPLO = MagmaUpper, 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 = MagmaLower, 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 = MagmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]lddaINTEGER. The leading dimension of the array A. LDDA >= max(1,N).
[out]d_dinvAREAL 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]queuemagma_queue_t Queue to execute in.
void magmablas_ztrtri_diag ( magma_uplo_t  uplo,
magma_diag_t  diag,
magma_int_t  n,
magmaDoubleComplex_const_ptr  dA,
magma_int_t  ldda,
magmaDoubleComplex_ptr  d_dinvA,
magma_queue_t  queue 
)

ztrtri_diag inverts the NB x NB diagonal blocks of A.

Parameters
[in]uplomagma_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]diagmagma_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]nINTEGER. On entry, n specifies the order of the matrix A. N >= 0.
[in]dACOMPLEX_16 array of dimension ( ldda, n ) The triangular matrix A.
If UPLO = MagmaUpper, 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 = MagmaLower, 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 = MagmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]lddaINTEGER. The leading dimension of the array A. LDDA >= max(1,N).
[out]d_dinvACOMPLEX_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]queuemagma_queue_t Queue to execute in.