MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
_lat2_: Converts triangular matrix between single and double

Functions

void magmablas_clat2z (magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_const_ptr SA, magma_int_t ldsa, magmaDoubleComplex_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t *info)
 CLAT2Z converts a single-complex matrix, SA, to a double-complex matrix, A. More...
 
void magmablas_dlat2s (magma_uplo_t uplo, magma_int_t n, magmaDouble_const_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t *info)
 DLAT2S converts a double-real matrix, A, to a single-real matrix, SA. More...
 
void magmablas_slat2d (magma_uplo_t uplo, magma_int_t n, magmaFloat_const_ptr SA, magma_int_t ldsa, magmaDouble_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t *info)
 SLAT2D converts a single-real matrix, SA, to a double-real matrix, A. More...
 
void magmablas_zlat2c (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex_const_ptr A, magma_int_t lda, magmaFloatComplex_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t *info)
 ZLAT2C converts a double-complex matrix, A, to a single-complex matrix, SA. More...
 

Detailed Description

Function Documentation

void magmablas_clat2z ( magma_uplo_t  uplo,
magma_int_t  n,
magmaFloatComplex_const_ptr  SA,
magma_int_t  ldsa,
magmaDoubleComplex_ptr  A,
magma_int_t  lda,
magma_queue_t  queue,
magma_int_t *  info 
)

CLAT2Z converts a single-complex matrix, SA, to a double-complex matrix, A.

Note that while it is possible to overflow while converting from double to single, it is not possible to overflow when converting from single to double.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix A to be converted.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ACOMPLEX_16 array, dimension (LDA,n) On entry, the n-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,n).
[out]SACOMPLEX array, dimension (LDSA,n) On exit, if INFO=0, the n-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,n).
[out]infoINTEGER
  • = 0: successful exit.
  • < 0: if INFO = -i, the i-th argument had an illegal value
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dlat2s ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDouble_const_ptr  A,
magma_int_t  lda,
magmaFloat_ptr  SA,
magma_int_t  ldsa,
magma_queue_t  queue,
magma_int_t *  info 
)

DLAT2S converts a double-real matrix, A, to a single-real matrix, SA.

RMAX is the overflow for the single-real arithmetic. DLAT2S checks that all the entries of A are between -RMAX and RMAX. If not, the conversion is aborted and a magma_dlat2s_flag is raised.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix A to be converted.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ADOUBLE PRECISION array, dimension (LDA,n) On entry, the n-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,n).
[out]SASINGLE PRECISION array, dimension (LDSA,n) On exit, if INFO=0, the n-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,n).
[out]infoINTEGER
  • = 0: successful exit.
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • = 1: an entry of the matrix A is greater than the SINGLE PRECISION overflow threshold, in this case, the content of SA on exit is unspecified.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_slat2d ( magma_uplo_t  uplo,
magma_int_t  n,
magmaFloat_const_ptr  SA,
magma_int_t  ldsa,
magmaDouble_ptr  A,
magma_int_t  lda,
magma_queue_t  queue,
magma_int_t *  info 
)

SLAT2D converts a single-real matrix, SA, to a double-real matrix, A.

Note that while it is possible to overflow while converting from double to single, it is not possible to overflow when converting from single to double.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix A to be converted.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ADOUBLE PRECISION array, dimension (LDA,n) On entry, the n-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,n).
[out]SASINGLE PRECISION array, dimension (LDSA,n) On exit, if INFO=0, the n-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,n).
[out]infoINTEGER
  • = 0: successful exit.
  • < 0: if INFO = -i, the i-th argument had an illegal value
[in]queuemagma_queue_t Queue to execute in.
void magmablas_zlat2c ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex_const_ptr  A,
magma_int_t  lda,
magmaFloatComplex_ptr  SA,
magma_int_t  ldsa,
magma_queue_t  queue,
magma_int_t *  info 
)

ZLAT2C converts a double-complex matrix, A, to a single-complex matrix, SA.

RMAX is the overflow for the single-complex arithmetic. ZLAT2C checks that all the entries of A are between -RMAX and RMAX. If not, the conversion is aborted and a magma_zlat2c_flag is raised.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix A to be converted.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ACOMPLEX_16 array, dimension (LDA,n) On entry, the n-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,n).
[out]SACOMPLEX array, dimension (LDSA,n) On exit, if INFO=0, the n-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,n).
[out]infoINTEGER
  • = 0: successful exit.
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • = 1: an entry of the matrix A is greater than the COMPLEX overflow threshold, in this case, the content of SA on exit is unspecified.
[in]queuemagma_queue_t Queue to execute in.