dlat2s

Converts a double-precision triangular matrix to a single-precision triangular matrix.

Syntax

call dlat2s( uplo, n, a, lda, sa, ldsa , info )

Include Files

  • Fortran: mkl.fi
  • C: mkl.h

Description

This routine converts a double-precision triangular matrix A to a single-precision triangular matrix SA. dlat2s checks that all the elements of A are between -RMAX and RMAX, where RMAX is the overflow for the single-precision arithmetic. If this condition is not met, the conversion is aborted and a flag is raised. The routine does no parameter checking.

Input Parameters

uplo

CHARACTER*1.

Specifies whether the matrix A is upper or lower triangular:

= 'U': A is upper triangular,

= 'L': A is lower triangular.

n

INTEGER. The number of rows and columns of the matrix A. n 0.

a

DOUBLE PRECISION.

Array, DIMENSION (lda, *).

On entry, the n-by-n triangular matrix A.

lda

INTEGER. The leading dimension of the array a. lda max(1,n).

ldsa

INTEGER. The leading dimension of the array sa. ldsa max(1,n).

Output Parameters

sa

REAL.

Array, DIMENSION (ldsa, *).

Only the part of sa determined by uplo is referenced. On exit,

  • if info = 0, the n-by-n triangular matrix SA,

  • if info > 0, the content of the part of sa determined by uplo is unspecified.

info

INTEGER.

=0: successful exit,

> 0: an element of the matrix A is greater than the single-precision overflow threshold; in this case, the content of the part of sa determined by uplo is unspecified on exit.

For more complete information about compiler optimizations, see our Optimization Notice.