GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-e0f91531fb
lapack.h
Go to the documentation of this file.
1 #ifndef LAPACK_WRAP_
2 #define LAPACK_WRAP_
3 
4 extern int cbdsqr_(char *uplo, integer *n, integer *ncvt, integer *nru,
5  integer *ncc, real *d__, real *e, complex *vt, integer *ldvt,
6  complex *u, integer *ldu, complex *c__, integer *ldc,
7  real *rwork, integer *info, ftnlen uplo_len);
8 extern int cgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
9  integer *kl, integer *ku, complex *ab, integer *ldab,
10  real *d__, real *e, complex *q, integer *ldq, complex *pt,
11  integer *ldpt, complex *c__, integer *ldc, complex *work,
12  real *rwork, integer *info, ftnlen vect_len);
13 extern int cgbcon_(char *norm, integer *n, integer *kl, integer *ku,
14  complex *ab, integer *ldab, integer *ipiv, real *anorm,
15  real *rcond, complex *work, real *rwork, integer *info,
16  ftnlen norm_len);
17 extern int cgbequ_(integer *m, integer *n, integer *kl, integer *ku,
18  complex *ab, integer *ldab, real *r__, real *c__,
19  real *rowcnd, real *colcnd, real *amax, integer *info);
20 extern int cgbrfs_(char *trans, integer *n, integer *kl, integer *ku,
21  integer *nrhs, complex *ab, integer *ldab, complex *afb,
22  integer *ldafb, integer *ipiv, complex *b, integer *ldb,
23  complex *x, integer *ldx, real *ferr, real *berr,
24  complex *work, real *rwork, integer *info, ftnlen trans_len);
25 extern int cgbsv_(integer *n, integer *kl, integer *ku, integer *nrhs,
26  complex *ab, integer *ldab, integer *ipiv, complex *b,
27  integer *ldb, integer *info);
28 extern int cgbsvx_(char *fact, char *trans, integer *n, integer *kl,
29  integer *ku, integer *nrhs, complex *ab, integer *ldab,
30  complex *afb, integer *ldafb, integer *ipiv, char *equed,
31  real *r__, real *c__, complex *b, integer *ldb, complex *x,
32  integer *ldx, real *rcond, real *ferr, real *berr,
33  complex *work, real *rwork, integer *info, ftnlen fact_len,
34  ftnlen trans_len, ftnlen equed_len);
35 extern int cgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
36  complex *ab, integer *ldab, integer *ipiv, integer *info);
37 extern int cgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
38  complex *ab, integer *ldab, integer *ipiv, integer *info);
39 extern int cgbtrs_(char *trans, integer *n, integer *kl, integer *ku,
40  integer *nrhs, complex *ab, integer *ldab, integer *ipiv,
41  complex *b, integer *ldb, integer *info, ftnlen trans_len);
42 extern int cgebak_(char *job, char *side, integer *n, integer *ilo,
43  integer *ihi, real *scale, integer *m, complex *v,
44  integer *ldv, integer *info, ftnlen job_len,
45  ftnlen side_len);
46 extern int cgebal_(char *job, integer *n, complex *a, integer *lda,
47  integer *ilo, integer *ihi, real *scale, integer *info,
48  ftnlen job_len);
49 extern int cgebd2_(integer *m, integer *n, complex *a, integer *lda, real *d__,
50  real *e, complex *tauq, complex *taup, complex *work,
51  integer *info);
52 extern int cgebrd_(integer *m, integer *n, complex *a, integer *lda, real *d__,
53  real *e, complex *tauq, complex *taup, complex *work,
54  integer *lwork, integer *info);
55 extern int cgecon_(char *norm, integer *n, complex *a, integer *lda,
56  real *anorm, real *rcond, complex *work, real *rwork,
57  integer *info, ftnlen norm_len);
58 extern int cgeequ_(integer *m, integer *n, complex *a, integer *lda, real *r__,
59  real *c__, real *rowcnd, real *colcnd, real *amax,
60  integer *info);
61 extern int cgees_(char *jobvs, char *sort, L_fp select, integer *n, complex *a,
62  integer *lda, integer *sdim, complex *w, complex *vs,
63  integer *ldvs, complex *work, integer *lwork, real *rwork,
64  logical *bwork, integer *info, ftnlen jobvs_len,
65  ftnlen sort_len);
66 extern int cgeesx_(char *jobvs, char *sort, L_fp select, char *sense,
67  integer *n, complex *a, integer *lda, integer *sdim,
68  complex *w, complex *vs, integer *ldvs, real *rconde,
69  real *rcondv, complex *work, integer *lwork, real *rwork,
70  logical *bwork, integer *info, ftnlen jobvs_len,
71  ftnlen sort_len, ftnlen sense_len);
72 extern int cgeev_(char *jobvl, char *jobvr, integer *n, complex *a,
73  integer *lda, complex *w, complex *vl, integer *ldvl,
74  complex *vr, integer *ldvr, complex *work, integer *lwork,
75  real *rwork, integer *info, ftnlen jobvl_len,
76  ftnlen jobvr_len);
77 extern int cgeevx_(char *balanc, char *jobvl, char *jobvr, char *sense,
78  integer *n, complex *a, integer *lda, complex *w,
79  complex *vl, integer *ldvl, complex *vr, integer *ldvr,
80  integer *ilo, integer *ihi, real *scale, real *abnrm,
81  real *rconde, real *rcondv, complex *work, integer *lwork,
82  real *rwork, integer *info, ftnlen balanc_len,
83  ftnlen jobvl_len, ftnlen jobvr_len, ftnlen sense_len);
84 extern int cgegs_(char *jobvsl, char *jobvsr, integer *n, complex *a,
85  integer *lda, complex *b, integer *ldb, complex *alpha,
86  complex *beta, complex *vsl, integer *ldvsl, complex *vsr,
87  integer *ldvsr, complex *work, integer *lwork, real *rwork,
88  integer *info, ftnlen jobvsl_len, ftnlen jobvsr_len);
89 extern int cgegv_(char *jobvl, char *jobvr, integer *n, complex *a,
90  integer *lda, complex *b, integer *ldb, complex *alpha,
91  complex *beta, complex *vl, integer *ldvl, complex *vr,
92  integer *ldvr, complex *work, integer *lwork, real *rwork,
93  integer *info, ftnlen jobvl_len, ftnlen jobvr_len);
94 extern int cgehd2_(integer *n, integer *ilo, integer *ihi, complex *a,
95  integer *lda, complex *tau, complex *work, integer *info);
96 extern int cgehrd_(integer *n, integer *ilo, integer *ihi, complex *a,
97  integer *lda, complex *tau, complex *work, integer *lwork,
98  integer *info);
99 extern int cgelq2_(integer *m, integer *n, complex *a, integer *lda,
100  complex *tau, complex *work, integer *info);
101 extern int cgelqf_(integer *m, integer *n, complex *a, integer *lda,
102  complex *tau, complex *work, integer *lwork, integer *info);
103 extern int cgels_(char *trans, integer *m, integer *n, integer *nrhs,
104  complex *a, integer *lda, complex *b, integer *ldb,
105  complex *work, integer *lwork, integer *info,
106  ftnlen trans_len);
107 extern int cgelsd_(integer *m, integer *n, integer *nrhs, complex *a,
108  integer *lda, complex *b, integer *ldb, real *s, real *rcond,
109  integer *rank, complex *work, integer *lwork, real *rwork,
110  integer *iwork, integer *info);
111 extern int cgelss_(integer *m, integer *n, integer *nrhs, complex *a,
112  integer *lda, complex *b, integer *ldb, real *s, real *rcond,
113  integer *rank, complex *work, integer *lwork, real *rwork,
114  integer *info);
115 extern int cgelsx_(integer *m, integer *n, integer *nrhs, complex *a,
116  integer *lda, complex *b, integer *ldb, integer *jpvt,
117  real *rcond, integer *rank, complex *work, real *rwork,
118  integer *info);
119 extern int cgelsy_(integer *m, integer *n, integer *nrhs, complex *a,
120  integer *lda, complex *b, integer *ldb, integer *jpvt,
121  real *rcond, integer *rank, complex *work, integer *lwork,
122  real *rwork, integer *info);
123 extern int cgeql2_(integer *m, integer *n, complex *a, integer *lda,
124  complex *tau, complex *work, integer *info);
125 extern int cgeqlf_(integer *m, integer *n, complex *a, integer *lda,
126  complex *tau, complex *work, integer *lwork, integer *info);
127 extern int cgeqp3_(integer *m, integer *n, complex *a, integer *lda,
128  integer *jpvt, complex *tau, complex *work, integer *lwork,
129  real *rwork, integer *info);
130 extern int cgeqpf_(integer *m, integer *n, complex *a, integer *lda,
131  integer *jpvt, complex *tau, complex *work, real *rwork,
132  integer *info);
133 extern int cgeqr2_(integer *m, integer *n, complex *a, integer *lda,
134  complex *tau, complex *work, integer *info);
135 extern int cgeqrf_(integer *m, integer *n, complex *a, integer *lda,
136  complex *tau, complex *work, integer *lwork, integer *info);
137 extern int cgerfs_(char *trans, integer *n, integer *nrhs, complex *a,
138  integer *lda, complex *af, integer *ldaf, integer *ipiv,
139  complex *b, integer *ldb, complex *x, integer *ldx,
140  real *ferr, real *berr, complex *work, real *rwork,
141  integer *info, ftnlen trans_len);
142 extern int cgerq2_(integer *m, integer *n, complex *a, integer *lda,
143  complex *tau, complex *work, integer *info);
144 extern int cgerqf_(integer *m, integer *n, complex *a, integer *lda,
145  complex *tau, complex *work, integer *lwork, integer *info);
146 extern int cgesc2_(integer *n, complex *a, integer *lda, complex *rhs,
147  integer *ipiv, integer *jpiv, real *scale);
148 extern int cgesdd_(char *jobz, integer *m, integer *n, complex *a, integer *lda,
149  real *s, complex *u, integer *ldu, complex *vt,
150  integer *ldvt, complex *work, integer *lwork, real *rwork,
151  integer *iwork, integer *info, ftnlen jobz_len);
152 extern int cgesv_(integer *n, integer *nrhs, complex *a, integer *lda,
153  integer *ipiv, complex *b, integer *ldb, integer *info);
154 extern int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, complex *a,
155  integer *lda, real *s, complex *u, integer *ldu, complex *vt,
156  integer *ldvt, complex *work, integer *lwork, real *rwork,
157  integer *info, ftnlen jobu_len, ftnlen jobvt_len);
158 extern int cgesvx_(char *fact, char *trans, integer *n, integer *nrhs,
159  complex *a, integer *lda, complex *af, integer *ldaf,
160  integer *ipiv, char *equed, real *r__, real *c__, complex *b,
161  integer *ldb, complex *x, integer *ldx, real *rcond,
162  real *ferr, real *berr, complex *work, real *rwork,
163  integer *info, ftnlen fact_len, ftnlen trans_len,
164  ftnlen equed_len);
165 extern int cgetc2_(integer *n, complex *a, integer *lda, integer *ipiv,
166  integer *jpiv, integer *info);
167 extern int cgetf2_(integer *m, integer *n, complex *a, integer *lda,
168  integer *ipiv, integer *info);
169 extern int cgetrf_(integer *m, integer *n, complex *a, integer *lda,
170  integer *ipiv, integer *info);
171 extern int cgetri_(integer *n, complex *a, integer *lda, integer *ipiv,
172  complex *work, integer *lwork, integer *info);
173 extern int cgetrs_(char *trans, integer *n, integer *nrhs, complex *a,
174  integer *lda, integer *ipiv, complex *b, integer *ldb,
175  integer *info, ftnlen trans_len);
176 extern int cggbak_(char *job, char *side, integer *n, integer *ilo,
177  integer *ihi, real *lscale, real *rscale, integer *m,
178  complex *v, integer *ldv, integer *info, ftnlen job_len,
179  ftnlen side_len);
180 extern int cggbal_(char *job, integer *n, complex *a, integer *lda, complex *b,
181  integer *ldb, integer *ilo, integer *ihi, real *lscale,
182  real *rscale, real *work, integer *info, ftnlen job_len);
183 extern int cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp selctg,
184  integer *n, complex *a, integer *lda, complex *b,
185  integer *ldb, integer *sdim, complex *alpha, complex *beta,
186  complex *vsl, integer *ldvsl, complex *vsr, integer *ldvsr,
187  complex *work, integer *lwork, real *rwork, logical *bwork,
188  integer *info, ftnlen jobvsl_len, ftnlen jobvsr_len,
189  ftnlen sort_len);
190 extern int cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp selctg,
191  char *sense, integer *n, complex *a, integer *lda,
192  complex *b, integer *ldb, integer *sdim, complex *alpha,
193  complex *beta, complex *vsl, integer *ldvsl, complex *vsr,
194  integer *ldvsr, real *rconde, real *rcondv, complex *work,
195  integer *lwork, real *rwork, integer *iwork, integer *liwork,
196  logical *bwork, integer *info, ftnlen jobvsl_len,
197  ftnlen jobvsr_len, ftnlen sort_len, ftnlen sense_len);
198 extern int cggev_(char *jobvl, char *jobvr, integer *n, complex *a,
199  integer *lda, complex *b, integer *ldb, complex *alpha,
200  complex *beta, complex *vl, integer *ldvl, complex *vr,
201  integer *ldvr, complex *work, integer *lwork, real *rwork,
202  integer *info, ftnlen jobvl_len, ftnlen jobvr_len);
203 extern int cggevx_(char *balanc, char *jobvl, char *jobvr, char *sense,
204  integer *n, complex *a, integer *lda, complex *b,
205  integer *ldb, complex *alpha, complex *beta, complex *vl,
206  integer *ldvl, complex *vr, integer *ldvr, integer *ilo,
207  integer *ihi, real *lscale, real *rscale, real *abnrm,
208  real *bbnrm, real *rconde, real *rcondv, complex *work,
209  integer *lwork, real *rwork, integer *iwork, logical *bwork,
210  integer *info, ftnlen balanc_len, ftnlen jobvl_len,
211  ftnlen jobvr_len, ftnlen sense_len);
212 extern int cggglm_(integer *n, integer *m, integer *p, complex *a, integer *lda,
213  complex *b, integer *ldb, complex *d__, complex *x,
214  complex *y, complex *work, integer *lwork, integer *info);
215 extern int cgghrd_(char *compq, char *compz, integer *n, integer *ilo,
216  integer *ihi, complex *a, integer *lda, complex *b,
217  integer *ldb, complex *q, integer *ldq, complex *z__,
218  integer *ldz, integer *info, ftnlen compq_len,
219  ftnlen compz_len);
220 extern int cgglse_(integer *m, integer *n, integer *p, complex *a, integer *lda,
221  complex *b, integer *ldb, complex *c__, complex *d__,
222  complex *x, complex *work, integer *lwork, integer *info);
223 extern int cggqrf_(integer *n, integer *m, integer *p, complex *a, integer *lda,
224  complex *taua, complex *b, integer *ldb, complex *taub,
225  complex *work, integer *lwork, integer *info);
226 extern int cggrqf_(integer *m, integer *p, integer *n, complex *a, integer *lda,
227  complex *taua, complex *b, integer *ldb, complex *taub,
228  complex *work, integer *lwork, integer *info);
229 extern int cggsvd_(char *jobu, char *jobv, char *jobq, integer *m, integer *n,
230  integer *p, integer *k, integer *l, complex *a, integer *lda,
231  complex *b, integer *ldb, real *alpha, real *beta,
232  complex *u, integer *ldu, complex *v, integer *ldv,
233  complex *q, integer *ldq, complex *work, real *rwork,
234  integer *iwork, integer *info, ftnlen jobu_len,
235  ftnlen jobv_len, ftnlen jobq_len);
236 extern int cggsvp_(char *jobu, char *jobv, char *jobq, integer *m, integer *p,
237  integer *n, complex *a, integer *lda, complex *b,
238  integer *ldb, real *tola, real *tolb, integer *k, integer *l,
239  complex *u, integer *ldu, complex *v, integer *ldv,
240  complex *q, integer *ldq, integer *iwork, real *rwork,
241  complex *tau, complex *work, integer *info, ftnlen jobu_len,
242  ftnlen jobv_len, ftnlen jobq_len);
243 extern int cgtcon_(char *norm, integer *n, complex *dl, complex *d__,
244  complex *du, complex *du2, integer *ipiv, real *anorm,
245  real *rcond, complex *work, integer *info, ftnlen norm_len);
246 extern int cgtrfs_(char *trans, integer *n, integer *nrhs, complex *dl,
247  complex *d__, complex *du, complex *dlf, complex *df,
248  complex *duf, complex *du2, integer *ipiv, complex *b,
249  integer *ldb, complex *x, integer *ldx, real *ferr,
250  real *berr, complex *work, real *rwork, integer *info,
251  ftnlen trans_len);
252 extern int cgtsv_(integer *n, integer *nrhs, complex *dl, complex *d__,
253  complex *du, complex *b, integer *ldb, integer *info);
254 extern int cgtsvx_(char *fact, char *trans, integer *n, integer *nrhs,
255  complex *dl, complex *d__, complex *du, complex *dlf,
256  complex *df, complex *duf, complex *du2, integer *ipiv,
257  complex *b, integer *ldb, complex *x, integer *ldx,
258  real *rcond, real *ferr, real *berr, complex *work,
259  real *rwork, integer *info, ftnlen fact_len,
260  ftnlen trans_len);
261 extern int cgttrf_(integer *n, complex *dl, complex *d__, complex *du,
262  complex *du2, integer *ipiv, integer *info);
263 extern int cgttrs_(char *trans, integer *n, integer *nrhs, complex *dl,
264  complex *d__, complex *du, complex *du2, integer *ipiv,
265  complex *b, integer *ldb, integer *info, ftnlen trans_len);
266 extern int cgtts2_(integer *itrans, integer *n, integer *nrhs, complex *dl,
267  complex *d__, complex *du, complex *du2, integer *ipiv,
268  complex *b, integer *ldb);
269 extern int chbev_(char *jobz, char *uplo, integer *n, integer *kd, complex *ab,
270  integer *ldab, real *w, complex *z__, integer *ldz,
271  complex *work, real *rwork, integer *info, ftnlen jobz_len,
272  ftnlen uplo_len);
273 extern int chbevd_(char *jobz, char *uplo, integer *n, integer *kd, complex *ab,
274  integer *ldab, real *w, complex *z__, integer *ldz,
275  complex *work, integer *lwork, real *rwork, integer *lrwork,
276  integer *iwork, integer *liwork, integer *info,
277  ftnlen jobz_len, ftnlen uplo_len);
278 extern int chbevx_(char *jobz, char *range, char *uplo, integer *n, integer *kd,
279  complex *ab, integer *ldab, complex *q, integer *ldq,
280  real *vl, real *vu, integer *il, integer *iu, real *abstol,
281  integer *m, real *w, complex *z__, integer *ldz,
282  complex *work, real *rwork, integer *iwork, integer *ifail,
283  integer *info, ftnlen jobz_len, ftnlen range_len,
284  ftnlen uplo_len);
285 extern int chbgst_(char *vect, char *uplo, integer *n, integer *ka, integer *kb,
286  complex *ab, integer *ldab, complex *bb, integer *ldbb,
287  complex *x, integer *ldx, complex *work, real *rwork,
288  integer *info, ftnlen vect_len, ftnlen uplo_len);
289 extern int chbgv_(char *jobz, char *uplo, integer *n, integer *ka, integer *kb,
290  complex *ab, integer *ldab, complex *bb, integer *ldbb,
291  real *w, complex *z__, integer *ldz, complex *work,
292  real *rwork, integer *info, ftnlen jobz_len, ftnlen uplo_len);
293 extern int chbgvd_(char *jobz, char *uplo, integer *n, integer *ka, integer *kb,
294  complex *ab, integer *ldab, complex *bb, integer *ldbb,
295  real *w, complex *z__, integer *ldz, complex *work,
296  integer *lwork, real *rwork, integer *lrwork, integer *iwork,
297  integer *liwork, integer *info, ftnlen jobz_len,
298  ftnlen uplo_len);
299 extern int chbgvx_(char *jobz, char *range, char *uplo, integer *n, integer *ka,
300  integer *kb, complex *ab, integer *ldab, complex *bb,
301  integer *ldbb, complex *q, integer *ldq, real *vl, real *vu,
302  integer *il, integer *iu, real *abstol, integer *m, real *w,
303  complex *z__, integer *ldz, complex *work, real *rwork,
304  integer *iwork, integer *ifail, integer *info,
305  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
306 extern int chbtrd_(char *vect, char *uplo, integer *n, integer *kd, complex *ab,
307  integer *ldab, real *d__, real *e, complex *q, integer *ldq,
308  complex *work, integer *info, ftnlen vect_len,
309  ftnlen uplo_len);
310 extern int checon_(char *uplo, integer *n, complex *a, integer *lda,
311  integer *ipiv, real *anorm, real *rcond, complex *work,
312  integer *info, ftnlen uplo_len);
313 extern int cheev_(char *jobz, char *uplo, integer *n, complex *a, integer *lda,
314  real *w, complex *work, integer *lwork, real *rwork,
315  integer *info, ftnlen jobz_len, ftnlen uplo_len);
316 extern int cheevd_(char *jobz, char *uplo, integer *n, complex *a, integer *lda,
317  real *w, complex *work, integer *lwork, real *rwork,
318  integer *lrwork, integer *iwork, integer *liwork,
319  integer *info, ftnlen jobz_len, ftnlen uplo_len);
320 extern int cheevr_(char *jobz, char *range, char *uplo, integer *n, complex *a,
321  integer *lda, real *vl, real *vu, integer *il, integer *iu,
322  real *abstol, integer *m, real *w, complex *z__,
323  integer *ldz, integer *isuppz, complex *work, integer *lwork,
324  real *rwork, integer *lrwork, integer *iwork,
325  integer *liwork, integer *info, ftnlen jobz_len,
326  ftnlen range_len, ftnlen uplo_len);
327 extern int cheevx_(char *jobz, char *range, char *uplo, integer *n, complex *a,
328  integer *lda, real *vl, real *vu, integer *il, integer *iu,
329  real *abstol, integer *m, real *w, complex *z__,
330  integer *ldz, complex *work, integer *lwork, real *rwork,
331  integer *iwork, integer *ifail, integer *info,
332  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
333 extern int chegs2_(integer *itype, char *uplo, integer *n, complex *a,
334  integer *lda, complex *b, integer *ldb, integer *info,
335  ftnlen uplo_len);
336 extern int chegst_(integer *itype, char *uplo, integer *n, complex *a,
337  integer *lda, complex *b, integer *ldb, integer *info,
338  ftnlen uplo_len);
339 extern int chegv_(integer *itype, char *jobz, char *uplo, integer *n,
340  complex *a, integer *lda, complex *b, integer *ldb, real *w,
341  complex *work, integer *lwork, real *rwork, integer *info,
342  ftnlen jobz_len, ftnlen uplo_len);
343 extern int chegvd_(integer *itype, char *jobz, char *uplo, integer *n,
344  complex *a, integer *lda, complex *b, integer *ldb, real *w,
345  complex *work, integer *lwork, real *rwork, integer *lrwork,
346  integer *iwork, integer *liwork, integer *info,
347  ftnlen jobz_len, ftnlen uplo_len);
348 extern int chegvx_(integer *itype, char *jobz, char *range, char *uplo,
349  integer *n, complex *a, integer *lda, complex *b,
350  integer *ldb, real *vl, real *vu, integer *il, integer *iu,
351  real *abstol, integer *m, real *w, complex *z__,
352  integer *ldz, complex *work, integer *lwork, real *rwork,
353  integer *iwork, integer *ifail, integer *info,
354  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
355 extern int cherfs_(char *uplo, integer *n, integer *nrhs, complex *a,
356  integer *lda, complex *af, integer *ldaf, integer *ipiv,
357  complex *b, integer *ldb, complex *x, integer *ldx,
358  real *ferr, real *berr, complex *work, real *rwork,
359  integer *info, ftnlen uplo_len);
360 extern int chesv_(char *uplo, integer *n, integer *nrhs, complex *a,
361  integer *lda, integer *ipiv, complex *b, integer *ldb,
362  complex *work, integer *lwork, integer *info,
363  ftnlen uplo_len);
364 extern int chesvx_(char *fact, char *uplo, integer *n, integer *nrhs,
365  complex *a, integer *lda, complex *af, integer *ldaf,
366  integer *ipiv, complex *b, integer *ldb, complex *x,
367  integer *ldx, real *rcond, real *ferr, real *berr,
368  complex *work, integer *lwork, real *rwork, integer *info,
369  ftnlen fact_len, ftnlen uplo_len);
370 extern int chetd2_(char *uplo, integer *n, complex *a, integer *lda, real *d__,
371  real *e, complex *tau, integer *info, ftnlen uplo_len);
372 extern int chetf2_(char *uplo, integer *n, complex *a, integer *lda,
373  integer *ipiv, integer *info, ftnlen uplo_len);
374 extern int chetrd_(char *uplo, integer *n, complex *a, integer *lda, real *d__,
375  real *e, complex *tau, complex *work, integer *lwork,
376  integer *info, ftnlen uplo_len);
377 extern int chetrf_(char *uplo, integer *n, complex *a, integer *lda,
378  integer *ipiv, complex *work, integer *lwork, integer *info,
379  ftnlen uplo_len);
380 extern int chetri_(char *uplo, integer *n, complex *a, integer *lda,
381  integer *ipiv, complex *work, integer *info,
382  ftnlen uplo_len);
383 extern int chetrs_(char *uplo, integer *n, integer *nrhs, complex *a,
384  integer *lda, integer *ipiv, complex *b, integer *ldb,
385  integer *info, ftnlen uplo_len);
386 extern int chgeqz_(char *job, char *compq, char *compz, integer *n,
387  integer *ilo, integer *ihi, complex *a, integer *lda,
388  complex *b, integer *ldb, complex *alpha, complex *beta,
389  complex *q, integer *ldq, complex *z__, integer *ldz,
390  complex *work, integer *lwork, real *rwork, integer *info,
391  ftnlen job_len, ftnlen compq_len, ftnlen compz_len);
392 extern int chpcon_(char *uplo, integer *n, complex *ap, integer *ipiv,
393  real *anorm, real *rcond, complex *work, integer *info,
394  ftnlen uplo_len);
395 extern int chpev_(char *jobz, char *uplo, integer *n, complex *ap, real *w,
396  complex *z__, integer *ldz, complex *work, real *rwork,
397  integer *info, ftnlen jobz_len, ftnlen uplo_len);
398 extern int chpevd_(char *jobz, char *uplo, integer *n, complex *ap, real *w,
399  complex *z__, integer *ldz, complex *work, integer *lwork,
400  real *rwork, integer *lrwork, integer *iwork,
401  integer *liwork, integer *info, ftnlen jobz_len,
402  ftnlen uplo_len);
403 extern int chpevx_(char *jobz, char *range, char *uplo, integer *n, complex *ap,
404  real *vl, real *vu, integer *il, integer *iu, real *abstol,
405  integer *m, real *w, complex *z__, integer *ldz,
406  complex *work, real *rwork, integer *iwork, integer *ifail,
407  integer *info, ftnlen jobz_len, ftnlen range_len,
408  ftnlen uplo_len);
409 extern int chpgst_(integer *itype, char *uplo, integer *n, complex *ap,
410  complex *bp, integer *info, ftnlen uplo_len);
411 extern int chpgv_(integer *itype, char *jobz, char *uplo, integer *n,
412  complex *ap, complex *bp, real *w, complex *z__, integer *ldz,
413  complex *work, real *rwork, integer *info, ftnlen jobz_len,
414  ftnlen uplo_len);
415 extern int chpgvd_(integer *itype, char *jobz, char *uplo, integer *n,
416  complex *ap, complex *bp, real *w, complex *z__,
417  integer *ldz, complex *work, integer *lwork, real *rwork,
418  integer *lrwork, integer *iwork, integer *liwork,
419  integer *info, ftnlen jobz_len, ftnlen uplo_len);
420 extern int chpgvx_(integer *itype, char *jobz, char *range, char *uplo,
421  integer *n, complex *ap, complex *bp, real *vl, real *vu,
422  integer *il, integer *iu, real *abstol, integer *m, real *w,
423  complex *z__, integer *ldz, complex *work, real *rwork,
424  integer *iwork, integer *ifail, integer *info,
425  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
426 extern int chprfs_(char *uplo, integer *n, integer *nrhs, complex *ap,
427  complex *afp, integer *ipiv, complex *b, integer *ldb,
428  complex *x, integer *ldx, real *ferr, real *berr,
429  complex *work, real *rwork, integer *info, ftnlen uplo_len);
430 extern int chpsv_(char *uplo, integer *n, integer *nrhs, complex *ap,
431  integer *ipiv, complex *b, integer *ldb, integer *info,
432  ftnlen uplo_len);
433 extern int chpsvx_(char *fact, char *uplo, integer *n, integer *nrhs,
434  complex *ap, complex *afp, integer *ipiv, complex *b,
435  integer *ldb, complex *x, integer *ldx, real *rcond,
436  real *ferr, real *berr, complex *work, real *rwork,
437  integer *info, ftnlen fact_len, ftnlen uplo_len);
438 extern int chptrd_(char *uplo, integer *n, complex *ap, real *d__, real *e,
439  complex *tau, integer *info, ftnlen uplo_len);
440 extern int chptrf_(char *uplo, integer *n, complex *ap, integer *ipiv,
441  integer *info, ftnlen uplo_len);
442 extern int chptri_(char *uplo, integer *n, complex *ap, integer *ipiv,
443  complex *work, integer *info, ftnlen uplo_len);
444 extern int chptrs_(char *uplo, integer *n, integer *nrhs, complex *ap,
445  integer *ipiv, complex *b, integer *ldb, integer *info,
446  ftnlen uplo_len);
447 extern int chsein_(char *side, char *eigsrc, char *initv, logical *select,
448  integer *n, complex *h__, integer *ldh, complex *w,
449  complex *vl, integer *ldvl, complex *vr, integer *ldvr,
450  integer *mm, integer *m, complex *work, real *rwork,
451  integer *ifaill, integer *ifailr, integer *info,
452  ftnlen side_len, ftnlen eigsrc_len, ftnlen initv_len);
453 extern int chseqr_(char *job, char *compz, integer *n, integer *ilo,
454  integer *ihi, complex *h__, integer *ldh, complex *w,
455  complex *z__, integer *ldz, complex *work, integer *lwork,
456  integer *info, ftnlen job_len, ftnlen compz_len);
457 extern int clabrd_(integer *m, integer *n, integer *nb, complex *a,
458  integer *lda, real *d__, real *e, complex *tauq,
459  complex *taup, complex *x, integer *ldx, complex *y,
460  integer *ldy);
461 extern int clacgv_(integer *n, complex *x, integer *incx);
462 extern int clacon_(integer *n, complex *v, complex *x, real *est,
463  integer *kase);
464 extern int clacp2_(char *uplo, integer *m, integer *n, real *a, integer *lda,
465  complex *b, integer *ldb, ftnlen uplo_len);
466 extern int clacpy_(char *uplo, integer *m, integer *n, complex *a, integer *lda,
467  complex *b, integer *ldb, ftnlen uplo_len);
468 extern int clacrm_(integer *m, integer *n, complex *a, integer *lda, real *b,
469  integer *ldb, complex *c__, integer *ldc, real *rwork);
470 extern int clacrt_(integer *n, complex *cx, integer *incx, complex *cy,
471  integer *incy, complex *c__, complex *s);
472 extern C_f cladiv_(complex *ret_val, complex *x, complex *y);
473 extern int claed0_(integer *qsiz, integer *n, real *d__, real *e, complex *q,
474  integer *ldq, complex *qstore, integer *ldqs, real *rwork,
475  integer *iwork, integer *info);
476 extern int claed7_(integer *n, integer *cutpnt, integer *qsiz, integer *tlvls,
477  integer *curlvl, integer *curpbm, real *d__, complex *q,
478  integer *ldq, real *rho, integer *indxq, real *qstore,
479  integer *qptr, integer *prmptr, integer *perm,
480  integer *givptr, integer *givcol, real *givnum,
481  complex *work, real *rwork, integer *iwork, integer *info);
482 extern int claed8_(integer *k, integer *n, integer *qsiz, complex *q,
483  integer *ldq, real *d__, real *rho, integer *cutpnt,
484  real *z__, real *dlamda, complex *q2, integer *ldq2, real *w,
485  integer *indxp, integer *indx, integer *indxq, integer *perm,
486  integer *givptr, integer *givcol, real *givnum,
487  integer *info);
488 extern int claein_(logical *rightv, logical *noinit, integer *n, complex *h__,
489  integer *ldh, complex *w, complex *v, complex *b,
490  integer *ldb, real *rwork, real *eps3, real *smlnum,
491  integer *info);
492 extern int claesy_(complex *a, complex *b, complex *c__, complex *rt1,
493  complex *rt2, complex *evscal, complex *cs1, complex *sn1);
494 extern int claev2_(complex *a, complex *b, complex *c__, real *rt1, real *rt2,
495  real *cs1, complex *sn1);
496 extern int clags2_(logical *upper, real *a1, complex *a2, real *a3, real *b1,
497  complex *b2, real *b3, real *csu, complex *snu, real *csv,
498  complex *snv, real *csq, complex *snq);
499 extern int clagtm_(char *trans, integer *n, integer *nrhs, real *alpha,
500  complex *dl, complex *d__, complex *du, complex *x,
501  integer *ldx, real *beta, complex *b, integer *ldb,
502  ftnlen trans_len);
503 extern int clahef_(char *uplo, integer *n, integer *nb, integer *kb, complex *a,
504  integer *lda, integer *ipiv, complex *w, integer *ldw,
505  integer *info, ftnlen uplo_len);
506 extern int clahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo,
507  integer *ihi, complex *h__, integer *ldh, complex *w,
508  integer *iloz, integer *ihiz, complex *z__, integer *ldz,
509  integer *info);
510 extern int clahrd_(integer *n, integer *k, integer *nb, complex *a,
511  integer *lda, complex *tau, complex *t, integer *ldt,
512  complex *y, integer *ldy);
513 extern int claic1_(integer *job, integer *j, complex *x, real *sest, complex *w,
514  complex *gamma, real *sestpr, complex *s, complex *c__);
515 extern int clals0_(integer *icompq, integer *nl, integer *nr, integer *sqre,
516  integer *nrhs, complex *b, integer *ldb, complex *bx,
517  integer *ldbx, integer *perm, integer *givptr,
518  integer *givcol, integer *ldgcol, real *givnum,
519  integer *ldgnum, real *poles, real *difl, real *difr,
520  real *z__, integer *k, real *c__, real *s, real *rwork,
521  integer *info);
522 extern int clalsa_(integer *icompq, integer *smlsiz, integer *n, integer *nrhs,
523  complex *b, integer *ldb, complex *bx, integer *ldbx,
524  real *u, integer *ldu, real *vt, integer *k, real *difl,
525  real *difr, real *z__, real *poles, integer *givptr,
526  integer *givcol, integer *ldgcol, integer *perm,
527  real *givnum, real *c__, real *s, real *rwork,
528  integer *iwork, integer *info);
529 extern int clalsd_(char *uplo, integer *smlsiz, integer *n, integer *nrhs,
530  real *d__, real *e, complex *b, integer *ldb, real *rcond,
531  integer *rank, complex *work, real *rwork, integer *iwork,
532  integer *info, ftnlen uplo_len);
533 extern E_f clangb_(char *norm, integer *n, integer *kl, integer *ku,
534  complex *ab, integer *ldab, real *work, ftnlen norm_len);
535 extern E_f clange_(char *norm, integer *m, integer *n, complex *a, integer *lda,
536  real *work, ftnlen norm_len);
537 extern E_f clangt_(char *norm, integer *n, complex *dl, complex *d__,
538  complex *du, ftnlen norm_len);
539 extern E_f clanhb_(char *norm, char *uplo, integer *n, integer *k, complex *ab,
540  integer *ldab, real *work, ftnlen norm_len, ftnlen uplo_len);
541 extern E_f clanhe_(char *norm, char *uplo, integer *n, complex *a, integer *lda,
542  real *work, ftnlen norm_len, ftnlen uplo_len);
543 extern E_f clanhp_(char *norm, char *uplo, integer *n, complex *ap, real *work,
544  ftnlen norm_len, ftnlen uplo_len);
545 extern E_f clanhs_(char *norm, integer *n, complex *a, integer *lda, real *work,
546  ftnlen norm_len);
547 extern E_f clanht_(char *norm, integer *n, real *d__, complex *e,
548  ftnlen norm_len);
549 extern E_f clansb_(char *norm, char *uplo, integer *n, integer *k, complex *ab,
550  integer *ldab, real *work, ftnlen norm_len, ftnlen uplo_len);
551 extern E_f clansp_(char *norm, char *uplo, integer *n, complex *ap, real *work,
552  ftnlen norm_len, ftnlen uplo_len);
553 extern E_f clansy_(char *norm, char *uplo, integer *n, complex *a, integer *lda,
554  real *work, ftnlen norm_len, ftnlen uplo_len);
555 extern E_f clantb_(char *norm, char *uplo, char *diag, integer *n, integer *k,
556  complex *ab, integer *ldab, real *work, ftnlen norm_len,
557  ftnlen uplo_len, ftnlen diag_len);
558 extern E_f clantp_(char *norm, char *uplo, char *diag, integer *n, complex *ap,
559  real *work, ftnlen norm_len, ftnlen uplo_len,
560  ftnlen diag_len);
561 extern E_f clantr_(char *norm, char *uplo, char *diag, integer *m, integer *n,
562  complex *a, integer *lda, real *work, ftnlen norm_len,
563  ftnlen uplo_len, ftnlen diag_len);
564 extern int clapll_(integer *n, complex *x, integer *incx, complex *y,
565  integer *incy, real *ssmin);
566 extern int clapmt_(logical *forwrd, integer *m, integer *n, complex *x,
567  integer *ldx, integer *k);
568 extern int claqgb_(integer *m, integer *n, integer *kl, integer *ku,
569  complex *ab, integer *ldab, real *r__, real *c__,
570  real *rowcnd, real *colcnd, real *amax, char *equed,
571  ftnlen equed_len);
572 extern int claqge_(integer *m, integer *n, complex *a, integer *lda, real *r__,
573  real *c__, real *rowcnd, real *colcnd, real *amax,
574  char *equed, ftnlen equed_len);
575 extern int claqhb_(char *uplo, integer *n, integer *kd, complex *ab,
576  integer *ldab, real *s, real *scond, real *amax, char *equed,
577  ftnlen uplo_len, ftnlen equed_len);
578 extern int claqhe_(char *uplo, integer *n, complex *a, integer *lda, real *s,
579  real *scond, real *amax, char *equed, ftnlen uplo_len,
580  ftnlen equed_len);
581 extern int claqhp_(char *uplo, integer *n, complex *ap, real *s, real *scond,
582  real *amax, char *equed, ftnlen uplo_len, ftnlen equed_len);
583 extern int claqp2_(integer *m, integer *n, integer *offset, complex *a,
584  integer *lda, integer *jpvt, complex *tau, real *vn1,
585  real *vn2, complex *work);
586 extern int claqps_(integer *m, integer *n, integer *offset, integer *nb,
587  integer *kb, complex *a, integer *lda, integer *jpvt,
588  complex *tau, real *vn1, real *vn2, complex *auxv,
589  complex *f, integer *ldf);
590 extern int claqsb_(char *uplo, integer *n, integer *kd, complex *ab,
591  integer *ldab, real *s, real *scond, real *amax, char *equed,
592  ftnlen uplo_len, ftnlen equed_len);
593 extern int claqsp_(char *uplo, integer *n, complex *ap, real *s, real *scond,
594  real *amax, char *equed, ftnlen uplo_len, ftnlen equed_len);
595 extern int claqsy_(char *uplo, integer *n, complex *a, integer *lda, real *s,
596  real *scond, real *amax, char *equed, ftnlen uplo_len,
597  ftnlen equed_len);
598 extern int clar1v_(integer *n, integer *b1, integer *bn, real *sigma, real *d__,
599  real *l, real *ld, real *lld, real *gersch, complex *z__,
600  real *ztz, real *mingma, integer *r__, integer *isuppz,
601  real *work);
602 extern int clar2v_(integer *n, complex *x, complex *y, complex *z__,
603  integer *incx, real *c__, complex *s, integer *incc);
604 extern int clarcm_(integer *m, integer *n, real *a, integer *lda, complex *b,
605  integer *ldb, complex *c__, integer *ldc, real *rwork);
606 extern int clarf_(char *side, integer *m, integer *n, complex *v, integer *incv,
607  complex *tau, complex *c__, integer *ldc, complex *work,
608  ftnlen side_len);
609 extern int clarfb_(char *side, char *trans, char *direct, char *storev,
610  integer *m, integer *n, integer *k, complex *v, integer *ldv,
611  complex *t, integer *ldt, complex *c__, integer *ldc,
612  complex *work, integer *ldwork, ftnlen side_len,
613  ftnlen trans_len, ftnlen direct_len, ftnlen storev_len);
614 extern int clarfg_(integer *n, complex *alpha, complex *x, integer *incx,
615  complex *tau);
616 extern int clarft_(char *direct, char *storev, integer *n, integer *k,
617  complex *v, integer *ldv, complex *tau, complex *t,
618  integer *ldt, ftnlen direct_len, ftnlen storev_len);
619 extern int clarfx_(char *side, integer *m, integer *n, complex *v, complex *tau,
620  complex *c__, integer *ldc, complex *work, ftnlen side_len);
621 extern int clargv_(integer *n, complex *x, integer *incx, complex *y,
622  integer *incy, real *c__, integer *incc);
623 extern int clarnv_(integer *idist, integer *iseed, integer *n, complex *x);
624 extern int clarrv_(integer *n, real *d__, real *l, integer *isplit, integer *m,
625  real *w, integer *iblock, real *gersch, real *tol,
626  complex *z__, integer *ldz, integer *isuppz, real *work,
627  integer *iwork, integer *info);
628 extern int clartg_(complex *f, complex *g, real *cs, complex *sn, complex *r__);
629 extern int clartv_(integer *n, complex *x, integer *incx, complex *y,
630  integer *incy, real *c__, complex *s, integer *incc);
631 extern int clarz_(char *side, integer *m, integer *n, integer *l, complex *v,
632  integer *incv, complex *tau, complex *c__, integer *ldc,
633  complex *work, ftnlen side_len);
634 extern int clarzb_(char *side, char *trans, char *direct, char *storev,
635  integer *m, integer *n, integer *k, integer *l, complex *v,
636  integer *ldv, complex *t, integer *ldt, complex *c__,
637  integer *ldc, complex *work, integer *ldwork,
638  ftnlen side_len, ftnlen trans_len, ftnlen direct_len,
639  ftnlen storev_len);
640 extern int clarzt_(char *direct, char *storev, integer *n, integer *k,
641  complex *v, integer *ldv, complex *tau, complex *t,
642  integer *ldt, ftnlen direct_len, ftnlen storev_len);
643 extern int clascl_(char *type__, integer *kl, integer *ku, real *cfrom,
644  real *cto, integer *m, integer *n, complex *a, integer *lda,
645  integer *info, ftnlen type_len);
646 extern int claset_(char *uplo, integer *m, integer *n, complex *alpha,
647  complex *beta, complex *a, integer *lda, ftnlen uplo_len);
648 extern int clasr_(char *side, char *pivot, char *direct, integer *m, integer *n,
649  real *c__, real *s, complex *a, integer *lda, ftnlen side_len,
650  ftnlen pivot_len, ftnlen direct_len);
651 extern int classq_(integer *n, complex *x, integer *incx, real *scale,
652  real *sumsq);
653 extern int claswp_(integer *n, complex *a, integer *lda, integer *k1,
654  integer *k2, integer *ipiv, integer *incx);
655 extern int clasyf_(char *uplo, integer *n, integer *nb, integer *kb, complex *a,
656  integer *lda, integer *ipiv, complex *w, integer *ldw,
657  integer *info, ftnlen uplo_len);
658 extern int clatbs_(char *uplo, char *trans, char *diag, char *normin,
659  integer *n, integer *kd, complex *ab, integer *ldab,
660  complex *x, real *scale, real *cnorm, integer *info,
661  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len,
662  ftnlen normin_len);
663 extern int clatdf_(integer *ijob, integer *n, complex *z__, integer *ldz,
664  complex *rhs, real *rdsum, real *rdscal, integer *ipiv,
665  integer *jpiv);
666 extern int clatps_(char *uplo, char *trans, char *diag, char *normin,
667  integer *n, complex *ap, complex *x, real *scale,
668  real *cnorm, integer *info, ftnlen uplo_len,
669  ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
670 extern int clatrd_(char *uplo, integer *n, integer *nb, complex *a,
671  integer *lda, real *e, complex *tau, complex *w,
672  integer *ldw, ftnlen uplo_len);
673 extern int clatrs_(char *uplo, char *trans, char *diag, char *normin,
674  integer *n, complex *a, integer *lda, complex *x,
675  real *scale, real *cnorm, integer *info, ftnlen uplo_len,
676  ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
677 extern int clatrz_(integer *m, integer *n, integer *l, complex *a, integer *lda,
678  complex *tau, complex *work);
679 extern int clatzm_(char *side, integer *m, integer *n, complex *v,
680  integer *incv, complex *tau, complex *c1, complex *c2,
681  integer *ldc, complex *work, ftnlen side_len);
682 extern int clauu2_(char *uplo, integer *n, complex *a, integer *lda,
683  integer *info, ftnlen uplo_len);
684 extern int clauum_(char *uplo, integer *n, complex *a, integer *lda,
685  integer *info, ftnlen uplo_len);
686 extern int cpbcon_(char *uplo, integer *n, integer *kd, complex *ab,
687  integer *ldab, real *anorm, real *rcond, complex *work,
688  real *rwork, integer *info, ftnlen uplo_len);
689 extern int cpbequ_(char *uplo, integer *n, integer *kd, complex *ab,
690  integer *ldab, real *s, real *scond, real *amax,
691  integer *info, ftnlen uplo_len);
692 extern int cpbrfs_(char *uplo, integer *n, integer *kd, integer *nrhs,
693  complex *ab, integer *ldab, complex *afb, integer *ldafb,
694  complex *b, integer *ldb, complex *x, integer *ldx,
695  real *ferr, real *berr, complex *work, real *rwork,
696  integer *info, ftnlen uplo_len);
697 extern int cpbstf_(char *uplo, integer *n, integer *kd, complex *ab,
698  integer *ldab, integer *info, ftnlen uplo_len);
699 extern int cpbsv_(char *uplo, integer *n, integer *kd, integer *nrhs,
700  complex *ab, integer *ldab, complex *b, integer *ldb,
701  integer *info, ftnlen uplo_len);
702 extern int cpbsvx_(char *fact, char *uplo, integer *n, integer *kd,
703  integer *nrhs, complex *ab, integer *ldab, complex *afb,
704  integer *ldafb, char *equed, real *s, complex *b,
705  integer *ldb, complex *x, integer *ldx, real *rcond,
706  real *ferr, real *berr, complex *work, real *rwork,
707  integer *info, ftnlen fact_len, ftnlen uplo_len,
708  ftnlen equed_len);
709 extern int cpbtf2_(char *uplo, integer *n, integer *kd, complex *ab,
710  integer *ldab, integer *info, ftnlen uplo_len);
711 extern int cpbtrf_(char *uplo, integer *n, integer *kd, complex *ab,
712  integer *ldab, integer *info, ftnlen uplo_len);
713 extern int cpbtrs_(char *uplo, integer *n, integer *kd, integer *nrhs,
714  complex *ab, integer *ldab, complex *b, integer *ldb,
715  integer *info, ftnlen uplo_len);
716 extern int cpocon_(char *uplo, integer *n, complex *a, integer *lda,
717  real *anorm, real *rcond, complex *work, real *rwork,
718  integer *info, ftnlen uplo_len);
719 extern int cpoequ_(integer *n, complex *a, integer *lda, real *s, real *scond,
720  real *amax, integer *info);
721 extern int cporfs_(char *uplo, integer *n, integer *nrhs, complex *a,
722  integer *lda, complex *af, integer *ldaf, complex *b,
723  integer *ldb, complex *x, integer *ldx, real *ferr,
724  real *berr, complex *work, real *rwork, integer *info,
725  ftnlen uplo_len);
726 extern int cposv_(char *uplo, integer *n, integer *nrhs, complex *a,
727  integer *lda, complex *b, integer *ldb, integer *info,
728  ftnlen uplo_len);
729 extern int cposvx_(char *fact, char *uplo, integer *n, integer *nrhs,
730  complex *a, integer *lda, complex *af, integer *ldaf,
731  char *equed, real *s, complex *b, integer *ldb, complex *x,
732  integer *ldx, real *rcond, real *ferr, real *berr,
733  complex *work, real *rwork, integer *info, ftnlen fact_len,
734  ftnlen uplo_len, ftnlen equed_len);
735 extern int cpotf2_(char *uplo, integer *n, complex *a, integer *lda,
736  integer *info, ftnlen uplo_len);
737 extern int cpotrf_(char *uplo, integer *n, complex *a, integer *lda,
738  integer *info, ftnlen uplo_len);
739 extern int cpotri_(char *uplo, integer *n, complex *a, integer *lda,
740  integer *info, ftnlen uplo_len);
741 extern int cpotrs_(char *uplo, integer *n, integer *nrhs, complex *a,
742  integer *lda, complex *b, integer *ldb, integer *info,
743  ftnlen uplo_len);
744 extern int cppcon_(char *uplo, integer *n, complex *ap, real *anorm,
745  real *rcond, complex *work, real *rwork, integer *info,
746  ftnlen uplo_len);
747 extern int cppequ_(char *uplo, integer *n, complex *ap, real *s, real *scond,
748  real *amax, integer *info, ftnlen uplo_len);
749 extern int cpprfs_(char *uplo, integer *n, integer *nrhs, complex *ap,
750  complex *afp, complex *b, integer *ldb, complex *x,
751  integer *ldx, real *ferr, real *berr, complex *work,
752  real *rwork, integer *info, ftnlen uplo_len);
753 extern int cppsv_(char *uplo, integer *n, integer *nrhs, complex *ap,
754  complex *b, integer *ldb, integer *info, ftnlen uplo_len);
755 extern int cppsvx_(char *fact, char *uplo, integer *n, integer *nrhs,
756  complex *ap, complex *afp, char *equed, real *s, complex *b,
757  integer *ldb, complex *x, integer *ldx, real *rcond,
758  real *ferr, real *berr, complex *work, real *rwork,
759  integer *info, ftnlen fact_len, ftnlen uplo_len,
760  ftnlen equed_len);
761 extern int cpptrf_(char *uplo, integer *n, complex *ap, integer *info,
762  ftnlen uplo_len);
763 extern int cpptri_(char *uplo, integer *n, complex *ap, integer *info,
764  ftnlen uplo_len);
765 extern int cpptrs_(char *uplo, integer *n, integer *nrhs, complex *ap,
766  complex *b, integer *ldb, integer *info, ftnlen uplo_len);
767 extern int cptcon_(integer *n, real *d__, complex *e, real *anorm, real *rcond,
768  real *rwork, integer *info);
769 extern int cpteqr_(char *compz, integer *n, real *d__, real *e, complex *z__,
770  integer *ldz, real *work, integer *info, ftnlen compz_len);
771 extern int cptrfs_(char *uplo, integer *n, integer *nrhs, real *d__, complex *e,
772  real *df, complex *ef, complex *b, integer *ldb, complex *x,
773  integer *ldx, real *ferr, real *berr, complex *work,
774  real *rwork, integer *info, ftnlen uplo_len);
775 extern int cptsv_(integer *n, integer *nrhs, real *d__, complex *e, complex *b,
776  integer *ldb, integer *info);
777 extern int cptsvx_(char *fact, integer *n, integer *nrhs, real *d__, complex *e,
778  real *df, complex *ef, complex *b, integer *ldb, complex *x,
779  integer *ldx, real *rcond, real *ferr, real *berr,
780  complex *work, real *rwork, integer *info, ftnlen fact_len);
781 extern int cpttrf_(integer *n, real *d__, complex *e, integer *info);
782 extern int cpttrs_(char *uplo, integer *n, integer *nrhs, real *d__, complex *e,
783  complex *b, integer *ldb, integer *info, ftnlen uplo_len);
784 extern int cptts2_(integer *iuplo, integer *n, integer *nrhs, real *d__,
785  complex *e, complex *b, integer *ldb);
786 extern int crot_(integer *n, complex *cx, integer *incx, complex *cy,
787  integer *incy, real *c__, complex *s);
788 extern int cspcon_(char *uplo, integer *n, complex *ap, integer *ipiv,
789  real *anorm, real *rcond, complex *work, integer *info,
790  ftnlen uplo_len);
791 extern int cspmv_(char *uplo, integer *n, complex *alpha, complex *ap,
792  complex *x, integer *incx, complex *beta, complex *y,
793  integer *incy, ftnlen uplo_len);
794 extern int cspr_(char *uplo, integer *n, complex *alpha, complex *x,
795  integer *incx, complex *ap, ftnlen uplo_len);
796 extern int csprfs_(char *uplo, integer *n, integer *nrhs, complex *ap,
797  complex *afp, integer *ipiv, complex *b, integer *ldb,
798  complex *x, integer *ldx, real *ferr, real *berr,
799  complex *work, real *rwork, integer *info, ftnlen uplo_len);
800 extern int cspsv_(char *uplo, integer *n, integer *nrhs, complex *ap,
801  integer *ipiv, complex *b, integer *ldb, integer *info,
802  ftnlen uplo_len);
803 extern int cspsvx_(char *fact, char *uplo, integer *n, integer *nrhs,
804  complex *ap, complex *afp, integer *ipiv, complex *b,
805  integer *ldb, complex *x, integer *ldx, real *rcond,
806  real *ferr, real *berr, complex *work, real *rwork,
807  integer *info, ftnlen fact_len, ftnlen uplo_len);
808 extern int csptrf_(char *uplo, integer *n, complex *ap, integer *ipiv,
809  integer *info, ftnlen uplo_len);
810 extern int csptri_(char *uplo, integer *n, complex *ap, integer *ipiv,
811  complex *work, integer *info, ftnlen uplo_len);
812 extern int csptrs_(char *uplo, integer *n, integer *nrhs, complex *ap,
813  integer *ipiv, complex *b, integer *ldb, integer *info,
814  ftnlen uplo_len);
815 extern int csrot_(integer *n, complex *cx, integer *incx, complex *cy,
816  integer *incy, real *c__, real *s);
817 extern int csrscl_(integer *n, real *sa, complex *sx, integer *incx);
818 extern int cstedc_(char *compz, integer *n, real *d__, real *e, complex *z__,
819  integer *ldz, complex *work, integer *lwork, real *rwork,
820  integer *lrwork, integer *iwork, integer *liwork,
821  integer *info, ftnlen compz_len);
822 extern int cstegr_(char *jobz, char *range, integer *n, real *d__, real *e,
823  real *vl, real *vu, integer *il, integer *iu, real *abstol,
824  integer *m, real *w, complex *z__, integer *ldz,
825  integer *isuppz, real *work, integer *lwork, integer *iwork,
826  integer *liwork, integer *info, ftnlen jobz_len,
827  ftnlen range_len);
828 extern int cstein_(integer *n, real *d__, real *e, integer *m, real *w,
829  integer *iblock, integer *isplit, complex *z__, integer *ldz,
830  real *work, integer *iwork, integer *ifail, integer *info);
831 extern int csteqr_(char *compz, integer *n, real *d__, real *e, complex *z__,
832  integer *ldz, real *work, integer *info, ftnlen compz_len);
833 extern int csycon_(char *uplo, integer *n, complex *a, integer *lda,
834  integer *ipiv, real *anorm, real *rcond, complex *work,
835  integer *info, ftnlen uplo_len);
836 extern int csymv_(char *uplo, integer *n, complex *alpha, complex *a,
837  integer *lda, complex *x, integer *incx, complex *beta,
838  complex *y, integer *incy, ftnlen uplo_len);
839 extern int csyr_(char *uplo, integer *n, complex *alpha, complex *x,
840  integer *incx, complex *a, integer *lda, ftnlen uplo_len);
841 extern int csyrfs_(char *uplo, integer *n, integer *nrhs, complex *a,
842  integer *lda, complex *af, integer *ldaf, integer *ipiv,
843  complex *b, integer *ldb, complex *x, integer *ldx,
844  real *ferr, real *berr, complex *work, real *rwork,
845  integer *info, ftnlen uplo_len);
846 extern int csysv_(char *uplo, integer *n, integer *nrhs, complex *a,
847  integer *lda, integer *ipiv, complex *b, integer *ldb,
848  complex *work, integer *lwork, integer *info,
849  ftnlen uplo_len);
850 extern int csysvx_(char *fact, char *uplo, integer *n, integer *nrhs,
851  complex *a, integer *lda, complex *af, integer *ldaf,
852  integer *ipiv, complex *b, integer *ldb, complex *x,
853  integer *ldx, real *rcond, real *ferr, real *berr,
854  complex *work, integer *lwork, real *rwork, integer *info,
855  ftnlen fact_len, ftnlen uplo_len);
856 extern int csytf2_(char *uplo, integer *n, complex *a, integer *lda,
857  integer *ipiv, integer *info, ftnlen uplo_len);
858 extern int csytrf_(char *uplo, integer *n, complex *a, integer *lda,
859  integer *ipiv, complex *work, integer *lwork, integer *info,
860  ftnlen uplo_len);
861 extern int csytri_(char *uplo, integer *n, complex *a, integer *lda,
862  integer *ipiv, complex *work, integer *info,
863  ftnlen uplo_len);
864 extern int csytrs_(char *uplo, integer *n, integer *nrhs, complex *a,
865  integer *lda, integer *ipiv, complex *b, integer *ldb,
866  integer *info, ftnlen uplo_len);
867 extern int ctbcon_(char *norm, char *uplo, char *diag, integer *n, integer *kd,
868  complex *ab, integer *ldab, real *rcond, complex *work,
869  real *rwork, integer *info, ftnlen norm_len, ftnlen uplo_len,
870  ftnlen diag_len);
871 extern int ctbrfs_(char *uplo, char *trans, char *diag, integer *n, integer *kd,
872  integer *nrhs, complex *ab, integer *ldab, complex *b,
873  integer *ldb, complex *x, integer *ldx, real *ferr,
874  real *berr, complex *work, real *rwork, integer *info,
875  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
876 extern int ctbtrs_(char *uplo, char *trans, char *diag, integer *n, integer *kd,
877  integer *nrhs, complex *ab, integer *ldab, complex *b,
878  integer *ldb, integer *info, ftnlen uplo_len,
879  ftnlen trans_len, ftnlen diag_len);
880 extern int ctgevc_(char *side, char *howmny, logical *select, integer *n,
881  complex *a, integer *lda, complex *b, integer *ldb,
882  complex *vl, integer *ldvl, complex *vr, integer *ldvr,
883  integer *mm, integer *m, complex *work, real *rwork,
884  integer *info, ftnlen side_len, ftnlen howmny_len);
885 extern int ctgex2_(logical *wantq, logical *wantz, integer *n, complex *a,
886  integer *lda, complex *b, integer *ldb, complex *q,
887  integer *ldq, complex *z__, integer *ldz, integer *j1,
888  integer *info);
889 extern int ctgexc_(logical *wantq, logical *wantz, integer *n, complex *a,
890  integer *lda, complex *b, integer *ldb, complex *q,
891  integer *ldq, complex *z__, integer *ldz, integer *ifst,
892  integer *ilst, integer *info);
893 extern int ctgsen_(integer *ijob, logical *wantq, logical *wantz,
894  logical *select, integer *n, complex *a, integer *lda,
895  complex *b, integer *ldb, complex *alpha, complex *beta,
896  complex *q, integer *ldq, complex *z__, integer *ldz,
897  integer *m, real *pl, real *pr, real *dif, complex *work,
898  integer *lwork, integer *iwork, integer *liwork,
899  integer *info);
900 extern int ctgsja_(char *jobu, char *jobv, char *jobq, integer *m, integer *p,
901  integer *n, integer *k, integer *l, complex *a, integer *lda,
902  complex *b, integer *ldb, real *tola, real *tolb,
903  real *alpha, real *beta, complex *u, integer *ldu,
904  complex *v, integer *ldv, complex *q, integer *ldq,
905  complex *work, integer *ncycle, integer *info,
906  ftnlen jobu_len, ftnlen jobv_len, ftnlen jobq_len);
907 extern int ctgsna_(char *job, char *howmny, logical *select, integer *n,
908  complex *a, integer *lda, complex *b, integer *ldb,
909  complex *vl, integer *ldvl, complex *vr, integer *ldvr,
910  real *s, real *dif, integer *mm, integer *m, complex *work,
911  integer *lwork, integer *iwork, integer *info,
912  ftnlen job_len, ftnlen howmny_len);
913 extern int ctgsy2_(char *trans, integer *ijob, integer *m, integer *n,
914  complex *a, integer *lda, complex *b, integer *ldb,
915  complex *c__, integer *ldc, complex *d__, integer *ldd,
916  complex *e, integer *lde, complex *f, integer *ldf,
917  real *scale, real *rdsum, real *rdscal, integer *info,
918  ftnlen trans_len);
919 extern int ctgsyl_(char *trans, integer *ijob, integer *m, integer *n,
920  complex *a, integer *lda, complex *b, integer *ldb,
921  complex *c__, integer *ldc, complex *d__, integer *ldd,
922  complex *e, integer *lde, complex *f, integer *ldf,
923  real *scale, real *dif, complex *work, integer *lwork,
924  integer *iwork, integer *info, ftnlen trans_len);
925 extern int ctpcon_(char *norm, char *uplo, char *diag, integer *n, complex *ap,
926  real *rcond, complex *work, real *rwork, integer *info,
927  ftnlen norm_len, ftnlen uplo_len, ftnlen diag_len);
928 extern int ctprfs_(char *uplo, char *trans, char *diag, integer *n,
929  integer *nrhs, complex *ap, complex *b, integer *ldb,
930  complex *x, integer *ldx, real *ferr, real *berr,
931  complex *work, real *rwork, integer *info, ftnlen uplo_len,
932  ftnlen trans_len, ftnlen diag_len);
933 extern int ctptri_(char *uplo, char *diag, integer *n, complex *ap,
934  integer *info, ftnlen uplo_len, ftnlen diag_len);
935 extern int ctptrs_(char *uplo, char *trans, char *diag, integer *n,
936  integer *nrhs, complex *ap, complex *b, integer *ldb,
937  integer *info, ftnlen uplo_len, ftnlen trans_len,
938  ftnlen diag_len);
939 extern int ctrcon_(char *norm, char *uplo, char *diag, integer *n, complex *a,
940  integer *lda, real *rcond, complex *work, real *rwork,
941  integer *info, ftnlen norm_len, ftnlen uplo_len,
942  ftnlen diag_len);
943 extern int ctrevc_(char *side, char *howmny, logical *select, integer *n,
944  complex *t, integer *ldt, complex *vl, integer *ldvl,
945  complex *vr, integer *ldvr, integer *mm, integer *m,
946  complex *work, real *rwork, integer *info, ftnlen side_len,
947  ftnlen howmny_len);
948 extern int ctrexc_(char *compq, integer *n, complex *t, integer *ldt,
949  complex *q, integer *ldq, integer *ifst, integer *ilst,
950  integer *info, ftnlen compq_len);
951 extern int ctrrfs_(char *uplo, char *trans, char *diag, integer *n,
952  integer *nrhs, complex *a, integer *lda, complex *b,
953  integer *ldb, complex *x, integer *ldx, real *ferr,
954  real *berr, complex *work, real *rwork, integer *info,
955  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len);
956 extern int ctrsen_(char *job, char *compq, logical *select, integer *n,
957  complex *t, integer *ldt, complex *q, integer *ldq,
958  complex *w, integer *m, real *s, real *sep, complex *work,
959  integer *lwork, integer *info, ftnlen job_len,
960  ftnlen compq_len);
961 extern int ctrsna_(char *job, char *howmny, logical *select, integer *n,
962  complex *t, integer *ldt, complex *vl, integer *ldvl,
963  complex *vr, integer *ldvr, real *s, real *sep, integer *mm,
964  integer *m, complex *work, integer *ldwork, real *rwork,
965  integer *info, ftnlen job_len, ftnlen howmny_len);
966 extern int ctrsyl_(char *trana, char *tranb, integer *isgn, integer *m,
967  integer *n, complex *a, integer *lda, complex *b,
968  integer *ldb, complex *c__, integer *ldc, real *scale,
969  integer *info, ftnlen trana_len, ftnlen tranb_len);
970 extern int ctrti2_(char *uplo, char *diag, integer *n, complex *a, integer *lda,
971  integer *info, ftnlen uplo_len, ftnlen diag_len);
972 extern int ctrtri_(char *uplo, char *diag, integer *n, complex *a, integer *lda,
973  integer *info, ftnlen uplo_len, ftnlen diag_len);
974 extern int ctrtrs_(char *uplo, char *trans, char *diag, integer *n,
975  integer *nrhs, complex *a, integer *lda, complex *b,
976  integer *ldb, integer *info, ftnlen uplo_len,
977  ftnlen trans_len, ftnlen diag_len);
978 extern int ctzrqf_(integer *m, integer *n, complex *a, integer *lda,
979  complex *tau, integer *info);
980 extern int ctzrzf_(integer *m, integer *n, complex *a, integer *lda,
981  complex *tau, complex *work, integer *lwork, integer *info);
982 extern int cung2l_(integer *m, integer *n, integer *k, complex *a, integer *lda,
983  complex *tau, complex *work, integer *info);
984 extern int cung2r_(integer *m, integer *n, integer *k, complex *a, integer *lda,
985  complex *tau, complex *work, integer *info);
986 extern int cungbr_(char *vect, integer *m, integer *n, integer *k, complex *a,
987  integer *lda, complex *tau, complex *work, integer *lwork,
988  integer *info, ftnlen vect_len);
989 extern int cunghr_(integer *n, integer *ilo, integer *ihi, complex *a,
990  integer *lda, complex *tau, complex *work, integer *lwork,
991  integer *info);
992 extern int cungl2_(integer *m, integer *n, integer *k, complex *a, integer *lda,
993  complex *tau, complex *work, integer *info);
994 extern int cunglq_(integer *m, integer *n, integer *k, complex *a, integer *lda,
995  complex *tau, complex *work, integer *lwork, integer *info);
996 extern int cungql_(integer *m, integer *n, integer *k, complex *a, integer *lda,
997  complex *tau, complex *work, integer *lwork, integer *info);
998 extern int cungqr_(integer *m, integer *n, integer *k, complex *a, integer *lda,
999  complex *tau, complex *work, integer *lwork, integer *info);
1000 extern int cungr2_(integer *m, integer *n, integer *k, complex *a, integer *lda,
1001  complex *tau, complex *work, integer *info);
1002 extern int cungrq_(integer *m, integer *n, integer *k, complex *a, integer *lda,
1003  complex *tau, complex *work, integer *lwork, integer *info);
1004 extern int cungtr_(char *uplo, integer *n, complex *a, integer *lda,
1005  complex *tau, complex *work, integer *lwork, integer *info,
1006  ftnlen uplo_len);
1007 extern int cunm2l_(char *side, char *trans, integer *m, integer *n, integer *k,
1008  complex *a, integer *lda, complex *tau, complex *c__,
1009  integer *ldc, complex *work, integer *info, ftnlen side_len,
1010  ftnlen trans_len);
1011 extern int cunm2r_(char *side, char *trans, integer *m, integer *n, integer *k,
1012  complex *a, integer *lda, complex *tau, complex *c__,
1013  integer *ldc, complex *work, integer *info, ftnlen side_len,
1014  ftnlen trans_len);
1015 extern int cunmbr_(char *vect, char *side, char *trans, integer *m, integer *n,
1016  integer *k, complex *a, integer *lda, complex *tau,
1017  complex *c__, integer *ldc, complex *work, integer *lwork,
1018  integer *info, ftnlen vect_len, ftnlen side_len,
1019  ftnlen trans_len);
1020 extern int cunmhr_(char *side, char *trans, integer *m, integer *n,
1021  integer *ilo, integer *ihi, complex *a, integer *lda,
1022  complex *tau, complex *c__, integer *ldc, complex *work,
1023  integer *lwork, integer *info, ftnlen side_len,
1024  ftnlen trans_len);
1025 extern int cunml2_(char *side, char *trans, integer *m, integer *n, integer *k,
1026  complex *a, integer *lda, complex *tau, complex *c__,
1027  integer *ldc, complex *work, integer *info, ftnlen side_len,
1028  ftnlen trans_len);
1029 extern int cunmlq_(char *side, char *trans, integer *m, integer *n, integer *k,
1030  complex *a, integer *lda, complex *tau, complex *c__,
1031  integer *ldc, complex *work, integer *lwork, integer *info,
1032  ftnlen side_len, ftnlen trans_len);
1033 extern int cunmql_(char *side, char *trans, integer *m, integer *n, integer *k,
1034  complex *a, integer *lda, complex *tau, complex *c__,
1035  integer *ldc, complex *work, integer *lwork, integer *info,
1036  ftnlen side_len, ftnlen trans_len);
1037 extern int cunmqr_(char *side, char *trans, integer *m, integer *n, integer *k,
1038  complex *a, integer *lda, complex *tau, complex *c__,
1039  integer *ldc, complex *work, integer *lwork, integer *info,
1040  ftnlen side_len, ftnlen trans_len);
1041 extern int cunmr2_(char *side, char *trans, integer *m, integer *n, integer *k,
1042  complex *a, integer *lda, complex *tau, complex *c__,
1043  integer *ldc, complex *work, integer *info, ftnlen side_len,
1044  ftnlen trans_len);
1045 extern int cunmr3_(char *side, char *trans, integer *m, integer *n, integer *k,
1046  integer *l, complex *a, integer *lda, complex *tau,
1047  complex *c__, integer *ldc, complex *work, integer *info,
1048  ftnlen side_len, ftnlen trans_len);
1049 extern int cunmrq_(char *side, char *trans, integer *m, integer *n, integer *k,
1050  complex *a, integer *lda, complex *tau, complex *c__,
1051  integer *ldc, complex *work, integer *lwork, integer *info,
1052  ftnlen side_len, ftnlen trans_len);
1053 extern int cunmrz_(char *side, char *trans, integer *m, integer *n, integer *k,
1054  integer *l, complex *a, integer *lda, complex *tau,
1055  complex *c__, integer *ldc, complex *work, integer *lwork,
1056  integer *info, ftnlen side_len, ftnlen trans_len);
1057 extern int cunmtr_(char *side, char *uplo, char *trans, integer *m, integer *n,
1058  complex *a, integer *lda, complex *tau, complex *c__,
1059  integer *ldc, complex *work, integer *lwork, integer *info,
1060  ftnlen side_len, ftnlen uplo_len, ftnlen trans_len);
1061 extern int cupgtr_(char *uplo, integer *n, complex *ap, complex *tau,
1062  complex *q, integer *ldq, complex *work, integer *info,
1063  ftnlen uplo_len);
1064 extern int cupmtr_(char *side, char *uplo, char *trans, integer *m, integer *n,
1065  complex *ap, complex *tau, complex *c__, integer *ldc,
1066  complex *work, integer *info, ftnlen side_len,
1067  ftnlen uplo_len, ftnlen trans_len);
1068 extern int dbdsdc_(char *uplo, char *compq, integer *n, doublereal *d__,
1069  doublereal *e, doublereal *u, integer *ldu, doublereal *vt,
1070  integer *ldvt, doublereal *q, integer *iq, doublereal *work,
1071  integer *iwork, integer *info, ftnlen uplo_len,
1072  ftnlen compq_len);
1073 extern int dbdsqr_(char *uplo, integer *n, integer *ncvt, integer *nru,
1074  integer *ncc, doublereal *d__, doublereal *e, doublereal *vt,
1075  integer *ldvt, doublereal *u, integer *ldu, doublereal *c__,
1076  integer *ldc, doublereal *work, integer *info,
1077  ftnlen uplo_len);
1078 extern int ddisna_(char *job, integer *m, integer *n, doublereal *d__,
1079  doublereal *sep, integer *info, ftnlen job_len);
1080 extern int dgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
1081  integer *kl, integer *ku, doublereal *ab, integer *ldab,
1082  doublereal *d__, doublereal *e, doublereal *q, integer *ldq,
1083  doublereal *pt, integer *ldpt, doublereal *c__, integer *ldc,
1084  doublereal *work, integer *info, ftnlen vect_len);
1085 extern int dgbcon_(char *norm, integer *n, integer *kl, integer *ku,
1086  doublereal *ab, integer *ldab, integer *ipiv,
1087  doublereal *anorm, doublereal *rcond, doublereal *work,
1088  integer *iwork, integer *info, ftnlen norm_len);
1089 extern int dgbequ_(integer *m, integer *n, integer *kl, integer *ku,
1090  doublereal *ab, integer *ldab, doublereal *r__,
1091  doublereal *c__, doublereal *rowcnd, doublereal *colcnd,
1092  doublereal *amax, integer *info);
1093 extern int dgbrfs_(char *trans, integer *n, integer *kl, integer *ku,
1094  integer *nrhs, doublereal *ab, integer *ldab,
1095  doublereal *afb, integer *ldafb, integer *ipiv,
1096  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1097  doublereal *ferr, doublereal *berr, doublereal *work,
1098  integer *iwork, integer *info, ftnlen trans_len);
1099 extern int dgbsv_(integer *n, integer *kl, integer *ku, integer *nrhs,
1100  doublereal *ab, integer *ldab, integer *ipiv, doublereal *b,
1101  integer *ldb, integer *info);
1102 extern int dgbsvx_(char *fact, char *trans, integer *n, integer *kl,
1103  integer *ku, integer *nrhs, doublereal *ab, integer *ldab,
1104  doublereal *afb, integer *ldafb, integer *ipiv, char *equed,
1105  doublereal *r__, doublereal *c__, doublereal *b,
1106  integer *ldb, doublereal *x, integer *ldx, doublereal *rcond,
1107  doublereal *ferr, doublereal *berr, doublereal *work,
1108  integer *iwork, integer *info, ftnlen fact_len,
1109  ftnlen trans_len, ftnlen equed_len);
1110 extern int dgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
1111  doublereal *ab, integer *ldab, integer *ipiv, integer *info);
1112 extern int dgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
1113  doublereal *ab, integer *ldab, integer *ipiv, integer *info);
1114 extern int dgbtrs_(char *trans, integer *n, integer *kl, integer *ku,
1115  integer *nrhs, doublereal *ab, integer *ldab, integer *ipiv,
1116  doublereal *b, integer *ldb, integer *info,
1117  ftnlen trans_len);
1118 extern int dgebak_(char *job, char *side, integer *n, integer *ilo,
1119  integer *ihi, doublereal *scale, integer *m, doublereal *v,
1120  integer *ldv, integer *info, ftnlen job_len,
1121  ftnlen side_len);
1122 extern int dgebal_(char *job, integer *n, doublereal *a, integer *lda,
1123  integer *ilo, integer *ihi, doublereal *scale, integer *info,
1124  ftnlen job_len);
1125 extern int dgebd2_(integer *m, integer *n, doublereal *a, integer *lda,
1126  doublereal *d__, doublereal *e, doublereal *tauq,
1127  doublereal *taup, doublereal *work, integer *info);
1128 extern int dgebrd_(integer *m, integer *n, doublereal *a, integer *lda,
1129  doublereal *d__, doublereal *e, doublereal *tauq,
1130  doublereal *taup, doublereal *work, integer *lwork,
1131  integer *info);
1132 extern int dgecon_(char *norm, integer *n, doublereal *a, integer *lda,
1133  doublereal *anorm, doublereal *rcond, doublereal *work,
1134  integer *iwork, integer *info, ftnlen norm_len);
1135 extern int dgeequ_(integer *m, integer *n, doublereal *a, integer *lda,
1136  doublereal *r__, doublereal *c__, doublereal *rowcnd,
1137  doublereal *colcnd, doublereal *amax, integer *info);
1138 extern int dgees_(char *jobvs, char *sort, L_fp select, integer *n,
1139  doublereal *a, integer *lda, integer *sdim, doublereal *wr,
1140  doublereal *wi, doublereal *vs, integer *ldvs,
1141  doublereal *work, integer *lwork, logical *bwork,
1142  integer *info, ftnlen jobvs_len, ftnlen sort_len);
1143 extern int dgeesx_(char *jobvs, char *sort, L_fp select, char *sense,
1144  integer *n, doublereal *a, integer *lda, integer *sdim,
1145  doublereal *wr, doublereal *wi, doublereal *vs,
1146  integer *ldvs, doublereal *rconde, doublereal *rcondv,
1147  doublereal *work, integer *lwork, integer *iwork,
1148  integer *liwork, logical *bwork, integer *info,
1149  ftnlen jobvs_len, ftnlen sort_len, ftnlen sense_len);
1150 extern int dgeev_(char *jobvl, char *jobvr, integer *n, doublereal *a,
1151  integer *lda, doublereal *wr, doublereal *wi, doublereal *vl,
1152  integer *ldvl, doublereal *vr, integer *ldvr,
1153  doublereal *work, integer *lwork, integer *info,
1154  ftnlen jobvl_len, ftnlen jobvr_len);
1155 extern int dgeevx_(char *balanc, char *jobvl, char *jobvr, char *sense,
1156  integer *n, doublereal *a, integer *lda, doublereal *wr,
1157  doublereal *wi, doublereal *vl, integer *ldvl,
1158  doublereal *vr, integer *ldvr, integer *ilo, integer *ihi,
1159  doublereal *scale, doublereal *abnrm, doublereal *rconde,
1160  doublereal *rcondv, doublereal *work, integer *lwork,
1161  integer *iwork, integer *info, ftnlen balanc_len,
1162  ftnlen jobvl_len, ftnlen jobvr_len, ftnlen sense_len);
1163 extern int dgegs_(char *jobvsl, char *jobvsr, integer *n, doublereal *a,
1164  integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
1165  doublereal *alphai, doublereal *beta, doublereal *vsl,
1166  integer *ldvsl, doublereal *vsr, integer *ldvsr,
1167  doublereal *work, integer *lwork, integer *info,
1168  ftnlen jobvsl_len, ftnlen jobvsr_len);
1169 extern int dgegv_(char *jobvl, char *jobvr, integer *n, doublereal *a,
1170  integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
1171  doublereal *alphai, doublereal *beta, doublereal *vl,
1172  integer *ldvl, doublereal *vr, integer *ldvr,
1173  doublereal *work, integer *lwork, integer *info,
1174  ftnlen jobvl_len, ftnlen jobvr_len);
1175 extern int dgehd2_(integer *n, integer *ilo, integer *ihi, doublereal *a,
1176  integer *lda, doublereal *tau, doublereal *work,
1177  integer *info);
1178 extern int dgehrd_(integer *n, integer *ilo, integer *ihi, doublereal *a,
1179  integer *lda, doublereal *tau, doublereal *work,
1180  integer *lwork, integer *info);
1181 extern int dgelq2_(integer *m, integer *n, doublereal *a, integer *lda,
1182  doublereal *tau, doublereal *work, integer *info);
1183 extern int dgelqf_(integer *m, integer *n, doublereal *a, integer *lda,
1184  doublereal *tau, doublereal *work, integer *lwork,
1185  integer *info);
1186 extern int dgels_(char *trans, integer *m, integer *n, integer *nrhs,
1187  doublereal *a, integer *lda, doublereal *b, integer *ldb,
1188  doublereal *work, integer *lwork, integer *info,
1189  ftnlen trans_len);
1190 extern int dgelsd_(integer *m, integer *n, integer *nrhs, doublereal *a,
1191  integer *lda, doublereal *b, integer *ldb, doublereal *s,
1192  doublereal *rcond, integer *rank, doublereal *work,
1193  integer *lwork, integer *iwork, integer *info);
1194 extern int dgelss_(integer *m, integer *n, integer *nrhs, doublereal *a,
1195  integer *lda, doublereal *b, integer *ldb, doublereal *s,
1196  doublereal *rcond, integer *rank, doublereal *work,
1197  integer *lwork, integer *info);
1198 extern int dgelsx_(integer *m, integer *n, integer *nrhs, doublereal *a,
1199  integer *lda, doublereal *b, integer *ldb, integer *jpvt,
1200  doublereal *rcond, integer *rank, doublereal *work,
1201  integer *info);
1202 extern int dgelsy_(integer *m, integer *n, integer *nrhs, doublereal *a,
1203  integer *lda, doublereal *b, integer *ldb, integer *jpvt,
1204  doublereal *rcond, integer *rank, doublereal *work,
1205  integer *lwork, integer *info);
1206 extern int dgeql2_(integer *m, integer *n, doublereal *a, integer *lda,
1207  doublereal *tau, doublereal *work, integer *info);
1208 extern int dgeqlf_(integer *m, integer *n, doublereal *a, integer *lda,
1209  doublereal *tau, doublereal *work, integer *lwork,
1210  integer *info);
1211 extern int dgeqp3_(integer *m, integer *n, doublereal *a, integer *lda,
1212  integer *jpvt, doublereal *tau, doublereal *work,
1213  integer *lwork, integer *info);
1214 extern int dgeqpf_(integer *m, integer *n, doublereal *a, integer *lda,
1215  integer *jpvt, doublereal *tau, doublereal *work,
1216  integer *info);
1217 extern int dgeqr2_(integer *m, integer *n, doublereal *a, integer *lda,
1218  doublereal *tau, doublereal *work, integer *info);
1219 extern int dgeqrf_(integer *m, integer *n, doublereal *a, integer *lda,
1220  doublereal *tau, doublereal *work, integer *lwork,
1221  integer *info);
1222 extern int dgerfs_(char *trans, integer *n, integer *nrhs, doublereal *a,
1223  integer *lda, doublereal *af, integer *ldaf, integer *ipiv,
1224  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1225  doublereal *ferr, doublereal *berr, doublereal *work,
1226  integer *iwork, integer *info, ftnlen trans_len);
1227 extern int dgerq2_(integer *m, integer *n, doublereal *a, integer *lda,
1228  doublereal *tau, doublereal *work, integer *info);
1229 extern int dgerqf_(integer *m, integer *n, doublereal *a, integer *lda,
1230  doublereal *tau, doublereal *work, integer *lwork,
1231  integer *info);
1232 extern int dgesc2_(integer *n, doublereal *a, integer *lda, doublereal *rhs,
1233  integer *ipiv, integer *jpiv, doublereal *scale);
1234 extern int dgesdd_(char *jobz, integer *m, integer *n, doublereal *a,
1235  integer *lda, doublereal *s, doublereal *u, integer *ldu,
1236  doublereal *vt, integer *ldvt, doublereal *work,
1237  integer *lwork, integer *iwork, integer *info,
1238  ftnlen jobz_len);
1239 extern int dgesv_(integer *n, integer *nrhs, doublereal *a, integer *lda,
1240  integer *ipiv, doublereal *b, integer *ldb, integer *info);
1241 extern int dgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
1242  doublereal *a, integer *lda, doublereal *s, doublereal *u,
1243  integer *ldu, doublereal *vt, integer *ldvt,
1244  doublereal *work, integer *lwork, integer *info,
1245  ftnlen jobu_len, ftnlen jobvt_len);
1246 extern int dgesvx_(char *fact, char *trans, integer *n, integer *nrhs,
1247  doublereal *a, integer *lda, doublereal *af, integer *ldaf,
1248  integer *ipiv, char *equed, doublereal *r__, doublereal *c__,
1249  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1250  doublereal *rcond, doublereal *ferr, doublereal *berr,
1251  doublereal *work, integer *iwork, integer *info,
1252  ftnlen fact_len, ftnlen trans_len, ftnlen equed_len);
1253 extern int dgetc2_(integer *n, doublereal *a, integer *lda, integer *ipiv,
1254  integer *jpiv, integer *info);
1255 extern int dgetf2_(integer *m, integer *n, doublereal *a, integer *lda,
1256  integer *ipiv, integer *info);
1257 extern int dgetrf_(integer *m, integer *n, doublereal *a, integer *lda,
1258  integer *ipiv, integer *info);
1259 extern int dgetri_(integer *n, doublereal *a, integer *lda, integer *ipiv,
1260  doublereal *work, integer *lwork, integer *info);
1261 extern int dgetrs_(char *trans, integer *n, integer *nrhs, doublereal *a,
1262  integer *lda, integer *ipiv, doublereal *b, integer *ldb,
1263  integer *info, ftnlen trans_len);
1264 extern int dggbak_(char *job, char *side, integer *n, integer *ilo,
1265  integer *ihi, doublereal *lscale, doublereal *rscale,
1266  integer *m, doublereal *v, integer *ldv, integer *info,
1267  ftnlen job_len, ftnlen side_len);
1268 extern int dggbal_(char *job, integer *n, doublereal *a, integer *lda,
1269  doublereal *b, integer *ldb, integer *ilo, integer *ihi,
1270  doublereal *lscale, doublereal *rscale, doublereal *work,
1271  integer *info, ftnlen job_len);
1272 extern int dgges_(char *jobvsl, char *jobvsr, char *sort, L_fp delctg,
1273  integer *n, doublereal *a, integer *lda, doublereal *b,
1274  integer *ldb, integer *sdim, doublereal *alphar,
1275  doublereal *alphai, doublereal *beta, doublereal *vsl,
1276  integer *ldvsl, doublereal *vsr, integer *ldvsr,
1277  doublereal *work, integer *lwork, logical *bwork,
1278  integer *info, ftnlen jobvsl_len, ftnlen jobvsr_len,
1279  ftnlen sort_len);
1280 extern int dggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp delctg,
1281  char *sense, integer *n, doublereal *a, integer *lda,
1282  doublereal *b, integer *ldb, integer *sdim,
1283  doublereal *alphar, doublereal *alphai, doublereal *beta,
1284  doublereal *vsl, integer *ldvsl, doublereal *vsr,
1285  integer *ldvsr, doublereal *rconde, doublereal *rcondv,
1286  doublereal *work, integer *lwork, integer *iwork,
1287  integer *liwork, logical *bwork, integer *info,
1288  ftnlen jobvsl_len, ftnlen jobvsr_len, ftnlen sort_len,
1289  ftnlen sense_len);
1290 extern int dggev_(char *jobvl, char *jobvr, integer *n, doublereal *a,
1291  integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
1292  doublereal *alphai, doublereal *beta, doublereal *vl,
1293  integer *ldvl, doublereal *vr, integer *ldvr,
1294  doublereal *work, integer *lwork, integer *info,
1295  ftnlen jobvl_len, ftnlen jobvr_len);
1296 extern int dggevx_(char *balanc, char *jobvl, char *jobvr, char *sense,
1297  integer *n, doublereal *a, integer *lda, doublereal *b,
1298  integer *ldb, doublereal *alphar, doublereal *alphai,
1299  doublereal *beta, doublereal *vl, integer *ldvl,
1300  doublereal *vr, integer *ldvr, integer *ilo, integer *ihi,
1301  doublereal *lscale, doublereal *rscale, doublereal *abnrm,
1302  doublereal *bbnrm, doublereal *rconde, doublereal *rcondv,
1303  doublereal *work, integer *lwork, integer *iwork,
1304  logical *bwork, integer *info, ftnlen balanc_len,
1305  ftnlen jobvl_len, ftnlen jobvr_len, ftnlen sense_len);
1306 extern int dggglm_(integer *n, integer *m, integer *p, doublereal *a,
1307  integer *lda, doublereal *b, integer *ldb, doublereal *d__,
1308  doublereal *x, doublereal *y, doublereal *work,
1309  integer *lwork, integer *info);
1310 extern int dgghrd_(char *compq, char *compz, integer *n, integer *ilo,
1311  integer *ihi, doublereal *a, integer *lda, doublereal *b,
1312  integer *ldb, doublereal *q, integer *ldq, doublereal *z__,
1313  integer *ldz, integer *info, ftnlen compq_len,
1314  ftnlen compz_len);
1315 extern int dgglse_(integer *m, integer *n, integer *p, doublereal *a,
1316  integer *lda, doublereal *b, integer *ldb, doublereal *c__,
1317  doublereal *d__, doublereal *x, doublereal *work,
1318  integer *lwork, integer *info);
1319 extern int dggqrf_(integer *n, integer *m, integer *p, doublereal *a,
1320  integer *lda, doublereal *taua, doublereal *b, integer *ldb,
1321  doublereal *taub, doublereal *work, integer *lwork,
1322  integer *info);
1323 extern int dggrqf_(integer *m, integer *p, integer *n, doublereal *a,
1324  integer *lda, doublereal *taua, doublereal *b, integer *ldb,
1325  doublereal *taub, doublereal *work, integer *lwork,
1326  integer *info);
1327 extern int dggsvd_(char *jobu, char *jobv, char *jobq, integer *m, integer *n,
1328  integer *p, integer *k, integer *l, doublereal *a,
1329  integer *lda, doublereal *b, integer *ldb, doublereal *alpha,
1330  doublereal *beta, doublereal *u, integer *ldu, doublereal *v,
1331  integer *ldv, doublereal *q, integer *ldq, doublereal *work,
1332  integer *iwork, integer *info, ftnlen jobu_len,
1333  ftnlen jobv_len, ftnlen jobq_len);
1334 extern int dggsvp_(char *jobu, char *jobv, char *jobq, integer *m, integer *p,
1335  integer *n, doublereal *a, integer *lda, doublereal *b,
1336  integer *ldb, doublereal *tola, doublereal *tolb, integer *k,
1337  integer *l, doublereal *u, integer *ldu, doublereal *v,
1338  integer *ldv, doublereal *q, integer *ldq, integer *iwork,
1339  doublereal *tau, doublereal *work, integer *info,
1340  ftnlen jobu_len, ftnlen jobv_len, ftnlen jobq_len);
1341 extern int dgtcon_(char *norm, integer *n, doublereal *dl, doublereal *d__,
1342  doublereal *du, doublereal *du2, integer *ipiv,
1343  doublereal *anorm, doublereal *rcond, doublereal *work,
1344  integer *iwork, integer *info, ftnlen norm_len);
1345 extern int dgtrfs_(char *trans, integer *n, integer *nrhs, doublereal *dl,
1346  doublereal *d__, doublereal *du, doublereal *dlf,
1347  doublereal *df, doublereal *duf, doublereal *du2,
1348  integer *ipiv, doublereal *b, integer *ldb, doublereal *x,
1349  integer *ldx, doublereal *ferr, doublereal *berr,
1350  doublereal *work, integer *iwork, integer *info,
1351  ftnlen trans_len);
1352 extern int dgtsv_(integer *n, integer *nrhs, doublereal *dl, doublereal *d__,
1353  doublereal *du, doublereal *b, integer *ldb, integer *info);
1354 extern int dgtsvx_(char *fact, char *trans, integer *n, integer *nrhs,
1355  doublereal *dl, doublereal *d__, doublereal *du,
1356  doublereal *dlf, doublereal *df, doublereal *duf,
1357  doublereal *du2, integer *ipiv, doublereal *b, integer *ldb,
1358  doublereal *x, integer *ldx, doublereal *rcond,
1359  doublereal *ferr, doublereal *berr, doublereal *work,
1360  integer *iwork, integer *info, ftnlen fact_len,
1361  ftnlen trans_len);
1362 extern int dgttrf_(integer *n, doublereal *dl, doublereal *d__, doublereal *du,
1363  doublereal *du2, integer *ipiv, integer *info);
1364 extern int dgttrs_(char *trans, integer *n, integer *nrhs, doublereal *dl,
1365  doublereal *d__, doublereal *du, doublereal *du2,
1366  integer *ipiv, doublereal *b, integer *ldb, integer *info,
1367  ftnlen trans_len);
1368 extern int dgtts2_(integer *itrans, integer *n, integer *nrhs, doublereal *dl,
1369  doublereal *d__, doublereal *du, doublereal *du2,
1370  integer *ipiv, doublereal *b, integer *ldb);
1371 extern int dhgeqz_(char *job, char *compq, char *compz, integer *n,
1372  integer *ilo, integer *ihi, doublereal *a, integer *lda,
1373  doublereal *b, integer *ldb, doublereal *alphar,
1374  doublereal *alphai, doublereal *beta, doublereal *q,
1375  integer *ldq, doublereal *z__, integer *ldz,
1376  doublereal *work, integer *lwork, integer *info,
1377  ftnlen job_len, ftnlen compq_len, ftnlen compz_len);
1378 extern int dhsein_(char *side, char *eigsrc, char *initv, logical *select,
1379  integer *n, doublereal *h__, integer *ldh, doublereal *wr,
1380  doublereal *wi, doublereal *vl, integer *ldvl,
1381  doublereal *vr, integer *ldvr, integer *mm, integer *m,
1382  doublereal *work, integer *ifaill, integer *ifailr,
1383  integer *info, ftnlen side_len, ftnlen eigsrc_len,
1384  ftnlen initv_len);
1385 extern int dhseqr_(char *job, char *compz, integer *n, integer *ilo,
1386  integer *ihi, doublereal *h__, integer *ldh, doublereal *wr,
1387  doublereal *wi, doublereal *z__, integer *ldz,
1388  doublereal *work, integer *lwork, integer *info,
1389  ftnlen job_len, ftnlen compz_len);
1390 extern int dlabad_(doublereal *small, doublereal *large);
1391 extern int dlabrd_(integer *m, integer *n, integer *nb, doublereal *a,
1392  integer *lda, doublereal *d__, doublereal *e,
1393  doublereal *tauq, doublereal *taup, doublereal *x,
1394  integer *ldx, doublereal *y, integer *ldy);
1395 extern int dlacon_(integer *n, doublereal *v, doublereal *x, integer *isgn,
1396  doublereal *est, integer *kase);
1397 extern int dlacpy_(char *uplo, integer *m, integer *n, doublereal *a,
1398  integer *lda, doublereal *b, integer *ldb, ftnlen uplo_len);
1399 extern int dladiv_(doublereal *a, doublereal *b, doublereal *c__,
1400  doublereal *d__, doublereal *p, doublereal *q);
1401 extern int dlae2_(doublereal *a, doublereal *b, doublereal *c__,
1402  doublereal *rt1, doublereal *rt2);
1403 extern int dlaebz_(integer *ijob, integer *nitmax, integer *n, integer *mmax,
1404  integer *minp, integer *nbmin, doublereal *abstol,
1405  doublereal *reltol, doublereal *pivmin, doublereal *d__,
1406  doublereal *e, doublereal *e2, integer *nval, doublereal *ab,
1407  doublereal *c__, integer *mout, integer *nab,
1408  doublereal *work, integer *iwork, integer *info);
1409 extern int dlaed0_(integer *icompq, integer *qsiz, integer *n, doublereal *d__,
1410  doublereal *e, doublereal *q, integer *ldq,
1411  doublereal *qstore, integer *ldqs, doublereal *work,
1412  integer *iwork, integer *info);
1413 extern int dlaed1_(integer *n, doublereal *d__, doublereal *q, integer *ldq,
1414  integer *indxq, doublereal *rho, integer *cutpnt,
1415  doublereal *work, integer *iwork, integer *info);
1416 extern int dlaed2_(integer *k, integer *n, integer *n1, doublereal *d__,
1417  doublereal *q, integer *ldq, integer *indxq, doublereal *rho,
1418  doublereal *z__, doublereal *dlamda, doublereal *w,
1419  doublereal *q2, integer *indx, integer *indxc,
1420  integer *indxp, integer *coltyp, integer *info);
1421 extern int dlaed3_(integer *k, integer *n, integer *n1, doublereal *d__,
1422  doublereal *q, integer *ldq, doublereal *rho,
1423  doublereal *dlamda, doublereal *q2, integer *indx,
1424  integer *ctot, doublereal *w, doublereal *s, integer *info);
1425 extern int dlaed4_(integer *n, integer *i__, doublereal *d__, doublereal *z__,
1426  doublereal *delta, doublereal *rho, doublereal *dlam,
1427  integer *info);
1428 extern int dlaed5_(integer *i__, doublereal *d__, doublereal *z__,
1429  doublereal *delta, doublereal *rho, doublereal *dlam);
1430 extern int dlaed6_(integer *kniter, logical *orgati, doublereal *rho,
1431  doublereal *d__, doublereal *z__, doublereal *finit,
1432  doublereal *tau, integer *info);
1433 extern int dlaed7_(integer *icompq, integer *n, integer *qsiz, integer *tlvls,
1434  integer *curlvl, integer *curpbm, doublereal *d__,
1435  doublereal *q, integer *ldq, integer *indxq, doublereal *rho,
1436  integer *cutpnt, doublereal *qstore, integer *qptr,
1437  integer *prmptr, integer *perm, integer *givptr,
1438  integer *givcol, doublereal *givnum, doublereal *work,
1439  integer *iwork, integer *info);
1440 extern int dlaed8_(integer *icompq, integer *k, integer *n, integer *qsiz,
1441  doublereal *d__, doublereal *q, integer *ldq, integer *indxq,
1442  doublereal *rho, integer *cutpnt, doublereal *z__,
1443  doublereal *dlamda, doublereal *q2, integer *ldq2,
1444  doublereal *w, integer *perm, integer *givptr,
1445  integer *givcol, doublereal *givnum, integer *indxp,
1446  integer *indx, integer *info);
1447 extern int dlaed9_(integer *k, integer *kstart, integer *kstop, integer *n,
1448  doublereal *d__, doublereal *q, integer *ldq,
1449  doublereal *rho, doublereal *dlamda, doublereal *w,
1450  doublereal *s, integer *lds, integer *info);
1451 extern int dlaeda_(integer *n, integer *tlvls, integer *curlvl, integer *curpbm,
1452  integer *prmptr, integer *perm, integer *givptr,
1453  integer *givcol, doublereal *givnum, doublereal *q,
1454  integer *qptr, doublereal *z__, doublereal *ztemp,
1455  integer *info);
1456 extern int dlaein_(logical *rightv, logical *noinit, integer *n,
1457  doublereal *h__, integer *ldh, doublereal *wr,
1458  doublereal *wi, doublereal *vr, doublereal *vi,
1459  doublereal *b, integer *ldb, doublereal *work,
1460  doublereal *eps3, doublereal *smlnum, doublereal *bignum,
1461  integer *info);
1462 extern int dlaev2_(doublereal *a, doublereal *b, doublereal *c__,
1463  doublereal *rt1, doublereal *rt2, doublereal *cs1,
1464  doublereal *sn1);
1465 extern int dlaexc_(logical *wantq, integer *n, doublereal *t, integer *ldt,
1466  doublereal *q, integer *ldq, integer *j1, integer *n1,
1467  integer *n2, doublereal *work, integer *info);
1468 extern int dlag2_(doublereal *a, integer *lda, doublereal *b, integer *ldb,
1469  doublereal *safmin, doublereal *scale1, doublereal *scale2,
1470  doublereal *wr1, doublereal *wr2, doublereal *wi);
1471 extern int dlags2_(logical *upper, doublereal *a1, doublereal *a2,
1472  doublereal *a3, doublereal *b1, doublereal *b2,
1473  doublereal *b3, doublereal *csu, doublereal *snu,
1474  doublereal *csv, doublereal *snv, doublereal *csq,
1475  doublereal *snq);
1476 extern int dlagtf_(integer *n, doublereal *a, doublereal *lambda, doublereal *b,
1477  doublereal *c__, doublereal *tol, doublereal *d__,
1478  integer *in, integer *info);
1479 extern int dlagtm_(char *trans, integer *n, integer *nrhs, doublereal *alpha,
1480  doublereal *dl, doublereal *d__, doublereal *du,
1481  doublereal *x, integer *ldx, doublereal *beta, doublereal *b,
1482  integer *ldb, ftnlen trans_len);
1483 extern int dlagts_(integer *job, integer *n, doublereal *a, doublereal *b,
1484  doublereal *c__, doublereal *d__, integer *in, doublereal *y,
1485  doublereal *tol, integer *info);
1486 extern int dlagv2_(doublereal *a, integer *lda, doublereal *b, integer *ldb,
1487  doublereal *alphar, doublereal *alphai, doublereal *beta,
1488  doublereal *csl, doublereal *snl, doublereal *csr,
1489  doublereal *snr);
1490 extern int dlahqr_(logical *wantt, logical *wantz, integer *n, integer *ilo,
1491  integer *ihi, doublereal *h__, integer *ldh, doublereal *wr,
1492  doublereal *wi, integer *iloz, integer *ihiz,
1493  doublereal *z__, integer *ldz, integer *info);
1494 extern int dlahrd_(integer *n, integer *k, integer *nb, doublereal *a,
1495  integer *lda, doublereal *tau, doublereal *t, integer *ldt,
1496  doublereal *y, integer *ldy);
1497 extern int dlaic1_(integer *job, integer *j, doublereal *x, doublereal *sest,
1498  doublereal *w, doublereal *gamma, doublereal *sestpr,
1499  doublereal *s, doublereal *c__);
1500 extern int dlaln2_(logical *ltrans, integer *na, integer *nw, doublereal *smin,
1501  doublereal *ca, doublereal *a, integer *lda, doublereal *d1,
1502  doublereal *d2, doublereal *b, integer *ldb, doublereal *wr,
1503  doublereal *wi, doublereal *x, integer *ldx,
1504  doublereal *scale, doublereal *xnorm, integer *info);
1505 extern int dlals0_(integer *icompq, integer *nl, integer *nr, integer *sqre,
1506  integer *nrhs, doublereal *b, integer *ldb, doublereal *bx,
1507  integer *ldbx, integer *perm, integer *givptr,
1508  integer *givcol, integer *ldgcol, doublereal *givnum,
1509  integer *ldgnum, doublereal *poles, doublereal *difl,
1510  doublereal *difr, doublereal *z__, integer *k,
1511  doublereal *c__, doublereal *s, doublereal *work,
1512  integer *info);
1513 extern int dlalsa_(integer *icompq, integer *smlsiz, integer *n, integer *nrhs,
1514  doublereal *b, integer *ldb, doublereal *bx, integer *ldbx,
1515  doublereal *u, integer *ldu, doublereal *vt, integer *k,
1516  doublereal *difl, doublereal *difr, doublereal *z__,
1517  doublereal *poles, integer *givptr, integer *givcol,
1518  integer *ldgcol, integer *perm, doublereal *givnum,
1519  doublereal *c__, doublereal *s, doublereal *work,
1520  integer *iwork, integer *info);
1521 extern int dlalsd_(char *uplo, integer *smlsiz, integer *n, integer *nrhs,
1522  doublereal *d__, doublereal *e, doublereal *b, integer *ldb,
1523  doublereal *rcond, integer *rank, doublereal *work,
1524  integer *iwork, integer *info, ftnlen uplo_len);
1525 extern doublereal dlamch_(char *cmach, ftnlen cmach_len);
1526 extern int dlamc1_(integer *beta, integer *t, logical *rnd, logical *ieee1);
1527 extern int dlamc2_(integer *beta, integer *t, logical *rnd, doublereal *eps,
1528  integer *emin, doublereal *rmin, integer *emax,
1529  doublereal *rmax);
1531 extern int dlamc4_(integer *emin, doublereal *start, integer *base);
1532 extern int dlamc5_(integer *beta, integer *p, integer *emin, logical *ieee,
1533  integer *emax, doublereal *rmax);
1534 extern int dlamrg_(integer *n1, integer *n2, doublereal *a, integer *dtrd1,
1535  integer *dtrd2, integer *index);
1536 extern doublereal dlangb_(char *norm, integer *n, integer *kl, integer *ku,
1537  doublereal *ab, integer *ldab, doublereal *work,
1538  ftnlen norm_len);
1539 extern doublereal dlange_(char *norm, integer *m, integer *n, doublereal *a,
1540  integer *lda, doublereal *work, ftnlen norm_len);
1541 extern doublereal dlangt_(char *norm, integer *n, doublereal *dl,
1542  doublereal *d__, doublereal *du, ftnlen norm_len);
1543 extern doublereal dlanhs_(char *norm, integer *n, doublereal *a, integer *lda,
1544  doublereal *work, ftnlen norm_len);
1545 extern doublereal dlansb_(char *norm, char *uplo, integer *n, integer *k,
1546  doublereal *ab, integer *ldab, doublereal *work,
1547  ftnlen norm_len, ftnlen uplo_len);
1548 extern doublereal dlansp_(char *norm, char *uplo, integer *n, doublereal *ap,
1549  doublereal *work, ftnlen norm_len, ftnlen uplo_len);
1550 extern doublereal dlanst_(char *norm, integer *n, doublereal *d__,
1551  doublereal *e, ftnlen norm_len);
1552 extern doublereal dlansy_(char *norm, char *uplo, integer *n, doublereal *a,
1553  integer *lda, doublereal *work, ftnlen norm_len,
1554  ftnlen uplo_len);
1555 extern doublereal dlantb_(char *norm, char *uplo, char *diag, integer *n,
1556  integer *k, doublereal *ab, integer *ldab,
1557  doublereal *work, ftnlen norm_len, ftnlen uplo_len,
1558  ftnlen diag_len);
1559 extern doublereal dlantp_(char *norm, char *uplo, char *diag, integer *n,
1560  doublereal *ap, doublereal *work, ftnlen norm_len,
1561  ftnlen uplo_len, ftnlen diag_len);
1562 extern doublereal dlantr_(char *norm, char *uplo, char *diag, integer *m,
1563  integer *n, doublereal *a, integer *lda,
1564  doublereal *work, ftnlen norm_len, ftnlen uplo_len,
1565  ftnlen diag_len);
1566 extern int dlanv2_(doublereal *a, doublereal *b, doublereal *c__,
1567  doublereal *d__, doublereal *rt1r, doublereal *rt1i,
1568  doublereal *rt2r, doublereal *rt2i, doublereal *cs,
1569  doublereal *sn);
1570 extern int dlapll_(integer *n, doublereal *x, integer *incx, doublereal *y,
1571  integer *incy, doublereal *ssmin);
1572 extern int dlapmt_(logical *forwrd, integer *m, integer *n, doublereal *x,
1573  integer *ldx, integer *k);
1576 extern int dlaqgb_(integer *m, integer *n, integer *kl, integer *ku,
1577  doublereal *ab, integer *ldab, doublereal *r__,
1578  doublereal *c__, doublereal *rowcnd, doublereal *colcnd,
1579  doublereal *amax, char *equed, ftnlen equed_len);
1580 extern int dlaqge_(integer *m, integer *n, doublereal *a, integer *lda,
1581  doublereal *r__, doublereal *c__, doublereal *rowcnd,
1582  doublereal *colcnd, doublereal *amax, char *equed,
1583  ftnlen equed_len);
1584 extern int dlaqp2_(integer *m, integer *n, integer *offset, doublereal *a,
1585  integer *lda, integer *jpvt, doublereal *tau,
1586  doublereal *vn1, doublereal *vn2, doublereal *work);
1587 extern int dlaqps_(integer *m, integer *n, integer *offset, integer *nb,
1588  integer *kb, doublereal *a, integer *lda, integer *jpvt,
1589  doublereal *tau, doublereal *vn1, doublereal *vn2,
1590  doublereal *auxv, doublereal *f, integer *ldf);
1591 extern int dlaqsb_(char *uplo, integer *n, integer *kd, doublereal *ab,
1592  integer *ldab, doublereal *s, doublereal *scond,
1593  doublereal *amax, char *equed, ftnlen uplo_len,
1594  ftnlen equed_len);
1595 extern int dlaqsp_(char *uplo, integer *n, doublereal *ap, doublereal *s,
1596  doublereal *scond, doublereal *amax, char *equed,
1597  ftnlen uplo_len, ftnlen equed_len);
1598 extern int dlaqsy_(char *uplo, integer *n, doublereal *a, integer *lda,
1599  doublereal *s, doublereal *scond, doublereal *amax,
1600  char *equed, ftnlen uplo_len, ftnlen equed_len);
1601 extern int dlaqtr_(logical *ltran, logical *lreal, integer *n, doublereal *t,
1602  integer *ldt, doublereal *b, doublereal *w,
1603  doublereal *scale, doublereal *x, doublereal *work,
1604  integer *info);
1605 extern int dlar1v_(integer *n, integer *b1, integer *bn, doublereal *sigma,
1606  doublereal *d__, doublereal *l, doublereal *ld,
1607  doublereal *lld, doublereal *gersch, doublereal *z__,
1608  doublereal *ztz, doublereal *mingma, integer *r__,
1609  integer *isuppz, doublereal *work);
1610 extern int dlar2v_(integer *n, doublereal *x, doublereal *y, doublereal *z__,
1611  integer *incx, doublereal *c__, doublereal *s,
1612  integer *incc);
1613 extern int dlarf_(char *side, integer *m, integer *n, doublereal *v,
1614  integer *incv, doublereal *tau, doublereal *c__, integer *ldc,
1615  doublereal *work, ftnlen side_len);
1616 extern int dlarfb_(char *side, char *trans, char *direct, char *storev,
1617  integer *m, integer *n, integer *k, doublereal *v,
1618  integer *ldv, doublereal *t, integer *ldt, doublereal *c__,
1619  integer *ldc, doublereal *work, integer *ldwork,
1620  ftnlen side_len, ftnlen trans_len, ftnlen direct_len,
1621  ftnlen storev_len);
1622 extern int dlarfg_(integer *n, doublereal *alpha, doublereal *x, integer *incx,
1623  doublereal *tau);
1624 extern int dlarft_(char *direct, char *storev, integer *n, integer *k,
1625  doublereal *v, integer *ldv, doublereal *tau, doublereal *t,
1626  integer *ldt, ftnlen direct_len, ftnlen storev_len);
1627 extern int dlarfx_(char *side, integer *m, integer *n, doublereal *v,
1628  doublereal *tau, doublereal *c__, integer *ldc,
1629  doublereal *work, ftnlen side_len);
1630 extern int dlargv_(integer *n, doublereal *x, integer *incx, doublereal *y,
1631  integer *incy, doublereal *c__, integer *incc);
1632 extern int dlarnv_(integer *idist, integer *iseed, integer *n, doublereal *x);
1633 extern int dlarrb_(integer *n, doublereal *d__, doublereal *l, doublereal *ld,
1634  doublereal *lld, integer *ifirst, integer *ilast,
1635  doublereal *sigma, doublereal *reltol, doublereal *w,
1636  doublereal *wgap, doublereal *werr, doublereal *work,
1637  integer *iwork, integer *info);
1638 extern int dlarre_(integer *n, doublereal *d__, doublereal *e, doublereal *tol,
1639  integer *nsplit, integer *isplit, integer *m, doublereal *w,
1640  doublereal *woff, doublereal *gersch, doublereal *work,
1641  integer *info);
1642 extern int dlarrf_(integer *n, doublereal *d__, doublereal *l, doublereal *ld,
1643  doublereal *lld, integer *ifirst, integer *ilast,
1644  doublereal *w, doublereal *dplus, doublereal *lplus,
1645  doublereal *work, integer *iwork, integer *info);
1646 extern int dlarrv_(integer *n, doublereal *d__, doublereal *l, integer *isplit,
1647  integer *m, doublereal *w, integer *iblock,
1648  doublereal *gersch, doublereal *tol, doublereal *z__,
1649  integer *ldz, integer *isuppz, doublereal *work,
1650  integer *iwork, integer *info);
1652  doublereal *r__);
1653 extern int dlartv_(integer *n, doublereal *x, integer *incx, doublereal *y,
1654  integer *incy, doublereal *c__, doublereal *s,
1655  integer *incc);
1656 extern int dlaruv_(integer *iseed, integer *n, doublereal *x);
1657 extern int dlarz_(char *side, integer *m, integer *n, integer *l, doublereal *v,
1658  integer *incv, doublereal *tau, doublereal *c__, integer *ldc,
1659  doublereal *work, ftnlen side_len);
1660 extern int dlarzb_(char *side, char *trans, char *direct, char *storev,
1661  integer *m, integer *n, integer *k, integer *l,
1662  doublereal *v, integer *ldv, doublereal *t, integer *ldt,
1663  doublereal *c__, integer *ldc, doublereal *work,
1664  integer *ldwork, ftnlen side_len, ftnlen trans_len,
1665  ftnlen direct_len, ftnlen storev_len);
1666 extern int dlarzt_(char *direct, char *storev, integer *n, integer *k,
1667  doublereal *v, integer *ldv, doublereal *tau, doublereal *t,
1668  integer *ldt, ftnlen direct_len, ftnlen storev_len);
1669 extern int dlas2_(doublereal *f, doublereal *g, doublereal *h__,
1670  doublereal *ssmin, doublereal *ssmax);
1671 extern int dlascl_(char *type__, integer *kl, integer *ku, doublereal *cfrom,
1672  doublereal *cto, integer *m, integer *n, doublereal *a,
1673  integer *lda, integer *info, ftnlen type_len);
1674 extern int dlasd0_(integer *n, integer *sqre, doublereal *d__, doublereal *e,
1675  doublereal *u, integer *ldu, doublereal *vt, integer *ldvt,
1676  integer *smlsiz, integer *iwork, doublereal *work,
1677  integer *info);
1678 extern int dlasd1_(integer *nl, integer *nr, integer *sqre, doublereal *d__,
1679  doublereal *alpha, doublereal *beta, doublereal *u,
1680  integer *ldu, doublereal *vt, integer *ldvt, integer *idxq,
1681  integer *iwork, doublereal *work, integer *info);
1682 extern int dlasd2_(integer *nl, integer *nr, integer *sqre, integer *k,
1683  doublereal *d__, doublereal *z__, doublereal *alpha,
1684  doublereal *beta, doublereal *u, integer *ldu,
1685  doublereal *vt, integer *ldvt, doublereal *dsigma,
1686  doublereal *u2, integer *ldu2, doublereal *vt2,
1687  integer *ldvt2, integer *idxp, integer *idx, integer *idxc,
1688  integer *idxq, integer *coltyp, integer *info);
1689 extern int dlasd3_(integer *nl, integer *nr, integer *sqre, integer *k,
1690  doublereal *d__, doublereal *q, integer *ldq,
1691  doublereal *dsigma, doublereal *u, integer *ldu,
1692  doublereal *u2, integer *ldu2, doublereal *vt, integer *ldvt,
1693  doublereal *vt2, integer *ldvt2, integer *idxc,
1694  integer *ctot, doublereal *z__, integer *info);
1695 extern int dlasd4_(integer *n, integer *i__, doublereal *d__, doublereal *z__,
1696  doublereal *delta, doublereal *rho, doublereal *sigma,
1697  doublereal *work, integer *info);
1698 extern int dlasd5_(integer *i__, doublereal *d__, doublereal *z__,
1699  doublereal *delta, doublereal *rho, doublereal *dsigma,
1700  doublereal *work);
1701 extern int dlasd6_(integer *icompq, integer *nl, integer *nr, integer *sqre,
1702  doublereal *d__, doublereal *vf, doublereal *vl,
1703  doublereal *alpha, doublereal *beta, integer *idxq,
1704  integer *perm, integer *givptr, integer *givcol,
1705  integer *ldgcol, doublereal *givnum, integer *ldgnum,
1706  doublereal *poles, doublereal *difl, doublereal *difr,
1707  doublereal *z__, integer *k, doublereal *c__, doublereal *s,
1708  doublereal *work, integer *iwork, integer *info);
1709 extern int dlasd7_(integer *icompq, integer *nl, integer *nr, integer *sqre,
1710  integer *k, doublereal *d__, doublereal *z__, doublereal *zw,
1711  doublereal *vf, doublereal *vfw, doublereal *vl,
1712  doublereal *vlw, doublereal *alpha, doublereal *beta,
1713  doublereal *dsigma, integer *idx, integer *idxp,
1714  integer *idxq, integer *perm, integer *givptr,
1715  integer *givcol, integer *ldgcol, doublereal *givnum,
1716  integer *ldgnum, doublereal *c__, doublereal *s,
1717  integer *info);
1718 extern int dlasd8_(integer *icompq, integer *k, doublereal *d__,
1719  doublereal *z__, doublereal *vf, doublereal *vl,
1720  doublereal *difl, doublereal *difr, integer *lddifr,
1721  doublereal *dsigma, doublereal *work, integer *info);
1722 extern int dlasd9_(integer *icompq, integer *ldu, integer *k, doublereal *d__,
1723  doublereal *z__, doublereal *vf, doublereal *vl,
1724  doublereal *difl, doublereal *difr, doublereal *dsigma,
1725  doublereal *work, integer *info);
1726 extern int dlasda_(integer *icompq, integer *smlsiz, integer *n, integer *sqre,
1727  doublereal *d__, doublereal *e, doublereal *u, integer *ldu,
1728  doublereal *vt, integer *k, doublereal *difl,
1729  doublereal *difr, doublereal *z__, doublereal *poles,
1730  integer *givptr, integer *givcol, integer *ldgcol,
1731  integer *perm, doublereal *givnum, doublereal *c__,
1732  doublereal *s, doublereal *work, integer *iwork,
1733  integer *info);
1734 extern int dlasdq_(char *uplo, integer *sqre, integer *n, integer *ncvt,
1735  integer *nru, integer *ncc, doublereal *d__, doublereal *e,
1736  doublereal *vt, integer *ldvt, doublereal *u, integer *ldu,
1737  doublereal *c__, integer *ldc, doublereal *work,
1738  integer *info, ftnlen uplo_len);
1739 extern int dlasdt_(integer *n, integer *lvl, integer *nd, integer *inode,
1740  integer *ndiml, integer *ndimr, integer *msub);
1741 extern int dlaset_(char *uplo, integer *m, integer *n, doublereal *alpha,
1742  doublereal *beta, doublereal *a, integer *lda,
1743  ftnlen uplo_len);
1744 extern int dlasq1_(integer *n, doublereal *d__, doublereal *e, doublereal *work,
1745  integer *info);
1746 extern int dlasq2_(integer *n, doublereal *z__, integer *info);
1747 extern int dlasq3_(integer *i0, integer *n0, doublereal *z__, integer *pp,
1748  doublereal *dmin__, doublereal *sigma, doublereal *desig,
1749  doublereal *qmax, integer *nfail, integer *iter,
1750  integer *ndiv);
1751 extern int dlasq4_(integer *i0, integer *n0, doublereal *z__, integer *pp,
1752  integer *n0in, doublereal *dmin__, doublereal *dmin1,
1753  doublereal *dmin2, doublereal *dn, doublereal *dn1,
1754  doublereal *dn2, doublereal *tau, integer *ttype);
1755 extern int dlasq5_(integer *i0, integer *n0, doublereal *z__, integer *pp,
1756  doublereal *tau, doublereal *dmin__, doublereal *dmin1,
1757  doublereal *dmin2, doublereal *dn, doublereal *dnm1,
1758  doublereal *dnm2);
1759 extern int dlasq6_(integer *i0, integer *n0, doublereal *z__, integer *pp,
1760  doublereal *dmin__, doublereal *dmin1, doublereal *dmin2,
1761  doublereal *dn, doublereal *dnm1, doublereal *dnm2);
1762 extern int dlasr_(char *side, char *pivot, char *direct, integer *m, integer *n,
1763  doublereal *c__, doublereal *s, doublereal *a, integer *lda,
1764  ftnlen side_len, ftnlen pivot_len, ftnlen direct_len);
1765 extern int dlasrt_(char *id, integer *n, doublereal *d__, integer *info,
1766  ftnlen id_len);
1767 extern int dlassq_(integer *n, doublereal *x, integer *incx, doublereal *scale,
1768  doublereal *sumsq);
1769 extern int dlasv2_(doublereal *f, doublereal *g, doublereal *h__,
1770  doublereal *ssmin, doublereal *ssmax, doublereal *snr,
1771  doublereal *csr, doublereal *snl, doublereal *csl);
1772 extern int dlaswp_(integer *n, doublereal *a, integer *lda, integer *k1,
1773  integer *k2, integer *ipiv, integer *incx);
1774 extern int dlasy2_(logical *ltranl, logical *ltranr, integer *isgn, integer *n1,
1775  integer *n2, doublereal *tl, integer *ldtl, doublereal *tr,
1776  integer *ldtr, doublereal *b, integer *ldb,
1777  doublereal *scale, doublereal *x, integer *ldx,
1778  doublereal *xnorm, integer *info);
1779 extern int dlasyf_(char *uplo, integer *n, integer *nb, integer *kb,
1780  doublereal *a, integer *lda, integer *ipiv, doublereal *w,
1781  integer *ldw, integer *info, ftnlen uplo_len);
1782 extern int dlatbs_(char *uplo, char *trans, char *diag, char *normin,
1783  integer *n, integer *kd, doublereal *ab, integer *ldab,
1784  doublereal *x, doublereal *scale, doublereal *cnorm,
1785  integer *info, ftnlen uplo_len, ftnlen trans_len,
1786  ftnlen diag_len, ftnlen normin_len);
1787 extern int dlatdf_(integer *ijob, integer *n, doublereal *z__, integer *ldz,
1788  doublereal *rhs, doublereal *rdsum, doublereal *rdscal,
1789  integer *ipiv, integer *jpiv);
1790 extern int dlatps_(char *uplo, char *trans, char *diag, char *normin,
1791  integer *n, doublereal *ap, doublereal *x, doublereal *scale,
1792  doublereal *cnorm, integer *info, ftnlen uplo_len,
1793  ftnlen trans_len, ftnlen diag_len, ftnlen normin_len);
1794 extern int dlatrd_(char *uplo, integer *n, integer *nb, doublereal *a,
1795  integer *lda, doublereal *e, doublereal *tau, doublereal *w,
1796  integer *ldw, ftnlen uplo_len);
1797 extern int dlatrs_(char *uplo, char *trans, char *diag, char *normin,
1798  integer *n, doublereal *a, integer *lda, doublereal *x,
1799  doublereal *scale, doublereal *cnorm, integer *info,
1800  ftnlen uplo_len, ftnlen trans_len, ftnlen diag_len,
1801  ftnlen normin_len);
1802 extern int dlatrz_(integer *m, integer *n, integer *l, doublereal *a,
1803  integer *lda, doublereal *tau, doublereal *work);
1804 extern int dlatzm_(char *side, integer *m, integer *n, doublereal *v,
1805  integer *incv, doublereal *tau, doublereal *c1,
1806  doublereal *c2, integer *ldc, doublereal *work,
1807  ftnlen side_len);
1808 extern int dlauu2_(char *uplo, integer *n, doublereal *a, integer *lda,
1809  integer *info, ftnlen uplo_len);
1810 extern int dlauum_(char *uplo, integer *n, doublereal *a, integer *lda,
1811  integer *info, ftnlen uplo_len);
1812 extern int dopgtr_(char *uplo, integer *n, doublereal *ap, doublereal *tau,
1813  doublereal *q, integer *ldq, doublereal *work, integer *info,
1814  ftnlen uplo_len);
1815 extern int dopmtr_(char *side, char *uplo, char *trans, integer *m, integer *n,
1816  doublereal *ap, doublereal *tau, doublereal *c__,
1817  integer *ldc, doublereal *work, integer *info,
1818  ftnlen side_len, ftnlen uplo_len, ftnlen trans_len);
1819 extern int dorg2l_(integer *m, integer *n, integer *k, doublereal *a,
1820  integer *lda, doublereal *tau, doublereal *work,
1821  integer *info);
1822 extern int dorg2r_(integer *m, integer *n, integer *k, doublereal *a,
1823  integer *lda, doublereal *tau, doublereal *work,
1824  integer *info);
1825 extern int dorgbr_(char *vect, integer *m, integer *n, integer *k,
1826  doublereal *a, integer *lda, doublereal *tau,
1827  doublereal *work, integer *lwork, integer *info,
1828  ftnlen vect_len);
1829 extern int dorghr_(integer *n, integer *ilo, integer *ihi, doublereal *a,
1830  integer *lda, doublereal *tau, doublereal *work,
1831  integer *lwork, integer *info);
1832 extern int dorgl2_(integer *m, integer *n, integer *k, doublereal *a,
1833  integer *lda, doublereal *tau, doublereal *work,
1834  integer *info);
1835 extern int dorglq_(integer *m, integer *n, integer *k, doublereal *a,
1836  integer *lda, doublereal *tau, doublereal *work,
1837  integer *lwork, integer *info);
1838 extern int dorgql_(integer *m, integer *n, integer *k, doublereal *a,
1839  integer *lda, doublereal *tau, doublereal *work,
1840  integer *lwork, integer *info);
1841 extern int dorgqr_(integer *m, integer *n, integer *k, doublereal *a,
1842  integer *lda, doublereal *tau, doublereal *work,
1843  integer *lwork, integer *info);
1844 extern int dorgr2_(integer *m, integer *n, integer *k, doublereal *a,
1845  integer *lda, doublereal *tau, doublereal *work,
1846  integer *info);
1847 extern int dorgrq_(integer *m, integer *n, integer *k, doublereal *a,
1848  integer *lda, doublereal *tau, doublereal *work,
1849  integer *lwork, integer *info);
1850 extern int dorgtr_(char *uplo, integer *n, doublereal *a, integer *lda,
1851  doublereal *tau, doublereal *work, integer *lwork,
1852  integer *info, ftnlen uplo_len);
1853 extern int dorm2l_(char *side, char *trans, integer *m, integer *n, integer *k,
1854  doublereal *a, integer *lda, doublereal *tau,
1855  doublereal *c__, integer *ldc, doublereal *work,
1856  integer *info, ftnlen side_len, ftnlen trans_len);
1857 extern int dorm2r_(char *side, char *trans, integer *m, integer *n, integer *k,
1858  doublereal *a, integer *lda, doublereal *tau,
1859  doublereal *c__, integer *ldc, doublereal *work,
1860  integer *info, ftnlen side_len, ftnlen trans_len);
1861 extern int dormbr_(char *vect, char *side, char *trans, integer *m, integer *n,
1862  integer *k, doublereal *a, integer *lda, doublereal *tau,
1863  doublereal *c__, integer *ldc, doublereal *work,
1864  integer *lwork, integer *info, ftnlen vect_len,
1865  ftnlen side_len, ftnlen trans_len);
1866 extern int dormhr_(char *side, char *trans, integer *m, integer *n,
1867  integer *ilo, integer *ihi, doublereal *a, integer *lda,
1868  doublereal *tau, doublereal *c__, integer *ldc,
1869  doublereal *work, integer *lwork, integer *info,
1870  ftnlen side_len, ftnlen trans_len);
1871 extern int dorml2_(char *side, char *trans, integer *m, integer *n, integer *k,
1872  doublereal *a, integer *lda, doublereal *tau,
1873  doublereal *c__, integer *ldc, doublereal *work,
1874  integer *info, ftnlen side_len, ftnlen trans_len);
1875 extern int dormlq_(char *side, char *trans, integer *m, integer *n, integer *k,
1876  doublereal *a, integer *lda, doublereal *tau,
1877  doublereal *c__, integer *ldc, doublereal *work,
1878  integer *lwork, integer *info, ftnlen side_len,
1879  ftnlen trans_len);
1880 extern int dormql_(char *side, char *trans, integer *m, integer *n, integer *k,
1881  doublereal *a, integer *lda, doublereal *tau,
1882  doublereal *c__, integer *ldc, doublereal *work,
1883  integer *lwork, integer *info, ftnlen side_len,
1884  ftnlen trans_len);
1885 extern int dormqr_(char *side, char *trans, integer *m, integer *n, integer *k,
1886  doublereal *a, integer *lda, doublereal *tau,
1887  doublereal *c__, integer *ldc, doublereal *work,
1888  integer *lwork, integer *info, ftnlen side_len,
1889  ftnlen trans_len);
1890 extern int dormr2_(char *side, char *trans, integer *m, integer *n, integer *k,
1891  doublereal *a, integer *lda, doublereal *tau,
1892  doublereal *c__, integer *ldc, doublereal *work,
1893  integer *info, ftnlen side_len, ftnlen trans_len);
1894 extern int dormr3_(char *side, char *trans, integer *m, integer *n, integer *k,
1895  integer *l, doublereal *a, integer *lda, doublereal *tau,
1896  doublereal *c__, integer *ldc, doublereal *work,
1897  integer *info, ftnlen side_len, ftnlen trans_len);
1898 extern int dormrq_(char *side, char *trans, integer *m, integer *n, integer *k,
1899  doublereal *a, integer *lda, doublereal *tau,
1900  doublereal *c__, integer *ldc, doublereal *work,
1901  integer *lwork, integer *info, ftnlen side_len,
1902  ftnlen trans_len);
1903 extern int dormrz_(char *side, char *trans, integer *m, integer *n, integer *k,
1904  integer *l, doublereal *a, integer *lda, doublereal *tau,
1905  doublereal *c__, integer *ldc, doublereal *work,
1906  integer *lwork, integer *info, ftnlen side_len,
1907  ftnlen trans_len);
1908 extern int dormtr_(char *side, char *uplo, char *trans, integer *m, integer *n,
1909  doublereal *a, integer *lda, doublereal *tau,
1910  doublereal *c__, integer *ldc, doublereal *work,
1911  integer *lwork, integer *info, ftnlen side_len,
1912  ftnlen uplo_len, ftnlen trans_len);
1913 extern int dpbcon_(char *uplo, integer *n, integer *kd, doublereal *ab,
1914  integer *ldab, doublereal *anorm, doublereal *rcond,
1915  doublereal *work, integer *iwork, integer *info,
1916  ftnlen uplo_len);
1917 extern int dpbequ_(char *uplo, integer *n, integer *kd, doublereal *ab,
1918  integer *ldab, doublereal *s, doublereal *scond,
1919  doublereal *amax, integer *info, ftnlen uplo_len);
1920 extern int dpbrfs_(char *uplo, integer *n, integer *kd, integer *nrhs,
1921  doublereal *ab, integer *ldab, doublereal *afb,
1922  integer *ldafb, doublereal *b, integer *ldb, doublereal *x,
1923  integer *ldx, doublereal *ferr, doublereal *berr,
1924  doublereal *work, integer *iwork, integer *info,
1925  ftnlen uplo_len);
1926 extern int dpbstf_(char *uplo, integer *n, integer *kd, doublereal *ab,
1927  integer *ldab, integer *info, ftnlen uplo_len);
1928 extern int dpbsv_(char *uplo, integer *n, integer *kd, integer *nrhs,
1929  doublereal *ab, integer *ldab, doublereal *b, integer *ldb,
1930  integer *info, ftnlen uplo_len);
1931 extern int dpbsvx_(char *fact, char *uplo, integer *n, integer *kd,
1932  integer *nrhs, doublereal *ab, integer *ldab,
1933  doublereal *afb, integer *ldafb, char *equed, doublereal *s,
1934  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1935  doublereal *rcond, doublereal *ferr, doublereal *berr,
1936  doublereal *work, integer *iwork, integer *info,
1937  ftnlen fact_len, ftnlen uplo_len, ftnlen equed_len);
1938 extern int dpbtf2_(char *uplo, integer *n, integer *kd, doublereal *ab,
1939  integer *ldab, integer *info, ftnlen uplo_len);
1940 extern int dpbtrf_(char *uplo, integer *n, integer *kd, doublereal *ab,
1941  integer *ldab, integer *info, ftnlen uplo_len);
1942 extern int dpbtrs_(char *uplo, integer *n, integer *kd, integer *nrhs,
1943  doublereal *ab, integer *ldab, doublereal *b, integer *ldb,
1944  integer *info, ftnlen uplo_len);
1945 extern int dpocon_(char *uplo, integer *n, doublereal *a, integer *lda,
1946  doublereal *anorm, doublereal *rcond, doublereal *work,
1947  integer *iwork, integer *info, ftnlen uplo_len);
1948 extern int dpoequ_(integer *n, doublereal *a, integer *lda, doublereal *s,
1949  doublereal *scond, doublereal *amax, integer *info);
1950 extern int dporfs_(char *uplo, integer *n, integer *nrhs, doublereal *a,
1951  integer *lda, doublereal *af, integer *ldaf, doublereal *b,
1952  integer *ldb, doublereal *x, integer *ldx, doublereal *ferr,
1953  doublereal *berr, doublereal *work, integer *iwork,
1954  integer *info, ftnlen uplo_len);
1955 extern int dposv_(char *uplo, integer *n, integer *nrhs, doublereal *a,
1956  integer *lda, doublereal *b, integer *ldb, integer *info,
1957  ftnlen uplo_len);
1958 extern int dposvx_(char *fact, char *uplo, integer *n, integer *nrhs,
1959  doublereal *a, integer *lda, doublereal *af, integer *ldaf,
1960  char *equed, doublereal *s, doublereal *b, integer *ldb,
1961  doublereal *x, integer *ldx, doublereal *rcond,
1962  doublereal *ferr, doublereal *berr, doublereal *work,
1963  integer *iwork, integer *info, ftnlen fact_len,
1964  ftnlen uplo_len, ftnlen equed_len);
1965 extern int dpotf2_(char *uplo, integer *n, doublereal *a, integer *lda,
1966  integer *info, ftnlen uplo_len);
1967 extern int dpotrf_(char *uplo, integer *n, doublereal *a, integer *lda,
1968  integer *info, ftnlen uplo_len);
1969 extern int dpotri_(char *uplo, integer *n, doublereal *a, integer *lda,
1970  integer *info, ftnlen uplo_len);
1971 extern int dpotrs_(char *uplo, integer *n, integer *nrhs, doublereal *a,
1972  integer *lda, doublereal *b, integer *ldb, integer *info,
1973  ftnlen uplo_len);
1974 extern int dppcon_(char *uplo, integer *n, doublereal *ap, doublereal *anorm,
1975  doublereal *rcond, doublereal *work, integer *iwork,
1976  integer *info, ftnlen uplo_len);
1977 extern int dppequ_(char *uplo, integer *n, doublereal *ap, doublereal *s,
1978  doublereal *scond, doublereal *amax, integer *info,
1979  ftnlen uplo_len);
1980 extern int dpprfs_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
1981  doublereal *afp, doublereal *b, integer *ldb, doublereal *x,
1982  integer *ldx, doublereal *ferr, doublereal *berr,
1983  doublereal *work, integer *iwork, integer *info,
1984  ftnlen uplo_len);
1985 extern int dppsv_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
1986  doublereal *b, integer *ldb, integer *info, ftnlen uplo_len);
1987 extern int dppsvx_(char *fact, char *uplo, integer *n, integer *nrhs,
1988  doublereal *ap, doublereal *afp, char *equed, doublereal *s,
1989  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1990  doublereal *rcond, doublereal *ferr, doublereal *berr,
1991  doublereal *work, integer *iwork, integer *info,
1992  ftnlen fact_len, ftnlen uplo_len, ftnlen equed_len);
1993 extern int dpptrf_(char *uplo, integer *n, doublereal *ap, integer *info,
1994  ftnlen uplo_len);
1995 extern int dpptri_(char *uplo, integer *n, doublereal *ap, integer *info,
1996  ftnlen uplo_len);
1997 extern int dpptrs_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
1998  doublereal *b, integer *ldb, integer *info, ftnlen uplo_len);
1999 extern int dptcon_(integer *n, doublereal *d__, doublereal *e,
2000  doublereal *anorm, doublereal *rcond, doublereal *work,
2001  integer *info);
2002 extern int dpteqr_(char *compz, integer *n, doublereal *d__, doublereal *e,
2003  doublereal *z__, integer *ldz, doublereal *work,
2004  integer *info, ftnlen compz_len);
2005 extern int dptrfs_(integer *n, integer *nrhs, doublereal *d__, doublereal *e,
2006  doublereal *df, doublereal *ef, doublereal *b, integer *ldb,
2007  doublereal *x, integer *ldx, doublereal *ferr,
2008  doublereal *berr, doublereal *work, integer *info);
2009 extern int dptsv_(integer *n, integer *nrhs, doublereal *d__, doublereal *e,
2010  doublereal *b, integer *ldb, integer *info);
2011 extern int dptsvx_(char *fact, integer *n, integer *nrhs, doublereal *d__,
2012  doublereal *e, doublereal *df, doublereal *ef, doublereal *b,
2013  integer *ldb, doublereal *x, integer *ldx, doublereal *rcond,
2014  doublereal *ferr, doublereal *berr, doublereal *work,
2015  integer *info, ftnlen fact_len);
2016 extern int dpttrf_(integer *n, doublereal *d__, doublereal *e, integer *info);
2017 extern int dpttrs_(integer *n, integer *nrhs, doublereal *d__, doublereal *e,
2018  doublereal *b, integer *ldb, integer *info);
2019 extern int dptts2_(integer *n, integer *nrhs, doublereal *d__, doublereal *e,
2020  doublereal *b, integer *ldb);
2021 extern int drscl_(integer *n, doublereal *sa, doublereal *sx, integer *incx);
2022 extern int dsbev_(char *jobz, char *uplo, integer *n, integer *kd,
2023  doublereal *ab, integer *ldab, doublereal *w, doublereal *z__,
2024  integer *ldz, doublereal *work, integer *info,
2025  ftnlen jobz_len, ftnlen uplo_len);
2026 extern int dsbevd_(char *jobz, char *uplo, integer *n, integer *kd,
2027  doublereal *ab, integer *ldab, doublereal *w,
2028  doublereal *z__, integer *ldz, doublereal *work,
2029  integer *lwork, integer *iwork, integer *liwork,
2030  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2031 extern int dsbevx_(char *jobz, char *range, char *uplo, integer *n, integer *kd,
2032  doublereal *ab, integer *ldab, doublereal *q, integer *ldq,
2033  doublereal *vl, doublereal *vu, integer *il, integer *iu,
2034  doublereal *abstol, integer *m, doublereal *w,
2035  doublereal *z__, integer *ldz, doublereal *work,
2036  integer *iwork, integer *ifail, integer *info,
2037  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
2038 extern int dsbgst_(char *vect, char *uplo, integer *n, integer *ka, integer *kb,
2039  doublereal *ab, integer *ldab, doublereal *bb, integer *ldbb,
2040  doublereal *x, integer *ldx, doublereal *work, integer *info,
2041  ftnlen vect_len, ftnlen uplo_len);
2042 extern int dsbgv_(char *jobz, char *uplo, integer *n, integer *ka, integer *kb,
2043  doublereal *ab, integer *ldab, doublereal *bb, integer *ldbb,
2044  doublereal *w, doublereal *z__, integer *ldz,
2045  doublereal *work, integer *info, ftnlen jobz_len,
2046  ftnlen uplo_len);
2047 extern int dsbgvd_(char *jobz, char *uplo, integer *n, integer *ka, integer *kb,
2048  doublereal *ab, integer *ldab, doublereal *bb, integer *ldbb,
2049  doublereal *w, doublereal *z__, integer *ldz,
2050  doublereal *work, integer *lwork, integer *iwork,
2051  integer *liwork, integer *info, ftnlen jobz_len,
2052  ftnlen uplo_len);
2053 extern int dsbgvx_(char *jobz, char *range, char *uplo, integer *n, integer *ka,
2054  integer *kb, doublereal *ab, integer *ldab, doublereal *bb,
2055  integer *ldbb, doublereal *q, integer *ldq, doublereal *vl,
2056  doublereal *vu, integer *il, integer *iu, doublereal *abstol,
2057  integer *m, doublereal *w, doublereal *z__, integer *ldz,
2058  doublereal *work, integer *iwork, integer *ifail,
2059  integer *info, ftnlen jobz_len, ftnlen range_len,
2060  ftnlen uplo_len);
2061 extern int dsbtrd_(char *vect, char *uplo, integer *n, integer *kd,
2062  doublereal *ab, integer *ldab, doublereal *d__,
2063  doublereal *e, doublereal *q, integer *ldq, doublereal *work,
2064  integer *info, ftnlen vect_len, ftnlen uplo_len);
2065 extern doublereal dsecnd_(void);
2066 extern int dspcon_(char *uplo, integer *n, doublereal *ap, integer *ipiv,
2067  doublereal *anorm, doublereal *rcond, doublereal *work,
2068  integer *iwork, integer *info, ftnlen uplo_len);
2069 extern int dspev_(char *jobz, char *uplo, integer *n, doublereal *ap,
2070  doublereal *w, doublereal *z__, integer *ldz,
2071  doublereal *work, integer *info, ftnlen jobz_len,
2072  ftnlen uplo_len);
2073 extern int dspevd_(char *jobz, char *uplo, integer *n, doublereal *ap,
2074  doublereal *w, doublereal *z__, integer *ldz,
2075  doublereal *work, integer *lwork, integer *iwork,
2076  integer *liwork, integer *info, ftnlen jobz_len,
2077  ftnlen uplo_len);
2078 extern int dspevx_(char *jobz, char *range, char *uplo, integer *n,
2079  doublereal *ap, doublereal *vl, doublereal *vu, integer *il,
2080  integer *iu, doublereal *abstol, integer *m, doublereal *w,
2081  doublereal *z__, integer *ldz, doublereal *work,
2082  integer *iwork, integer *ifail, integer *info,
2083  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
2084 extern int dspgst_(integer *itype, char *uplo, integer *n, doublereal *ap,
2085  doublereal *bp, integer *info, ftnlen uplo_len);
2086 extern int dspgv_(integer *itype, char *jobz, char *uplo, integer *n,
2087  doublereal *ap, doublereal *bp, doublereal *w,
2088  doublereal *z__, integer *ldz, doublereal *work,
2089  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2090 extern int dspgvd_(integer *itype, char *jobz, char *uplo, integer *n,
2091  doublereal *ap, doublereal *bp, doublereal *w,
2092  doublereal *z__, integer *ldz, doublereal *work,
2093  integer *lwork, integer *iwork, integer *liwork,
2094  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2095 extern int dspgvx_(integer *itype, char *jobz, char *range, char *uplo,
2096  integer *n, doublereal *ap, doublereal *bp, doublereal *vl,
2097  doublereal *vu, integer *il, integer *iu, doublereal *abstol,
2098  integer *m, doublereal *w, doublereal *z__, integer *ldz,
2099  doublereal *work, integer *iwork, integer *ifail,
2100  integer *info, ftnlen jobz_len, ftnlen range_len,
2101  ftnlen uplo_len);
2102 extern int dsprfs_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
2103  doublereal *afp, integer *ipiv, doublereal *b, integer *ldb,
2104  doublereal *x, integer *ldx, doublereal *ferr,
2105  doublereal *berr, doublereal *work, integer *iwork,
2106  integer *info, ftnlen uplo_len);
2107 extern int dspsv_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
2108  integer *ipiv, doublereal *b, integer *ldb, integer *info,
2109  ftnlen uplo_len);
2110 extern int dspsvx_(char *fact, char *uplo, integer *n, integer *nrhs,
2111  doublereal *ap, doublereal *afp, integer *ipiv,
2112  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
2113  doublereal *rcond, doublereal *ferr, doublereal *berr,
2114  doublereal *work, integer *iwork, integer *info,
2115  ftnlen fact_len, ftnlen uplo_len);
2116 extern int dsptrd_(char *uplo, integer *n, doublereal *ap, doublereal *d__,
2117  doublereal *e, doublereal *tau, integer *info,
2118  ftnlen uplo_len);
2119 extern int dsptrf_(char *uplo, integer *n, doublereal *ap, integer *ipiv,
2120  integer *info, ftnlen uplo_len);
2121 extern int dsptri_(char *uplo, integer *n, doublereal *ap, integer *ipiv,
2122  doublereal *work, integer *info, ftnlen uplo_len);
2123 extern int dsptrs_(char *uplo, integer *n, integer *nrhs, doublereal *ap,
2124  integer *ipiv, doublereal *b, integer *ldb, integer *info,
2125  ftnlen uplo_len);
2126 extern int dstebz_(char *range, char *order, integer *n, doublereal *vl,
2127  doublereal *vu, integer *il, integer *iu, doublereal *abstol,
2128  doublereal *d__, doublereal *e, integer *m, integer *nsplit,
2129  doublereal *w, integer *iblock, integer *isplit,
2130  doublereal *work, integer *iwork, integer *info,
2131  ftnlen range_len, ftnlen order_len);
2132 extern int dstedc_(char *compz, integer *n, doublereal *d__, doublereal *e,
2133  doublereal *z__, integer *ldz, doublereal *work,
2134  integer *lwork, integer *iwork, integer *liwork,
2135  integer *info, ftnlen compz_len);
2136 extern int dstegr_(char *jobz, char *range, integer *n, doublereal *d__,
2137  doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2138  integer *iu, doublereal *abstol, integer *m, doublereal *w,
2139  doublereal *z__, integer *ldz, integer *isuppz,
2140  doublereal *work, integer *lwork, integer *iwork,
2141  integer *liwork, integer *info, ftnlen jobz_len,
2142  ftnlen range_len);
2143 extern int dstein_(integer *n, doublereal *d__, doublereal *e, integer *m,
2144  doublereal *w, integer *iblock, integer *isplit,
2145  doublereal *z__, integer *ldz, doublereal *work,
2146  integer *iwork, integer *ifail, integer *info);
2147 extern int dsteqr_(char *compz, integer *n, doublereal *d__, doublereal *e,
2148  doublereal *z__, integer *ldz, doublereal *work,
2149  integer *info, ftnlen compz_len);
2150 extern int dsterf_(integer *n, doublereal *d__, doublereal *e, integer *info);
2151 extern int dstev_(char *jobz, integer *n, doublereal *d__, doublereal *e,
2152  doublereal *z__, integer *ldz, doublereal *work,
2153  integer *info, ftnlen jobz_len);
2154 extern int dstevd_(char *jobz, integer *n, doublereal *d__, doublereal *e,
2155  doublereal *z__, integer *ldz, doublereal *work,
2156  integer *lwork, integer *iwork, integer *liwork,
2157  integer *info, ftnlen jobz_len);
2158 extern int dstevr_(char *jobz, char *range, integer *n, doublereal *d__,
2159  doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2160  integer *iu, doublereal *abstol, integer *m, doublereal *w,
2161  doublereal *z__, integer *ldz, integer *isuppz,
2162  doublereal *work, integer *lwork, integer *iwork,
2163  integer *liwork, integer *info, ftnlen jobz_len,
2164  ftnlen range_len);
2165 extern int dstevx_(char *jobz, char *range, integer *n, doublereal *d__,
2166  doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2167  integer *iu, doublereal *abstol, integer *m, doublereal *w,
2168  doublereal *z__, integer *ldz, doublereal *work,
2169  integer *iwork, integer *ifail, integer *info,
2170  ftnlen jobz_len, ftnlen range_len);
2171 extern int dsycon_(char *uplo, integer *n, doublereal *a, integer *lda,
2172  integer *ipiv, doublereal *anorm, doublereal *rcond,
2173  doublereal *work, integer *iwork, integer *info,
2174  ftnlen uplo_len);
2175 extern int dsyev_(char *jobz, char *uplo, integer *n, doublereal *a,
2176  integer *lda, doublereal *w, doublereal *work, integer *lwork,
2177  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2178 extern int dsyevd_(char *jobz, char *uplo, integer *n, doublereal *a,
2179  integer *lda, doublereal *w, doublereal *work,
2180  integer *lwork, integer *iwork, integer *liwork,
2181  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2182 extern int dsyevr_(char *jobz, char *range, char *uplo, integer *n,
2183  doublereal *a, integer *lda, doublereal *vl, doublereal *vu,
2184  integer *il, integer *iu, doublereal *abstol, integer *m,
2185  doublereal *w, doublereal *z__, integer *ldz,
2186  integer *isuppz, doublereal *work, integer *lwork,
2187  integer *iwork, integer *liwork, integer *info,
2188  ftnlen jobz_len, ftnlen range_len, ftnlen uplo_len);
2189 extern int dsyevx_(char *jobz, char *range, char *uplo, integer *n,
2190  doublereal *a, integer *lda, doublereal *vl, doublereal *vu,
2191  integer *il, integer *iu, doublereal *abstol, integer *m,
2192  doublereal *w, doublereal *z__, integer *ldz,
2193  doublereal *work, integer *lwork, integer *iwork,
2194  integer *ifail, integer *info, ftnlen jobz_len,
2195  ftnlen range_len, ftnlen uplo_len);
2196 extern int dsygs2_(integer *itype, char *uplo, integer *n, doublereal *a,
2197  integer *lda, doublereal *b, integer *ldb, integer *info,
2198  ftnlen uplo_len);
2199 extern int dsygst_(integer *itype, char *uplo, integer *n, doublereal *a,
2200  integer *lda, doublereal *b, integer *ldb, integer *info,
2201  ftnlen uplo_len);
2202 extern int dsygv_(integer *itype, char *jobz, char *uplo, integer *n,
2203  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2204  doublereal *w, doublereal *work, integer *lwork,
2205  integer *info, ftnlen jobz_len, ftnlen uplo_len);
2206 extern int dsygvd_(integer *itype, char *jobz, char *uplo, integer *n,
2207  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2208  doublereal *w, doublereal *work, integer *lwork,
2209  integer *iwork, integer *liwork, integer *info,
2210  ftnlen jobz_len, ftnlen uplo_len);
2211 extern int dsygvx_(integer *itype, char *jobz, char *range, char *uplo,
2212  integer *n, doublereal *a, integer *lda, doublereal *b,
2213  integer *ldb, doublereal *vl, doublereal *vu, integer *il,
2214  integer *iu, doublereal *abstol, integer *m, doublereal *w,
2215  doublereal *z__, integer *ldz, doublereal *work,
2216  integer *lwork, integer *iwork, integer *ifail,
2217  integer *info, ftnlen jobz_len, ftnlen range_len,
2218  ftnlen uplo_len);
2219 extern int dsyrfs_(char *uplo, integer *n, integer *nrhs, doublereal *a,
2220  integer *lda, doublereal *af, integer *ldaf, integer *ipiv,
2221  doublereal *b, integer *ldb, doublereal *x, integer *ldx,
2222  doublereal *ferr, doublereal *berr, doublereal *work,
2223  integer *iwork, integer *info, ftnlen uplo_len);
2224 extern int dsysv_(char *uplo, integer *n, integer *nrhs, doublereal *a,
2225  integer *lda, integer *ipiv, doublereal *b, integer *ldb,
2226  doublereal *work, integer *lwork, integer *info,
2227  ftnlen uplo_len);
2228 extern int dsysvx_(char *fact, char *uplo, integer *n, integer *nrhs,
2229  doublereal *a, integer *lda, doublereal *af, integer *ldaf,
2230  integer *ipiv, doublereal *b, integer *ldb, doublereal *x,
2231  integer *ldx, doublereal *rcond, doublereal *ferr,
2232  doublereal *berr, doublereal *work, integer *lwork,
2233  integer *iwork, integer *info, ftnlen fact_len,
2234  ftnlen uplo_len);
2235 extern int dsytd2_(char *uplo, integer *n, doublereal *a, integer *lda,
2236  doublereal *d__, doublereal *e, doublereal *tau,
2237  integer *info, ftnlen uplo_len);
2238 extern int dsytf2_(char *uplo, integer *n, doublereal *a, integer *lda,
2239  integer *ipiv, integer *info, ftnlen uplo_len);
2240 extern int dsytrd_(char *uplo, integer *n, doublereal *a, integer *lda,
2241  doublereal *d__, doublereal *e, doublereal *tau,
2242  doublereal *work, integer *lwork, integer *info,
2243  ftnlen uplo_len);
2244 extern int dsytrf_(char *uplo, integer *n, doublereal *a, integer *lda,
2245  integer *ipiv, doublereal *work, integer *lwork,
2246  integer *info, ftnlen uplo_len);
2247 extern int dsytri_(char *uplo, integer *n, doublereal *a, integer *lda,
2248  integer *ipiv, doublereal *work, integer *info,
2249  ftnlen uplo_len);
2250 extern int dsytrs_(char *uplo, integer *n, integer *nrhs, doublereal *a,
2251  integer *lda, integer *ipiv, doublereal *b, integer *ldb,
2252  integer *info, ftnlen uplo_len);
2253 extern int dtbcon_(char *norm, char *uplo, char *diag, integer *n, integer *kd,
2254  doublereal *ab, integer *ldab, doublereal *rcond,
2255  doublereal *work, integer *iwork, integer *info,
2256  ftnlen norm_len, ftnlen uplo_len, ftnlen diag_len);
2257 extern int dtbrfs_(char *uplo, char *trans, char *diag, integer *n, integer *kd,
2258  integer *nrhs, doublereal *ab, integer *ldab, doublereal *b,
2259  integer *ldb, doublereal *x, integer *ldx, doublereal *ferr,
2260  doublereal *berr, doublereal *work, integer *iwork,
2261  integer *info, ftnlen uplo_len, ftnlen trans_len,
2262  ftnlen diag_len);
2263 extern int dtbtrs_(char *uplo, char *trans, char *diag, integer *n, integer *kd,
2264  integer *nrhs, doublereal *ab, integer *ldab, doublereal *b,
2265  integer *ldb, integer *info, ftnlen uplo_len,
2266  ftnlen trans_len, ftnlen diag_len);
2267 extern int dtgevc_(char *side, char *howmny, logical *select, integer *n,
2268  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2269  doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr,
2270  integer *mm, integer *m, doublereal *work, integer *info,
2271  ftnlen side_len, ftnlen howmny_len);
2272 extern int dtgex2_(logical *wantq, logical *wantz, integer *n, doublereal *a,
2273  integer *lda, doublereal *b, integer *ldb, doublereal *q,
2274  integer *ldq, doublereal *z__, integer *ldz, integer *j1,
2275  integer *n1, integer *n2, doublereal *work, integer *lwork,
2276  integer *info);
2277 extern int dtgexc_(logical *wantq, logical *wantz, integer *n, doublereal *a,
2278  integer *lda, doublereal *b, integer *ldb, doublereal *q,
2279  integer *ldq, doublereal *z__, integer *ldz, integer *ifst,
2280  integer *ilst, doublereal *work, integer *lwork,
2281  integer *info);
2282 extern int dtgsen_(integer *ijob, logical *wantq, logical *wantz,
2283  logical *select, integer *n, doublereal *a, integer *lda,
2284  doublereal *b, integer *ldb, doublereal *alphar,
2285  doublereal *alphai, doublereal *beta, doublereal *q,
2286  integer *ldq, doublereal *z__, integer *ldz, integer *m,
2287  doublereal *pl, doublereal *pr, doublereal *dif,
2288  doublereal *work, integer *lwork, integer *iwork,
2289  integer *liwork, integer *info);
2290 extern int dtgsja_(char *jobu, char *jobv, char *jobq, integer *m, integer *p,
2291  integer *n, integer *k, integer *l, doublereal *a,
2292  integer *lda, doublereal *b, integer *ldb, doublereal *tola,
2293  doublereal *tolb, doublereal *alpha, doublereal *beta,
2294  doublereal *u, integer *ldu, doublereal *v, integer *ldv,
2295  doublereal *q, integer *ldq, doublereal *work,
2296  integer *ncycle, integer *info, ftnlen jobu_len,
2297  ftnlen jobv_len, ftnlen jobq_len);
2298 extern int dtgsna_(char *job, char *howmny, logical *select, integer *n,
2299  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2300  doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr,
2301  doublereal *s, doublereal *dif, integer *mm, integer *m,
2302  doublereal *work, integer *lwork, integer *iwork,
2303  integer *info, ftnlen job_len, ftnlen howmny_len);
2304 extern int dtgsy2_(char *trans, integer *ijob, integer *m, integer *n,
2305  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2306  doublereal *c__, integer *ldc, doublereal *d__, integer *ldd,
2307  doublereal *e, integer *lde, doublereal *f, integer *ldf,
2308  doublereal *scale, doublereal *rdsum, doublereal *rdscal,
2309  integer *iwork, integer *pq, integer *info,
2310  ftnlen trans_len);
2311 extern int dtgsyl_(char *trans, integer *ijob, integer *m, integer *n,
2312  doublereal *a, integer *lda, doublereal *b, integer *ldb,
2313  doublereal *c__, integer *ldc, doublereal *d__, integer *ldd,
2314  doublereal *e, integer *lde, doublereal *f, integer *ldf,
2315  doublereal *scale, doublereal *dif, doublereal *work,
2316  integer *lwork, integer *iwork, integer *info,
2317  ftnlen trans_len);
2318 extern int dtpcon_(char *norm, char *uplo, char *diag, integer *n,
2319  doublereal *ap, doublereal *rcond, doublereal *work,
2320  integer *iwork, integer *info, ftnlen norm_len,
2321  ftnlen uplo_len, ftnlen diag_len);
2322 extern int dtprfs_(char *uplo, char *trans, char *diag, integer *n,
2323  integer *nrhs, doublereal *ap, doublereal *b, integer *ldb,
2324  doublereal *x, integer *ldx, doublereal *ferr,
2325  doublereal *berr, doublereal *work, integer *iwork,
2326  integer *info, ftnlen uplo_len, ftnlen trans_len,
2327  ftnlen diag_len);
2328 extern int dtptri_(char *uplo, char *diag, integer *n, doublereal *ap,
2329  integer *info, ftnlen uplo_len, ftnlen diag_len);
2330 extern int dtptrs_(char *uplo, char *trans, char *diag, integer *n,
2331  integer *nrhs, doublereal *ap, doublereal *b, integer *ldb,
2332  integer *info, ftnlen uplo_len, ftnlen trans_len,
2333  ftnlen diag_len);
2334 extern int dtrcon_(char *norm, char *uplo, char *diag, integer *n,
2335  doublereal *a, integer *lda, doublereal *rcond,
2336  doublereal *work, integer *iwork, integer *info,
2337  ftnlen norm_len, ftnlen uplo_len, ftnlen diag_len);
2338 extern int dtrevc_(char *side, char *howmny, logical *select, integer *n,
2339  doublereal *t, integer *ldt, doublereal *vl, integer *ldvl,
2340  doublereal *vr, integer *ldvr, integer *mm, integer *m,
2341  doublereal *work, integer *info, ftnlen side_len,
2342  ftnlen howmny_len);
2343 extern int dtrexc_(char *compq, integer *n, doublereal *t, integer *ldt,
2344  doublereal *q, integer *ldq, integer *ifst, integer *ilst,
2345  doublereal *work, integer *info, ftnlen compq_len);
2346 extern int dtrrfs_(char *uplo, char *trans, char *diag, integer *n,
2347  integer *nrhs, doublereal *a, integer *lda, doublereal *b,
2348  integer *ldb, doublereal *x, integer *ldx, doublereal *ferr,
2349  doublereal *berr, doublereal *work, integer *iwork,
2350  integer *info, ftnlen uplo_len, ftnlen trans_len,
2351  ftnlen diag_len);
2352 extern int dtrsen_(char *job, char *compq, logical *select, integer *n,
2353  doublereal *t, integer *ldt, doublereal *q, integer *ldq,
2354  doublereal *wr, doublereal *wi, integer *m, doublereal *s,
2355  doublereal *sep, doublereal *work, integer *lwork,
2356  integer *iwork, integer *liwork, integer *info,
2357  ftnlen job_len, ftnlen compq_len);
2358 extern int dtrsna_(char *job, char *howmny, logical *select, integer *n,
2359  doublereal *t, integer *ldt, doublereal *vl, integer *ldvl,
2360  doublereal *vr, integer *ldvr, doublereal *s,
2361  doublereal *sep, integer *mm, integer *m, doublereal *work,
2362  integer *ldwork, integer *iwork, integer *info,
2363  ftnlen job_len, ftnlen howmny_len);
2364 extern int dtrsyl_(char *trana, char *tranb, integer *isgn, integer *m,
2365