Loading...
Searching...
No Matches
trtri_diag: Invert diagonal blocks of triangular matrix; used in trsm
Batched LA » MAGMA BLAS and Auxiliary » Level 3: matrix-matrix operations, O(n^3) work

## Functions

void | magmablas_ctrtri_diag_batched (magma_uplo_t uplo, magma_diag_t diag, 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 triangular matrix.
void | magmablas_dtrtri_diag_batched (magma_uplo_t uplo, magma_diag_t diag, 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 triangular matrix.
void | magmablas_strtri_diag_batched (magma_uplo_t uplo, magma_diag_t diag, 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 triangular matrix.
void | magmablas_ztrtri_diag_batched (magma_uplo_t uplo, magma_diag_t diag, 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 triangular matrix.

## Detailed Description

## Function Documentation

## magmablas_ctrtri_diag_batched()

void magmablas_ctrtri_diag_batched | ( | magma_uplo_t | uplo,
|  | magma_diag_t | diag,
|  | 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 triangular matrix.

This routine is used in ctrsm.

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

  Array of pointers, dimension (batchCount). Each is a COMPLEX array A 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] | ldda | INTEGER. The leading dimension of each array A. LDDA >= max(1,N).
  [out] | dinvA_array | Array of pointers, dimension (batchCount). Each is a COMPLEX array dinvA of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A.
  [in] | resetozero | INTEGER If not zero, each array dinvA will be reset to all zeros
  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_dtrtri_diag_batched()

void magmablas_dtrtri_diag_batched | ( | magma_uplo_t | uplo,
|  | magma_diag_t | diag,
|  | 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 triangular matrix.

This routine is used in dtrsm.

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

  Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array A 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] | ldda | INTEGER. The leading dimension of each array A. LDDA >= max(1,N).
  [out] | dinvA_array | Array of pointers, dimension (batchCount). Each is a DOUBLE PRECISION array dinvA of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A.
  [in] | resetozero | INTEGER If not zero, each array dinvA will be reset to all zeros
  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_strtri_diag_batched()

void magmablas_strtri_diag_batched | ( | magma_uplo_t | uplo,
|  | magma_diag_t | diag,
|  | 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 triangular matrix.

This routine is used in strsm.

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

  Array of pointers, dimension (batchCount). Each is a REAL array A 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] | ldda | INTEGER. The leading dimension of each array A. LDDA >= max(1,N).
  [out] | dinvA_array | Array of pointers, dimension (batchCount). Each is a REAL array dinvA of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A.
  [in] | resetozero | INTEGER If not zero, each array dinvA will be reset to all zeros
  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.

## magmablas_ztrtri_diag_batched()

void magmablas_ztrtri_diag_batched | ( | magma_uplo_t | uplo,
|  | magma_diag_t | diag,
|  | 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 triangular matrix.

This routine is used in ztrsm.

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

  Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array A 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] | ldda | INTEGER. The leading dimension of each array A. LDDA >= max(1,N).
  [out] | dinvA_array | Array of pointers, dimension (batchCount). Each is a COMPLEX_16 array dinvA of dimension (NB, ceil(n/NB)*NB), where NB = 128. On exit, contains inverses of the NB-by-NB diagonal blocks of A.
  [in] | resetozero | INTEGER If not zero, each array dinvA will be reset to all zeros
  [in] | batchCount | INTEGER The number of matrices to operate on.
  [in] | queue | magma_queue_t Queue to execute in.