Loading...
Searching...
No Matches
sy/hetrf: symmetric/Hermitian indefinite factorization - no pivoting
Dense LA » Linear system solvers » Symmetric/Hermitian indefinite » No pivoting variant

## Functions

magma_int_t | magma_chetrf_nopiv (magma_uplo_t uplo, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magma_int_t *info)
| CHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A.
magma_int_t | magma_chetrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t *info)
| CHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.
magma_int_t | magma_dsytrf_nopiv (magma_uplo_t uplo, magma_int_t n, double *A, magma_int_t lda, magma_int_t *info)
| DSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A.
magma_int_t | magma_dsytrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info)
| DSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.
magma_int_t | magma_ssytrf_nopiv (magma_uplo_t uplo, magma_int_t n, float *A, magma_int_t lda, magma_int_t *info)
| SSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A.
magma_int_t | magma_ssytrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaFloat_ptr dA, magma_int_t ldda, magma_int_t *info)
| SSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.
magma_int_t | magma_zhetrf_nopiv (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info)
| ZHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A.
magma_int_t | magma_zhetrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magma_int_t *info)
| ZHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.

## Detailed Description

## Function Documentation

## magma_chetrf_nopiv()

magma_int_t magma_chetrf_nopiv | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaFloatComplex * | A,
|  | magma_int_t | lda,
|  | magma_int_t * | info )

CHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory.

  [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_chetrf_nopiv_gpu()

magma_int_t magma_chetrf_nopiv_gpu | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaFloatComplex_ptr | dA,
|  | magma_int_t | ldda,
|  | magma_int_t * | info )

CHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 Hermitian matrix A. If UPLO = MagmaUpper, the leading N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost.

  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_dsytrf_nopiv()

magma_int_t magma_dsytrf_nopiv | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | double * | A,
|  | magma_int_t | lda,
|  | magma_int_t * | info )

DSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory.

  [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_dsytrf_nopiv_gpu()

magma_int_t magma_dsytrf_nopiv_gpu | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaDouble_ptr | dA,
|  | magma_int_t | ldda,
|  | magma_int_t * | info )

DSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 symmetric matrix A. If UPLO = MagmaUpper, the leading N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost.

  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_ssytrf_nopiv()

magma_int_t magma_ssytrf_nopiv | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | float * | A,
|  | magma_int_t | lda,
|  | magma_int_t * | info )

SSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory.

  [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_ssytrf_nopiv_gpu()

magma_int_t magma_ssytrf_nopiv_gpu | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaFloat_ptr | dA,
|  | magma_int_t | ldda,
|  | magma_int_t * | info )

SSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 symmetric matrix A. If UPLO = MagmaUpper, the leading N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost.

  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_zhetrf_nopiv()

magma_int_t magma_zhetrf_nopiv | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaDoubleComplex * | A,
|  | magma_int_t | lda,
|  | magma_int_t * | info )

ZHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory.

  [in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

## magma_zhetrf_nopiv_gpu()

magma_int_t magma_zhetrf_nopiv_gpu | ( | magma_uplo_t | uplo,
|  | magma_int_t | n,
|  | magmaDoubleComplex_ptr | dA,
|  | magma_int_t | ldda,
|  | magma_int_t * | info )

ZHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.

The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters

  [in]

  uplo

  magma_uplo_t
  - = MagmaUpper: Upper triangle of A is stored;
  - = MagmaLower: Lower triangle of A is stored.

  [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 Hermitian matrix A. If UPLO = MagmaUpper, the leading N-by-N 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 N-by-N 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, if INFO = 0, the factor U or L from the Cholesky factorization A = U^H D U or A = L D L^H.
  Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost.

  [in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,N).

  [out]

  info

  INTEGER
  - = 0: successful exit
  - < 0: if INFO = -i, the i-th argument had an illegal value if INFO = -6, the GPU memory allocation failed
  - > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.