193{
194
197
202 extern
203 int zhetd2_fla(
char *,
integer *,
doublecomplex *,
integer *,
doublereal *,
doublereal *,
doublecomplex *,
integer *),
zher2k_(
char *,
char *,
integer *,
integer *,
doublecomplex *,
doublecomplex *,
integer *,
doublecomplex *,
integer *,
doublereal *,
doublecomplex *,
integer *),
xerbla_(
char *,
integer *);
205 extern
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
238
243 {
245 }
246 else if (*n < 0)
247 {
249 }
250 else if (*
lda <
max(1,*n))
251 {
253 }
255 {
257 }
259 {
260
261 nb =
ilaenv_(&c__1,
"ZHETRD", uplo, n, &c_n1, &c_n1, &c_n1);
265 }
267 {
270 return 0;
271 }
273 {
274 return 0;
275 }
276
277 if (*n == 0)
278 {
281 return 0;
282 }
285 if (
nb > 1 &&
nb < *n)
286 {
287
288
289
291 i__2 =
ilaenv_(&c__3,
"ZHETRD", uplo, n, &c_n1, &c_n1, & c_n1);
294 {
295
299 {
300
301
302
303
306 nbmin =
ilaenv_(&c__2,
"ZHETRD", uplo, n, &c_n1, &c_n1, &c_n1);
308 {
310 }
311 }
312 }
313 else
314 {
316 }
317 }
318 else
319 {
321 }
323 {
324
325
329 for (
i__ = *n -
nb + 1;
332 {
333
334
335
338
339
343 zher2k_(uplo,
"No transpose", &
i__3, &
nb, &
z__1, &
a[
i__ *
a_dim1 + 1],
lda, &
work[1], &
ldwork, &c_b23, &
a[
a_offset],
lda);
344
345
350 {
358
359 }
360
361 }
362
364 }
365 else
366 {
367
373 {
374
375
376
379
380
384 zher2k_(uplo,
"No transpose", &
i__3, &
nb, &
z__1, &
a[
i__ +
nb +
i__ *
a_dim1],
lda, &
work[
nb + 1], &
ldwork, &c_b23, &
a[
i__ +
nb + (
i__ +
nb) *
a_dim1],
lda);
385
386
391 {
399
400 }
401
402 }
403
406 }
409 return 0;
410
411}
double doublereal
Definition FLA_f2c.h:31
int integer
Definition FLA_f2c.h:25
int logical
Definition FLA_f2c.h:36
int i
Definition bl1_axmyv2.c:145
int zhetd2_fla(char *uplo, integer *n, doublecomplex *a, integer *lda, doublereal *d__, doublereal *e, doublecomplex *tau, integer *info)
Definition zhetd2.c:174