# _lag2_ - Man Page

<em>lag2</em>: general matrix, convert double <=> single

## Synopsis

### Functions

subroutine **clag2z** (m, n, sa, ldsa, a, lda, info)**CLAG2Z** converts a complex single precision matrix to a complex double precision matrix.

subroutine **dlag2s** (m, n, a, lda, sa, ldsa, info)**DLAG2S** converts a double precision matrix to a single precision matrix.

subroutine **slag2d** (m, n, sa, ldsa, a, lda, info)**SLAG2D** converts a single precision matrix to a double precision matrix.

subroutine **zlag2c** (m, n, a, lda, sa, ldsa, info)**ZLAG2C** converts a complex double precision matrix to a complex single precision matrix.

## Detailed Description

## Function Documentation

### subroutine clag2z (integer m, integer n, complex, dimension( ldsa, * ) sa, integer ldsa, complex*16, dimension( lda, * ) a, integer lda, integer info)

**CLAG2Z** converts a complex single precision matrix to a complex double precision matrix.

**Purpose:**

CLAG2Z converts a COMPLEX matrix, SA, to a COMPLEX*16 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. This is an auxiliary routine so there is no argument checking.

**Parameters***M*M is INTEGER The number of lines of the matrix A. M >= 0.

*N*N is INTEGER The number of columns of the matrix A. N >= 0.

*SA*SA is COMPLEX array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA.

*LDSA*LDSA is INTEGER The leading dimension of the array SA. LDSA >= max(1,M).

*A*A is COMPLEX*16 array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A.

*LDA*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M).

*INFO*INFO is INTEGER = 0: successful exit

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **102** of file **clag2z.f**.

### subroutine dlag2s (integer m, integer n, double precision, dimension( lda, * ) a, integer lda, real, dimension( ldsa, * ) sa, integer ldsa, integer info)

**DLAG2S** converts a double precision matrix to a single precision matrix.

**Purpose:**

DLAG2S converts a DOUBLE PRECISION matrix, A, to a SINGLE PRECISION matrix, SA. RMAX is the overflow for the SINGLE PRECISION arithmetic DLAG2S 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***M*M is INTEGER The number of lines of the matrix A. M >= 0.

*N*N is INTEGER The number of columns of the matrix A. N >= 0.

*A*A is DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N coefficient matrix A.

*LDA*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M).

*SA*SA is REAL array, dimension (LDSA,N) On exit, if INFO=0, the M-by-N coefficient matrix SA; if INFO>0, the content of SA is unspecified.

*LDSA*LDSA is INTEGER The leading dimension of the array SA. LDSA >= max(1,M).

*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 SA in exit is unspecified.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **107** of file **dlag2s.f**.

### subroutine slag2d (integer m, integer n, real, dimension( ldsa, * ) sa, integer ldsa, double precision, dimension( lda, * ) a, integer lda, integer info)

**SLAG2D** converts a single precision matrix to a double precision matrix.

**Purpose:**

SLAG2D converts a SINGLE PRECISION matrix, SA, to a DOUBLE PRECISION 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. This is an auxiliary routine so there is no argument checking.

**Parameters***M*M is INTEGER The number of lines of the matrix A. M >= 0.

*N*N is INTEGER The number of columns of the matrix A. N >= 0.

*SA*SA is REAL array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA.

*LDSA*LDSA is INTEGER The leading dimension of the array SA. LDSA >= max(1,M).

*A*A is DOUBLE PRECISION array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A.

*LDA*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M).

*INFO*INFO is INTEGER = 0: successful exit

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **103** of file **slag2d.f**.

### subroutine zlag2c (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, complex, dimension( ldsa, * ) sa, integer ldsa, integer info)

**ZLAG2C** converts a complex double precision matrix to a complex single precision matrix.

**Purpose:**

ZLAG2C converts a COMPLEX*16 matrix, SA, to a COMPLEX matrix, A. RMAX is the overflow for the SINGLE PRECISION arithmetic ZLAG2C 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***M*M is INTEGER The number of lines of the matrix A. M >= 0.

*N*N is INTEGER The number of columns of the matrix A. N >= 0.

*A*A is COMPLEX*16 array, dimension (LDA,N) On entry, the M-by-N coefficient matrix A.

*LDA*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M).

*SA*SA is COMPLEX array, dimension (LDSA,N) On exit, if INFO=0, the M-by-N coefficient matrix SA; if INFO>0, the content of SA is unspecified.

*LDSA*LDSA is INTEGER The leading dimension of the array SA. LDSA >= max(1,M).

*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 SA in exit is unspecified.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **106** of file **zlag2c.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.