120 integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
123 extern logical lsame_(
char *,
char *);
127 int xerbla_(
char *,
integer *);
130 int cungql_(
integer *,
integer *,
integer *,
complex *,
integer *,
complex *,
complex *,
integer *,
integer *),
cungqr_fla(
integer *,
integer *,
integer *,
complex *,
integer *,
complex *,
complex *,
integer *,
integer *);
156 a_offset = 1 + a_dim1;
162 lquery = *lwork == -1;
163 upper = lsame_(uplo,
"U");
164 if (! upper && ! lsame_(uplo,
"L"))
172 else if (*lda < max(1,*n))
181 if (*lwork < max(i__1,i__2) && ! lquery)
193 nb = ilaenv_(&c__1,
"CUNGQL",
" ", &i__1, &i__2, &i__3, &c_n1);
200 nb = ilaenv_(&c__1,
"CUNGQR",
" ", &i__1, &i__2, &i__3, &c_n1);
205 lwkopt = max(i__1,i__2) * nb;
206 work[1].
r = (
real) lwkopt;
212 xerbla_(
"CUNGTR", &i__1);
242 i__3 = i__ + j * a_dim1;
243 i__4 = i__ + (j + 1) * a_dim1;
244 a[i__3].
r = a[i__4].
r;
245 a[i__3].
i = a[i__4].
i;
248 i__2 = *n + j * a_dim1;
258 i__2 = i__ + *n * a_dim1;
263 i__1 = *n + *n * a_dim1;
270 cungql_(&i__1, &i__2, &i__3, &a[a_offset], lda, &tau[1], &work[1], lwork, &iinfo);
282 i__1 = j * a_dim1 + 1;
290 i__2 = i__ + j * a_dim1;
291 i__3 = i__ + (j - 1) * a_dim1;
292 a[i__2].
r = a[i__3].
r;
293 a[i__2].
i = a[i__3].
i;
317 cungqr_fla(&i__1, &i__2, &i__3, &a[(a_dim1 << 1) + 2], lda, &tau[1], &work[1], lwork, &iinfo);
320 work[1].
r = (
real) lwkopt;
int integer
Definition: FLA_f2c.h:25
int logical
Definition: FLA_f2c.h:36
float real
Definition: FLA_f2c.h:30
int cungqr_fla(integer *m, integer *n, integer *k, complex *a, integer *lda, complex *tau, complex *work, integer *lwork, integer *info)
Definition: cungqr.c:123
real r
Definition: FLA_f2c.h:32
real i
Definition: FLA_f2c.h:32