177 integer a_dim1, a_offset, i__1, i__2, i__3;
179 complex q__1, q__2, q__3, q__4;
188 extern logical lsame_(
char *,
char *);
190 int chemv_(
char *,
integer *,
complex *,
complex * ,
integer *,
complex *,
integer *,
complex *,
complex *,
integer * ), caxpy_(
integer *,
complex *,
complex *,
integer *,
complex *,
integer *);
217 a_offset = 1 + a_dim1;
224 upper = lsame_(uplo,
"U");
225 if (! upper && ! lsame_(uplo,
"L"))
233 else if (*lda < max(1,*n))
240 xerbla_(
"CHETD2", &i__1);
251 i__1 = *n + *n * a_dim1;
252 i__2 = *n + *n * a_dim1;
262 i__1 = i__ + (i__ + 1) * a_dim1;
265 clarfg_(&i__, &alpha, &a[(i__ + 1) * a_dim1 + 1], &c__1, &taui);
268 if (taui.
r != 0.f || taui.
i != 0.f)
271 i__1 = i__ + (i__ + 1) * a_dim1;
275 chemv_(uplo, &i__, &taui, &a[a_offset], lda, &a[(i__ + 1) * a_dim1 + 1], &c__1, &c_b2, &tau[1], &c__1);
279 q__2.
r = q__3.
r * taui.
r - q__3.
i * taui.
i;
280 q__2.
i = q__3.
r * taui.
i + q__3.
i * taui.
r;
281 cdotc_f2c_(&q__4, &i__, &tau[1], &c__1, &a[(i__ + 1) * a_dim1 + 1] , &c__1);
282 q__1.
r = q__2.
r * q__4.
r - q__2.
i * q__4.
i;
283 q__1.
i = q__2.
r * q__4.
i + q__2.
i * q__4.
r;
286 caxpy_(&i__, &alpha, &a[(i__ + 1) * a_dim1 + 1], &c__1, &tau[ 1], &c__1);
291 cher2_(uplo, &i__, &q__1, &a[(i__ + 1) * a_dim1 + 1], &c__1, & tau[1], &c__1, &a[a_offset], lda);
295 i__1 = i__ + i__ * a_dim1;
296 i__2 = i__ + i__ * a_dim1;
301 i__1 = i__ + (i__ + 1) * a_dim1;
306 i__2 = i__ + 1 + (i__ + 1) * a_dim1;
307 d__[i__1] = a[i__2].
r;
309 tau[i__1].
r = taui.
r;
310 tau[i__1].
i = taui.
i;
331 i__2 = i__ + 1 + i__ * a_dim1;
337 clarfg_(&i__2, &alpha, &a[min(i__3,*n) + i__ * a_dim1], &c__1, & taui);
340 if (taui.
r != 0.f || taui.
i != 0.f)
343 i__2 = i__ + 1 + i__ * a_dim1;
348 chemv_(uplo, &i__2, &taui, &a[i__ + 1 + (i__ + 1) * a_dim1], lda, &a[i__ + 1 + i__ * a_dim1], &c__1, &c_b2, &tau[ i__], &c__1);
352 q__2.
r = q__3.
r * taui.
r - q__3.
i * taui.
i;
353 q__2.
i = q__3.
r * taui.
i + q__3.
i * taui.
r;
355 cdotc_f2c_(&q__4, &i__2, &tau[i__], &c__1, &a[i__ + 1 + i__ * a_dim1], &c__1);
356 q__1.
r = q__2.
r * q__4.
r - q__2.
i * q__4.
i;
357 q__1.
i = q__2.
r * q__4.
i + q__2.
i * q__4.
r;
361 caxpy_(&i__2, &alpha, &a[i__ + 1 + i__ * a_dim1], &c__1, &tau[ i__], &c__1);
367 cher2_(uplo, &i__2, &q__1, &a[i__ + 1 + i__ * a_dim1], &c__1, &tau[i__], &c__1, &a[i__ + 1 + (i__ + 1) * a_dim1], lda);
371 i__2 = i__ + 1 + (i__ + 1) * a_dim1;
372 i__3 = i__ + 1 + (i__ + 1) * a_dim1;
377 i__2 = i__ + 1 + i__ * a_dim1;
382 i__3 = i__ + i__ * a_dim1;
383 d__[i__2] = a[i__3].
r;
385 tau[i__2].
r = taui.
r;
386 tau[i__2].
i = taui.
i;
390 i__2 = *n + *n * a_dim1;
391 d__[i__1] = a[i__2].
r;
int integer
Definition: FLA_f2c.h:25
int logical
Definition: FLA_f2c.h:36
float real
Definition: FLA_f2c.h:30
real r
Definition: FLA_f2c.h:32
real i
Definition: FLA_f2c.h:32