![]() |
MAGMA 2.9.0
Matrix Algebra for GPU and Multicore Architectures
|
\(A = A^{-1}\) where \(A\) is triangular More...
Functions | |
| magma_int_t | magma_ctrtri (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magma_int_t *info) |
| CTRTRI computes the inverse of a real upper or lower triangular matrix A. | |
| magma_int_t | magma_ctrtri_expert_gpu_work (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t *info, void *host_work, magma_int_t *lwork_host, void *device_work, magma_int_t *lwork_device, magma_queue_t queues[2]) |
| CTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_ctrtri_gpu (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t *info) |
| CTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_dtrtri (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, double *A, magma_int_t lda, magma_int_t *info) |
| DTRTRI computes the inverse of a real upper or lower triangular matrix A. | |
| magma_int_t | magma_dtrtri_expert_gpu_work (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info, void *host_work, magma_int_t *lwork_host, void *device_work, magma_int_t *lwork_device, magma_queue_t queues[2]) |
| DTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_dtrtri_gpu (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info) |
| DTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_strtri (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, float *A, magma_int_t lda, magma_int_t *info) |
| STRTRI computes the inverse of a real upper or lower triangular matrix A. | |
| magma_int_t | magma_strtri_expert_gpu_work (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloat_ptr dA, magma_int_t ldda, magma_int_t *info, void *host_work, magma_int_t *lwork_host, void *device_work, magma_int_t *lwork_device, magma_queue_t queues[2]) |
| STRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_strtri_gpu (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaFloat_ptr dA, magma_int_t ldda, magma_int_t *info) |
| STRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_ztrtri (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info) |
| ZTRTRI computes the inverse of a real upper or lower triangular matrix A. | |
| magma_int_t | magma_ztrtri_expert_gpu_work (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magma_int_t *info, void *host_work, magma_int_t *lwork_host, void *device_work, magma_int_t *lwork_device, magma_queue_t queues[2]) |
| ZTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
| magma_int_t | magma_ztrtri_gpu (magma_uplo_t uplo, magma_diag_t diag, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magma_int_t *info) |
| ZTRTRI computes the inverse of a real upper or lower triangular matrix dA. | |
\(A = A^{-1}\) where \(A\) is triangular
| magma_int_t magma_ctrtri | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaFloatComplex * | A, | ||
| magma_int_t | lda, | ||
| magma_int_t * | info ) |
CTRTRI computes the inverse of a real upper or lower triangular matrix A.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | A | COMPLEX array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array 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 the array 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_ctrtri_expert_gpu_work | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaFloatComplex_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info, | ||
| void * | host_work, | ||
| magma_int_t * | lwork_host, | ||
| void * | device_work, | ||
| magma_int_t * | lwork_device, | ||
| magma_queue_t | queues[2] ) |
CTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm. This is an expert API, exposing more controls to the end user.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | COMPLEX array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| [in,out] | host_work | Workspace, allocated on host (CPU) memory. For faster CPU-GPU communication, user can allocate it as pinned memory using magma_malloc_pinned() |
| [in,out] | lwork_host | INTEGER pointer The size of the workspace (host_work) in bytes
|
| [in,out] | device_work | Workspace, allocated on device (GPU) memory. |
| [in,out] | lwork_device | INTEGER pointer The size of the workspace (device_work) in bytes
|
| [in] | queues | magma_queue_t array of size two
|
| magma_int_t magma_ctrtri_gpu | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaFloatComplex_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info ) |
CTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | COMPLEX array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_dtrtri | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| double * | A, | ||
| magma_int_t | lda, | ||
| magma_int_t * | info ) |
DTRTRI computes the inverse of a real upper or lower triangular matrix A.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | A | DOUBLE PRECISION array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array 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 the array 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_dtrtri_expert_gpu_work | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaDouble_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info, | ||
| void * | host_work, | ||
| magma_int_t * | lwork_host, | ||
| void * | device_work, | ||
| magma_int_t * | lwork_device, | ||
| magma_queue_t | queues[2] ) |
DTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm. This is an expert API, exposing more controls to the end user.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | DOUBLE PRECISION array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| [in,out] | host_work | Workspace, allocated on host (CPU) memory. For faster CPU-GPU communication, user can allocate it as pinned memory using magma_malloc_pinned() |
| [in,out] | lwork_host | INTEGER pointer The size of the workspace (host_work) in bytes
|
| [in,out] | device_work | Workspace, allocated on device (GPU) memory. |
| [in,out] | lwork_device | INTEGER pointer The size of the workspace (device_work) in bytes
|
| [in] | queues | magma_queue_t array of size two
|
| magma_int_t magma_dtrtri_gpu | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaDouble_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info ) |
DTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | DOUBLE PRECISION array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_strtri | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| float * | A, | ||
| magma_int_t | lda, | ||
| magma_int_t * | info ) |
STRTRI computes the inverse of a real upper or lower triangular matrix A.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | A | REAL array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array 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 the array 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_strtri_expert_gpu_work | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaFloat_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info, | ||
| void * | host_work, | ||
| magma_int_t * | lwork_host, | ||
| void * | device_work, | ||
| magma_int_t * | lwork_device, | ||
| magma_queue_t | queues[2] ) |
STRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm. This is an expert API, exposing more controls to the end user.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | REAL array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| [in,out] | host_work | Workspace, allocated on host (CPU) memory. For faster CPU-GPU communication, user can allocate it as pinned memory using magma_malloc_pinned() |
| [in,out] | lwork_host | INTEGER pointer The size of the workspace (host_work) in bytes
|
| [in,out] | device_work | Workspace, allocated on device (GPU) memory. |
| [in,out] | lwork_device | INTEGER pointer The size of the workspace (device_work) in bytes
|
| [in] | queues | magma_queue_t array of size two
|
| magma_int_t magma_strtri_gpu | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaFloat_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info ) |
STRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | REAL array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_ztrtri | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaDoubleComplex * | A, | ||
| magma_int_t | lda, | ||
| magma_int_t * | info ) |
ZTRTRI computes the inverse of a real upper or lower triangular matrix A.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | A | COMPLEX_16 array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array 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 the array 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
| [out] | info | INTEGER
|
| magma_int_t magma_ztrtri_expert_gpu_work | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaDoubleComplex_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info, | ||
| void * | host_work, | ||
| magma_int_t * | lwork_host, | ||
| void * | device_work, | ||
| magma_int_t * | lwork_device, | ||
| magma_queue_t | queues[2] ) |
ZTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm. This is an expert API, exposing more controls to the end user.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | COMPLEX_16 array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|
| [in,out] | host_work | Workspace, allocated on host (CPU) memory. For faster CPU-GPU communication, user can allocate it as pinned memory using magma_malloc_pinned() |
| [in,out] | lwork_host | INTEGER pointer The size of the workspace (host_work) in bytes
|
| [in,out] | device_work | Workspace, allocated on device (GPU) memory. |
| [in,out] | lwork_device | INTEGER pointer The size of the workspace (device_work) in bytes
|
| [in] | queues | magma_queue_t array of size two
|
| magma_int_t magma_ztrtri_gpu | ( | magma_uplo_t | uplo, |
| magma_diag_t | diag, | ||
| magma_int_t | n, | ||
| magmaDoubleComplex_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magma_int_t * | info ) |
ZTRTRI computes the inverse of a real upper or lower triangular matrix dA.
This is the Level 3 BLAS version of the algorithm.
| [in] | uplo | magma_uplo_t
|
| [in] | diag | magma_diag_t
|
| [in] | n | INTEGER The order of the matrix A. N >= 0. |
| [in,out] | dA | COMPLEX_16 array ON THE GPU, dimension (LDDA,N) On entry, the triangular matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of the array dA 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 the array dA 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. On exit, the (triangular) inverse of the original matrix, in the same storage format. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
| [out] | info | INTEGER
|