LAPACK 3.11.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ dlat2s()

subroutine dlat2s ( character  UPLO,
integer  N,
double precision, dimension( lda, * )  A,
integer  LDA,
real, dimension( ldsa, * )  SA,
integer  LDSA,
integer  INFO 
)

DLAT2S converts a double-precision triangular matrix to a single-precision triangular matrix.

Download DLAT2S + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 DLAT2S converts a DOUBLE PRECISION triangular matrix, SA, to a SINGLE
 PRECISION triangular matrix, A.

 RMAX is the overflow for the SINGLE PRECISION arithmetic
 DLAS2S checks that all the entries of A are between -RMAX and
 RMAX. If not the conversion is aborted and a flag is raised.

 This is an auxiliary routine so there is no argument checking.
Parameters
[in]UPLO
          UPLO is CHARACTER*1
          = 'U':  A is upper triangular;
          = 'L':  A is lower triangular.
[in]N
          N is INTEGER
          The number of rows and columns of the matrix A.  N >= 0.
[in]A
          A is DOUBLE PRECISION array, dimension (LDA,N)
          On entry, the N-by-N triangular coefficient matrix A.
[in]LDA
          LDA is INTEGER
          The leading dimension of the array A.  LDA >= max(1,N).
[out]SA
          SA is REAL array, dimension (LDSA,N)
          Only the UPLO part of SA is referenced.  On exit, if INFO=0,
          the N-by-N coefficient matrix SA; if INFO>0, the content of
          the UPLO part of SA is unspecified.
[in]LDSA
          LDSA is INTEGER
          The leading dimension of the array SA.  LDSA >= max(1,M).
[out]INFO
          INFO is INTEGER
          = 0:  successful exit.
          = 1:  an entry of the matrix A is greater than the SINGLE
                PRECISION overflow threshold, in this case, the content
                of the UPLO part of SA in exit is unspecified.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 110 of file dlat2s.f.

111*
112* -- LAPACK auxiliary routine --
113* -- LAPACK is a software package provided by Univ. of Tennessee, --
114* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
115*
116* .. Scalar Arguments ..
117 CHARACTER UPLO
118 INTEGER INFO, LDA, LDSA, N
119* ..
120* .. Array Arguments ..
121 REAL SA( LDSA, * )
122 DOUBLE PRECISION A( LDA, * )
123* ..
124*
125* =====================================================================
126*
127* .. Local Scalars ..
128 INTEGER I, J
129 DOUBLE PRECISION RMAX
130 LOGICAL UPPER
131* ..
132* .. External Functions ..
133 REAL SLAMCH
134 LOGICAL LSAME
135 EXTERNAL slamch, lsame
136* ..
137* .. Intrinsic Functions ..
138 INTRINSIC real
139* ..
140* .. Executable Statements ..
141*
142 rmax = slamch( 'O' )
143 upper = lsame( uplo, 'U' )
144 IF( upper ) THEN
145 DO 20 j = 1, n
146 DO 10 i = 1, j
147 IF( ( a( i, j ).LT.-rmax ) .OR. ( a( i, j ).GT.rmax ) )
148 $ THEN
149 info = 1
150 GO TO 50
151 END IF
152 sa( i, j ) = real( a( i, j ) )
153 10 CONTINUE
154 20 CONTINUE
155 ELSE
156 DO 40 j = 1, n
157 DO 30 i = j, n
158 IF( ( a( i, j ).LT.-rmax ) .OR. ( a( i, j ).GT.rmax ) )
159 $ THEN
160 info = 1
161 GO TO 50
162 END IF
163 sa( i, j ) = real( a( i, j ) )
164 30 CONTINUE
165 40 CONTINUE
166 END IF
167 50 CONTINUE
168*
169 RETURN
170*
171* End of DLAT2S
172*
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53
real function slamch(CMACH)
SLAMCH
Definition: slamch.f:68
Here is the caller graph for this function: