![]() |
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
|