MAGMA
2.3.0
Matrix Algebra for GPU and Multicore Architectures

Functions  
magma_int_t  magma_chetrf_aasen (magma_uplo_t uplo, magma_int_t cpu_panel, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info) 
CHETRF_AASEN computes the factorization of a complex Hermitian matrix A based on a communicationavoiding variant of the Aasen's algorithm . More...  
magma_int_t  magma_dsytrf_aasen (magma_uplo_t uplo, magma_int_t cpu_panel, magma_int_t n, double *A, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info) 
DSYTRF_AASEN computes the factorization of a real symmetric matrix A based on a communicationavoiding variant of the Aasen's algorithm . More...  
magma_int_t  magma_ssytrf_aasen (magma_uplo_t uplo, magma_int_t cpu_panel, magma_int_t n, float *A, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info) 
SSYTRF_AASEN computes the factorization of a real symmetric matrix A based on a communicationavoiding variant of the Aasen's algorithm . More...  
magma_int_t  magma_zhetrf_aasen (magma_uplo_t uplo, magma_int_t cpu_panel, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info) 
ZHETRF_AASEN computes the factorization of a complex Hermitian matrix A based on a communicationavoiding variant of the Aasen's algorithm . More...  
magma_int_t magma_chetrf_aasen  (  magma_uplo_t  uplo, 
magma_int_t  cpu_panel,  
magma_int_t  n,  
magmaFloatComplex *  A,  
magma_int_t  lda,  
magma_int_t *  ipiv,  
magma_int_t *  info  
) 
CHETRF_AASEN computes the factorization of a complex Hermitian matrix A based on a communicationavoiding variant of the Aasen's algorithm .
The form of the factorization is
A = U*D*U**H or A = L*D*L**H
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and banded matrix of the band width equal to the block size.
[in]  uplo  magma_uplo_t

[in]  cpu_panel  INTEGER If cpu_panel =0, panel factorization is done on GPU. 
[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  COMPLEX array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = MagmaLower, the leading NbyN lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, the banded matrix D and the triangular factor U or L. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  ipiv  INTEGER array, dimension (N) Details of the interchanges. 
[out]  info  INTEGER

magma_int_t magma_dsytrf_aasen  (  magma_uplo_t  uplo, 
magma_int_t  cpu_panel,  
magma_int_t  n,  
double *  A,  
magma_int_t  lda,  
magma_int_t *  ipiv,  
magma_int_t *  info  
) 
DSYTRF_AASEN computes the factorization of a real symmetric matrix A based on a communicationavoiding variant of the Aasen's algorithm .
The form of the factorization is
A = U*D*U**H or A = L*D*L**H
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and banded matrix of the band width equal to the block size.
[in]  uplo  magma_uplo_t

[in]  cpu_panel  INTEGER If cpu_panel =0, panel factorization is done on GPU. 
[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = MagmaLower, the leading NbyN lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, the banded matrix D and the triangular factor U or L. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  ipiv  INTEGER array, dimension (N) Details of the interchanges. 
[out]  info  INTEGER

magma_int_t magma_ssytrf_aasen  (  magma_uplo_t  uplo, 
magma_int_t  cpu_panel,  
magma_int_t  n,  
float *  A,  
magma_int_t  lda,  
magma_int_t *  ipiv,  
magma_int_t *  info  
) 
SSYTRF_AASEN computes the factorization of a real symmetric matrix A based on a communicationavoiding variant of the Aasen's algorithm .
The form of the factorization is
A = U*D*U**H or A = L*D*L**H
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and banded matrix of the band width equal to the block size.
[in]  uplo  magma_uplo_t

[in]  cpu_panel  INTEGER If cpu_panel =0, panel factorization is done on GPU. 
[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  REAL array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = MagmaLower, the leading NbyN lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, the banded matrix D and the triangular factor U or L. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  ipiv  INTEGER array, dimension (N) Details of the interchanges. 
[out]  info  INTEGER

magma_int_t magma_zhetrf_aasen  (  magma_uplo_t  uplo, 
magma_int_t  cpu_panel,  
magma_int_t  n,  
magmaDoubleComplex *  A,  
magma_int_t  lda,  
magma_int_t *  ipiv,  
magma_int_t *  info  
) 
ZHETRF_AASEN computes the factorization of a complex Hermitian matrix A based on a communicationavoiding variant of the Aasen's algorithm .
The form of the factorization is
A = U*D*U**H or A = L*D*L**H
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and banded matrix of the band width equal to the block size.
[in]  uplo  magma_uplo_t

[in]  cpu_panel  INTEGER If cpu_panel =0, panel factorization is done on GPU. 
[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  COMPLEX*16 array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = MagmaLower, the leading NbyN lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, the banded matrix D and the triangular factor U or L. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  ipiv  INTEGER array, dimension (N) Details of the interchanges. 
[out]  info  INTEGER
