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