LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ ctrttp()

subroutine ctrttp ( character  UPLO,
integer  N,
complex, dimension( lda, * )  A,
integer  LDA,
complex, dimension( * )  AP,
integer  INFO 
)

CTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP).

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

Purpose:
 CTRTTP copies a triangular matrix A from full format (TR) to standard
 packed format (TP).
Parameters
[in]UPLO
          UPLO is CHARACTER*1
          = 'U':  A is upper triangular;
          = 'L':  A is lower triangular.
[in]N
          N is INTEGER
          The order of the matrices AP and A.  N >= 0.
[in]A
          A is COMPLEX array, dimension (LDA,N)
          On entry, the triangular matrix A.  If UPLO = 'U', 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 = 'L', 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.
[in]LDA
          LDA is INTEGER
          The leading dimension of the array A.  LDA >= max(1,N).
[out]AP
          AP is COMPLEX array, dimension ( N*(N+1)/2 ),
          On exit, the upper or lower triangular matrix A, packed
          columnwise in a linear array. The j-th column of A is stored
          in the array AP as follows:
          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
          if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
[out]INFO
          INFO is INTEGER
          = 0:  successful exit
          < 0:  if INFO = -i, the i-th argument had an illegal value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 103 of file ctrttp.f.

104 *
105 * -- LAPACK computational routine --
106 * -- LAPACK is a software package provided by Univ. of Tennessee, --
107 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
108 *
109 * .. Scalar Arguments ..
110  CHARACTER UPLO
111  INTEGER INFO, N, LDA
112 * ..
113 * .. Array Arguments ..
114  COMPLEX A( LDA, * ), AP( * )
115 * ..
116 *
117 * =====================================================================
118 *
119 * .. Parameters ..
120 * ..
121 * .. Local Scalars ..
122  LOGICAL LOWER
123  INTEGER I, J, K
124 * ..
125 * .. External Functions ..
126  LOGICAL LSAME
127  EXTERNAL lsame
128 * ..
129 * .. External Subroutines ..
130  EXTERNAL xerbla
131 * ..
132 * .. Executable Statements ..
133 *
134 * Test the input parameters.
135 *
136  info = 0
137  lower = lsame( uplo, 'L' )
138  IF( .NOT.lower .AND. .NOT.lsame( uplo, 'U' ) ) THEN
139  info = -1
140  ELSE IF( n.LT.0 ) THEN
141  info = -2
142  ELSE IF( lda.LT.max( 1, n ) ) THEN
143  info = -4
144  END IF
145  IF( info.NE.0 ) THEN
146  CALL xerbla( 'CTRTTP', -info )
147  RETURN
148  END IF
149 *
150  IF( lower ) THEN
151  k = 0
152  DO j = 1, n
153  DO i = j, n
154  k = k + 1
155  ap( k ) = a( i, j )
156  END DO
157  END DO
158  ELSE
159  k = 0
160  DO j = 1, n
161  DO i = 1, j
162  k = k + 1
163  ap( k ) = a( i, j )
164  END DO
165  END DO
166  END IF
167 *
168 *
169  RETURN
170 *
171 * End of CTRTTP
172 *
subroutine xerbla(SRNAME, INFO)
XERBLA
Definition: xerbla.f:60
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53
Here is the call graph for this function:
Here is the caller graph for this function: