summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2007-06-07 11:13:32 +0000
committerAlberto Ruiz <aruiz@um.es>2007-06-07 11:13:32 +0000
commit92b1ed5e7fcbebbfbcde34206c040a8472d847d9 (patch)
tree6f22b46ea656490e6392a005321e6d5f7da0898d
parente7c03c1ab4de85e7a700d2eafaebd37f4607c51f (diff)
adapting lapack wrappers
-rw-r--r--HSSL.cabal9
-rw-r--r--examples/pru.hs1
-rw-r--r--lib/Data/Packed/Internal/Matrix.hs14
-rw-r--r--lib/Data/Packed/Internal/Tensor.hs4
-rw-r--r--lib/LAPACK.hs21
-rw-r--r--lib/LAPACK/Internal.hs112
-rw-r--r--lib/LAPACK/clapack.h5079
-rw-r--r--lib/LAPACK/f2c.h223
-rw-r--r--lib/LAPACK/lapack-aux.c579
-rw-r--r--lib/LAPACK/lapack-aux.h38
10 files changed, 6073 insertions, 7 deletions
diff --git a/HSSL.cabal b/HSSL.cabal
index 739ad8b..28fe130 100644
--- a/HSSL.cabal
+++ b/HSSL.cabal
@@ -20,9 +20,12 @@ ghc-options: -O
20hs-source-dirs: lib 20hs-source-dirs: lib
21Exposed-modules: Data.Packed.Internal.Vector, 21Exposed-modules: Data.Packed.Internal.Vector,
22 Data.Packed.Internal.Matrix, 22 Data.Packed.Internal.Matrix,
23 Data.Packed.Internal.Tensor 23 Data.Packed.Internal.Tensor,
24 LAPACK.Internal,
25 LAPACK
24Other-modules: 26Other-modules:
25C-sources: lib/Data/Packed/Internal/aux.c 27C-sources: lib/Data/Packed/Internal/aux.c,
26extra-libraries: gsl cblas 28 lib/LAPACK/lapack-aux.c
29extra-libraries: gsl cblas lapack
27cc-options: -O4 30cc-options: -O4
28ghc-prof-options: -auto-all 31ghc-prof-options: -auto-all
diff --git a/examples/pru.hs b/examples/pru.hs
index a935d93..8b25780 100644
--- a/examples/pru.hs
+++ b/examples/pru.hs
@@ -4,6 +4,7 @@
4import Data.Packed.Internal.Vector 4import Data.Packed.Internal.Vector
5import Data.Packed.Internal.Matrix 5import Data.Packed.Internal.Matrix
6import Data.Packed.Internal.Tensor 6import Data.Packed.Internal.Tensor
7import LAPACK
7 8
8import Complex 9import Complex
9import Numeric(showGFloat) 10import Numeric(showGFloat)
diff --git a/lib/Data/Packed/Internal/Matrix.hs b/lib/Data/Packed/Internal/Matrix.hs
index ec6657a..db53cd1 100644
--- a/lib/Data/Packed/Internal/Matrix.hs
+++ b/lib/Data/Packed/Internal/Matrix.hs
@@ -160,6 +160,10 @@ toRows m = toRows' 0 where
160 toRows' k | k == r*c = [] 160 toRows' k | k == r*c = []
161 | otherwise = subVector k c v : toRows' (k+c) 161 | otherwise = subVector k c v : toRows' (k+c)
162 162
163-----------------------------------------------------------------
164
165liftMatrix f m = m { dat = f dat, tdat = f tdat } -- check sizes
166
163------------------------------------------------------------------ 167------------------------------------------------------------------
164 168
165dotL a b = sum (zipWith (*) a b) 169dotL a b = sum (zipWith (*) a b)
@@ -208,6 +212,16 @@ multiplyD order a b
208 212
209---------------------------------------------------------------------- 213----------------------------------------------------------------------
210 214
215outer u v = dat (multiply RowMajor r c)
216 where r = matrixFromVector RowMajor 1 u
217 c = matrixFromVector RowMajor (dim v) v
218
219dot u v = dat (multiply RowMajor r c) `at` 0
220 where r = matrixFromVector RowMajor (dim u) u
221 c = matrixFromVector RowMajor 1 v
222
223----------------------------------------------------------------------
224
211-- | extraction of a submatrix of a real matrix 225-- | extraction of a submatrix of a real matrix
212subMatrixR :: (Int,Int) -- ^ (r0,c0) starting position 226subMatrixR :: (Int,Int) -- ^ (r0,c0) starting position
213 -> (Int,Int) -- ^ (rt,ct) dimensions of submatrix 227 -> (Int,Int) -- ^ (rt,ct) dimensions of submatrix
diff --git a/lib/Data/Packed/Internal/Tensor.hs b/lib/Data/Packed/Internal/Tensor.hs
index b66d6b8..67dcb09 100644
--- a/lib/Data/Packed/Internal/Tensor.hs
+++ b/lib/Data/Packed/Internal/Tensor.hs
@@ -27,10 +27,6 @@ data Tensor t = T { dims :: [(Int,(IdxTp,String))]
27 27
28rank = length . dims 28rank = length . dims
29 29
30outer u v = dat (multiply RowMajor r c)
31 where r = matrixFromVector RowMajor 1 u
32 c = matrixFromVector RowMajor (dim v) v
33
34instance (Show a,Storable a) => Show (Tensor a) where 30instance (Show a,Storable a) => Show (Tensor a) where
35 show T {dims = [], ten = t} = "scalar "++show (t `at` 0) 31 show T {dims = [], ten = t} = "scalar "++show (t `at` 0)
36 show T {dims = ds, ten = t} = "("++shdims ds ++") "++ show (toList t) 32 show T {dims = ds, ten = t} = "("++shdims ds ++") "++ show (toList t)
diff --git a/lib/LAPACK.hs b/lib/LAPACK.hs
new file mode 100644
index 0000000..cab437c
--- /dev/null
+++ b/lib/LAPACK.hs
@@ -0,0 +1,21 @@
1-----------------------------------------------------------------------------
2-- |
3-- Module : LAPACK
4-- Copyright : (c) Alberto Ruiz 2006-7
5-- License : GPL-style
6--
7-- Maintainer : Alberto Ruiz (aruiz at um dot es)
8-- Stability : provisional
9-- Portability : portable (uses FFI)
10--
11-- Wrappers for a few LAPACK functions (<http://www.netlib.org/lapack>).
12--
13-----------------------------------------------------------------------------
14
15module LAPACK (
16 --module LAPACK.Internal
17 eigC,
18 linearSolveLSR
19) where
20
21import LAPACK.Internal
diff --git a/lib/LAPACK/Internal.hs b/lib/LAPACK/Internal.hs
new file mode 100644
index 0000000..4c755bc
--- /dev/null
+++ b/lib/LAPACK/Internal.hs
@@ -0,0 +1,112 @@
1{-# OPTIONS_GHC -fglasgow-exts #-}
2-----------------------------------------------------------------------------
3-- |
4-- Module : LAPACK.Internal
5-- Copyright : (c) Alberto Ruiz 2006-7
6-- License : GPL-style
7--
8-- Maintainer : Alberto Ruiz (aruiz at um dot es)
9-- Stability : provisional
10-- Portability : portable (uses FFI)
11--
12-- Wrappers for a few LAPACK functions (<http://www.netlib.org/lapack>).
13--
14-----------------------------------------------------------------------------
15
16module LAPACK.Internal where
17
18import Data.Packed.Internal.Vector
19import Data.Packed.Internal.Matrix
20import Complex
21import Foreign
22import Foreign.C.Types
23import Foreign.C.String
24
25-----------------------------------------------------------------------------
26-- dgesvd
27foreign import ccall "lapack-aux.h svd_l_R"
28 dgesvd :: Double ::> Double ::> (Double :> Double ::> IO Int)
29
30-----------------------------------------------------------------------------
31-- dgesdd
32foreign import ccall "lapack-aux.h svd_l_Rdd"
33 dgesdd :: Double ::> Double ::> (Double :> Double ::> IO Int)
34
35-----------------------------------------------------------------------------
36-- zgesvd
37foreign import ccall "lapack-aux.h svd_l_C"
38 zgesvd :: (Complex Double) ::> (Complex Double) ::> (Double :> (Complex Double) ::> IO Int)
39
40-----------------------------------------------------------------------------
41-- zgeev
42foreign import ccall "lapack-aux.h eig_l_C"
43 zgeev :: (Complex Double) ::> (Complex Double) ::> ((Complex Double) :> (Complex Double) ::> IO Int)
44
45-- | Wrapper for LAPACK's /zgeev/, which computes the eigenvalues and right eigenvectors of a general complex matrix:
46--
47-- if @(l,v)=eigC m@ then @m \<\> v = v \<\> diag l@.
48--
49-- The eigenvectors are the columns of v.
50-- The eigenvalues are not sorted.
51eigC :: Matrix (Complex Double) -> (Vector (Complex Double), Matrix (Complex Double))
52eigC (m@M {rows = r}) = unsafePerformIO $ do
53 l <- createVector r
54 v <- createMatrix ColumnMajor r r
55 dummy <- createMatrix ColumnMajor 1 1
56 zgeev // mat fdat m // mat dat dummy // vec l // mat dat v // check "eigC" [fdat m]
57 return (l,v)
58
59-----------------------------------------------------------------------------
60-- dgeev
61foreign import ccall "lapack-aux.h eig_l_R"
62 dgeev :: Double ::> Double ::> ((Complex Double) :> Double ::> IO Int)
63
64-----------------------------------------------------------------------------
65
66-- dsyev
67foreign import ccall "lapack-aux.h eig_l_S"
68 dsyev :: Double ::> (Double :> Double ::> IO Int)
69
70-----------------------------------------------------------------------------
71-- zheev
72foreign import ccall "lapack-aux.h eig_l_H"
73 zheev :: (Complex Double) ::> (Double :> (Complex Double) ::> IO Int)
74
75-----------------------------------------------------------------------------
76-- dgesv
77foreign import ccall "lapack-aux.h linearSolveR_l"
78 dgesv :: Double ::> Double ::> Double ::> IO Int
79
80-----------------------------------------------------------------------------
81-- zgesv
82foreign import ccall "lapack-aux.h linearSolveC_l"
83 zgesv :: (Complex Double) ::> (Complex Double) ::> (Complex Double) ::> IO Int
84
85-----------------------------------------------------------------------------------
86-- dgels
87foreign import ccall "lapack-aux.h linearSolveLSR_l"
88 dgels :: Double ::> Double ::> Double ::> IO Int
89
90-- | Wrapper for LAPACK's /dgels/, which obtains the least squared error solution of an overconstrained real linear system or the minimum norm solution of an underdetermined system, for several right-hand sides. For rank deficient systems use 'linearSolveSVDR'.
91linearSolveLSR :: Matrix Double -> Matrix Double -> Matrix Double
92linearSolveLSR a b = subMatrix (0,0) (cols a, cols b) $ linearSolveLSR_l a b
93
94linearSolveLSR_l a@(M {rows = m, cols = n}) b@(M {cols = nrhs}) = unsafePerformIO $ do
95 r <- createMatrix ColumnMajor (max m n) nrhs
96 dgels // mat fdat a // mat fdat b // mat dat r // check "linearSolveLSR" [fdat a, fdat b]
97 return r
98
99-----------------------------------------------------------------------------------
100-- zgels
101foreign import ccall "lapack-aux.h linearSolveLSC_l"
102 zgels :: (Complex Double) ::> (Complex Double) ::> (Complex Double) ::> IO Int
103
104-----------------------------------------------------------------------------------
105-- dgelss
106foreign import ccall "lapack-aux.h linearSolveSVDR_l"
107 dgelss :: Double -> Double ::> Double ::> Double ::> IO Int
108
109-----------------------------------------------------------------------------------
110-- zgelss
111foreign import ccall "lapack-aux.h linearSolveSVDC_l"
112 zgelss :: Double -> (Complex Double) ::> (Complex Double) ::> (Complex Double) ::> IO Int
diff --git a/lib/LAPACK/clapack.h b/lib/LAPACK/clapack.h
new file mode 100644
index 0000000..cad9a4c
--- /dev/null
+++ b/lib/LAPACK/clapack.h
@@ -0,0 +1,5079 @@
1#ifndef __CLAPACK_H
2#define __CLAPACK_H
3
4/* Subroutine */ int cbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
5 nru, integer *ncc, real *d__, real *e, complex *vt, integer *ldvt,
6 complex *u, integer *ldu, complex *c__, integer *ldc, real *rwork,
7 integer *info);
8
9/* Subroutine */ int cgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
10 integer *kl, integer *ku, complex *ab, integer *ldab, real *d__,
11 real *e, complex *q, integer *ldq, complex *pt, integer *ldpt,
12 complex *c__, integer *ldc, complex *work, real *rwork, integer *info);
13
14/* Subroutine */ int cgbcon_(char *norm, integer *n, integer *kl, integer *ku,
15 complex *ab, integer *ldab, integer *ipiv, real *anorm, real *rcond,
16 complex *work, real *rwork, integer *info);
17
18/* Subroutine */ int cgbequ_(integer *m, integer *n, integer *kl, integer *ku,
19 complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real
20 *colcnd, real *amax, integer *info);
21
22/* Subroutine */ int cgbrfs_(char *trans, integer *n, integer *kl, integer *
23 ku, integer *nrhs, complex *ab, integer *ldab, complex *afb, integer *
24 ldafb, integer *ipiv, complex *b, integer *ldb, complex *x, integer *
25 ldx, real *ferr, real *berr, complex *work, real *rwork, integer *
26 info);
27
28/* Subroutine */ int cgbsv_(integer *n, integer *kl, integer *ku, integer *
29 nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer *
30 ldb, integer *info);
31
32/* Subroutine */ int cgbsvx_(char *fact, char *trans, integer *n, integer *kl,
33 integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *afb,
34 integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
35 complex *b, integer *ldb, complex *x, integer *ldx, real *rcond, real
36 *ferr, real *berr, complex *work, real *rwork, integer *info);
37
38/* Subroutine */ int cgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
39 complex *ab, integer *ldab, integer *ipiv, integer *info);
40
41/* Subroutine */ int cgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
42 complex *ab, integer *ldab, integer *ipiv, integer *info);
43
44/* Subroutine */ int cgbtrs_(char *trans, integer *n, integer *kl, integer *
45 ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex
46 *b, integer *ldb, integer *info);
47
48/* Subroutine */ int cgebak_(char *job, char *side, integer *n, integer *ilo,
49 integer *ihi, real *scale, integer *m, complex *v, integer *ldv,
50 integer *info);
51
52/* Subroutine */ int cgebal_(char *job, integer *n, complex *a, integer *lda,
53 integer *ilo, integer *ihi, real *scale, integer *info);
54
55/* Subroutine */ int cgebd2_(integer *m, integer *n, complex *a, integer *lda,
56 real *d__, real *e, complex *tauq, complex *taup, complex *work,
57 integer *info);
58
59/* Subroutine */ int cgebrd_(integer *m, integer *n, complex *a, integer *lda,
60 real *d__, real *e, complex *tauq, complex *taup, complex *work,
61 integer *lwork, integer *info);
62
63/* Subroutine */ int cgecon_(char *norm, integer *n, complex *a, integer *lda,
64 real *anorm, real *rcond, complex *work, real *rwork, integer *info);
65
66/* Subroutine */ int cgeequ_(integer *m, integer *n, complex *a, integer *lda,
67 real *r__, real *c__, real *rowcnd, real *colcnd, real *amax,
68 integer *info);
69
70/* Subroutine */ int cgees_(char *jobvs, char *sort, L_fp select, integer *n,
71 complex *a, integer *lda, integer *sdim, complex *w, complex *vs,
72 integer *ldvs, complex *work, integer *lwork, real *rwork, logical *
73 bwork, integer *info);
74
75/* Subroutine */ int cgeesx_(char *jobvs, char *sort, L_fp select, char *
76 sense, integer *n, complex *a, integer *lda, integer *sdim, complex *
77 w, complex *vs, integer *ldvs, real *rconde, real *rcondv, complex *
78 work, integer *lwork, real *rwork, logical *bwork, integer *info);
79
80/* Subroutine */ int cgeev_(char *jobvl, char *jobvr, integer *n, complex *a,
81 integer *lda, complex *w, complex *vl, integer *ldvl, complex *vr,
82 integer *ldvr, complex *work, integer *lwork, real *rwork, integer *
83 info);
84
85/* Subroutine */ int cgeevx_(char *balanc, char *jobvl, char *jobvr, char *
86 sense, integer *n, complex *a, integer *lda, complex *w, complex *vl,
87 integer *ldvl, complex *vr, integer *ldvr, integer *ilo, integer *ihi,
88 real *scale, real *abnrm, real *rconde, real *rcondv, complex *work,
89 integer *lwork, real *rwork, integer *info);
90
91/* Subroutine */ int cgegs_(char *jobvsl, char *jobvsr, integer *n, complex *
92 a, integer *lda, complex *b, integer *ldb, complex *alpha, complex *
93 beta, complex *vsl, integer *ldvsl, complex *vsr, integer *ldvsr,
94 complex *work, integer *lwork, real *rwork, integer *info);
95
96/* Subroutine */ int cgegv_(char *jobvl, char *jobvr, integer *n, complex *a,
97 integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta,
98 complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex *
99 work, integer *lwork, real *rwork, integer *info);
100
101/* Subroutine */ int cgehd2_(integer *n, integer *ilo, integer *ihi, complex *
102 a, integer *lda, complex *tau, complex *work, integer *info);
103
104/* Subroutine */ int cgehrd_(integer *n, integer *ilo, integer *ihi, complex *
105 a, integer *lda, complex *tau, complex *work, integer *lwork, integer
106 *info);
107
108/* Subroutine */ int cgelq2_(integer *m, integer *n, complex *a, integer *lda,
109 complex *tau, complex *work, integer *info);
110
111/* Subroutine */ int cgelqf_(integer *m, integer *n, complex *a, integer *lda,
112 complex *tau, complex *work, integer *lwork, integer *info);
113
114/* Subroutine */ int cgels_(char *trans, integer *m, integer *n, integer *
115 nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
116 work, integer *lwork, integer *info);
117
118/* Subroutine */ int cgelsx_(integer *m, integer *n, integer *nrhs, complex *
119 a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond,
120 integer *rank, complex *work, real *rwork, integer *info);
121
122/* Subroutine */ int cgelsy_(integer *m, integer *n, integer *nrhs, complex *
123 a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond,
124 integer *rank, complex *work, integer *lwork, real *rwork, integer *
125 info);
126
127/* Subroutine */ int cgeql2_(integer *m, integer *n, complex *a, integer *lda,
128 complex *tau, complex *work, integer *info);
129
130/* Subroutine */ int cgeqlf_(integer *m, integer *n, complex *a, integer *lda,
131 complex *tau, complex *work, integer *lwork, integer *info);
132
133/* Subroutine */ int cgeqp3_(integer *m, integer *n, complex *a, integer *lda,
134 integer *jpvt, complex *tau, complex *work, integer *lwork, real *
135 rwork, integer *info);
136
137/* Subroutine */ int cgeqpf_(integer *m, integer *n, complex *a, integer *lda,
138 integer *jpvt, complex *tau, complex *work, real *rwork, integer *
139 info);
140
141/* Subroutine */ int cgeqr2_(integer *m, integer *n, complex *a, integer *lda,
142 complex *tau, complex *work, integer *info);
143
144/* Subroutine */ int cgeqrf_(integer *m, integer *n, complex *a, integer *lda,
145 complex *tau, complex *work, integer *lwork, integer *info);
146
147/* Subroutine */ int cgerfs_(char *trans, integer *n, integer *nrhs, complex *
148 a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex *
149 b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
150 complex *work, real *rwork, integer *info);
151
152/* Subroutine */ int cgerq2_(integer *m, integer *n, complex *a, integer *lda,
153 complex *tau, complex *work, integer *info);
154
155/* Subroutine */ int cgerqf_(integer *m, integer *n, complex *a, integer *lda,
156 complex *tau, complex *work, integer *lwork, integer *info);
157
158/* Subroutine */ int cgesc2_(integer *n, complex *a, integer *lda, complex *
159 rhs, integer *ipiv, integer *jpiv, real *scale);
160
161/* Subroutine */ int cgesv_(integer *n, integer *nrhs, complex *a, integer *
162 lda, integer *ipiv, complex *b, integer *ldb, integer *info);
163
164/* Subroutine */ int cgesvx_(char *fact, char *trans, integer *n, integer *
165 nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
166 ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb,
167 complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
168 complex *work, real *rwork, integer *info);
169
170/* Subroutine */ int cgetc2_(integer *n, complex *a, integer *lda, integer *
171 ipiv, integer *jpiv, integer *info);
172
173/* Subroutine */ int cgetf2_(integer *m, integer *n, complex *a, integer *lda,
174 integer *ipiv, integer *info);
175
176/* Subroutine */ int cgetrf_(integer *m, integer *n, complex *a, integer *lda,
177 integer *ipiv, integer *info);
178
179/* Subroutine */ int cgetri_(integer *n, complex *a, integer *lda, integer *
180 ipiv, complex *work, integer *lwork, integer *info);
181
182/* Subroutine */ int cgetrs_(char *trans, integer *n, integer *nrhs, complex *
183 a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer *
184 info);
185
186/* Subroutine */ int cggbak_(char *job, char *side, integer *n, integer *ilo,
187 integer *ihi, real *lscale, real *rscale, integer *m, complex *v,
188 integer *ldv, integer *info);
189
190/* Subroutine */ int cggbal_(char *job, integer *n, complex *a, integer *lda,
191 complex *b, integer *ldb, integer *ilo, integer *ihi, real *lscale,
192 real *rscale, real *work, integer *info);
193
194/* Subroutine */ int cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
195 selctg, integer *n, complex *a, integer *lda, complex *b, integer *
196 ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl,
197 integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer *
198 lwork, real *rwork, logical *bwork, integer *info);
199
200/* Subroutine */ int cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
201 selctg, char *sense, integer *n, complex *a, integer *lda, complex *b,
202 integer *ldb, integer *sdim, complex *alpha, complex *beta, complex *
203 vsl, integer *ldvsl, complex *vsr, integer *ldvsr, real *rconde, real
204 *rcondv, complex *work, integer *lwork, real *rwork, integer *iwork,
205 integer *liwork, logical *bwork, integer *info);
206
207/* Subroutine */ int cggev_(char *jobvl, char *jobvr, integer *n, complex *a,
208 integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta,
209 complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex *
210 work, integer *lwork, real *rwork, integer *info);
211
212/* Subroutine */ int cggevx_(char *balanc, char *jobvl, char *jobvr, char *
213 sense, integer *n, complex *a, integer *lda, complex *b, integer *ldb,
214 complex *alpha, complex *beta, complex *vl, integer *ldvl, complex *
215 vr, integer *ldvr, integer *ilo, integer *ihi, real *lscale, real *
216 rscale, real *abnrm, real *bbnrm, real *rconde, real *rcondv, complex
217 *work, integer *lwork, real *rwork, integer *iwork, logical *bwork,
218 integer *info);
219
220/* Subroutine */ int cggglm_(integer *n, integer *m, integer *p, complex *a,
221 integer *lda, complex *b, integer *ldb, complex *d__, complex *x,
222 complex *y, complex *work, integer *lwork, integer *info);
223
224/* Subroutine */ int cgghrd_(char *compq, char *compz, integer *n, integer *
225 ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb,
226 complex *q, integer *ldq, complex *z__, integer *ldz, integer *info);
227
228/* Subroutine */ int cgglse_(integer *m, integer *n, integer *p, complex *a,
229 integer *lda, complex *b, integer *ldb, complex *c__, complex *d__,
230 complex *x, complex *work, integer *lwork, integer *info);
231
232/* Subroutine */ int cggqrf_(integer *n, integer *m, integer *p, complex *a,
233 integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
234 complex *work, integer *lwork, integer *info);
235
236/* Subroutine */ int cggrqf_(integer *m, integer *p, integer *n, complex *a,
237 integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
238 complex *work, integer *lwork, integer *info);
239
240/* Subroutine */ int cggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
241 integer *n, integer *p, integer *k, integer *l, complex *a, integer *
242 lda, complex *b, integer *ldb, real *alpha, real *beta, complex *u,
243 integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
244 complex *work, real *rwork, integer *iwork, integer *info);
245
246/* Subroutine */ int cggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
247 integer *p, integer *n, complex *a, integer *lda, complex *b, integer
248 *ldb, real *tola, real *tolb, integer *k, integer *l, complex *u,
249 integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
250 integer *iwork, real *rwork, complex *tau, complex *work, integer *
251 info);
252
253/* Subroutine */ int cgtcon_(char *norm, integer *n, complex *dl, complex *
254 d__, complex *du, complex *du2, integer *ipiv, real *anorm, real *
255 rcond, complex *work, integer *info);
256
257/* Subroutine */ int cgtrfs_(char *trans, integer *n, integer *nrhs, complex *
258 dl, complex *d__, complex *du, complex *dlf, complex *df, complex *
259 duf, complex *du2, integer *ipiv, complex *b, integer *ldb, complex *
260 x, integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
261 integer *info);
262
263/* Subroutine */ int cgtsv_(integer *n, integer *nrhs, complex *dl, complex *
264 d__, complex *du, complex *b, integer *ldb, integer *info);
265
266/* Subroutine */ int cgtsvx_(char *fact, char *trans, integer *n, integer *
267 nrhs, complex *dl, complex *d__, complex *du, complex *dlf, complex *
268 df, complex *duf, complex *du2, integer *ipiv, complex *b, integer *
269 ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
270 complex *work, real *rwork, integer *info);
271
272/* Subroutine */ int cgttrf_(integer *n, complex *dl, complex *d__, complex *
273 du, complex *du2, integer *ipiv, integer *info);
274
275/* Subroutine */ int cgttrs_(char *trans, integer *n, integer *nrhs, complex *
276 dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex *
277 b, integer *ldb, integer *info);
278
279/* Subroutine */ int cgtts2_(integer *itrans, integer *n, integer *nrhs,
280 complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv,
281 complex *b, integer *ldb);
282
283/* Subroutine */ int chbev_(char *jobz, char *uplo, integer *n, integer *kd,
284 complex *ab, integer *ldab, real *w, complex *z__, integer *ldz,
285 complex *work, real *rwork, integer *info);
286
287/* Subroutine */ int chbevd_(char *jobz, char *uplo, integer *n, integer *kd,
288 complex *ab, integer *ldab, real *w, complex *z__, integer *ldz,
289 complex *work, integer *lwork, real *rwork, integer *lrwork, integer *
290 iwork, integer *liwork, integer *info);
291
292/* Subroutine */ int chbevx_(char *jobz, char *range, char *uplo, integer *n,
293 integer *kd, complex *ab, integer *ldab, complex *q, integer *ldq,
294 real *vl, real *vu, integer *il, integer *iu, real *abstol, integer *
295 m, real *w, complex *z__, integer *ldz, complex *work, real *rwork,
296 integer *iwork, integer *ifail, integer *info);
297
298/* Subroutine */ int chbgst_(char *vect, char *uplo, integer *n, integer *ka,
299 integer *kb, complex *ab, integer *ldab, complex *bb, integer *ldbb,
300 complex *x, integer *ldx, complex *work, real *rwork, integer *info);
301
302/* Subroutine */ int chbgv_(char *jobz, char *uplo, integer *n, integer *ka,
303 integer *kb, complex *ab, integer *ldab, complex *bb, integer *ldbb,
304 real *w, complex *z__, integer *ldz, complex *work, real *rwork,
305 integer *info);
306
307/* Subroutine */ int chbgvx_(char *jobz, char *range, char *uplo, integer *n,
308 integer *ka, integer *kb, complex *ab, integer *ldab, complex *bb,
309 integer *ldbb, complex *q, integer *ldq, real *vl, real *vu, integer *
310 il, integer *iu, real *abstol, integer *m, real *w, complex *z__,
311 integer *ldz, complex *work, real *rwork, integer *iwork, integer *
312 ifail, integer *info);
313
314/* Subroutine */ int chbtrd_(char *vect, char *uplo, integer *n, integer *kd,
315 complex *ab, integer *ldab, real *d__, real *e, complex *q, integer *
316 ldq, complex *work, integer *info);
317
318/* Subroutine */ int checon_(char *uplo, integer *n, complex *a, integer *lda,
319 integer *ipiv, real *anorm, real *rcond, complex *work, integer *
320 info);
321
322/* Subroutine */ int cheev_(char *jobz, char *uplo, integer *n, complex *a,
323 integer *lda, real *w, complex *work, integer *lwork, real *rwork,
324 integer *info);
325
326/* Subroutine */ int cheevd_(char *jobz, char *uplo, integer *n, complex *a,
327 integer *lda, real *w, complex *work, integer *lwork, real *rwork,
328 integer *lrwork, integer *iwork, integer *liwork, integer *info);
329
330/* Subroutine */ int cheevr_(char *jobz, char *range, char *uplo, integer *n,
331 complex *a, integer *lda, real *vl, real *vu, integer *il, integer *
332 iu, real *abstol, integer *m, real *w, complex *z__, integer *ldz,
333 integer *isuppz, complex *work, integer *lwork, real *rwork, integer *
334 lrwork, integer *iwork, integer *liwork, integer *info);
335
336/* Subroutine */ int cheevx_(char *jobz, char *range, char *uplo, integer *n,
337 complex *a, integer *lda, real *vl, real *vu, integer *il, integer *
338 iu, real *abstol, integer *m, real *w, complex *z__, integer *ldz,
339 complex *work, integer *lwork, real *rwork, integer *iwork, integer *
340 ifail, integer *info);
341
342/* Subroutine */ int chegs2_(integer *itype, char *uplo, integer *n, complex *
343 a, integer *lda, complex *b, integer *ldb, integer *info);
344
345/* Subroutine */ int chegst_(integer *itype, char *uplo, integer *n, complex *
346 a, integer *lda, complex *b, integer *ldb, integer *info);
347
348/* Subroutine */ int chegv_(integer *itype, char *jobz, char *uplo, integer *
349 n, complex *a, integer *lda, complex *b, integer *ldb, real *w,
350 complex *work, integer *lwork, real *rwork, integer *info);
351
352/* Subroutine */ int chegvd_(integer *itype, char *jobz, char *uplo, integer *
353 n, complex *a, integer *lda, complex *b, integer *ldb, real *w,
354 complex *work, integer *lwork, real *rwork, integer *lrwork, integer *
355 iwork, integer *liwork, integer *info);
356
357/* Subroutine */ int chegvx_(integer *itype, char *jobz, char *range, char *
358 uplo, integer *n, complex *a, integer *lda, complex *b, integer *ldb,
359 real *vl, real *vu, integer *il, integer *iu, real *abstol, integer *
360 m, real *w, complex *z__, integer *ldz, complex *work, integer *lwork,
361 real *rwork, integer *iwork, integer *ifail, integer *info);
362
363/* Subroutine */ int cherfs_(char *uplo, integer *n, integer *nrhs, complex *
364 a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex *
365 b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
366 complex *work, real *rwork, integer *info);
367
368/* Subroutine */ int chesv_(char *uplo, integer *n, integer *nrhs, complex *a,
369 integer *lda, integer *ipiv, complex *b, integer *ldb, complex *work,
370 integer *lwork, integer *info);
371
372/* Subroutine */ int chesvx_(char *fact, char *uplo, integer *n, integer *
373 nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
374 ipiv, complex *b, integer *ldb, complex *x, integer *ldx, real *rcond,
375 real *ferr, real *berr, complex *work, integer *lwork, real *rwork,
376 integer *info);
377
378/* Subroutine */ int chetf2_(char *uplo, integer *n, complex *a, integer *lda,
379 integer *ipiv, integer *info);
380
381/* Subroutine */ int chetrd_(char *uplo, integer *n, complex *a, integer *lda,
382 real *d__, real *e, complex *tau, complex *work, integer *lwork,
383 integer *info);
384
385/* Subroutine */ int chetrf_(char *uplo, integer *n, complex *a, integer *lda,
386 integer *ipiv, complex *work, integer *lwork, integer *info);
387
388/* Subroutine */ int chetri_(char *uplo, integer *n, complex *a, integer *lda,
389 integer *ipiv, complex *work, integer *info);
390
391/* Subroutine */ int chetrs_(char *uplo, integer *n, integer *nrhs, complex *
392 a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer *
393 info);
394
395/* Subroutine */ int chgeqz_(char *job, char *compq, char *compz, integer *n,
396 integer *ilo, integer *ihi, complex *a, integer *lda, complex *b,
397 integer *ldb, complex *alpha, complex *beta, complex *q, integer *ldq,
398 complex *z__, integer *ldz, complex *work, integer *lwork, real *
399 rwork, integer *info);
400
401/* Subroutine */ int chpcon_(char *uplo, integer *n, complex *ap, integer *
402 ipiv, real *anorm, real *rcond, complex *work, integer *info);
403
404/* Subroutine */ int chpev_(char *jobz, char *uplo, integer *n, complex *ap,
405 real *w, complex *z__, integer *ldz, complex *work, real *rwork,
406 integer *info);
407
408/* Subroutine */ int chpevd_(char *jobz, char *uplo, integer *n, complex *ap,
409 real *w, complex *z__, integer *ldz, complex *work, integer *lwork,
410 real *rwork, integer *lrwork, integer *iwork, integer *liwork,
411 integer *info);
412
413/* Subroutine */ int chpevx_(char *jobz, char *range, char *uplo, integer *n,
414 complex *ap, real *vl, real *vu, integer *il, integer *iu, real *
415 abstol, integer *m, real *w, complex *z__, integer *ldz, complex *
416 work, real *rwork, integer *iwork, integer *ifail, integer *info);
417
418/* Subroutine */ int chpgst_(integer *itype, char *uplo, integer *n, complex *
419 ap, complex *bp, integer *info);
420
421/* Subroutine */ int chpgv_(integer *itype, char *jobz, char *uplo, integer *
422 n, complex *ap, complex *bp, real *w, complex *z__, integer *ldz,
423 complex *work, real *rwork, integer *info);
424
425/* Subroutine */ int chpgvd_(integer *itype, char *jobz, char *uplo, integer *
426 n, complex *ap, complex *bp, real *w, complex *z__, integer *ldz,
427 complex *work, integer *lwork, real *rwork, integer *lrwork, integer *
428 iwork, integer *liwork, integer *info);
429
430/* Subroutine */ int chpgvx_(integer *itype, char *jobz, char *range, char *
431 uplo, integer *n, complex *ap, complex *bp, real *vl, real *vu,
432 integer *il, integer *iu, real *abstol, integer *m, real *w, complex *
433 z__, integer *ldz, complex *work, real *rwork, integer *iwork,
434 integer *ifail, integer *info);
435
436/* Subroutine */ int chprfs_(char *uplo, integer *n, integer *nrhs, complex *
437 ap, complex *afp, integer *ipiv, complex *b, integer *ldb, complex *x,
438 integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
439 integer *info);
440
441/* Subroutine */ int chpsv_(char *uplo, integer *n, integer *nrhs, complex *
442 ap, integer *ipiv, complex *b, integer *ldb, integer *info);
443
444/* Subroutine */ int chpsvx_(char *fact, char *uplo, integer *n, integer *
445 nrhs, complex *ap, complex *afp, integer *ipiv, complex *b, integer *
446 ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
447 complex *work, real *rwork, integer *info);
448
449/* Subroutine */ int chptrd_(char *uplo, integer *n, complex *ap, real *d__,
450 real *e, complex *tau, integer *info);
451
452/* Subroutine */ int chptrf_(char *uplo, integer *n, complex *ap, integer *
453 ipiv, integer *info);
454
455/* Subroutine */ int chptri_(char *uplo, integer *n, complex *ap, integer *
456 ipiv, complex *work, integer *info);
457
458/* Subroutine */ int chptrs_(char *uplo, integer *n, integer *nrhs, complex *
459 ap, integer *ipiv, complex *b, integer *ldb, integer *info);
460
461/* Subroutine */ int chsein_(char *side, char *eigsrc, char *initv, logical *
462 select, integer *n, complex *h__, integer *ldh, complex *w, complex *
463 vl, integer *ldvl, complex *vr, integer *ldvr, integer *mm, integer *
464 m, complex *work, real *rwork, integer *ifaill, integer *ifailr,
465 integer *info);
466
467/* Subroutine */ int chseqr_(char *job, char *compz, integer *n, integer *ilo,
468 integer *ihi, complex *h__, integer *ldh, complex *w, complex *z__,
469 integer *ldz, complex *work, integer *lwork, integer *info);
470
471/* Subroutine */ int clabrd_(integer *m, integer *n, integer *nb, complex *a,
472 integer *lda, real *d__, real *e, complex *tauq, complex *taup,
473 complex *x, integer *ldx, complex *y, integer *ldy);
474
475/* Subroutine */ int clacgv_(integer *n, complex *x, integer *incx);
476
477/* Subroutine */ int clacon_(integer *n, complex *v, complex *x, real *est,
478 integer *kase);
479
480/* Subroutine */ int clacp2_(char *uplo, integer *m, integer *n, real *a,
481 integer *lda, complex *b, integer *ldb);
482
483/* Subroutine */ int clacpy_(char *uplo, integer *m, integer *n, complex *a,
484 integer *lda, complex *b, integer *ldb);
485
486/* Subroutine */ int clacrm_(integer *m, integer *n, complex *a, integer *lda,
487 real *b, integer *ldb, complex *c__, integer *ldc, real *rwork);
488
489/* Subroutine */ int clacrt_(integer *n, complex *cx, integer *incx, complex *
490 cy, integer *incy, complex *c__, complex *s);
491
492/* Subroutine */ int claed0_(integer *qsiz, integer *n, real *d__, real *e,
493 complex *q, integer *ldq, complex *qstore, integer *ldqs, real *rwork,
494 integer *iwork, integer *info);
495
496/* Subroutine */ int claed7_(integer *n, integer *cutpnt, integer *qsiz,
497 integer *tlvls, integer *curlvl, integer *curpbm, real *d__, complex *
498 q, integer *ldq, real *rho, integer *indxq, real *qstore, integer *
499 qptr, integer *prmptr, integer *perm, integer *givptr, integer *
500 givcol, real *givnum, complex *work, real *rwork, integer *iwork,
501 integer *info);
502
503/* Subroutine */ int claed8_(integer *k, integer *n, integer *qsiz, complex *
504 q, integer *ldq, real *d__, real *rho, integer *cutpnt, real *z__,
505 real *dlamda, complex *q2, integer *ldq2, real *w, integer *indxp,
506 integer *indx, integer *indxq, integer *perm, integer *givptr,
507 integer *givcol, real *givnum, integer *info);
508
509/* Subroutine */ int claein_(logical *rightv, logical *noinit, integer *n,
510 complex *h__, integer *ldh, complex *w, complex *v, complex *b,
511 integer *ldb, real *rwork, real *eps3, real *smlnum, integer *info);
512
513/* Subroutine */ int claesy_(complex *a, complex *b, complex *c__, complex *
514 rt1, complex *rt2, complex *evscal, complex *cs1, complex *sn1);
515
516/* Subroutine */ int claev2_(complex *a, complex *b, complex *c__, real *rt1,
517 real *rt2, real *cs1, complex *sn1);
518
519/* Subroutine */ int clags2_(logical *upper, real *a1, complex *a2, real *a3,
520 real *b1, complex *b2, real *b3, real *csu, complex *snu, real *csv,
521 complex *snv, real *csq, complex *snq);
522
523/* Subroutine */ int clagtm_(char *trans, integer *n, integer *nrhs, real *
524 alpha, complex *dl, complex *d__, complex *du, complex *x, integer *
525 ldx, real *beta, complex *b, integer *ldb);
526
527/* Subroutine */ int clahef_(char *uplo, integer *n, integer *nb, integer *kb,
528 complex *a, integer *lda, integer *ipiv, complex *w, integer *ldw,
529 integer *info);
530
531/* Subroutine */ int clahqr_(logical *wantt, logical *wantz, integer *n,
532 integer *ilo, integer *ihi, complex *h__, integer *ldh, complex *w,
533 integer *iloz, integer *ihiz, complex *z__, integer *ldz, integer *
534 info);
535
536/* Subroutine */ int clahrd_(integer *n, integer *k, integer *nb, complex *a,
537 integer *lda, complex *tau, complex *t, integer *ldt, complex *y,
538 integer *ldy);
539
540/* Subroutine */ int claic1_(integer *job, integer *j, complex *x, real *sest,
541 complex *w, complex *gamma, real *sestpr, complex *s, complex *c__);
542
543/* Subroutine */ int clals0_(integer *icompq, integer *nl, integer *nr,
544 integer *sqre, integer *nrhs, complex *b, integer *ldb, complex *bx,
545 integer *ldbx, integer *perm, integer *givptr, integer *givcol,
546 integer *ldgcol, real *givnum, integer *ldgnum, real *poles, real *
547 difl, real *difr, real *z__, integer *k, real *c__, real *s, real *
548 rwork, integer *info);
549
550/* Subroutine */ int clalsa_(integer *icompq, integer *smlsiz, integer *n,
551 integer *nrhs, complex *b, integer *ldb, complex *bx, integer *ldbx,
552 real *u, integer *ldu, real *vt, integer *k, real *difl, real *difr,
553 real *z__, real *poles, integer *givptr, integer *givcol, integer *
554 ldgcol, integer *perm, real *givnum, real *c__, real *s, real *rwork,
555 integer *iwork, integer *info);
556
557/* Subroutine */ int clapll_(integer *n, complex *x, integer *incx, complex *
558 y, integer *incy, real *ssmin);
559
560/* Subroutine */ int clapmt_(logical *forwrd, integer *m, integer *n, complex
561 *x, integer *ldx, integer *k);
562
563/* Subroutine */ int claqgb_(integer *m, integer *n, integer *kl, integer *ku,
564 complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real
565 *colcnd, real *amax, char *equed);
566
567/* Subroutine */ int claqge_(integer *m, integer *n, complex *a, integer *lda,
568 real *r__, real *c__, real *rowcnd, real *colcnd, real *amax, char *
569 equed);
570
571/* Subroutine */ int claqhb_(char *uplo, integer *n, integer *kd, complex *ab,
572 integer *ldab, real *s, real *scond, real *amax, char *equed);
573
574/* Subroutine */ int claqhe_(char *uplo, integer *n, complex *a, integer *lda,
575 real *s, real *scond, real *amax, char *equed);
576
577/* Subroutine */ int claqhp_(char *uplo, integer *n, complex *ap, real *s,
578 real *scond, real *amax, char *equed);
579
580/* Subroutine */ int claqp2_(integer *m, integer *n, integer *offset, complex
581 *a, integer *lda, integer *jpvt, complex *tau, real *vn1, real *vn2,
582 complex *work);
583
584/* Subroutine */ int claqps_(integer *m, integer *n, integer *offset, integer
585 *nb, integer *kb, complex *a, integer *lda, integer *jpvt, complex *
586 tau, real *vn1, real *vn2, complex *auxv, complex *f, integer *ldf);
587
588/* Subroutine */ int claqsb_(char *uplo, integer *n, integer *kd, complex *ab,
589 integer *ldab, real *s, real *scond, real *amax, char *equed);
590
591/* Subroutine */ int claqsp_(char *uplo, integer *n, complex *ap, real *s,
592 real *scond, real *amax, char *equed);
593
594/* Subroutine */ int claqsy_(char *uplo, integer *n, complex *a, integer *lda,
595 real *s, real *scond, real *amax, char *equed);
596
597/* Subroutine */ int clar1v_(integer *n, integer *b1, integer *bn, real *
598 sigma, real *d__, real *l, real *ld, real *lld, real *gersch, complex
599 *z__, real *ztz, real *mingma, integer *r__, integer *isuppz, real *
600 work);
601
602/* Subroutine */ int clar2v_(integer *n, complex *x, complex *y, complex *z__,
603 integer *incx, real *c__, complex *s, integer *incc);
604
605/* Subroutine */ int clarcm_(integer *m, integer *n, real *a, integer *lda,
606 complex *b, integer *ldb, complex *c__, integer *ldc, real *rwork);
607
608/* Subroutine */ int clarf_(char *side, integer *m, integer *n, complex *v,
609 integer *incv, complex *tau, complex *c__, integer *ldc, complex *
610 work);
611
612/* Subroutine */ int clarfb_(char *side, char *trans, char *direct, char *
613 storev, integer *m, integer *n, integer *k, complex *v, integer *ldv,
614 complex *t, integer *ldt, complex *c__, integer *ldc, complex *work,
615 integer *ldwork);
616
617/* Subroutine */ int clarfg_(integer *n, complex *alpha, complex *x, integer *
618 incx, complex *tau);
619
620/* Subroutine */ int clarft_(char *direct, char *storev, integer *n, integer *
621 k, complex *v, integer *ldv, complex *tau, complex *t, integer *ldt);
622
623/* Subroutine */ int clarfx_(char *side, integer *m, integer *n, complex *v,
624 complex *tau, complex *c__, integer *ldc, complex *work);
625
626/* Subroutine */ int clargv_(integer *n, complex *x, integer *incx, complex *
627 y, integer *incy, real *c__, integer *incc);
628
629/* Subroutine */ int clarnv_(integer *idist, integer *iseed, integer *n,
630 complex *x);
631
632/* Subroutine */ int clarrv_(integer *n, real *d__, real *l, integer *isplit,
633 integer *m, real *w, integer *iblock, real *gersch, real *tol,
634 complex *z__, integer *ldz, integer *isuppz, real *work, integer *
635 iwork, integer *info);
636
637/* Subroutine */ int clartg_(complex *f, complex *g, real *cs, complex *sn,
638 complex *r__);
639
640/* Subroutine */ int clartv_(integer *n, complex *x, integer *incx, complex *
641 y, integer *incy, real *c__, complex *s, integer *incc);
642
643/* Subroutine */ int clarz_(char *side, integer *m, integer *n, integer *l,
644 complex *v, integer *incv, complex *tau, complex *c__, integer *ldc,
645 complex *work);
646
647/* Subroutine */ int clarzb_(char *side, char *trans, char *direct, char *
648 storev, integer *m, integer *n, integer *k, integer *l, complex *v,
649 integer *ldv, complex *t, integer *ldt, complex *c__, integer *ldc,
650 complex *work, integer *ldwork);
651
652/* Subroutine */ int clarzt_(char *direct, char *storev, integer *n, integer *
653 k, complex *v, integer *ldv, complex *tau, complex *t, integer *ldt);
654
655/* Subroutine */ int clascl_(char *type__, integer *kl, integer *ku, real *
656 cfrom, real *cto, integer *m, integer *n, complex *a, integer *lda,
657 integer *info);
658
659/* Subroutine */ int claset_(char *uplo, integer *m, integer *n, complex *
660 alpha, complex *beta, complex *a, integer *lda);
661
662/* Subroutine */ int clasr_(char *side, char *pivot, char *direct, integer *m,
663 integer *n, real *c__, real *s, complex *a, integer *lda);
664
665/* Subroutine */ int classq_(integer *n, complex *x, integer *incx, real *
666 scale, real *sumsq);
667
668/* Subroutine */ int claswp_(integer *n, complex *a, integer *lda, integer *
669 k1, integer *k2, integer *ipiv, integer *incx);
670
671/* Subroutine */ int clasyf_(char *uplo, integer *n, integer *nb, integer *kb,
672 complex *a, integer *lda, integer *ipiv, complex *w, integer *ldw,
673 integer *info);
674
675/* Subroutine */ int clatbs_(char *uplo, char *trans, char *diag, char *
676 normin, integer *n, integer *kd, complex *ab, integer *ldab, complex *
677 x, real *scale, real *cnorm, integer *info);
678
679/* Subroutine */ int clatdf_(integer *ijob, integer *n, complex *z__, integer
680 *ldz, complex *rhs, real *rdsum, real *rdscal, integer *ipiv, integer
681 *jpiv);
682
683/* Subroutine */ int clatps_(char *uplo, char *trans, char *diag, char *
684 normin, integer *n, complex *ap, complex *x, real *scale, real *cnorm,
685 integer *info);
686
687/* Subroutine */ int clatrd_(char *uplo, integer *n, integer *nb, complex *a,
688 integer *lda, real *e, complex *tau, complex *w, integer *ldw);
689
690/* Subroutine */ int clatrs_(char *uplo, char *trans, char *diag, char *
691 normin, integer *n, complex *a, integer *lda, complex *x, real *scale,
692 real *cnorm, integer *info);
693
694/* Subroutine */ int clatrz_(integer *m, integer *n, integer *l, complex *a,
695 integer *lda, complex *tau, complex *work);
696
697/* Subroutine */ int clatzm_(char *side, integer *m, integer *n, complex *v,
698 integer *incv, complex *tau, complex *c1, complex *c2, integer *ldc,
699 complex *work);
700
701/* Subroutine */ int clauu2_(char *uplo, integer *n, complex *a, integer *lda,
702 integer *info);
703
704/* Subroutine */ int clauum_(char *uplo, integer *n, complex *a, integer *lda,
705 integer *info);
706
707/* Subroutine */ int cpbcon_(char *uplo, integer *n, integer *kd, complex *ab,
708 integer *ldab, real *anorm, real *rcond, complex *work, real *rwork,
709 integer *info);
710
711/* Subroutine */ int cpbequ_(char *uplo, integer *n, integer *kd, complex *ab,
712 integer *ldab, real *s, real *scond, real *amax, integer *info);
713
714/* Subroutine */ int cpbrfs_(char *uplo, integer *n, integer *kd, integer *
715 nrhs, complex *ab, integer *ldab, complex *afb, integer *ldafb,
716 complex *b, integer *ldb, complex *x, integer *ldx, real *ferr, real *
717 berr, complex *work, real *rwork, integer *info);
718
719/* Subroutine */ int cpbstf_(char *uplo, integer *n, integer *kd, complex *ab,
720 integer *ldab, integer *info);
721
722/* Subroutine */ int cpbsv_(char *uplo, integer *n, integer *kd, integer *
723 nrhs, complex *ab, integer *ldab, complex *b, integer *ldb, integer *
724 info);
725
726/* Subroutine */ int cpbsvx_(char *fact, char *uplo, integer *n, integer *kd,
727 integer *nrhs, complex *ab, integer *ldab, complex *afb, integer *
728 ldafb, char *equed, real *s, complex *b, integer *ldb, complex *x,
729 integer *ldx, real *rcond, real *ferr, real *berr, complex *work,
730 real *rwork, integer *info);
731
732/* Subroutine */ int cpbtf2_(char *uplo, integer *n, integer *kd, complex *ab,
733 integer *ldab, integer *info);
734
735/* Subroutine */ int cpbtrf_(char *uplo, integer *n, integer *kd, complex *ab,
736 integer *ldab, integer *info);
737
738/* Subroutine */ int cpbtrs_(char *uplo, integer *n, integer *kd, integer *
739 nrhs, complex *ab, integer *ldab, complex *b, integer *ldb, integer *
740 info);
741
742/* Subroutine */ int cpocon_(char *uplo, integer *n, complex *a, integer *lda,
743 real *anorm, real *rcond, complex *work, real *rwork, integer *info);
744
745/* Subroutine */ int cpoequ_(integer *n, complex *a, integer *lda, real *s,
746 real *scond, real *amax, integer *info);
747
748/* Subroutine */ int cporfs_(char *uplo, integer *n, integer *nrhs, complex *
749 a, integer *lda, complex *af, integer *ldaf, complex *b, integer *ldb,
750 complex *x, integer *ldx, real *ferr, real *berr, complex *work,
751 real *rwork, integer *info);
752
753/* Subroutine */ int cposv_(char *uplo, integer *n, integer *nrhs, complex *a,
754 integer *lda, complex *b, integer *ldb, integer *info);
755
756/* Subroutine */ int cposvx_(char *fact, char *uplo, integer *n, integer *
757 nrhs, complex *a, integer *lda, complex *af, integer *ldaf, char *
758 equed, real *s, complex *b, integer *ldb, complex *x, integer *ldx,
759 real *rcond, real *ferr, real *berr, complex *work, real *rwork,
760 integer *info);
761
762/* Subroutine */ int cpotf2_(char *uplo, integer *n, complex *a, integer *lda,
763 integer *info);
764
765/* Subroutine */ int cpotrf_(char *uplo, integer *n, complex *a, integer *lda,
766 integer *info);
767
768/* Subroutine */ int cpotri_(char *uplo, integer *n, complex *a, integer *lda,
769 integer *info);
770
771/* Subroutine */ int cpotrs_(char *uplo, integer *n, integer *nrhs, complex *
772 a, integer *lda, complex *b, integer *ldb, integer *info);
773
774/* Subroutine */ int cppcon_(char *uplo, integer *n, complex *ap, real *anorm,
775 real *rcond, complex *work, real *rwork, integer *info);
776
777/* Subroutine */ int cppequ_(char *uplo, integer *n, complex *ap, real *s,
778 real *scond, real *amax, integer *info);
779
780/* Subroutine */ int cpprfs_(char *uplo, integer *n, integer *nrhs, complex *
781 ap, complex *afp, complex *b, integer *ldb, complex *x, integer *ldx,
782 real *ferr, real *berr, complex *work, real *rwork, integer *info);
783
784/* Subroutine */ int cppsv_(char *uplo, integer *n, integer *nrhs, complex *
785 ap, complex *b, integer *ldb, integer *info);
786
787/* Subroutine */ int cppsvx_(char *fact, char *uplo, integer *n, integer *
788 nrhs, complex *ap, complex *afp, char *equed, real *s, complex *b,
789 integer *ldb, complex *x, integer *ldx, real *rcond, real *ferr, real
790 *berr, complex *work, real *rwork, integer *info);
791
792/* Subroutine */ int cpptrf_(char *uplo, integer *n, complex *ap, integer *
793 info);
794
795/* Subroutine */ int cpptri_(char *uplo, integer *n, complex *ap, integer *
796 info);
797
798/* Subroutine */ int cpptrs_(char *uplo, integer *n, integer *nrhs, complex *
799 ap, complex *b, integer *ldb, integer *info);
800
801/* Subroutine */ int cptcon_(integer *n, real *d__, complex *e, real *anorm,
802 real *rcond, real *rwork, integer *info);
803
804/* Subroutine */ int cptrfs_(char *uplo, integer *n, integer *nrhs, real *d__,
805 complex *e, real *df, complex *ef, complex *b, integer *ldb, complex
806 *x, integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
807 integer *info);
808
809/* Subroutine */ int cptsv_(integer *n, integer *nrhs, real *d__, complex *e,
810 complex *b, integer *ldb, integer *info);
811
812/* Subroutine */ int cptsvx_(char *fact, integer *n, integer *nrhs, real *d__,
813 complex *e, real *df, complex *ef, complex *b, integer *ldb, complex
814 *x, integer *ldx, real *rcond, real *ferr, real *berr, complex *work,
815 real *rwork, integer *info);
816
817/* Subroutine */ int cpttrf_(integer *n, real *d__, complex *e, integer *info);
818
819/* Subroutine */ int cpttrs_(char *uplo, integer *n, integer *nrhs, real *d__,
820 complex *e, complex *b, integer *ldb, integer *info);
821
822/* Subroutine */ int cptts2_(integer *iuplo, integer *n, integer *nrhs, real *
823 d__, complex *e, complex *b, integer *ldb);
824
825/* Subroutine */ int crot_(integer *n, complex *cx, integer *incx, complex *
826 cy, integer *incy, real *c__, complex *s);
827
828/* Subroutine */ int cspcon_(char *uplo, integer *n, complex *ap, integer *
829 ipiv, real *anorm, real *rcond, complex *work, integer *info);
830
831/* Subroutine */ int cspmv_(char *uplo, integer *n, complex *alpha, complex *
832 ap, complex *x, integer *incx, complex *beta, complex *y, integer *
833 incy);
834
835/* Subroutine */ int cspr_(char *uplo, integer *n, complex *alpha, complex *x,
836 integer *incx, complex *ap);
837
838/* Subroutine */ int csprfs_(char *uplo, integer *n, integer *nrhs, complex *
839 ap, complex *afp, integer *ipiv, complex *b, integer *ldb, complex *x,
840 integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
841 integer *info);
842
843/* Subroutine */ int cspsv_(char *uplo, integer *n, integer *nrhs, complex *
844 ap, integer *ipiv, complex *b, integer *ldb, integer *info);
845
846/* Subroutine */ int cspsvx_(char *fact, char *uplo, integer *n, integer *
847 nrhs, complex *ap, complex *afp, integer *ipiv, complex *b, integer *
848 ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
849 complex *work, real *rwork, integer *info);
850
851/* Subroutine */ int csptrf_(char *uplo, integer *n, complex *ap, integer *
852 ipiv, integer *info);
853
854/* Subroutine */ int csptri_(char *uplo, integer *n, complex *ap, integer *
855 ipiv, complex *work, integer *info);
856
857/* Subroutine */ int csptrs_(char *uplo, integer *n, integer *nrhs, complex *
858 ap, integer *ipiv, complex *b, integer *ldb, integer *info);
859
860/* Subroutine */ int csrot_(integer *n, complex *cx, integer *incx, complex *
861 cy, integer *incy, real *c__, real *s);
862
863/* Subroutine */ int csrscl_(integer *n, real *sa, complex *sx, integer *incx);
864
865/* Subroutine */ int cstedc_(char *compz, integer *n, real *d__, real *e,
866 complex *z__, integer *ldz, complex *work, integer *lwork, real *
867 rwork, integer *lrwork, integer *iwork, integer *liwork, integer *
868 info);
869
870/* Subroutine */ int cstein_(integer *n, real *d__, real *e, integer *m, real
871 *w, integer *iblock, integer *isplit, complex *z__, integer *ldz,
872 real *work, integer *iwork, integer *ifail, integer *info);
873
874/* Subroutine */ int csteqr_(char *compz, integer *n, real *d__, real *e,
875 complex *z__, integer *ldz, real *work, integer *info);
876
877/* Subroutine */ int csycon_(char *uplo, integer *n, complex *a, integer *lda,
878 integer *ipiv, real *anorm, real *rcond, complex *work, integer *
879 info);
880
881/* Subroutine */ int csymv_(char *uplo, integer *n, complex *alpha, complex *
882 a, integer *lda, complex *x, integer *incx, complex *beta, complex *y,
883 integer *incy);
884
885/* Subroutine */ int csyr_(char *uplo, integer *n, complex *alpha, complex *x,
886 integer *incx, complex *a, integer *lda);
887
888/* Subroutine */ int csyrfs_(char *uplo, integer *n, integer *nrhs, complex *
889 a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex *
890 b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
891 complex *work, real *rwork, integer *info);
892
893/* Subroutine */ int csysv_(char *uplo, integer *n, integer *nrhs, complex *a,
894 integer *lda, integer *ipiv, complex *b, integer *ldb, complex *work,
895 integer *lwork, integer *info);
896
897/* Subroutine */ int csysvx_(char *fact, char *uplo, integer *n, integer *
898 nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
899 ipiv, complex *b, integer *ldb, complex *x, integer *ldx, real *rcond,
900 real *ferr, real *berr, complex *work, integer *lwork, real *rwork,
901 integer *info);
902
903/* Subroutine */ int csytf2_(char *uplo, integer *n, complex *a, integer *lda,
904 integer *ipiv, integer *info);
905
906/* Subroutine */ int csytrf_(char *uplo, integer *n, complex *a, integer *lda,
907 integer *ipiv, complex *work, integer *lwork, integer *info);
908
909/* Subroutine */ int csytri_(char *uplo, integer *n, complex *a, integer *lda,
910 integer *ipiv, complex *work, integer *info);
911
912/* Subroutine */ int csytrs_(char *uplo, integer *n, integer *nrhs, complex *
913 a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer *
914 info);
915
916/* Subroutine */ int ctbcon_(char *norm, char *uplo, char *diag, integer *n,
917 integer *kd, complex *ab, integer *ldab, real *rcond, complex *work,
918 real *rwork, integer *info);
919
920/* Subroutine */ int ctbrfs_(char *uplo, char *trans, char *diag, integer *n,
921 integer *kd, integer *nrhs, complex *ab, integer *ldab, complex *b,
922 integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
923 complex *work, real *rwork, integer *info);
924
925/* Subroutine */ int ctbtrs_(char *uplo, char *trans, char *diag, integer *n,
926 integer *kd, integer *nrhs, complex *ab, integer *ldab, complex *b,
927 integer *ldb, integer *info);
928
929/* Subroutine */ int ctgevc_(char *side, char *howmny, logical *select,
930 integer *n, complex *a, integer *lda, complex *b, integer *ldb,
931 complex *vl, integer *ldvl, complex *vr, integer *ldvr, integer *mm,
932 integer *m, complex *work, real *rwork, integer *info);
933
934/* Subroutine */ int ctgex2_(logical *wantq, logical *wantz, integer *n,
935 complex *a, integer *lda, complex *b, integer *ldb, complex *q,
936 integer *ldq, complex *z__, integer *ldz, integer *j1, integer *info);
937
938/* Subroutine */ int ctgexc_(logical *wantq, logical *wantz, integer *n,
939 complex *a, integer *lda, complex *b, integer *ldb, complex *q,
940 integer *ldq, complex *z__, integer *ldz, integer *ifst, integer *
941 ilst, integer *info);
942
943/* Subroutine */ int ctgsen_(integer *ijob, logical *wantq, logical *wantz,
944 logical *select, integer *n, complex *a, integer *lda, complex *b,
945 integer *ldb, complex *alpha, complex *beta, complex *q, integer *ldq,
946 complex *z__, integer *ldz, integer *m, real *pl, real *pr, real *
947 dif, complex *work, integer *lwork, integer *iwork, integer *liwork,
948 integer *info);
949
950/* Subroutine */ int ctgsja_(char *jobu, char *jobv, char *jobq, integer *m,
951 integer *p, integer *n, integer *k, integer *l, complex *a, integer *
952 lda, complex *b, integer *ldb, real *tola, real *tolb, real *alpha,
953 real *beta, complex *u, integer *ldu, complex *v, integer *ldv,
954 complex *q, integer *ldq, complex *work, integer *ncycle, integer *
955 info);
956
957/* Subroutine */ int ctgsna_(char *job, char *howmny, logical *select,
958 integer *n, complex *a, integer *lda, complex *b, integer *ldb,
959 complex *vl, integer *ldvl, complex *vr, integer *ldvr, real *s, real
960 *dif, integer *mm, integer *m, complex *work, integer *lwork, integer
961 *iwork, integer *info);
962
963/* Subroutine */ int ctgsy2_(char *trans, integer *ijob, integer *m, integer *
964 n, complex *a, integer *lda, complex *b, integer *ldb, complex *c__,
965 integer *ldc, complex *d__, integer *ldd, complex *e, integer *lde,
966 complex *f, integer *ldf, real *scale, real *rdsum, real *rdscal,
967 integer *info);
968
969/* Subroutine */ int ctgsyl_(char *trans, integer *ijob, integer *m, integer *
970 n, complex *a, integer *lda, complex *b, integer *ldb, complex *c__,
971 integer *ldc, complex *d__, integer *ldd, complex *e, integer *lde,
972 complex *f, integer *ldf, real *scale, real *dif, complex *work,
973 integer *lwork, integer *iwork, integer *info);
974
975/* Subroutine */ int ctpcon_(char *norm, char *uplo, char *diag, integer *n,
976 complex *ap, real *rcond, complex *work, real *rwork, integer *info);
977
978/* Subroutine */ int ctprfs_(char *uplo, char *trans, char *diag, integer *n,
979 integer *nrhs, complex *ap, complex *b, integer *ldb, complex *x,
980 integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
981 integer *info);
982
983/* Subroutine */ int ctptri_(char *uplo, char *diag, integer *n, complex *ap,
984 integer *info);
985
986/* Subroutine */ int ctptrs_(char *uplo, char *trans, char *diag, integer *n,
987 integer *nrhs, complex *ap, complex *b, integer *ldb, integer *info);
988
989/* Subroutine */ int ctrcon_(char *norm, char *uplo, char *diag, integer *n,
990 complex *a, integer *lda, real *rcond, complex *work, real *rwork,
991 integer *info);
992
993/* Subroutine */ int ctrevc_(char *side, char *howmny, logical *select,
994 integer *n, complex *t, integer *ldt, complex *vl, integer *ldvl,
995 complex *vr, integer *ldvr, integer *mm, integer *m, complex *work,
996 real *rwork, integer *info);
997
998/* Subroutine */ int ctrexc_(char *compq, integer *n, complex *t, integer *
999 ldt, complex *q, integer *ldq, integer *ifst, integer *ilst, integer *
1000 info);
1001
1002/* Subroutine */ int ctrrfs_(char *uplo, char *trans, char *diag, integer *n,
1003 integer *nrhs, complex *a, integer *lda, complex *b, integer *ldb,
1004 complex *x, integer *ldx, real *ferr, real *berr, complex *work, real
1005 *rwork, integer *info);
1006
1007/* Subroutine */ int ctrsen_(char *job, char *compq, logical *select, integer
1008 *n, complex *t, integer *ldt, complex *q, integer *ldq, complex *w,
1009 integer *m, real *s, real *sep, complex *work, integer *lwork,
1010 integer *info);
1011
1012/* Subroutine */ int ctrsna_(char *job, char *howmny, logical *select,
1013 integer *n, complex *t, integer *ldt, complex *vl, integer *ldvl,
1014 complex *vr, integer *ldvr, real *s, real *sep, integer *mm, integer *
1015 m, complex *work, integer *ldwork, real *rwork, integer *info);
1016
1017/* Subroutine */ int ctrsyl_(char *trana, char *tranb, integer *isgn, integer
1018 *m, integer *n, complex *a, integer *lda, complex *b, integer *ldb,
1019 complex *c__, integer *ldc, real *scale, integer *info);
1020
1021/* Subroutine */ int ctrti2_(char *uplo, char *diag, integer *n, complex *a,
1022 integer *lda, integer *info);
1023
1024/* Subroutine */ int ctrtri_(char *uplo, char *diag, integer *n, complex *a,
1025 integer *lda, integer *info);
1026
1027/* Subroutine */ int ctrtrs_(char *uplo, char *trans, char *diag, integer *n,
1028 integer *nrhs, complex *a, integer *lda, complex *b, integer *ldb,
1029 integer *info);
1030
1031/* Subroutine */ int ctzrqf_(integer *m, integer *n, complex *a, integer *lda,
1032 complex *tau, integer *info);
1033
1034/* Subroutine */ int ctzrzf_(integer *m, integer *n, complex *a, integer *lda,
1035 complex *tau, complex *work, integer *lwork, integer *info);
1036
1037/* Subroutine */ int cung2l_(integer *m, integer *n, integer *k, complex *a,
1038 integer *lda, complex *tau, complex *work, integer *info);
1039
1040/* Subroutine */ int cung2r_(integer *m, integer *n, integer *k, complex *a,
1041 integer *lda, complex *tau, complex *work, integer *info);
1042
1043/* Subroutine */ int cungbr_(char *vect, integer *m, integer *n, integer *k,
1044 complex *a, integer *lda, complex *tau, complex *work, integer *lwork,
1045 integer *info);
1046
1047/* Subroutine */ int cunghr_(integer *n, integer *ilo, integer *ihi, complex *
1048 a, integer *lda, complex *tau, complex *work, integer *lwork, integer
1049 *info);
1050
1051/* Subroutine */ int cungl2_(integer *m, integer *n, integer *k, complex *a,
1052 integer *lda, complex *tau, complex *work, integer *info);
1053
1054/* Subroutine */ int cunglq_(integer *m, integer *n, integer *k, complex *a,
1055 integer *lda, complex *tau, complex *work, integer *lwork, integer *
1056 info);
1057
1058/* Subroutine */ int cungql_(integer *m, integer *n, integer *k, complex *a,
1059 integer *lda, complex *tau, complex *work, integer *lwork, integer *
1060 info);
1061
1062/* Subroutine */ int cungqr_(integer *m, integer *n, integer *k, complex *a,
1063 integer *lda, complex *tau, complex *work, integer *lwork, integer *
1064 info);
1065
1066/* Subroutine */ int cungr2_(integer *m, integer *n, integer *k, complex *a,
1067 integer *lda, complex *tau, complex *work, integer *info);
1068
1069/* Subroutine */ int cungrq_(integer *m, integer *n, integer *k, complex *a,
1070 integer *lda, complex *tau, complex *work, integer *lwork, integer *
1071 info);
1072
1073/* Subroutine */ int cungtr_(char *uplo, integer *n, complex *a, integer *lda,
1074 complex *tau, complex *work, integer *lwork, integer *info);
1075
1076/* Subroutine */ int cunm2l_(char *side, char *trans, integer *m, integer *n,
1077 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1078 integer *ldc, complex *work, integer *info);
1079
1080/* Subroutine */ int cunm2r_(char *side, char *trans, integer *m, integer *n,
1081 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1082 integer *ldc, complex *work, integer *info);
1083
1084/* Subroutine */ int cunmbr_(char *vect, char *side, char *trans, integer *m,
1085 integer *n, integer *k, complex *a, integer *lda, complex *tau,
1086 complex *c__, integer *ldc, complex *work, integer *lwork, integer *
1087 info);
1088
1089/* Subroutine */ int cunmhr_(char *side, char *trans, integer *m, integer *n,
1090 integer *ilo, integer *ihi, complex *a, integer *lda, complex *tau,
1091 complex *c__, integer *ldc, complex *work, integer *lwork, integer *
1092 info);
1093
1094/* Subroutine */ int cunml2_(char *side, char *trans, integer *m, integer *n,
1095 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1096 integer *ldc, complex *work, integer *info);
1097
1098/* Subroutine */ int cunmlq_(char *side, char *trans, integer *m, integer *n,
1099 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1100 integer *ldc, complex *work, integer *lwork, integer *info);
1101
1102/* Subroutine */ int cunmql_(char *side, char *trans, integer *m, integer *n,
1103 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1104 integer *ldc, complex *work, integer *lwork, integer *info);
1105
1106/* Subroutine */ int cunmqr_(char *side, char *trans, integer *m, integer *n,
1107 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1108 integer *ldc, complex *work, integer *lwork, integer *info);
1109
1110/* Subroutine */ int cunmr2_(char *side, char *trans, integer *m, integer *n,
1111 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1112 integer *ldc, complex *work, integer *info);
1113
1114/* Subroutine */ int cunmr3_(char *side, char *trans, integer *m, integer *n,
1115 integer *k, integer *l, complex *a, integer *lda, complex *tau,
1116 complex *c__, integer *ldc, complex *work, integer *info);
1117
1118/* Subroutine */ int cunmrq_(char *side, char *trans, integer *m, integer *n,
1119 integer *k, complex *a, integer *lda, complex *tau, complex *c__,
1120 integer *ldc, complex *work, integer *lwork, integer *info);
1121
1122/* Subroutine */ int cunmrz_(char *side, char *trans, integer *m, integer *n,
1123 integer *k, integer *l, complex *a, integer *lda, complex *tau,
1124 complex *c__, integer *ldc, complex *work, integer *lwork, integer *
1125 info);
1126
1127/* Subroutine */ int cunmtr_(char *side, char *uplo, char *trans, integer *m,
1128 integer *n, complex *a, integer *lda, complex *tau, complex *c__,
1129 integer *ldc, complex *work, integer *lwork, integer *info);
1130
1131/* Subroutine */ int cupgtr_(char *uplo, integer *n, complex *ap, complex *
1132 tau, complex *q, integer *ldq, complex *work, integer *info);
1133
1134/* Subroutine */ int cupmtr_(char *side, char *uplo, char *trans, integer *m,
1135 integer *n, complex *ap, complex *tau, complex *c__, integer *ldc,
1136 complex *work, integer *info);
1137
1138/* Subroutine */ int dbdsdc_(char *uplo, char *compq, integer *n, doublereal *
1139 d__, doublereal *e, doublereal *u, integer *ldu, doublereal *vt,
1140 integer *ldvt, doublereal *q, integer *iq, doublereal *work, integer *
1141 iwork, integer *info);
1142
1143/* Subroutine */ int dbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
1144 nru, integer *ncc, doublereal *d__, doublereal *e, doublereal *vt,
1145 integer *ldvt, doublereal *u, integer *ldu, doublereal *c__, integer *
1146 ldc, doublereal *work, integer *info);
1147
1148/* Subroutine */ int ddisna_(char *job, integer *m, integer *n, doublereal *
1149 d__, doublereal *sep, integer *info);
1150
1151/* Subroutine */ int dgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
1152 integer *kl, integer *ku, doublereal *ab, integer *ldab, doublereal *
1153 d__, doublereal *e, doublereal *q, integer *ldq, doublereal *pt,
1154 integer *ldpt, doublereal *c__, integer *ldc, doublereal *work,
1155 integer *info);
1156
1157/* Subroutine */ int dgbcon_(char *norm, integer *n, integer *kl, integer *ku,
1158 doublereal *ab, integer *ldab, integer *ipiv, doublereal *anorm,
1159 doublereal *rcond, doublereal *work, integer *iwork, integer *info);
1160
1161/* Subroutine */ int dgbequ_(integer *m, integer *n, integer *kl, integer *ku,
1162 doublereal *ab, integer *ldab, doublereal *r__, doublereal *c__,
1163 doublereal *rowcnd, doublereal *colcnd, doublereal *amax, integer *
1164 info);
1165
1166/* Subroutine */ int dgbrfs_(char *trans, integer *n, integer *kl, integer *
1167 ku, integer *nrhs, doublereal *ab, integer *ldab, doublereal *afb,
1168 integer *ldafb, integer *ipiv, doublereal *b, integer *ldb,
1169 doublereal *x, integer *ldx, doublereal *ferr, doublereal *berr,
1170 doublereal *work, integer *iwork, integer *info);
1171
1172/* Subroutine */ int dgbsv_(integer *n, integer *kl, integer *ku, integer *
1173 nrhs, doublereal *ab, integer *ldab, integer *ipiv, doublereal *b,
1174 integer *ldb, integer *info);
1175
1176/* Subroutine */ int dgbsvx_(char *fact, char *trans, integer *n, integer *kl,
1177 integer *ku, integer *nrhs, doublereal *ab, integer *ldab,
1178 doublereal *afb, integer *ldafb, integer *ipiv, char *equed,
1179 doublereal *r__, doublereal *c__, doublereal *b, integer *ldb,
1180 doublereal *x, integer *ldx, doublereal *rcond, doublereal *ferr,
1181 doublereal *berr, doublereal *work, integer *iwork, integer *info);
1182
1183/* Subroutine */ int dgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
1184 doublereal *ab, integer *ldab, integer *ipiv, integer *info);
1185
1186/* Subroutine */ int dgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
1187 doublereal *ab, integer *ldab, integer *ipiv, integer *info);
1188
1189/* Subroutine */ int dgbtrs_(char *trans, integer *n, integer *kl, integer *
1190 ku, integer *nrhs, doublereal *ab, integer *ldab, integer *ipiv,
1191 doublereal *b, integer *ldb, integer *info);
1192
1193/* Subroutine */ int dgebak_(char *job, char *side, integer *n, integer *ilo,
1194 integer *ihi, doublereal *scale, integer *m, doublereal *v, integer *
1195 ldv, integer *info);
1196
1197/* Subroutine */ int dgebal_(char *job, integer *n, doublereal *a, integer *
1198 lda, integer *ilo, integer *ihi, doublereal *scale, integer *info);
1199
1200/* Subroutine */ int dgebd2_(integer *m, integer *n, doublereal *a, integer *
1201 lda, doublereal *d__, doublereal *e, doublereal *tauq, doublereal *
1202 taup, doublereal *work, integer *info);
1203
1204/* Subroutine */ int dgebrd_(integer *m, integer *n, doublereal *a, integer *
1205 lda, doublereal *d__, doublereal *e, doublereal *tauq, doublereal *
1206 taup, doublereal *work, integer *lwork, integer *info);
1207
1208/* Subroutine */ int dgecon_(char *norm, integer *n, doublereal *a, integer *
1209 lda, doublereal *anorm, doublereal *rcond, doublereal *work, integer *
1210 iwork, integer *info);
1211
1212/* Subroutine */ int dgeequ_(integer *m, integer *n, doublereal *a, integer *
1213 lda, doublereal *r__, doublereal *c__, doublereal *rowcnd, doublereal
1214 *colcnd, doublereal *amax, integer *info);
1215
1216/* Subroutine */ int dgees_(char *jobvs, char *sort, L_fp select, integer *n,
1217 doublereal *a, integer *lda, integer *sdim, doublereal *wr,
1218 doublereal *wi, doublereal *vs, integer *ldvs, doublereal *work,
1219 integer *lwork, logical *bwork, integer *info);
1220
1221/* Subroutine */ int dgeesx_(char *jobvs, char *sort, L_fp select, char *
1222 sense, integer *n, doublereal *a, integer *lda, integer *sdim,
1223 doublereal *wr, doublereal *wi, doublereal *vs, integer *ldvs,
1224 doublereal *rconde, doublereal *rcondv, doublereal *work, integer *
1225 lwork, integer *iwork, integer *liwork, logical *bwork, integer *info);
1226
1227/* Subroutine */ int dgeev_(char *jobvl, char *jobvr, integer *n, doublereal *
1228 a, integer *lda, doublereal *wr, doublereal *wi, doublereal *vl,
1229 integer *ldvl, doublereal *vr, integer *ldvr, doublereal *work,
1230 integer *lwork, integer *info);
1231
1232/* Subroutine */ int dgeevx_(char *balanc, char *jobvl, char *jobvr, char *
1233 sense, integer *n, doublereal *a, integer *lda, doublereal *wr,
1234 doublereal *wi, doublereal *vl, integer *ldvl, doublereal *vr,
1235 integer *ldvr, integer *ilo, integer *ihi, doublereal *scale,
1236 doublereal *abnrm, doublereal *rconde, doublereal *rcondv, doublereal
1237 *work, integer *lwork, integer *iwork, integer *info);
1238
1239/* Subroutine */ int dgegs_(char *jobvsl, char *jobvsr, integer *n,
1240 doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
1241 alphar, doublereal *alphai, doublereal *beta, doublereal *vsl,
1242 integer *ldvsl, doublereal *vsr, integer *ldvsr, doublereal *work,
1243 integer *lwork, integer *info);
1244
1245/* Subroutine */ int dgegv_(char *jobvl, char *jobvr, integer *n, doublereal *
1246 a, integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
1247 doublereal *alphai, doublereal *beta, doublereal *vl, integer *ldvl,
1248 doublereal *vr, integer *ldvr, doublereal *work, integer *lwork,
1249 integer *info);
1250
1251/* Subroutine */ int dgehd2_(integer *n, integer *ilo, integer *ihi,
1252 doublereal *a, integer *lda, doublereal *tau, doublereal *work,
1253 integer *info);
1254
1255/* Subroutine */ int dgehrd_(integer *n, integer *ilo, integer *ihi,
1256 doublereal *a, integer *lda, doublereal *tau, doublereal *work,
1257 integer *lwork, integer *info);
1258
1259/* Subroutine */ int dgelq2_(integer *m, integer *n, doublereal *a, integer *
1260 lda, doublereal *tau, doublereal *work, integer *info);
1261
1262/* Subroutine */ int dgelqf_(integer *m, integer *n, doublereal *a, integer *
1263 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
1264
1265/* Subroutine */ int dgels_(char *trans, integer *m, integer *n, integer *
1266 nrhs, doublereal *a, integer *lda, doublereal *b, integer *ldb,
1267 doublereal *work, integer *lwork, integer *info);
1268
1269/* Subroutine */ int dgelsd_(integer *m, integer *n, integer *nrhs,
1270 doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
1271 s, doublereal *rcond, integer *rank, doublereal *work, integer *lwork,
1272 integer *iwork, integer *info);
1273
1274/* Subroutine */ int dgelss_(integer *m, integer *n, integer *nrhs,
1275 doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
1276 s, doublereal *rcond, integer *rank, doublereal *work, integer *lwork,
1277 integer *info);
1278
1279/* Subroutine */ int dgelsx_(integer *m, integer *n, integer *nrhs,
1280 doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
1281 jpvt, doublereal *rcond, integer *rank, doublereal *work, integer *
1282 info);
1283
1284/* Subroutine */ int dgelsy_(integer *m, integer *n, integer *nrhs,
1285 doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
1286 jpvt, doublereal *rcond, integer *rank, doublereal *work, integer *
1287 lwork, integer *info);
1288
1289/* Subroutine */ int dgeql2_(integer *m, integer *n, doublereal *a, integer *
1290 lda, doublereal *tau, doublereal *work, integer *info);
1291
1292/* Subroutine */ int dgeqlf_(integer *m, integer *n, doublereal *a, integer *
1293 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
1294
1295/* Subroutine */ int dgeqp3_(integer *m, integer *n, doublereal *a, integer *
1296 lda, integer *jpvt, doublereal *tau, doublereal *work, integer *lwork,
1297 integer *info);
1298
1299/* Subroutine */ int dgeqpf_(integer *m, integer *n, doublereal *a, integer *
1300 lda, integer *jpvt, doublereal *tau, doublereal *work, integer *info);
1301
1302/* Subroutine */ int dgeqr2_(integer *m, integer *n, doublereal *a, integer *
1303 lda, doublereal *tau, doublereal *work, integer *info);
1304
1305/* Subroutine */ int dgeqrf_(integer *m, integer *n, doublereal *a, integer *
1306 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
1307
1308/* Subroutine */ int dgerfs_(char *trans, integer *n, integer *nrhs,
1309 doublereal *a, integer *lda, doublereal *af, integer *ldaf, integer *
1310 ipiv, doublereal *b, integer *ldb, doublereal *x, integer *ldx,
1311 doublereal *ferr, doublereal *berr, doublereal *work, integer *iwork,
1312 integer *info);
1313
1314/* Subroutine */ int dgerq2_(integer *m, integer *n, doublereal *a, integer *
1315 lda, doublereal *tau, doublereal *work, integer *info);
1316
1317/* Subroutine */ int dgerqf_(integer *m, integer *n, doublereal *a, integer *
1318 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
1319
1320/* Subroutine */ int dgesc2_(integer *n, doublereal *a, integer *lda,
1321 doublereal *rhs, integer *ipiv, integer *jpiv, doublereal *scale);
1322
1323/* Subroutine */ int dgesdd_(char *jobz, integer *m, integer *n, doublereal *
1324 a, integer *lda, doublereal *s, doublereal *u, integer *ldu,
1325 doublereal *vt, integer *ldvt, doublereal *work, integer *lwork,
1326 integer *iwork, integer *info);
1327
1328/* Subroutine */ int dgesv_(integer *n, integer *nrhs, doublereal *a, integer
1329 *lda, integer *ipiv, doublereal *b, integer *ldb, integer *info);
1330
1331/* Subroutine */ int dgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
1332 doublereal *a, integer *lda, doublereal *s, doublereal *u, integer *
1333 ldu, doublereal *vt, integer *ldvt, doublereal *work, integer *lwork,
1334 integer *info);
1335
1336/* Subroutine */ int dgesvx_(char *fact, char *trans, integer *n, integer *
1337 nrhs, doublereal *a, integer *lda, doublereal *af, integer *ldaf,
1338 integer *ipiv, char *equed, doublereal *r__, doublereal *c__,
1339 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
1340 rcond, doublereal *ferr, doublereal *berr, doublereal *work, integer *
1341 iwork, integer *info);
1342
1343/* Subroutine */ int dgetc2_(integer *n, doublereal *a, integer *lda, integer
1344 *ipiv, integer *jpiv, integer *info);
1345
1346/* Subroutine */ int dgetf2_(integer *m, integer *n, doublereal *a, integer *
1347 lda, integer *ipiv, integer *info);
1348
1349/* Subroutine */ int dgetrf_(integer *m, integer *n, doublereal *a, integer *
1350 lda, integer *ipiv, integer *info);
1351
1352/* Subroutine */ int dgetri_(integer *n, doublereal *a, integer *lda, integer
1353 *ipiv, doublereal *work, integer *lwork, integer *info);
1354
1355/* Subroutine */ int dgetrs_(char *trans, integer *n, integer *nrhs,
1356 doublereal *a, integer *lda, integer *ipiv, doublereal *b, integer *
1357 ldb, integer *info);
1358
1359/* Subroutine */ int dggbak_(char *job, char *side, integer *n, integer *ilo,
1360 integer *ihi, doublereal *lscale, doublereal *rscale, integer *m,
1361 doublereal *v, integer *ldv, integer *info);
1362
1363/* Subroutine */ int dggbal_(char *job, integer *n, doublereal *a, integer *
1364 lda, doublereal *b, integer *ldb, integer *ilo, integer *ihi,
1365 doublereal *lscale, doublereal *rscale, doublereal *work, integer *
1366 info);
1367
1368/* Subroutine */ int dgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
1369 delctg, integer *n, doublereal *a, integer *lda, doublereal *b,
1370 integer *ldb, integer *sdim, doublereal *alphar, doublereal *alphai,
1371 doublereal *beta, doublereal *vsl, integer *ldvsl, doublereal *vsr,
1372 integer *ldvsr, doublereal *work, integer *lwork, logical *bwork,
1373 integer *info);
1374
1375/* Subroutine */ int dggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
1376 delctg, char *sense, integer *n, doublereal *a, integer *lda,
1377 doublereal *b, integer *ldb, integer *sdim, doublereal *alphar,
1378 doublereal *alphai, doublereal *beta, doublereal *vsl, integer *ldvsl,
1379 doublereal *vsr, integer *ldvsr, doublereal *rconde, doublereal *
1380 rcondv, doublereal *work, integer *lwork, integer *iwork, integer *
1381 liwork, logical *bwork, integer *info);
1382
1383/* Subroutine */ int dggev_(char *jobvl, char *jobvr, integer *n, doublereal *
1384 a, integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
1385 doublereal *alphai, doublereal *beta, doublereal *vl, integer *ldvl,
1386 doublereal *vr, integer *ldvr, doublereal *work, integer *lwork,
1387 integer *info);
1388
1389/* Subroutine */ int dggevx_(char *balanc, char *jobvl, char *jobvr, char *
1390 sense, integer *n, doublereal *a, integer *lda, doublereal *b,
1391 integer *ldb, doublereal *alphar, doublereal *alphai, doublereal *
1392 beta, doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr,
1393 integer *ilo, integer *ihi, doublereal *lscale, doublereal *rscale,
1394 doublereal *abnrm, doublereal *bbnrm, doublereal *rconde, doublereal *
1395 rcondv, doublereal *work, integer *lwork, integer *iwork, logical *
1396 bwork, integer *info);
1397
1398/* Subroutine */ int dggglm_(integer *n, integer *m, integer *p, doublereal *
1399 a, integer *lda, doublereal *b, integer *ldb, doublereal *d__,
1400 doublereal *x, doublereal *y, doublereal *work, integer *lwork,
1401 integer *info);
1402
1403/* Subroutine */ int dgghrd_(char *compq, char *compz, integer *n, integer *
1404 ilo, integer *ihi, doublereal *a, integer *lda, doublereal *b,
1405 integer *ldb, doublereal *q, integer *ldq, doublereal *z__, integer *
1406 ldz, integer *info);
1407
1408/* Subroutine */ int dgglse_(integer *m, integer *n, integer *p, doublereal *
1409 a, integer *lda, doublereal *b, integer *ldb, doublereal *c__,
1410 doublereal *d__, doublereal *x, doublereal *work, integer *lwork,
1411 integer *info);
1412
1413/* Subroutine */ int dggqrf_(integer *n, integer *m, integer *p, doublereal *
1414 a, integer *lda, doublereal *taua, doublereal *b, integer *ldb,
1415 doublereal *taub, doublereal *work, integer *lwork, integer *info);
1416
1417/* Subroutine */ int dggrqf_(integer *m, integer *p, integer *n, doublereal *
1418 a, integer *lda, doublereal *taua, doublereal *b, integer *ldb,
1419 doublereal *taub, doublereal *work, integer *lwork, integer *info);
1420
1421/* Subroutine */ int dggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
1422 integer *n, integer *p, integer *k, integer *l, doublereal *a,
1423 integer *lda, doublereal *b, integer *ldb, doublereal *alpha,
1424 doublereal *beta, doublereal *u, integer *ldu, doublereal *v, integer
1425 *ldv, doublereal *q, integer *ldq, doublereal *work, integer *iwork,
1426 integer *info);
1427
1428/* Subroutine */ int dggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
1429 integer *p, integer *n, doublereal *a, integer *lda, doublereal *b,
1430 integer *ldb, doublereal *tola, doublereal *tolb, integer *k, integer
1431 *l, doublereal *u, integer *ldu, doublereal *v, integer *ldv,
1432 doublereal *q, integer *ldq, integer *iwork, doublereal *tau,
1433 doublereal *work, integer *info);
1434
1435/* Subroutine */ int dgtcon_(char *norm, integer *n, doublereal *dl,
1436 doublereal *d__, doublereal *du, doublereal *du2, integer *ipiv,
1437 doublereal *anorm, doublereal *rcond, doublereal *work, integer *
1438 iwork, integer *info);
1439
1440/* Subroutine */ int dgtrfs_(char *trans, integer *n, integer *nrhs,
1441 doublereal *dl, doublereal *d__, doublereal *du, doublereal *dlf,
1442 doublereal *df, doublereal *duf, doublereal *du2, integer *ipiv,
1443 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
1444 ferr, doublereal *berr, doublereal *work, integer *iwork, integer *
1445 info);
1446
1447/* Subroutine */ int dgtsv_(integer *n, integer *nrhs, doublereal *dl,
1448 doublereal *d__, doublereal *du, doublereal *b, integer *ldb, integer
1449 *info);
1450
1451/* Subroutine */ int dgtsvx_(char *fact, char *trans, integer *n, integer *
1452 nrhs, doublereal *dl, doublereal *d__, doublereal *du, doublereal *
1453 dlf, doublereal *df, doublereal *duf, doublereal *du2, integer *ipiv,
1454 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
1455 rcond, doublereal *ferr, doublereal *berr, doublereal *work, integer *
1456 iwork, integer *info);
1457
1458/* Subroutine */ int dgttrf_(integer *n, doublereal *dl, doublereal *d__,
1459 doublereal *du, doublereal *du2, integer *ipiv, integer *info);
1460
1461/* Subroutine */ int dgttrs_(char *trans, integer *n, integer *nrhs,
1462 doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2,
1463 integer *ipiv, doublereal *b, integer *ldb, integer *info);
1464
1465/* Subroutine */ int dgtts2_(integer *itrans, integer *n, integer *nrhs,
1466 doublereal *dl, doublereal *d__, doublereal *du, doublereal *du2,
1467 integer *ipiv, doublereal *b, integer *ldb);
1468
1469/* Subroutine */ int dhgeqz_(char *job, char *compq, char *compz, integer *n,
1470 integer *ilo, integer *ihi, doublereal *a, integer *lda, doublereal *
1471 b, integer *ldb, doublereal *alphar, doublereal *alphai, doublereal *
1472 beta, doublereal *q, integer *ldq, doublereal *z__, integer *ldz,
1473 doublereal *work, integer *lwork, integer *info);
1474
1475/* Subroutine */ int dhsein_(char *side, char *eigsrc, char *initv, logical *
1476 select, integer *n, doublereal *h__, integer *ldh, doublereal *wr,
1477 doublereal *wi, doublereal *vl, integer *ldvl, doublereal *vr,
1478 integer *ldvr, integer *mm, integer *m, doublereal *work, integer *
1479 ifaill, integer *ifailr, integer *info);
1480
1481/* Subroutine */ int dhseqr_(char *job, char *compz, integer *n, integer *ilo,
1482 integer *ihi, doublereal *h__, integer *ldh, doublereal *wr,
1483 doublereal *wi, doublereal *z__, integer *ldz, doublereal *work,
1484 integer *lwork, integer *info);
1485
1486/* Subroutine */ int dlabad_(doublereal *small, doublereal *large);
1487
1488/* Subroutine */ int dlabrd_(integer *m, integer *n, integer *nb, doublereal *
1489 a, integer *lda, doublereal *d__, doublereal *e, doublereal *tauq,
1490 doublereal *taup, doublereal *x, integer *ldx, doublereal *y, integer
1491 *ldy);
1492
1493/* Subroutine */ int dlacon_(integer *n, doublereal *v, doublereal *x,
1494 integer *isgn, doublereal *est, integer *kase);
1495
1496/* Subroutine */ int dlacpy_(char *uplo, integer *m, integer *n, doublereal *
1497 a, integer *lda, doublereal *b, integer *ldb);
1498
1499/* Subroutine */ int dladiv_(doublereal *a, doublereal *b, doublereal *c__,
1500 doublereal *d__, doublereal *p, doublereal *q);
1501
1502/* Subroutine */ int dlae2_(doublereal *a, doublereal *b, doublereal *c__,
1503 doublereal *rt1, doublereal *rt2);
1504
1505/* Subroutine */ int dlaebz_(integer *ijob, integer *nitmax, integer *n,
1506 integer *mmax, integer *minp, integer *nbmin, doublereal *abstol,
1507 doublereal *reltol, doublereal *pivmin, doublereal *d__, doublereal *
1508 e, doublereal *e2, integer *nval, doublereal *ab, doublereal *c__,
1509 integer *mout, integer *nab, doublereal *work, integer *iwork,
1510 integer *info);
1511
1512/* Subroutine */ int dlaed0_(integer *icompq, integer *qsiz, integer *n,
1513 doublereal *d__, doublereal *e, doublereal *q, integer *ldq,
1514 doublereal *qstore, integer *ldqs, doublereal *work, integer *iwork,
1515 integer *info);
1516
1517/* Subroutine */ int dlaed1_(integer *n, doublereal *d__, doublereal *q,
1518 integer *ldq, integer *indxq, doublereal *rho, integer *cutpnt,
1519 doublereal *work, integer *iwork, integer *info);
1520
1521/* Subroutine */ int dlaed2_(integer *k, integer *n, integer *n1, doublereal *
1522 d__, doublereal *q, integer *ldq, integer *indxq, doublereal *rho,
1523 doublereal *z__, doublereal *dlamda, doublereal *w, doublereal *q2,
1524 integer *indx, integer *indxc, integer *indxp, integer *coltyp,
1525 integer *info);
1526
1527/* Subroutine */ int dlaed3_(integer *k, integer *n, integer *n1, doublereal *
1528 d__, doublereal *q, integer *ldq, doublereal *rho, doublereal *dlamda,
1529 doublereal *q2, integer *indx, integer *ctot, doublereal *w,
1530 doublereal *s, integer *info);
1531
1532/* Subroutine */ int dlaed4_(integer *n, integer *i__, doublereal *d__,
1533 doublereal *z__, doublereal *delta, doublereal *rho, doublereal *dlam,
1534 integer *info);
1535
1536/* Subroutine */ int dlaed5_(integer *i__, doublereal *d__, doublereal *z__,
1537 doublereal *delta, doublereal *rho, doublereal *dlam);
1538
1539/* Subroutine */ int dlaed6_(integer *kniter, logical *orgati, doublereal *
1540 rho, doublereal *d__, doublereal *z__, doublereal *finit, doublereal *
1541 tau, integer *info);
1542
1543/* Subroutine */ int dlaed7_(integer *icompq, integer *n, integer *qsiz,
1544 integer *tlvls, integer *curlvl, integer *curpbm, doublereal *d__,
1545 doublereal *q, integer *ldq, integer *indxq, doublereal *rho, integer
1546 *cutpnt, doublereal *qstore, integer *qptr, integer *prmptr, integer *
1547 perm, integer *givptr, integer *givcol, doublereal *givnum,
1548 doublereal *work, integer *iwork, integer *info);
1549
1550/* Subroutine */ int dlaed8_(integer *icompq, integer *k, integer *n, integer
1551 *qsiz, doublereal *d__, doublereal *q, integer *ldq, integer *indxq,
1552 doublereal *rho, integer *cutpnt, doublereal *z__, doublereal *dlamda,
1553 doublereal *q2, integer *ldq2, doublereal *w, integer *perm, integer
1554 *givptr, integer *givcol, doublereal *givnum, integer *indxp, integer
1555 *indx, integer *info);
1556
1557/* Subroutine */ int dlaed9_(integer *k, integer *kstart, integer *kstop,
1558 integer *n, doublereal *d__, doublereal *q, integer *ldq, doublereal *
1559 rho, doublereal *dlamda, doublereal *w, doublereal *s, integer *lds,
1560 integer *info);
1561
1562/* Subroutine */ int dlaeda_(integer *n, integer *tlvls, integer *curlvl,
1563 integer *curpbm, integer *prmptr, integer *perm, integer *givptr,
1564 integer *givcol, doublereal *givnum, doublereal *q, integer *qptr,
1565 doublereal *z__, doublereal *ztemp, integer *info);
1566
1567/* Subroutine */ int dlaein_(logical *rightv, logical *noinit, integer *n,
1568 doublereal *h__, integer *ldh, doublereal *wr, doublereal *wi,
1569 doublereal *vr, doublereal *vi, doublereal *b, integer *ldb,
1570 doublereal *work, doublereal *eps3, doublereal *smlnum, doublereal *
1571 bignum, integer *info);
1572
1573/* Subroutine */ int dlaev2_(doublereal *a, doublereal *b, doublereal *c__,
1574 doublereal *rt1, doublereal *rt2, doublereal *cs1, doublereal *sn1);
1575
1576/* Subroutine */ int dlaexc_(logical *wantq, integer *n, doublereal *t,
1577 integer *ldt, doublereal *q, integer *ldq, integer *j1, integer *n1,
1578 integer *n2, doublereal *work, integer *info);
1579
1580/* Subroutine */ int dlag2_(doublereal *a, integer *lda, doublereal *b,
1581 integer *ldb, doublereal *safmin, doublereal *scale1, doublereal *
1582 scale2, doublereal *wr1, doublereal *wr2, doublereal *wi);
1583
1584/* Subroutine */ int dlags2_(logical *upper, doublereal *a1, doublereal *a2,
1585 doublereal *a3, doublereal *b1, doublereal *b2, doublereal *b3,
1586 doublereal *csu, doublereal *snu, doublereal *csv, doublereal *snv,
1587 doublereal *csq, doublereal *snq);
1588
1589/* Subroutine */ int dlagtf_(integer *n, doublereal *a, doublereal *lambda,
1590 doublereal *b, doublereal *c__, doublereal *tol, doublereal *d__,
1591 integer *in, integer *info);
1592
1593/* Subroutine */ int dlagtm_(char *trans, integer *n, integer *nrhs,
1594 doublereal *alpha, doublereal *dl, doublereal *d__, doublereal *du,
1595 doublereal *x, integer *ldx, doublereal *beta, doublereal *b, integer
1596 *ldb);
1597
1598/* Subroutine */ int dlagts_(integer *job, integer *n, doublereal *a,
1599 doublereal *b, doublereal *c__, doublereal *d__, integer *in,
1600 doublereal *y, doublereal *tol, integer *info);
1601
1602/* Subroutine */ int dlagv2_(doublereal *a, integer *lda, doublereal *b,
1603 integer *ldb, doublereal *alphar, doublereal *alphai, doublereal *
1604 beta, doublereal *csl, doublereal *snl, doublereal *csr, doublereal *
1605 snr);
1606
1607/* Subroutine */ int dlahqr_(logical *wantt, logical *wantz, integer *n,
1608 integer *ilo, integer *ihi, doublereal *h__, integer *ldh, doublereal
1609 *wr, doublereal *wi, integer *iloz, integer *ihiz, doublereal *z__,
1610 integer *ldz, integer *info);
1611
1612/* Subroutine */ int dlahrd_(integer *n, integer *k, integer *nb, doublereal *
1613 a, integer *lda, doublereal *tau, doublereal *t, integer *ldt,
1614 doublereal *y, integer *ldy);
1615
1616/* Subroutine */ int dlaic1_(integer *job, integer *j, doublereal *x,
1617 doublereal *sest, doublereal *w, doublereal *gamma, doublereal *
1618 sestpr, doublereal *s, doublereal *c__);
1619
1620/* Subroutine */ int dlaln2_(logical *ltrans, integer *na, integer *nw,
1621 doublereal *smin, doublereal *ca, doublereal *a, integer *lda,
1622 doublereal *d1, doublereal *d2, doublereal *b, integer *ldb,
1623 doublereal *wr, doublereal *wi, doublereal *x, integer *ldx,
1624 doublereal *scale, doublereal *xnorm, integer *info);
1625
1626/* Subroutine */ int dlals0_(integer *icompq, integer *nl, integer *nr,
1627 integer *sqre, integer *nrhs, doublereal *b, integer *ldb, doublereal
1628 *bx, integer *ldbx, integer *perm, integer *givptr, integer *givcol,
1629 integer *ldgcol, doublereal *givnum, integer *ldgnum, doublereal *
1630 poles, doublereal *difl, doublereal *difr, doublereal *z__, integer *
1631 k, doublereal *c__, doublereal *s, doublereal *work, integer *info);
1632
1633/* Subroutine */ int dlalsa_(integer *icompq, integer *smlsiz, integer *n,
1634 integer *nrhs, doublereal *b, integer *ldb, doublereal *bx, integer *
1635 ldbx, doublereal *u, integer *ldu, doublereal *vt, integer *k,
1636 doublereal *difl, doublereal *difr, doublereal *z__, doublereal *
1637 poles, integer *givptr, integer *givcol, integer *ldgcol, integer *
1638 perm, doublereal *givnum, doublereal *c__, doublereal *s, doublereal *
1639 work, integer *iwork, integer *info);
1640
1641/* Subroutine */ int dlalsd_(char *uplo, integer *smlsiz, integer *n, integer
1642 *nrhs, doublereal *d__, doublereal *e, doublereal *b, integer *ldb,
1643 doublereal *rcond, integer *rank, doublereal *work, integer *iwork,
1644 integer *info);
1645
1646/* Subroutine */ int dlamc1_(integer *beta, integer *t, logical *rnd, logical
1647 *ieee1);
1648
1649/* Subroutine */ int dlamc2_(integer *beta, integer *t, logical *rnd,
1650 doublereal *eps, integer *emin, doublereal *rmin, integer *emax,
1651 doublereal *rmax);
1652
1653/* Subroutine */ int dlamc4_(integer *emin, doublereal *start, integer *base);
1654
1655/* Subroutine */ int dlamc5_(integer *beta, integer *p, integer *emin,
1656 logical *ieee, integer *emax, doublereal *rmax);
1657
1658/* Subroutine */ int dlamrg_(integer *n1, integer *n2, doublereal *a, integer
1659 *dtrd1, integer *dtrd2, integer *index);
1660
1661/* Subroutine */ int dlanv2_(doublereal *a, doublereal *b, doublereal *c__,
1662 doublereal *d__, doublereal *rt1r, doublereal *rt1i, doublereal *rt2r,
1663 doublereal *rt2i, doublereal *cs, doublereal *sn);
1664
1665/* Subroutine */ int dlapll_(integer *n, doublereal *x, integer *incx,
1666 doublereal *y, integer *incy, doublereal *ssmin);
1667
1668/* Subroutine */ int dlapmt_(logical *forwrd, integer *m, integer *n,
1669 doublereal *x, integer *ldx, integer *k);
1670
1671/* Subroutine */ int dlaqgb_(integer *m, integer *n, integer *kl, integer *ku,
1672 doublereal *ab, integer *ldab, doublereal *r__, doublereal *c__,
1673 doublereal *rowcnd, doublereal *colcnd, doublereal *amax, char *equed);
1674
1675/* Subroutine */ int dlaqge_(integer *m, integer *n, doublereal *a, integer *
1676 lda, doublereal *r__, doublereal *c__, doublereal *rowcnd, doublereal
1677 *colcnd, doublereal *amax, char *equed);
1678
1679/* Subroutine */ int dlaqp2_(integer *m, integer *n, integer *offset,
1680 doublereal *a, integer *lda, integer *jpvt, doublereal *tau,
1681 doublereal *vn1, doublereal *vn2, doublereal *work);
1682
1683/* Subroutine */ int dlaqps_(integer *m, integer *n, integer *offset, integer
1684 *nb, integer *kb, doublereal *a, integer *lda, integer *jpvt,
1685 doublereal *tau, doublereal *vn1, doublereal *vn2, doublereal *auxv,
1686 doublereal *f, integer *ldf);
1687
1688/* Subroutine */ int dlaqsb_(char *uplo, integer *n, integer *kd, doublereal *
1689 ab, integer *ldab, doublereal *s, doublereal *scond, doublereal *amax,
1690 char *equed);
1691
1692/* Subroutine */ int dlaqsp_(char *uplo, integer *n, doublereal *ap,
1693 doublereal *s, doublereal *scond, doublereal *amax, char *equed);
1694
1695/* Subroutine */ int dlaqsy_(char *uplo, integer *n, doublereal *a, integer *
1696 lda, doublereal *s, doublereal *scond, doublereal *amax, char *equed);
1697
1698/* Subroutine */ int dlaqtr_(logical *ltran, logical *lreal, integer *n,
1699 doublereal *t, integer *ldt, doublereal *b, doublereal *w, doublereal
1700 *scale, doublereal *x, doublereal *work, integer *info);
1701
1702/* Subroutine */ int dlar1v_(integer *n, integer *b1, integer *bn, doublereal
1703 *sigma, doublereal *d__, doublereal *l, doublereal *ld, doublereal *
1704 lld, doublereal *gersch, doublereal *z__, doublereal *ztz, doublereal
1705 *mingma, integer *r__, integer *isuppz, doublereal *work);
1706
1707/* Subroutine */ int dlar2v_(integer *n, doublereal *x, doublereal *y,
1708 doublereal *z__, integer *incx, doublereal *c__, doublereal *s,
1709 integer *incc);
1710
1711/* Subroutine */ int dlarf_(char *side, integer *m, integer *n, doublereal *v,
1712 integer *incv, doublereal *tau, doublereal *c__, integer *ldc,
1713 doublereal *work);
1714
1715/* Subroutine */ int dlarfb_(char *side, char *trans, char *direct, char *
1716 storev, integer *m, integer *n, integer *k, doublereal *v, integer *
1717 ldv, doublereal *t, integer *ldt, doublereal *c__, integer *ldc,
1718 doublereal *work, integer *ldwork);
1719
1720/* Subroutine */ int dlarfg_(integer *n, doublereal *alpha, doublereal *x,
1721 integer *incx, doublereal *tau);
1722
1723/* Subroutine */ int dlarft_(char *direct, char *storev, integer *n, integer *
1724 k, doublereal *v, integer *ldv, doublereal *tau, doublereal *t,
1725 integer *ldt);
1726
1727/* Subroutine */ int dlarfx_(char *side, integer *m, integer *n, doublereal *
1728 v, doublereal *tau, doublereal *c__, integer *ldc, doublereal *work);
1729
1730/* Subroutine */ int dlargv_(integer *n, doublereal *x, integer *incx,
1731 doublereal *y, integer *incy, doublereal *c__, integer *incc);
1732
1733/* Subroutine */ int dlarnv_(integer *idist, integer *iseed, integer *n,
1734 doublereal *x);
1735
1736/* Subroutine */ int dlarrb_(integer *n, doublereal *d__, doublereal *l,
1737 doublereal *ld, doublereal *lld, integer *ifirst, integer *ilast,
1738 doublereal *sigma, doublereal *reltol, doublereal *w, doublereal *
1739 wgap, doublereal *werr, doublereal *work, integer *iwork, integer *
1740 info);
1741
1742/* Subroutine */ int dlarre_(integer *n, doublereal *d__, doublereal *e,
1743 doublereal *tol, integer *nsplit, integer *isplit, integer *m,
1744 doublereal *w, doublereal *woff, doublereal *gersch, doublereal *work,
1745 integer *info);
1746
1747/* Subroutine */ int dlarrf_(integer *n, doublereal *d__, doublereal *l,
1748 doublereal *ld, doublereal *lld, integer *ifirst, integer *ilast,
1749 doublereal *w, doublereal *dplus, doublereal *lplus, doublereal *work,
1750 integer *iwork, integer *info);
1751
1752/* Subroutine */ int dlarrv_(integer *n, doublereal *d__, doublereal *l,
1753 integer *isplit, integer *m, doublereal *w, integer *iblock,
1754 doublereal *gersch, doublereal *tol, doublereal *z__, integer *ldz,
1755 integer *isuppz, doublereal *work, integer *iwork, integer *info);
1756
1757/* Subroutine */ int dlartg_(doublereal *f, doublereal *g, doublereal *cs,
1758 doublereal *sn, doublereal *r__);
1759
1760/* Subroutine */ int dlartv_(integer *n, doublereal *x, integer *incx,
1761 doublereal *y, integer *incy, doublereal *c__, doublereal *s, integer
1762 *incc);
1763
1764/* Subroutine */ int dlaruv_(integer *iseed, integer *n, doublereal *x);
1765
1766/* Subroutine */ int dlarz_(char *side, integer *m, integer *n, integer *l,
1767 doublereal *v, integer *incv, doublereal *tau, doublereal *c__,
1768 integer *ldc, doublereal *work);
1769
1770/* Subroutine */ int dlarzb_(char *side, char *trans, char *direct, char *
1771 storev, integer *m, integer *n, integer *k, integer *l, doublereal *v,
1772 integer *ldv, doublereal *t, integer *ldt, doublereal *c__, integer *
1773 ldc, doublereal *work, integer *ldwork);
1774
1775/* Subroutine */ int dlarzt_(char *direct, char *storev, integer *n, integer *
1776 k, doublereal *v, integer *ldv, doublereal *tau, doublereal *t,
1777 integer *ldt);
1778
1779/* Subroutine */ int dlas2_(doublereal *f, doublereal *g, doublereal *h__,
1780 doublereal *ssmin, doublereal *ssmax);
1781
1782/* Subroutine */ int dlascl_(char *type__, integer *kl, integer *ku,
1783 doublereal *cfrom, doublereal *cto, integer *m, integer *n,
1784 doublereal *a, integer *lda, integer *info);
1785
1786/* Subroutine */ int dlasd0_(integer *n, integer *sqre, doublereal *d__,
1787 doublereal *e, doublereal *u, integer *ldu, doublereal *vt, integer *
1788 ldvt, integer *smlsiz, integer *iwork, doublereal *work, integer *
1789 info);
1790
1791/* Subroutine */ int dlasd1_(integer *nl, integer *nr, integer *sqre,
1792 doublereal *d__, doublereal *alpha, doublereal *beta, doublereal *u,
1793 integer *ldu, doublereal *vt, integer *ldvt, integer *idxq, integer *
1794 iwork, doublereal *work, integer *info);
1795
1796/* Subroutine */ int dlasd2_(integer *nl, integer *nr, integer *sqre, integer
1797 *k, doublereal *d__, doublereal *z__, doublereal *alpha, doublereal *
1798 beta, doublereal *u, integer *ldu, doublereal *vt, integer *ldvt,
1799 doublereal *dsigma, doublereal *u2, integer *ldu2, doublereal *vt2,
1800 integer *ldvt2, integer *idxp, integer *idx, integer *idxc, integer *
1801 idxq, integer *coltyp, integer *info);
1802
1803/* Subroutine */ int dlasd3_(integer *nl, integer *nr, integer *sqre, integer
1804 *k, doublereal *d__, doublereal *q, integer *ldq, doublereal *dsigma,
1805 doublereal *u, integer *ldu, doublereal *u2, integer *ldu2,
1806 doublereal *vt, integer *ldvt, doublereal *vt2, integer *ldvt2,
1807 integer *idxc, integer *ctot, doublereal *z__, integer *info);
1808
1809/* Subroutine */ int dlasd4_(integer *n, integer *i__, doublereal *d__,
1810 doublereal *z__, doublereal *delta, doublereal *rho, doublereal *
1811 sigma, doublereal *work, integer *info);
1812
1813/* Subroutine */ int dlasd5_(integer *i__, doublereal *d__, doublereal *z__,
1814 doublereal *delta, doublereal *rho, doublereal *dsigma, doublereal *
1815 work);
1816
1817/* Subroutine */ int dlasd6_(integer *icompq, integer *nl, integer *nr,
1818 integer *sqre, doublereal *d__, doublereal *vf, doublereal *vl,
1819 doublereal *alpha, doublereal *beta, integer *idxq, integer *perm,
1820 integer *givptr, integer *givcol, integer *ldgcol, doublereal *givnum,
1821 integer *ldgnum, doublereal *poles, doublereal *difl, doublereal *
1822 difr, doublereal *z__, integer *k, doublereal *c__, doublereal *s,
1823 doublereal *work, integer *iwork, integer *info);
1824
1825/* Subroutine */ int dlasd7_(integer *icompq, integer *nl, integer *nr,
1826 integer *sqre, integer *k, doublereal *d__, doublereal *z__,
1827 doublereal *zw, doublereal *vf, doublereal *vfw, doublereal *vl,
1828 doublereal *vlw, doublereal *alpha, doublereal *beta, doublereal *
1829 dsigma, integer *idx, integer *idxp, integer *idxq, integer *perm,
1830 integer *givptr, integer *givcol, integer *ldgcol, doublereal *givnum,
1831 integer *ldgnum, doublereal *c__, doublereal *s, integer *info);
1832
1833/* Subroutine */ int dlasd8_(integer *icompq, integer *k, doublereal *d__,
1834 doublereal *z__, doublereal *vf, doublereal *vl, doublereal *difl,
1835 doublereal *difr, integer *lddifr, doublereal *dsigma, doublereal *
1836 work, integer *info);
1837
1838/* Subroutine */ int dlasd9_(integer *icompq, integer *ldu, integer *k,
1839 doublereal *d__, doublereal *z__, doublereal *vf, doublereal *vl,
1840 doublereal *difl, doublereal *difr, doublereal *dsigma, doublereal *
1841 work, integer *info);
1842
1843/* Subroutine */ int dlasda_(integer *icompq, integer *smlsiz, integer *n,
1844 integer *sqre, doublereal *d__, doublereal *e, doublereal *u, integer
1845 *ldu, doublereal *vt, integer *k, doublereal *difl, doublereal *difr,
1846 doublereal *z__, doublereal *poles, integer *givptr, integer *givcol,
1847 integer *ldgcol, integer *perm, doublereal *givnum, doublereal *c__,
1848 doublereal *s, doublereal *work, integer *iwork, integer *info);
1849
1850/* Subroutine */ int dlasdq_(char *uplo, integer *sqre, integer *n, integer *
1851 ncvt, integer *nru, integer *ncc, doublereal *d__, doublereal *e,
1852 doublereal *vt, integer *ldvt, doublereal *u, integer *ldu,
1853 doublereal *c__, integer *ldc, doublereal *work, integer *info);
1854
1855/* Subroutine */ int dlasdt_(integer *n, integer *lvl, integer *nd, integer *
1856 inode, integer *ndiml, integer *ndimr, integer *msub);
1857
1858/* Subroutine */ int dlaset_(char *uplo, integer *m, integer *n, doublereal *
1859 alpha, doublereal *beta, doublereal *a, integer *lda);
1860
1861/* Subroutine */ int dlasq1_(integer *n, doublereal *d__, doublereal *e,
1862 doublereal *work, integer *info);
1863
1864/* Subroutine */ int dlasq2_(integer *n, doublereal *z__, integer *info);
1865
1866/* Subroutine */ int dlasq3_(integer *i0, integer *n0, doublereal *z__,
1867 integer *pp, doublereal *dmin__, doublereal *sigma, doublereal *desig,
1868 doublereal *qmax, integer *nfail, integer *iter, integer *ndiv,
1869 logical *ieee);
1870
1871/* Subroutine */ int dlasq4_(integer *i0, integer *n0, doublereal *z__,
1872 integer *pp, integer *n0in, doublereal *dmin__, doublereal *dmin1,
1873 doublereal *dmin2, doublereal *dn, doublereal *dn1, doublereal *dn2,
1874 doublereal *tau, integer *ttype);
1875
1876/* Subroutine */ int dlasq5_(integer *i0, integer *n0, doublereal *z__,
1877 integer *pp, doublereal *tau, doublereal *dmin__, doublereal *dmin1,
1878 doublereal *dmin2, doublereal *dn, doublereal *dnm1, doublereal *dnm2,
1879 logical *ieee);
1880
1881/* Subroutine */ int dlasq6_(integer *i0, integer *n0, doublereal *z__,
1882 integer *pp, doublereal *dmin__, doublereal *dmin1, doublereal *dmin2,
1883 doublereal *dn, doublereal *dnm1, doublereal *dnm2);
1884
1885/* Subroutine */ int dlasr_(char *side, char *pivot, char *direct, integer *m,
1886 integer *n, doublereal *c__, doublereal *s, doublereal *a, integer *
1887 lda);
1888
1889/* Subroutine */ int dlasrt_(char *id, integer *n, doublereal *d__, integer *
1890 info);
1891
1892/* Subroutine */ int dlassq_(integer *n, doublereal *x, integer *incx,
1893 doublereal *scale, doublereal *sumsq);
1894
1895/* Subroutine */ int dlasv2_(doublereal *f, doublereal *g, doublereal *h__,
1896 doublereal *ssmin, doublereal *ssmax, doublereal *snr, doublereal *
1897 csr, doublereal *snl, doublereal *csl);
1898
1899/* Subroutine */ int dlaswp_(integer *n, doublereal *a, integer *lda, integer
1900 *k1, integer *k2, integer *ipiv, integer *incx);
1901
1902/* Subroutine */ int dlasy2_(logical *ltranl, logical *ltranr, integer *isgn,
1903 integer *n1, integer *n2, doublereal *tl, integer *ldtl, doublereal *
1904 tr, integer *ldtr, doublereal *b, integer *ldb, doublereal *scale,
1905 doublereal *x, integer *ldx, doublereal *xnorm, integer *info);
1906
1907/* Subroutine */ int dlasyf_(char *uplo, integer *n, integer *nb, integer *kb,
1908 doublereal *a, integer *lda, integer *ipiv, doublereal *w, integer *
1909 ldw, integer *info);
1910
1911/* Subroutine */ int dlatbs_(char *uplo, char *trans, char *diag, char *
1912 normin, integer *n, integer *kd, doublereal *ab, integer *ldab,
1913 doublereal *x, doublereal *scale, doublereal *cnorm, integer *info);
1914
1915/* Subroutine */ int dlatdf_(integer *ijob, integer *n, doublereal *z__,
1916 integer *ldz, doublereal *rhs, doublereal *rdsum, doublereal *rdscal,
1917 integer *ipiv, integer *jpiv);
1918
1919/* Subroutine */ int dlatps_(char *uplo, char *trans, char *diag, char *
1920 normin, integer *n, doublereal *ap, doublereal *x, doublereal *scale,
1921 doublereal *cnorm, integer *info);
1922
1923/* Subroutine */ int dlatrd_(char *uplo, integer *n, integer *nb, doublereal *
1924 a, integer *lda, doublereal *e, doublereal *tau, doublereal *w,
1925 integer *ldw);
1926
1927/* Subroutine */ int dlatrs_(char *uplo, char *trans, char *diag, char *
1928 normin, integer *n, doublereal *a, integer *lda, doublereal *x,
1929 doublereal *scale, doublereal *cnorm, integer *info);
1930
1931/* Subroutine */ int dlatrz_(integer *m, integer *n, integer *l, doublereal *
1932 a, integer *lda, doublereal *tau, doublereal *work);
1933
1934/* Subroutine */ int dlatzm_(char *side, integer *m, integer *n, doublereal *
1935 v, integer *incv, doublereal *tau, doublereal *c1, doublereal *c2,
1936 integer *ldc, doublereal *work);
1937
1938/* Subroutine */ int dlauu2_(char *uplo, integer *n, doublereal *a, integer *
1939 lda, integer *info);
1940
1941/* Subroutine */ int dlauum_(char *uplo, integer *n, doublereal *a, integer *
1942 lda, integer *info);
1943
1944/* Subroutine */ int dopgtr_(char *uplo, integer *n, doublereal *ap,
1945 doublereal *tau, doublereal *q, integer *ldq, doublereal *work,
1946 integer *info);
1947
1948/* Subroutine */ int dopmtr_(char *side, char *uplo, char *trans, integer *m,
1949 integer *n, doublereal *ap, doublereal *tau, doublereal *c__, integer
1950 *ldc, doublereal *work, integer *info);
1951
1952/* Subroutine */ int dorg2l_(integer *m, integer *n, integer *k, doublereal *
1953 a, integer *lda, doublereal *tau, doublereal *work, integer *info);
1954
1955/* Subroutine */ int dorg2r_(integer *m, integer *n, integer *k, doublereal *
1956 a, integer *lda, doublereal *tau, doublereal *work, integer *info);
1957
1958/* Subroutine */ int dorgbr_(char *vect, integer *m, integer *n, integer *k,
1959 doublereal *a, integer *lda, doublereal *tau, doublereal *work,
1960 integer *lwork, integer *info);
1961
1962/* Subroutine */ int dorghr_(integer *n, integer *ilo, integer *ihi,
1963 doublereal *a, integer *lda, doublereal *tau, doublereal *work,
1964 integer *lwork, integer *info);
1965
1966/* Subroutine */ int dorgl2_(integer *m, integer *n, integer *k, doublereal *
1967 a, integer *lda, doublereal *tau, doublereal *work, integer *info);
1968
1969/* Subroutine */ int dorglq_(integer *m, integer *n, integer *k, doublereal *
1970 a, integer *lda, doublereal *tau, doublereal *work, integer *lwork,
1971 integer *info);
1972
1973/* Subroutine */ int dorgql_(integer *m, integer *n, integer *k, doublereal *
1974 a, integer *lda, doublereal *tau, doublereal *work, integer *lwork,
1975 integer *info);
1976
1977/* Subroutine */ int dorgqr_(integer *m, integer *n, integer *k, doublereal *
1978 a, integer *lda, doublereal *tau, doublereal *work, integer *lwork,
1979 integer *info);
1980
1981/* Subroutine */ int dorgr2_(integer *m, integer *n, integer *k, doublereal *
1982 a, integer *lda, doublereal *tau, doublereal *work, integer *info);
1983
1984/* Subroutine */ int dorgrq_(integer *m, integer *n, integer *k, doublereal *
1985 a, integer *lda, doublereal *tau, doublereal *work, integer *lwork,
1986 integer *info);
1987
1988/* Subroutine */ int dorgtr_(char *uplo, integer *n, doublereal *a, integer *
1989 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
1990
1991/* Subroutine */ int dorm2l_(char *side, char *trans, integer *m, integer *n,
1992 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
1993 c__, integer *ldc, doublereal *work, integer *info);
1994
1995/* Subroutine */ int dorm2r_(char *side, char *trans, integer *m, integer *n,
1996 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
1997 c__, integer *ldc, doublereal *work, integer *info);
1998
1999/* Subroutine */ int dormbr_(char *vect, char *side, char *trans, integer *m,
2000 integer *n, integer *k, doublereal *a, integer *lda, doublereal *tau,
2001 doublereal *c__, integer *ldc, doublereal *work, integer *lwork,
2002 integer *info);
2003
2004/* Subroutine */ int dormhr_(char *side, char *trans, integer *m, integer *n,
2005 integer *ilo, integer *ihi, doublereal *a, integer *lda, doublereal *
2006 tau, doublereal *c__, integer *ldc, doublereal *work, integer *lwork,
2007 integer *info);
2008
2009/* Subroutine */ int dorml2_(char *side, char *trans, integer *m, integer *n,
2010 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2011 c__, integer *ldc, doublereal *work, integer *info);
2012
2013/* Subroutine */ int dormlq_(char *side, char *trans, integer *m, integer *n,
2014 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2015 c__, integer *ldc, doublereal *work, integer *lwork, integer *info);
2016
2017/* Subroutine */ int dormql_(char *side, char *trans, integer *m, integer *n,
2018 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2019 c__, integer *ldc, doublereal *work, integer *lwork, integer *info);
2020
2021/* Subroutine */ int dormqr_(char *side, char *trans, integer *m, integer *n,
2022 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2023 c__, integer *ldc, doublereal *work, integer *lwork, integer *info);
2024
2025/* Subroutine */ int dormr2_(char *side, char *trans, integer *m, integer *n,
2026 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2027 c__, integer *ldc, doublereal *work, integer *info);
2028
2029/* Subroutine */ int dormr3_(char *side, char *trans, integer *m, integer *n,
2030 integer *k, integer *l, doublereal *a, integer *lda, doublereal *tau,
2031 doublereal *c__, integer *ldc, doublereal *work, integer *info);
2032
2033/* Subroutine */ int dormrq_(char *side, char *trans, integer *m, integer *n,
2034 integer *k, doublereal *a, integer *lda, doublereal *tau, doublereal *
2035 c__, integer *ldc, doublereal *work, integer *lwork, integer *info);
2036
2037/* Subroutine */ int dormrz_(char *side, char *trans, integer *m, integer *n,
2038 integer *k, integer *l, doublereal *a, integer *lda, doublereal *tau,
2039 doublereal *c__, integer *ldc, doublereal *work, integer *lwork,
2040 integer *info);
2041
2042/* Subroutine */ int dormtr_(char *side, char *uplo, char *trans, integer *m,
2043 integer *n, doublereal *a, integer *lda, doublereal *tau, doublereal *
2044 c__, integer *ldc, doublereal *work, integer *lwork, integer *info);
2045
2046/* Subroutine */ int dpbcon_(char *uplo, integer *n, integer *kd, doublereal *
2047 ab, integer *ldab, doublereal *anorm, doublereal *rcond, doublereal *
2048 work, integer *iwork, integer *info);
2049
2050/* Subroutine */ int dpbequ_(char *uplo, integer *n, integer *kd, doublereal *
2051 ab, integer *ldab, doublereal *s, doublereal *scond, doublereal *amax,
2052 integer *info);
2053
2054/* Subroutine */ int dpbrfs_(char *uplo, integer *n, integer *kd, integer *
2055 nrhs, doublereal *ab, integer *ldab, doublereal *afb, integer *ldafb,
2056 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
2057 ferr, doublereal *berr, doublereal *work, integer *iwork, integer *
2058 info);
2059
2060/* Subroutine */ int dpbstf_(char *uplo, integer *n, integer *kd, doublereal *
2061 ab, integer *ldab, integer *info);
2062
2063/* Subroutine */ int dpbsv_(char *uplo, integer *n, integer *kd, integer *
2064 nrhs, doublereal *ab, integer *ldab, doublereal *b, integer *ldb,
2065 integer *info);
2066
2067/* Subroutine */ int dpbsvx_(char *fact, char *uplo, integer *n, integer *kd,
2068 integer *nrhs, doublereal *ab, integer *ldab, doublereal *afb,
2069 integer *ldafb, char *equed, doublereal *s, doublereal *b, integer *
2070 ldb, doublereal *x, integer *ldx, doublereal *rcond, doublereal *ferr,
2071 doublereal *berr, doublereal *work, integer *iwork, integer *info);
2072
2073/* Subroutine */ int dpbtf2_(char *uplo, integer *n, integer *kd, doublereal *
2074 ab, integer *ldab, integer *info);
2075
2076/* Subroutine */ int dpbtrf_(char *uplo, integer *n, integer *kd, doublereal *
2077 ab, integer *ldab, integer *info);
2078
2079/* Subroutine */ int dpbtrs_(char *uplo, integer *n, integer *kd, integer *
2080 nrhs, doublereal *ab, integer *ldab, doublereal *b, integer *ldb,
2081 integer *info);
2082
2083/* Subroutine */ int dpocon_(char *uplo, integer *n, doublereal *a, integer *
2084 lda, doublereal *anorm, doublereal *rcond, doublereal *work, integer *
2085 iwork, integer *info);
2086
2087/* Subroutine */ int dpoequ_(integer *n, doublereal *a, integer *lda,
2088 doublereal *s, doublereal *scond, doublereal *amax, integer *info);
2089
2090/* Subroutine */ int dporfs_(char *uplo, integer *n, integer *nrhs,
2091 doublereal *a, integer *lda, doublereal *af, integer *ldaf,
2092 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
2093 ferr, doublereal *berr, doublereal *work, integer *iwork, integer *
2094 info);
2095
2096/* Subroutine */ int dposv_(char *uplo, integer *n, integer *nrhs, doublereal
2097 *a, integer *lda, doublereal *b, integer *ldb, integer *info);
2098
2099/* Subroutine */ int dposvx_(char *fact, char *uplo, integer *n, integer *
2100 nrhs, doublereal *a, integer *lda, doublereal *af, integer *ldaf,
2101 char *equed, doublereal *s, doublereal *b, integer *ldb, doublereal *
2102 x, integer *ldx, doublereal *rcond, doublereal *ferr, doublereal *
2103 berr, doublereal *work, integer *iwork, integer *info);
2104
2105/* Subroutine */ int dpotf2_(char *uplo, integer *n, doublereal *a, integer *
2106 lda, integer *info);
2107
2108/* Subroutine */ int dpotrf_(char *uplo, integer *n, doublereal *a, integer *
2109 lda, integer *info);
2110
2111/* Subroutine */ int dpotri_(char *uplo, integer *n, doublereal *a, integer *
2112 lda, integer *info);
2113
2114/* Subroutine */ int dpotrs_(char *uplo, integer *n, integer *nrhs,
2115 doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
2116 info);
2117
2118/* Subroutine */ int dppcon_(char *uplo, integer *n, doublereal *ap,
2119 doublereal *anorm, doublereal *rcond, doublereal *work, integer *
2120 iwork, integer *info);
2121
2122/* Subroutine */ int dppequ_(char *uplo, integer *n, doublereal *ap,
2123 doublereal *s, doublereal *scond, doublereal *amax, integer *info);
2124
2125/* Subroutine */ int dpprfs_(char *uplo, integer *n, integer *nrhs,
2126 doublereal *ap, doublereal *afp, doublereal *b, integer *ldb,
2127 doublereal *x, integer *ldx, doublereal *ferr, doublereal *berr,
2128 doublereal *work, integer *iwork, integer *info);
2129
2130/* Subroutine */ int dppsv_(char *uplo, integer *n, integer *nrhs, doublereal
2131 *ap, doublereal *b, integer *ldb, integer *info);
2132
2133/* Subroutine */ int dppsvx_(char *fact, char *uplo, integer *n, integer *
2134 nrhs, doublereal *ap, doublereal *afp, char *equed, doublereal *s,
2135 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
2136 rcond, doublereal *ferr, doublereal *berr, doublereal *work, integer *
2137 iwork, integer *info);
2138
2139/* Subroutine */ int dpptrf_(char *uplo, integer *n, doublereal *ap, integer *
2140 info);
2141
2142/* Subroutine */ int dpptri_(char *uplo, integer *n, doublereal *ap, integer *
2143 info);
2144
2145/* Subroutine */ int dpptrs_(char *uplo, integer *n, integer *nrhs,
2146 doublereal *ap, doublereal *b, integer *ldb, integer *info);
2147
2148/* Subroutine */ int dptcon_(integer *n, doublereal *d__, doublereal *e,
2149 doublereal *anorm, doublereal *rcond, doublereal *work, integer *info);
2150
2151/* Subroutine */ int dpteqr_(char *compz, integer *n, doublereal *d__,
2152 doublereal *e, doublereal *z__, integer *ldz, doublereal *work,
2153 integer *info);
2154
2155/* Subroutine */ int dptrfs_(integer *n, integer *nrhs, doublereal *d__,
2156 doublereal *e, doublereal *df, doublereal *ef, doublereal *b, integer
2157 *ldb, doublereal *x, integer *ldx, doublereal *ferr, doublereal *berr,
2158 doublereal *work, integer *info);
2159
2160/* Subroutine */ int dptsv_(integer *n, integer *nrhs, doublereal *d__,
2161 doublereal *e, doublereal *b, integer *ldb, integer *info);
2162
2163/* Subroutine */ int dptsvx_(char *fact, integer *n, integer *nrhs,
2164 doublereal *d__, doublereal *e, doublereal *df, doublereal *ef,
2165 doublereal *b, integer *ldb, doublereal *x, integer *ldx, doublereal *
2166 rcond, doublereal *ferr, doublereal *berr, doublereal *work, integer *
2167 info);
2168
2169/* Subroutine */ int dpttrf_(integer *n, doublereal *d__, doublereal *e,
2170 integer *info);
2171
2172/* Subroutine */ int dpttrs_(integer *n, integer *nrhs, doublereal *d__,
2173 doublereal *e, doublereal *b, integer *ldb, integer *info);
2174
2175/* Subroutine */ int dptts2_(integer *n, integer *nrhs, doublereal *d__,
2176 doublereal *e, doublereal *b, integer *ldb);
2177
2178/* Subroutine */ int drscl_(integer *n, doublereal *sa, doublereal *sx,
2179 integer *incx);
2180
2181/* Subroutine */ int dsbev_(char *jobz, char *uplo, integer *n, integer *kd,
2182 doublereal *ab, integer *ldab, doublereal *w, doublereal *z__,
2183 integer *ldz, doublereal *work, integer *info);
2184
2185/* Subroutine */ int dsbevd_(char *jobz, char *uplo, integer *n, integer *kd,
2186 doublereal *ab, integer *ldab, doublereal *w, doublereal *z__,
2187 integer *ldz, doublereal *work, integer *lwork, integer *iwork,
2188 integer *liwork, integer *info);
2189
2190/* Subroutine */ int dsbevx_(char *jobz, char *range, char *uplo, integer *n,
2191 integer *kd, doublereal *ab, integer *ldab, doublereal *q, integer *
2192 ldq, doublereal *vl, doublereal *vu, integer *il, integer *iu,
2193 doublereal *abstol, integer *m, doublereal *w, doublereal *z__,
2194 integer *ldz, doublereal *work, integer *iwork, integer *ifail,
2195 integer *info);
2196
2197/* Subroutine */ int dsbgst_(char *vect, char *uplo, integer *n, integer *ka,
2198 integer *kb, doublereal *ab, integer *ldab, doublereal *bb, integer *
2199 ldbb, doublereal *x, integer *ldx, doublereal *work, integer *info);
2200
2201/* Subroutine */ int dsbgv_(char *jobz, char *uplo, integer *n, integer *ka,
2202 integer *kb, doublereal *ab, integer *ldab, doublereal *bb, integer *
2203 ldbb, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2204 integer *info);
2205
2206/* Subroutine */ int dsbgvd_(char *jobz, char *uplo, integer *n, integer *ka,
2207 integer *kb, doublereal *ab, integer *ldab, doublereal *bb, integer *
2208 ldbb, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2209 integer *lwork, integer *iwork, integer *liwork, integer *info);
2210
2211/* Subroutine */ int dsbgvx_(char *jobz, char *range, char *uplo, integer *n,
2212 integer *ka, integer *kb, doublereal *ab, integer *ldab, doublereal *
2213 bb, integer *ldbb, doublereal *q, integer *ldq, doublereal *vl,
2214 doublereal *vu, integer *il, integer *iu, doublereal *abstol, integer
2215 *m, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2216 integer *iwork, integer *ifail, integer *info);
2217
2218/* Subroutine */ int dsbtrd_(char *vect, char *uplo, integer *n, integer *kd,
2219 doublereal *ab, integer *ldab, doublereal *d__, doublereal *e,
2220 doublereal *q, integer *ldq, doublereal *work, integer *info);
2221
2222/* Subroutine */ int dspcon_(char *uplo, integer *n, doublereal *ap, integer *
2223 ipiv, doublereal *anorm, doublereal *rcond, doublereal *work, integer
2224 *iwork, integer *info);
2225
2226/* Subroutine */ int dspev_(char *jobz, char *uplo, integer *n, doublereal *
2227 ap, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2228 integer *info);
2229
2230/* Subroutine */ int dspevd_(char *jobz, char *uplo, integer *n, doublereal *
2231 ap, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2232 integer *lwork, integer *iwork, integer *liwork, integer *info);
2233
2234/* Subroutine */ int dspevx_(char *jobz, char *range, char *uplo, integer *n,
2235 doublereal *ap, doublereal *vl, doublereal *vu, integer *il, integer *
2236 iu, doublereal *abstol, integer *m, doublereal *w, doublereal *z__,
2237 integer *ldz, doublereal *work, integer *iwork, integer *ifail,
2238 integer *info);
2239
2240/* Subroutine */ int dspgst_(integer *itype, char *uplo, integer *n,
2241 doublereal *ap, doublereal *bp, integer *info);
2242
2243/* Subroutine */ int dspgv_(integer *itype, char *jobz, char *uplo, integer *
2244 n, doublereal *ap, doublereal *bp, doublereal *w, doublereal *z__,
2245 integer *ldz, doublereal *work, integer *info);
2246
2247/* Subroutine */ int dspgvd_(integer *itype, char *jobz, char *uplo, integer *
2248 n, doublereal *ap, doublereal *bp, doublereal *w, doublereal *z__,
2249 integer *ldz, doublereal *work, integer *lwork, integer *iwork,
2250 integer *liwork, integer *info);
2251
2252/* Subroutine */ int dspgvx_(integer *itype, char *jobz, char *range, char *
2253 uplo, integer *n, doublereal *ap, doublereal *bp, doublereal *vl,
2254 doublereal *vu, integer *il, integer *iu, doublereal *abstol, integer
2255 *m, doublereal *w, doublereal *z__, integer *ldz, doublereal *work,
2256 integer *iwork, integer *ifail, integer *info);
2257
2258/* Subroutine */ int dsprfs_(char *uplo, integer *n, integer *nrhs,
2259 doublereal *ap, doublereal *afp, integer *ipiv, doublereal *b,
2260 integer *ldb, doublereal *x, integer *ldx, doublereal *ferr,
2261 doublereal *berr, doublereal *work, integer *iwork, integer *info);
2262
2263/* Subroutine */ int dspsv_(char *uplo, integer *n, integer *nrhs, doublereal
2264 *ap, integer *ipiv, doublereal *b, integer *ldb, integer *info);
2265
2266/* Subroutine */ int dspsvx_(char *fact, char *uplo, integer *n, integer *
2267 nrhs, doublereal *ap, doublereal *afp, integer *ipiv, doublereal *b,
2268 integer *ldb, doublereal *x, integer *ldx, doublereal *rcond,
2269 doublereal *ferr, doublereal *berr, doublereal *work, integer *iwork,
2270 integer *info);
2271
2272/* Subroutine */ int dsptrd_(char *uplo, integer *n, doublereal *ap,
2273 doublereal *d__, doublereal *e, doublereal *tau, integer *info);
2274
2275/* Subroutine */ int dsptrf_(char *uplo, integer *n, doublereal *ap, integer *
2276 ipiv, integer *info);
2277
2278/* Subroutine */ int dsptri_(char *uplo, integer *n, doublereal *ap, integer *
2279 ipiv, doublereal *work, integer *info);
2280
2281/* Subroutine */ int dsptrs_(char *uplo, integer *n, integer *nrhs,
2282 doublereal *ap, integer *ipiv, doublereal *b, integer *ldb, integer *
2283 info);
2284
2285/* Subroutine */ int dstebz_(char *range, char *order, integer *n, doublereal
2286 *vl, doublereal *vu, integer *il, integer *iu, doublereal *abstol,
2287 doublereal *d__, doublereal *e, integer *m, integer *nsplit,
2288 doublereal *w, integer *iblock, integer *isplit, doublereal *work,
2289 integer *iwork, integer *info);
2290
2291/* Subroutine */ int dstedc_(char *compz, integer *n, doublereal *d__,
2292 doublereal *e, doublereal *z__, integer *ldz, doublereal *work,
2293 integer *lwork, integer *iwork, integer *liwork, integer *info);
2294
2295/* Subroutine */ int dstegr_(char *jobz, char *range, integer *n, doublereal *
2296 d__, doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2297 integer *iu, doublereal *abstol, integer *m, doublereal *w,
2298 doublereal *z__, integer *ldz, integer *isuppz, doublereal *work,
2299 integer *lwork, integer *iwork, integer *liwork, integer *info);
2300
2301/* Subroutine */ int dstein_(integer *n, doublereal *d__, doublereal *e,
2302 integer *m, doublereal *w, integer *iblock, integer *isplit,
2303 doublereal *z__, integer *ldz, doublereal *work, integer *iwork,
2304 integer *ifail, integer *info);
2305
2306/* Subroutine */ int dsteqr_(char *compz, integer *n, doublereal *d__,
2307 doublereal *e, doublereal *z__, integer *ldz, doublereal *work,
2308 integer *info);
2309
2310/* Subroutine */ int dsterf_(integer *n, doublereal *d__, doublereal *e,
2311 integer *info);
2312
2313/* Subroutine */ int dstev_(char *jobz, integer *n, doublereal *d__,
2314 doublereal *e, doublereal *z__, integer *ldz, doublereal *work,
2315 integer *info);
2316
2317/* Subroutine */ int dstevd_(char *jobz, integer *n, doublereal *d__,
2318 doublereal *e, doublereal *z__, integer *ldz, doublereal *work,
2319 integer *lwork, integer *iwork, integer *liwork, integer *info);
2320
2321/* Subroutine */ int dstevr_(char *jobz, char *range, integer *n, doublereal *
2322 d__, doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2323 integer *iu, doublereal *abstol, integer *m, doublereal *w,
2324 doublereal *z__, integer *ldz, integer *isuppz, doublereal *work,
2325 integer *lwork, integer *iwork, integer *liwork, integer *info);
2326
2327/* Subroutine */ int dstevx_(char *jobz, char *range, integer *n, doublereal *
2328 d__, doublereal *e, doublereal *vl, doublereal *vu, integer *il,
2329 integer *iu, doublereal *abstol, integer *m, doublereal *w,
2330 doublereal *z__, integer *ldz, doublereal *work, integer *iwork,
2331 integer *ifail, integer *info);
2332
2333/* Subroutine */ int dsycon_(char *uplo, integer *n, doublereal *a, integer *
2334 lda, integer *ipiv, doublereal *anorm, doublereal *rcond, doublereal *
2335 work, integer *iwork, integer *info);
2336
2337/* Subroutine */ int dsyev_(char *jobz, char *uplo, integer *n, doublereal *a,
2338 integer *lda, doublereal *w, doublereal *work, integer *lwork,
2339 integer *info);
2340
2341/* Subroutine */ int dsyevd_(char *jobz, char *uplo, integer *n, doublereal *
2342 a, integer *lda, doublereal *w, doublereal *work, integer *lwork,
2343 integer *iwork, integer *liwork, integer *info);
2344
2345/* Subroutine */ int dsyevr_(char *jobz, char *range, char *uplo, integer *n,
2346 doublereal *a, integer *lda, doublereal *vl, doublereal *vu, integer *
2347 il, integer *iu, doublereal *abstol, integer *m, doublereal *w,
2348 doublereal *z__, integer *ldz, integer *isuppz, doublereal *work,
2349 integer *lwork, integer *iwork, integer *liwork, integer *info);
2350
2351/* Subroutine */ int dsyevx_(char *jobz, char *range, char *uplo, integer *n,
2352 doublereal *a, integer *lda, doublereal *vl, doublereal *vu, integer *
2353 il, integer *iu, doublereal *abstol, integer *m, doublereal *w,
2354 doublereal *z__, integer *ldz, doublereal *work, integer *lwork,
2355 integer *iwork, integer *ifail, integer *info);
2356
2357/* Subroutine */ int dsygs2_(integer *itype, char *uplo, integer *n,
2358 doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
2359 info);
2360
2361/* Subroutine */ int dsygst_(integer *itype, char *uplo, integer *n,
2362 doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
2363 info);
2364
2365/* Subroutine */ int dsygv_(integer *itype, char *jobz, char *uplo, integer *
2366 n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2367 doublereal *w, doublereal *work, integer *lwork, integer *info);
2368
2369/* Subroutine */ int dsygvd_(integer *itype, char *jobz, char *uplo, integer *
2370 n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2371 doublereal *w, doublereal *work, integer *lwork, integer *iwork,
2372 integer *liwork, integer *info);
2373
2374/* Subroutine */ int dsygvx_(integer *itype, char *jobz, char *range, char *
2375 uplo, integer *n, doublereal *a, integer *lda, doublereal *b, integer
2376 *ldb, doublereal *vl, doublereal *vu, integer *il, integer *iu,
2377 doublereal *abstol, integer *m, doublereal *w, doublereal *z__,
2378 integer *ldz, doublereal *work, integer *lwork, integer *iwork,
2379 integer *ifail, integer *info);
2380
2381/* Subroutine */ int dsyrfs_(char *uplo, integer *n, integer *nrhs,
2382 doublereal *a, integer *lda, doublereal *af, integer *ldaf, integer *
2383 ipiv, doublereal *b, integer *ldb, doublereal *x, integer *ldx,
2384 doublereal *ferr, doublereal *berr, doublereal *work, integer *iwork,
2385 integer *info);
2386
2387/* Subroutine */ int dsysv_(char *uplo, integer *n, integer *nrhs, doublereal
2388 *a, integer *lda, integer *ipiv, doublereal *b, integer *ldb,
2389 doublereal *work, integer *lwork, integer *info);
2390
2391/* Subroutine */ int dsysvx_(char *fact, char *uplo, integer *n, integer *
2392 nrhs, doublereal *a, integer *lda, doublereal *af, integer *ldaf,
2393 integer *ipiv, doublereal *b, integer *ldb, doublereal *x, integer *
2394 ldx, doublereal *rcond, doublereal *ferr, doublereal *berr,
2395 doublereal *work, integer *lwork, integer *iwork, integer *info);
2396
2397/* Subroutine */ int dsytd2_(char *uplo, integer *n, doublereal *a, integer *
2398 lda, doublereal *d__, doublereal *e, doublereal *tau, integer *info);
2399
2400/* Subroutine */ int dsytf2_(char *uplo, integer *n, doublereal *a, integer *
2401 lda, integer *ipiv, integer *info);
2402
2403/* Subroutine */ int dsytrd_(char *uplo, integer *n, doublereal *a, integer *
2404 lda, doublereal *d__, doublereal *e, doublereal *tau, doublereal *
2405 work, integer *lwork, integer *info);
2406
2407/* Subroutine */ int dsytrf_(char *uplo, integer *n, doublereal *a, integer *
2408 lda, integer *ipiv, doublereal *work, integer *lwork, integer *info);
2409
2410/* Subroutine */ int dsytri_(char *uplo, integer *n, doublereal *a, integer *
2411 lda, integer *ipiv, doublereal *work, integer *info);
2412
2413/* Subroutine */ int dsytrs_(char *uplo, integer *n, integer *nrhs,
2414 doublereal *a, integer *lda, integer *ipiv, doublereal *b, integer *
2415 ldb, integer *info);
2416
2417/* Subroutine */ int dtbcon_(char *norm, char *uplo, char *diag, integer *n,
2418 integer *kd, doublereal *ab, integer *ldab, doublereal *rcond,
2419 doublereal *work, integer *iwork, integer *info);
2420
2421/* Subroutine */ int dtbrfs_(char *uplo, char *trans, char *diag, integer *n,
2422 integer *kd, integer *nrhs, doublereal *ab, integer *ldab, doublereal
2423 *b, integer *ldb, doublereal *x, integer *ldx, doublereal *ferr,
2424 doublereal *berr, doublereal *work, integer *iwork, integer *info);
2425
2426/* Subroutine */ int dtbtrs_(char *uplo, char *trans, char *diag, integer *n,
2427 integer *kd, integer *nrhs, doublereal *ab, integer *ldab, doublereal
2428 *b, integer *ldb, integer *info);
2429
2430/* Subroutine */ int dtgevc_(char *side, char *howmny, logical *select,
2431 integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2432 doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr, integer
2433 *mm, integer *m, doublereal *work, integer *info);
2434
2435/* Subroutine */ int dtgex2_(logical *wantq, logical *wantz, integer *n,
2436 doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
2437 q, integer *ldq, doublereal *z__, integer *ldz, integer *j1, integer *
2438 n1, integer *n2, doublereal *work, integer *lwork, integer *info);
2439
2440/* Subroutine */ int dtgexc_(logical *wantq, logical *wantz, integer *n,
2441 doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
2442 q, integer *ldq, doublereal *z__, integer *ldz, integer *ifst,
2443 integer *ilst, doublereal *work, integer *lwork, integer *info);
2444
2445/* Subroutine */ int dtgsen_(integer *ijob, logical *wantq, logical *wantz,
2446 logical *select, integer *n, doublereal *a, integer *lda, doublereal *
2447 b, integer *ldb, doublereal *alphar, doublereal *alphai, doublereal *
2448 beta, doublereal *q, integer *ldq, doublereal *z__, integer *ldz,
2449 integer *m, doublereal *pl, doublereal *pr, doublereal *dif,
2450 doublereal *work, integer *lwork, integer *iwork, integer *liwork,
2451 integer *info);
2452
2453/* Subroutine */ int dtgsja_(char *jobu, char *jobv, char *jobq, integer *m,
2454 integer *p, integer *n, integer *k, integer *l, doublereal *a,
2455 integer *lda, doublereal *b, integer *ldb, doublereal *tola,
2456 doublereal *tolb, doublereal *alpha, doublereal *beta, doublereal *u,
2457 integer *ldu, doublereal *v, integer *ldv, doublereal *q, integer *
2458 ldq, doublereal *work, integer *ncycle, integer *info);
2459
2460/* Subroutine */ int dtgsna_(char *job, char *howmny, logical *select,
2461 integer *n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2462 doublereal *vl, integer *ldvl, doublereal *vr, integer *ldvr,
2463 doublereal *s, doublereal *dif, integer *mm, integer *m, doublereal *
2464 work, integer *lwork, integer *iwork, integer *info);
2465
2466/* Subroutine */ int dtgsy2_(char *trans, integer *ijob, integer *m, integer *
2467 n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2468 doublereal *c__, integer *ldc, doublereal *d__, integer *ldd,
2469 doublereal *e, integer *lde, doublereal *f, integer *ldf, doublereal *
2470 scale, doublereal *rdsum, doublereal *rdscal, integer *iwork, integer
2471 *pq, integer *info);
2472
2473/* Subroutine */ int dtgsyl_(char *trans, integer *ijob, integer *m, integer *
2474 n, doublereal *a, integer *lda, doublereal *b, integer *ldb,
2475 doublereal *c__, integer *ldc, doublereal *d__, integer *ldd,
2476 doublereal *e, integer *lde, doublereal *f, integer *ldf, doublereal *
2477 scale, doublereal *dif, doublereal *work, integer *lwork, integer *
2478 iwork, integer *info);
2479
2480/* Subroutine */ int dtpcon_(char *norm, char *uplo, char *diag, integer *n,
2481 doublereal *ap, doublereal *rcond, doublereal *work, integer *iwork,
2482 integer *info);
2483
2484/* Subroutine */ int dtprfs_(char *uplo, char *trans, char *diag, integer *n,
2485 integer *nrhs, doublereal *ap, doublereal *b, integer *ldb,
2486 doublereal *x, integer *ldx, doublereal *ferr, doublereal *berr,
2487 doublereal *work, integer *iwork, integer *info);
2488
2489/* Subroutine */ int dtptri_(char *uplo, char *diag, integer *n, doublereal *
2490 ap, integer *info);
2491
2492/* Subroutine */ int dtptrs_(char *uplo, char *trans, char *diag, integer *n,
2493 integer *nrhs, doublereal *ap, doublereal *b, integer *ldb, integer *
2494 info);
2495
2496/* Subroutine */ int dtrcon_(char *norm, char *uplo, char *diag, integer *n,
2497 doublereal *a, integer *lda, doublereal *rcond, doublereal *work,
2498 integer *iwork, integer *info);
2499
2500/* Subroutine */ int dtrevc_(char *side, char *howmny, logical *select,
2501 integer *n, doublereal *t, integer *ldt, doublereal *vl, integer *
2502 ldvl, doublereal *vr, integer *ldvr, integer *mm, integer *m,
2503 doublereal *work, integer *info);
2504
2505/* Subroutine */ int dtrexc_(char *compq, integer *n, doublereal *t, integer *
2506 ldt, doublereal *q, integer *ldq, integer *ifst, integer *ilst,
2507 doublereal *work, integer *info);
2508
2509/* Subroutine */ int dtrrfs_(char *uplo, char *trans, char *diag, integer *n,
2510 integer *nrhs, doublereal *a, integer *lda, doublereal *b, integer *
2511 ldb, doublereal *x, integer *ldx, doublereal *ferr, doublereal *berr,
2512 doublereal *work, integer *iwork, integer *info);
2513
2514/* Subroutine */ int dtrsen_(char *job, char *compq, logical *select, integer
2515 *n, doublereal *t, integer *ldt, doublereal *q, integer *ldq,
2516 doublereal *wr, doublereal *wi, integer *m, doublereal *s, doublereal
2517 *sep, doublereal *work, integer *lwork, integer *iwork, integer *
2518 liwork, integer *info);
2519
2520/* Subroutine */ int dtrsna_(char *job, char *howmny, logical *select,
2521 integer *n, doublereal *t, integer *ldt, doublereal *vl, integer *
2522 ldvl, doublereal *vr, integer *ldvr, doublereal *s, doublereal *sep,
2523 integer *mm, integer *m, doublereal *work, integer *ldwork, integer *
2524 iwork, integer *info);
2525
2526/* Subroutine */ int dtrsyl_(char *trana, char *tranb, integer *isgn, integer
2527 *m, integer *n, doublereal *a, integer *lda, doublereal *b, integer *
2528 ldb, doublereal *c__, integer *ldc, doublereal *scale, integer *info);
2529
2530/* Subroutine */ int dtrti2_(char *uplo, char *diag, integer *n, doublereal *
2531 a, integer *lda, integer *info);
2532
2533/* Subroutine */ int dtrtri_(char *uplo, char *diag, integer *n, doublereal *
2534 a, integer *lda, integer *info);
2535
2536/* Subroutine */ int dtrtrs_(char *uplo, char *trans, char *diag, integer *n,
2537 integer *nrhs, doublereal *a, integer *lda, doublereal *b, integer *
2538 ldb, integer *info);
2539
2540/* Subroutine */ int dtzrqf_(integer *m, integer *n, doublereal *a, integer *
2541 lda, doublereal *tau, integer *info);
2542
2543/* Subroutine */ int dtzrzf_(integer *m, integer *n, doublereal *a, integer *
2544 lda, doublereal *tau, doublereal *work, integer *lwork, integer *info);
2545
2546integer icmax1_(integer *n, complex *cx, integer *incx);
2547
2548integer ieeeck_(integer *ispec, real *zero, real *one);
2549
2550integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1,
2551 integer *n2, integer *n3, integer *n4, ftnlen name_len, ftnlen
2552 opts_len);
2553
2554integer izmax1_(integer *n, doublecomplex *cx, integer *incx);
2555
2556/* Subroutine */ int sbdsdc_(char *uplo, char *compq, integer *n, real *d__,
2557 real *e, real *u, integer *ldu, real *vt, integer *ldvt, real *q,
2558 integer *iq, real *work, integer *iwork, integer *info);
2559
2560/* Subroutine */ int sbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
2561 nru, integer *ncc, real *d__, real *e, real *vt, integer *ldvt, real *
2562 u, integer *ldu, real *c__, integer *ldc, real *work, integer *info);
2563
2564/* Subroutine */ int sdisna_(char *job, integer *m, integer *n, real *d__,
2565 real *sep, integer *info);
2566
2567/* Subroutine */ int sgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
2568 integer *kl, integer *ku, real *ab, integer *ldab, real *d__, real *
2569 e, real *q, integer *ldq, real *pt, integer *ldpt, real *c__, integer
2570 *ldc, real *work, integer *info);
2571
2572/* Subroutine */ int sgbcon_(char *norm, integer *n, integer *kl, integer *ku,
2573 real *ab, integer *ldab, integer *ipiv, real *anorm, real *rcond,
2574 real *work, integer *iwork, integer *info);
2575
2576/* Subroutine */ int sgbequ_(integer *m, integer *n, integer *kl, integer *ku,
2577 real *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real *
2578 colcnd, real *amax, integer *info);
2579
2580/* Subroutine */ int sgbrfs_(char *trans, integer *n, integer *kl, integer *
2581 ku, integer *nrhs, real *ab, integer *ldab, real *afb, integer *ldafb,
2582 integer *ipiv, real *b, integer *ldb, real *x, integer *ldx, real *
2583 ferr, real *berr, real *work, integer *iwork, integer *info);
2584
2585/* Subroutine */ int sgbsv_(integer *n, integer *kl, integer *ku, integer *
2586 nrhs, real *ab, integer *ldab, integer *ipiv, real *b, integer *ldb,
2587 integer *info);
2588
2589/* Subroutine */ int sgbsvx_(char *fact, char *trans, integer *n, integer *kl,
2590 integer *ku, integer *nrhs, real *ab, integer *ldab, real *afb,
2591 integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
2592 real *b, integer *ldb, real *x, integer *ldx, real *rcond, real *ferr,
2593 real *berr, real *work, integer *iwork, integer *info);
2594
2595/* Subroutine */ int sgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
2596 real *ab, integer *ldab, integer *ipiv, integer *info);
2597
2598/* Subroutine */ int sgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
2599 real *ab, integer *ldab, integer *ipiv, integer *info);
2600
2601/* Subroutine */ int sgbtrs_(char *trans, integer *n, integer *kl, integer *
2602 ku, integer *nrhs, real *ab, integer *ldab, integer *ipiv, real *b,
2603 integer *ldb, integer *info);
2604
2605/* Subroutine */ int sgebak_(char *job, char *side, integer *n, integer *ilo,
2606 integer *ihi, real *scale, integer *m, real *v, integer *ldv, integer
2607 *info);
2608
2609/* Subroutine */ int sgebal_(char *job, integer *n, real *a, integer *lda,
2610 integer *ilo, integer *ihi, real *scale, integer *info);
2611
2612/* Subroutine */ int sgebd2_(integer *m, integer *n, real *a, integer *lda,
2613 real *d__, real *e, real *tauq, real *taup, real *work, integer *info);
2614
2615/* Subroutine */ int sgebrd_(integer *m, integer *n, real *a, integer *lda,
2616 real *d__, real *e, real *tauq, real *taup, real *work, integer *
2617 lwork, integer *info);
2618
2619/* Subroutine */ int sgecon_(char *norm, integer *n, real *a, integer *lda,
2620 real *anorm, real *rcond, real *work, integer *iwork, integer *info);
2621
2622/* Subroutine */ int sgeequ_(integer *m, integer *n, real *a, integer *lda,
2623 real *r__, real *c__, real *rowcnd, real *colcnd, real *amax, integer
2624 *info);
2625
2626/* Subroutine */ int sgees_(char *jobvs, char *sort, L_fp select, integer *n,
2627 real *a, integer *lda, integer *sdim, real *wr, real *wi, real *vs,
2628 integer *ldvs, real *work, integer *lwork, logical *bwork, integer *
2629 info);
2630
2631/* Subroutine */ int sgeesx_(char *jobvs, char *sort, L_fp select, char *
2632 sense, integer *n, real *a, integer *lda, integer *sdim, real *wr,
2633 real *wi, real *vs, integer *ldvs, real *rconde, real *rcondv, real *
2634 work, integer *lwork, integer *iwork, integer *liwork, logical *bwork,
2635 integer *info);
2636
2637/* Subroutine */ int sgeev_(char *jobvl, char *jobvr, integer *n, real *a,
2638 integer *lda, real *wr, real *wi, real *vl, integer *ldvl, real *vr,
2639 integer *ldvr, real *work, integer *lwork, integer *info);
2640
2641/* Subroutine */ int sgeevx_(char *balanc, char *jobvl, char *jobvr, char *
2642 sense, integer *n, real *a, integer *lda, real *wr, real *wi, real *
2643 vl, integer *ldvl, real *vr, integer *ldvr, integer *ilo, integer *
2644 ihi, real *scale, real *abnrm, real *rconde, real *rcondv, real *work,
2645 integer *lwork, integer *iwork, integer *info);
2646
2647/* Subroutine */ int sgegs_(char *jobvsl, char *jobvsr, integer *n, real *a,
2648 integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real
2649 *beta, real *vsl, integer *ldvsl, real *vsr, integer *ldvsr, real *
2650 work, integer *lwork, integer *info);
2651
2652/* Subroutine */ int sgegv_(char *jobvl, char *jobvr, integer *n, real *a,
2653 integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real
2654 *beta, real *vl, integer *ldvl, real *vr, integer *ldvr, real *work,
2655 integer *lwork, integer *info);
2656
2657/* Subroutine */ int sgehd2_(integer *n, integer *ilo, integer *ihi, real *a,
2658 integer *lda, real *tau, real *work, integer *info);
2659
2660/* Subroutine */ int sgehrd_(integer *n, integer *ilo, integer *ihi, real *a,
2661 integer *lda, real *tau, real *work, integer *lwork, integer *info);
2662
2663/* Subroutine */ int sgelq2_(integer *m, integer *n, real *a, integer *lda,
2664 real *tau, real *work, integer *info);
2665
2666/* Subroutine */ int sgelqf_(integer *m, integer *n, real *a, integer *lda,
2667 real *tau, real *work, integer *lwork, integer *info);
2668
2669/* Subroutine */ int sgels_(char *trans, integer *m, integer *n, integer *
2670 nrhs, real *a, integer *lda, real *b, integer *ldb, real *work,
2671 integer *lwork, integer *info);
2672
2673/* Subroutine */ int sgelsd_(integer *m, integer *n, integer *nrhs, real *a,
2674 integer *lda, real *b, integer *ldb, real *s, real *rcond, integer *
2675 rank, real *work, integer *lwork, integer *iwork, integer *info);
2676
2677/* Subroutine */ int sgelss_(integer *m, integer *n, integer *nrhs, real *a,
2678 integer *lda, real *b, integer *ldb, real *s, real *rcond, integer *
2679 rank, real *work, integer *lwork, integer *info);
2680
2681/* Subroutine */ int sgelsx_(integer *m, integer *n, integer *nrhs, real *a,
2682 integer *lda, real *b, integer *ldb, integer *jpvt, real *rcond,
2683 integer *rank, real *work, integer *info);
2684
2685/* Subroutine */ int sgelsy_(integer *m, integer *n, integer *nrhs, real *a,
2686 integer *lda, real *b, integer *ldb, integer *jpvt, real *rcond,
2687 integer *rank, real *work, integer *lwork, integer *info);
2688
2689/* Subroutine */ int sgeql2_(integer *m, integer *n, real *a, integer *lda,
2690 real *tau, real *work, integer *info);
2691
2692/* Subroutine */ int sgeqlf_(integer *m, integer *n, real *a, integer *lda,
2693 real *tau, real *work, integer *lwork, integer *info);
2694
2695/* Subroutine */ int sgeqp3_(integer *m, integer *n, real *a, integer *lda,
2696 integer *jpvt, real *tau, real *work, integer *lwork, integer *info);
2697
2698/* Subroutine */ int sgeqpf_(integer *m, integer *n, real *a, integer *lda,
2699 integer *jpvt, real *tau, real *work, integer *info);
2700
2701/* Subroutine */ int sgeqr2_(integer *m, integer *n, real *a, integer *lda,
2702 real *tau, real *work, integer *info);
2703
2704/* Subroutine */ int sgeqrf_(integer *m, integer *n, real *a, integer *lda,
2705 real *tau, real *work, integer *lwork, integer *info);
2706
2707/* Subroutine */ int sgerfs_(char *trans, integer *n, integer *nrhs, real *a,
2708 integer *lda, real *af, integer *ldaf, integer *ipiv, real *b,
2709 integer *ldb, real *x, integer *ldx, real *ferr, real *berr, real *
2710 work, integer *iwork, integer *info);
2711
2712/* Subroutine */ int sgerq2_(integer *m, integer *n, real *a, integer *lda,
2713 real *tau, real *work, integer *info);
2714
2715/* Subroutine */ int sgerqf_(integer *m, integer *n, real *a, integer *lda,
2716 real *tau, real *work, integer *lwork, integer *info);
2717
2718/* Subroutine */ int sgesc2_(integer *n, real *a, integer *lda, real *rhs,
2719 integer *ipiv, integer *jpiv, real *scale);
2720
2721/* Subroutine */ int sgesdd_(char *jobz, integer *m, integer *n, real *a,
2722 integer *lda, real *s, real *u, integer *ldu, real *vt, integer *ldvt,
2723 real *work, integer *lwork, integer *iwork, integer *info);
2724
2725/* Subroutine */ int sgesv_(integer *n, integer *nrhs, real *a, integer *lda,
2726 integer *ipiv, real *b, integer *ldb, integer *info);
2727
2728/* Subroutine */ int sgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
2729 real *a, integer *lda, real *s, real *u, integer *ldu, real *vt,
2730 integer *ldvt, real *work, integer *lwork, integer *info);
2731
2732/* Subroutine */ int sgesvx_(char *fact, char *trans, integer *n, integer *
2733 nrhs, real *a, integer *lda, real *af, integer *ldaf, integer *ipiv,
2734 char *equed, real *r__, real *c__, real *b, integer *ldb, real *x,
2735 integer *ldx, real *rcond, real *ferr, real *berr, real *work,
2736 integer *iwork, integer *info);
2737
2738/* Subroutine */ int sgetc2_(integer *n, real *a, integer *lda, integer *ipiv,
2739 integer *jpiv, integer *info);
2740
2741/* Subroutine */ int sgetf2_(integer *m, integer *n, real *a, integer *lda,
2742 integer *ipiv, integer *info);
2743
2744/* Subroutine */ int sgetrf_(integer *m, integer *n, real *a, integer *lda,
2745 integer *ipiv, integer *info);
2746
2747/* Subroutine */ int sgetri_(integer *n, real *a, integer *lda, integer *ipiv,
2748 real *work, integer *lwork, integer *info);
2749
2750/* Subroutine */ int sgetrs_(char *trans, integer *n, integer *nrhs, real *a,
2751 integer *lda, integer *ipiv, real *b, integer *ldb, integer *info);
2752
2753/* Subroutine */ int sggbak_(char *job, char *side, integer *n, integer *ilo,
2754 integer *ihi, real *lscale, real *rscale, integer *m, real *v,
2755 integer *ldv, integer *info);
2756
2757/* Subroutine */ int sggbal_(char *job, integer *n, real *a, integer *lda,
2758 real *b, integer *ldb, integer *ilo, integer *ihi, real *lscale, real
2759 *rscale, real *work, integer *info);
2760
2761/* Subroutine */ int sgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
2762 selctg, integer *n, real *a, integer *lda, real *b, integer *ldb,
2763 integer *sdim, real *alphar, real *alphai, real *beta, real *vsl,
2764 integer *ldvsl, real *vsr, integer *ldvsr, real *work, integer *lwork,
2765 logical *bwork, integer *info);
2766
2767/* Subroutine */ int sggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
2768 selctg, char *sense, integer *n, real *a, integer *lda, real *b,
2769 integer *ldb, integer *sdim, real *alphar, real *alphai, real *beta,
2770 real *vsl, integer *ldvsl, real *vsr, integer *ldvsr, real *rconde,
2771 real *rcondv, real *work, integer *lwork, integer *iwork, integer *
2772 liwork, logical *bwork, integer *info);
2773
2774/* Subroutine */ int sggev_(char *jobvl, char *jobvr, integer *n, real *a,
2775 integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real
2776 *beta, real *vl, integer *ldvl, real *vr, integer *ldvr, real *work,
2777 integer *lwork, integer *info);
2778
2779/* Subroutine */ int sggevx_(char *balanc, char *jobvl, char *jobvr, char *
2780 sense, integer *n, real *a, integer *lda, real *b, integer *ldb, real
2781 *alphar, real *alphai, real *beta, real *vl, integer *ldvl, real *vr,
2782 integer *ldvr, integer *ilo, integer *ihi, real *lscale, real *rscale,
2783 real *abnrm, real *bbnrm, real *rconde, real *rcondv, real *work,
2784 integer *lwork, integer *iwork, logical *bwork, integer *info);
2785
2786/* Subroutine */ int sggglm_(integer *n, integer *m, integer *p, real *a,
2787 integer *lda, real *b, integer *ldb, real *d__, real *x, real *y,
2788 real *work, integer *lwork, integer *info);
2789
2790/* Subroutine */ int sgghrd_(char *compq, char *compz, integer *n, integer *
2791 ilo, integer *ihi, real *a, integer *lda, real *b, integer *ldb, real
2792 *q, integer *ldq, real *z__, integer *ldz, integer *info);
2793
2794/* Subroutine */ int sgglse_(integer *m, integer *n, integer *p, real *a,
2795 integer *lda, real *b, integer *ldb, real *c__, real *d__, real *x,
2796 real *work, integer *lwork, integer *info);
2797
2798/* Subroutine */ int sggqrf_(integer *n, integer *m, integer *p, real *a,
2799 integer *lda, real *taua, real *b, integer *ldb, real *taub, real *
2800 work, integer *lwork, integer *info);
2801
2802/* Subroutine */ int sggrqf_(integer *m, integer *p, integer *n, real *a,
2803 integer *lda, real *taua, real *b, integer *ldb, real *taub, real *
2804 work, integer *lwork, integer *info);
2805
2806/* Subroutine */ int sggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
2807 integer *n, integer *p, integer *k, integer *l, real *a, integer *lda,
2808 real *b, integer *ldb, real *alpha, real *beta, real *u, integer *
2809 ldu, real *v, integer *ldv, real *q, integer *ldq, real *work,
2810 integer *iwork, integer *info);
2811
2812/* Subroutine */ int sggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
2813 integer *p, integer *n, real *a, integer *lda, real *b, integer *ldb,
2814 real *tola, real *tolb, integer *k, integer *l, real *u, integer *ldu,
2815 real *v, integer *ldv, real *q, integer *ldq, integer *iwork, real *
2816 tau, real *work, integer *info);
2817
2818/* Subroutine */ int sgtcon_(char *norm, integer *n, real *dl, real *d__,
2819 real *du, real *du2, integer *ipiv, real *anorm, real *rcond, real *
2820 work, integer *iwork, integer *info);
2821
2822/* Subroutine */ int sgtrfs_(char *trans, integer *n, integer *nrhs, real *dl,
2823 real *d__, real *du, real *dlf, real *df, real *duf, real *du2,
2824 integer *ipiv, real *b, integer *ldb, real *x, integer *ldx, real *
2825 ferr, real *berr, real *work, integer *iwork, integer *info);
2826
2827/* Subroutine */ int sgtsv_(integer *n, integer *nrhs, real *dl, real *d__,
2828 real *du, real *b, integer *ldb, integer *info);
2829
2830/* Subroutine */ int sgtsvx_(char *fact, char *trans, integer *n, integer *
2831 nrhs, real *dl, real *d__, real *du, real *dlf, real *df, real *duf,
2832 real *du2, integer *ipiv, real *b, integer *ldb, real *x, integer *
2833 ldx, real *rcond, real *ferr, real *berr, real *work, integer *iwork,
2834 integer *info);
2835
2836/* Subroutine */ int sgttrf_(integer *n, real *dl, real *d__, real *du, real *
2837 du2, integer *ipiv, integer *info);
2838
2839/* Subroutine */ int sgttrs_(char *trans, integer *n, integer *nrhs, real *dl,
2840 real *d__, real *du, real *du2, integer *ipiv, real *b, integer *ldb,
2841 integer *info);
2842
2843/* Subroutine */ int sgtts2_(integer *itrans, integer *n, integer *nrhs, real
2844 *dl, real *d__, real *du, real *du2, integer *ipiv, real *b, integer *
2845 ldb);
2846
2847/* Subroutine */ int shgeqz_(char *job, char *compq, char *compz, integer *n,
2848 integer *ilo, integer *ihi, real *a, integer *lda, real *b, integer *
2849 ldb, real *alphar, real *alphai, real *beta, real *q, integer *ldq,
2850 real *z__, integer *ldz, real *work, integer *lwork, integer *info);
2851
2852/* Subroutine */ int shsein_(char *side, char *eigsrc, char *initv, logical *
2853 select, integer *n, real *h__, integer *ldh, real *wr, real *wi, real
2854 *vl, integer *ldvl, real *vr, integer *ldvr, integer *mm, integer *m,
2855 real *work, integer *ifaill, integer *ifailr, integer *info);
2856
2857/* Subroutine */ int shseqr_(char *job, char *compz, integer *n, integer *ilo,
2858 integer *ihi, real *h__, integer *ldh, real *wr, real *wi, real *z__,
2859 integer *ldz, real *work, integer *lwork, integer *info);
2860
2861/* Subroutine */ int slabad_(real *small, real *large);
2862
2863/* Subroutine */ int slabrd_(integer *m, integer *n, integer *nb, real *a,
2864 integer *lda, real *d__, real *e, real *tauq, real *taup, real *x,
2865 integer *ldx, real *y, integer *ldy);
2866
2867/* Subroutine */ int slacon_(integer *n, real *v, real *x, integer *isgn,
2868 real *est, integer *kase);
2869
2870/* Subroutine */ int slacpy_(char *uplo, integer *m, integer *n, real *a,
2871 integer *lda, real *b, integer *ldb);
2872
2873/* Subroutine */ int sladiv_(real *a, real *b, real *c__, real *d__, real *p,
2874 real *q);
2875
2876/* Subroutine */ int slae2_(real *a, real *b, real *c__, real *rt1, real *rt2);
2877
2878/* Subroutine */ int slaebz_(integer *ijob, integer *nitmax, integer *n,
2879 integer *mmax, integer *minp, integer *nbmin, real *abstol, real *
2880 reltol, real *pivmin, real *d__, real *e, real *e2, integer *nval,
2881 real *ab, real *c__, integer *mout, integer *nab, real *work, integer
2882 *iwork, integer *info);
2883
2884/* Subroutine */ int slaed0_(integer *icompq, integer *qsiz, integer *n, real
2885 *d__, real *e, real *q, integer *ldq, real *qstore, integer *ldqs,
2886 real *work, integer *iwork, integer *info);
2887
2888/* Subroutine */ int slaed1_(integer *n, real *d__, real *q, integer *ldq,
2889 integer *indxq, real *rho, integer *cutpnt, real *work, integer *
2890 iwork, integer *info);
2891
2892/* Subroutine */ int slaed2_(integer *k, integer *n, integer *n1, real *d__,
2893 real *q, integer *ldq, integer *indxq, real *rho, real *z__, real *
2894 dlamda, real *w, real *q2, integer *indx, integer *indxc, integer *
2895 indxp, integer *coltyp, integer *info);
2896
2897/* Subroutine */ int slaed3_(integer *k, integer *n, integer *n1, real *d__,
2898 real *q, integer *ldq, real *rho, real *dlamda, real *q2, integer *
2899 indx, integer *ctot, real *w, real *s, integer *info);
2900
2901/* Subroutine */ int slaed4_(integer *n, integer *i__, real *d__, real *z__,
2902 real *delta, real *rho, real *dlam, integer *info);
2903
2904/* Subroutine */ int slaed5_(integer *i__, real *d__, real *z__, real *delta,
2905 real *rho, real *dlam);
2906
2907/* Subroutine */ int slaed6_(integer *kniter, logical *orgati, real *rho,
2908 real *d__, real *z__, real *finit, real *tau, integer *info);
2909
2910/* Subroutine */ int slaed7_(integer *icompq, integer *n, integer *qsiz,
2911 integer *tlvls, integer *curlvl, integer *curpbm, real *d__, real *q,
2912 integer *ldq, integer *indxq, real *rho, integer *cutpnt, real *
2913 qstore, integer *qptr, integer *prmptr, integer *perm, integer *
2914 givptr, integer *givcol, real *givnum, real *work, integer *iwork,
2915 integer *info);
2916
2917/* Subroutine */ int slaed8_(integer *icompq, integer *k, integer *n, integer
2918 *qsiz, real *d__, real *q, integer *ldq, integer *indxq, real *rho,
2919 integer *cutpnt, real *z__, real *dlamda, real *q2, integer *ldq2,
2920 real *w, integer *perm, integer *givptr, integer *givcol, real *
2921 givnum, integer *indxp, integer *indx, integer *info);
2922
2923/* Subroutine */ int slaed9_(integer *k, integer *kstart, integer *kstop,
2924 integer *n, real *d__, real *q, integer *ldq, real *rho, real *dlamda,
2925 real *w, real *s, integer *lds, integer *info);
2926
2927/* Subroutine */ int slaeda_(integer *n, integer *tlvls, integer *curlvl,
2928 integer *curpbm, integer *prmptr, integer *perm, integer *givptr,
2929 integer *givcol, real *givnum, real *q, integer *qptr, real *z__,
2930 real *ztemp, integer *info);
2931
2932/* Subroutine */ int slaein_(logical *rightv, logical *noinit, integer *n,
2933 real *h__, integer *ldh, real *wr, real *wi, real *vr, real *vi, real
2934 *b, integer *ldb, real *work, real *eps3, real *smlnum, real *bignum,
2935 integer *info);
2936
2937/* Subroutine */ int slaev2_(real *a, real *b, real *c__, real *rt1, real *
2938 rt2, real *cs1, real *sn1);
2939
2940/* Subroutine */ int slaexc_(logical *wantq, integer *n, real *t, integer *
2941 ldt, real *q, integer *ldq, integer *j1, integer *n1, integer *n2,
2942 real *work, integer *info);
2943
2944/* Subroutine */ int slag2_(real *a, integer *lda, real *b, integer *ldb,
2945 real *safmin, real *scale1, real *scale2, real *wr1, real *wr2, real *
2946 wi);
2947
2948/* Subroutine */ int slags2_(logical *upper, real *a1, real *a2, real *a3,
2949 real *b1, real *b2, real *b3, real *csu, real *snu, real *csv, real *
2950 snv, real *csq, real *snq);
2951
2952/* Subroutine */ int slagtf_(integer *n, real *a, real *lambda, real *b, real
2953 *c__, real *tol, real *d__, integer *in, integer *info);
2954
2955/* Subroutine */ int slagtm_(char *trans, integer *n, integer *nrhs, real *
2956 alpha, real *dl, real *d__, real *du, real *x, integer *ldx, real *
2957 beta, real *b, integer *ldb);
2958
2959/* Subroutine */ int slagts_(integer *job, integer *n, real *a, real *b, real
2960 *c__, real *d__, integer *in, real *y, real *tol, integer *info);
2961
2962/* Subroutine */ int slagv2_(real *a, integer *lda, real *b, integer *ldb,
2963 real *alphar, real *alphai, real *beta, real *csl, real *snl, real *
2964 csr, real *snr);
2965
2966/* Subroutine */ int slahqr_(logical *wantt, logical *wantz, integer *n,
2967 integer *ilo, integer *ihi, real *h__, integer *ldh, real *wr, real *
2968 wi, integer *iloz, integer *ihiz, real *z__, integer *ldz, integer *
2969 info);
2970
2971/* Subroutine */ int slahrd_(integer *n, integer *k, integer *nb, real *a,
2972 integer *lda, real *tau, real *t, integer *ldt, real *y, integer *ldy);
2973
2974/* Subroutine */ int slaic1_(integer *job, integer *j, real *x, real *sest,
2975 real *w, real *gamma, real *sestpr, real *s, real *c__);
2976
2977/* Subroutine */ int slaln2_(logical *ltrans, integer *na, integer *nw, real *
2978 smin, real *ca, real *a, integer *lda, real *d1, real *d2, real *b,
2979 integer *ldb, real *wr, real *wi, real *x, integer *ldx, real *scale,
2980 real *xnorm, integer *info);
2981
2982/* Subroutine */ int slals0_(integer *icompq, integer *nl, integer *nr,
2983 integer *sqre, integer *nrhs, real *b, integer *ldb, real *bx,
2984 integer *ldbx, integer *perm, integer *givptr, integer *givcol,
2985 integer *ldgcol, real *givnum, integer *ldgnum, real *poles, real *
2986 difl, real *difr, real *z__, integer *k, real *c__, real *s, real *
2987 work, integer *info);
2988
2989/* Subroutine */ int slalsa_(integer *icompq, integer *smlsiz, integer *n,
2990 integer *nrhs, real *b, integer *ldb, real *bx, integer *ldbx, real *
2991 u, integer *ldu, real *vt, integer *k, real *difl, real *difr, real *
2992 z__, real *poles, integer *givptr, integer *givcol, integer *ldgcol,
2993 integer *perm, real *givnum, real *c__, real *s, real *work, integer *
2994 iwork, integer *info);
2995
2996/* Subroutine */ int slalsd_(char *uplo, integer *smlsiz, integer *n, integer
2997 *nrhs, real *d__, real *e, real *b, integer *ldb, real *rcond,
2998 integer *rank, real *work, integer *iwork, integer *info);
2999
3000/* Subroutine */ int slamc1_(integer *beta, integer *t, logical *rnd, logical
3001 *ieee1);
3002
3003/* Subroutine */ int slamc2_(integer *beta, integer *t, logical *rnd, real *
3004 eps, integer *emin, real *rmin, integer *emax, real *rmax);
3005
3006/* Subroutine */ int slamc4_(integer *emin, real *start, integer *base);
3007
3008/* Subroutine */ int slamc5_(integer *beta, integer *p, integer *emin,
3009 logical *ieee, integer *emax, real *rmax);
3010
3011/* Subroutine */ int slamrg_(integer *n1, integer *n2, real *a, integer *
3012 strd1, integer *strd2, integer *index);
3013
3014/* Subroutine */ int slanv2_(real *a, real *b, real *c__, real *d__, real *
3015 rt1r, real *rt1i, real *rt2r, real *rt2i, real *cs, real *sn);
3016
3017/* Subroutine */ int slapll_(integer *n, real *x, integer *incx, real *y,
3018 integer *incy, real *ssmin);
3019
3020/* Subroutine */ int slapmt_(logical *forwrd, integer *m, integer *n, real *x,
3021 integer *ldx, integer *k);
3022
3023/* Subroutine */ int slaqgb_(integer *m, integer *n, integer *kl, integer *ku,
3024 real *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real *
3025 colcnd, real *amax, char *equed);
3026
3027/* Subroutine */ int slaqge_(integer *m, integer *n, real *a, integer *lda,
3028 real *r__, real *c__, real *rowcnd, real *colcnd, real *amax, char *
3029 equed);
3030
3031/* Subroutine */ int slaqp2_(integer *m, integer *n, integer *offset, real *a,
3032 integer *lda, integer *jpvt, real *tau, real *vn1, real *vn2, real *
3033 work);
3034
3035/* Subroutine */ int slaqps_(integer *m, integer *n, integer *offset, integer
3036 *nb, integer *kb, real *a, integer *lda, integer *jpvt, real *tau,
3037 real *vn1, real *vn2, real *auxv, real *f, integer *ldf);
3038
3039/* Subroutine */ int slaqsb_(char *uplo, integer *n, integer *kd, real *ab,
3040 integer *ldab, real *s, real *scond, real *amax, char *equed);
3041
3042/* Subroutine */ int slaqsp_(char *uplo, integer *n, real *ap, real *s, real *
3043 scond, real *amax, char *equed);
3044
3045/* Subroutine */ int slaqsy_(char *uplo, integer *n, real *a, integer *lda,
3046 real *s, real *scond, real *amax, char *equed);
3047
3048/* Subroutine */ int slaqtr_(logical *ltran, logical *lreal, integer *n, real
3049 *t, integer *ldt, real *b, real *w, real *scale, real *x, real *work,
3050 integer *info);
3051
3052/* Subroutine */ int slar1v_(integer *n, integer *b1, integer *bn, real *
3053 sigma, real *d__, real *l, real *ld, real *lld, real *gersch, real *
3054 z__, real *ztz, real *mingma, integer *r__, integer *isuppz, real *
3055 work);
3056
3057/* Subroutine */ int slar2v_(integer *n, real *x, real *y, real *z__, integer
3058 *incx, real *c__, real *s, integer *incc);
3059
3060/* Subroutine */ int slarf_(char *side, integer *m, integer *n, real *v,
3061 integer *incv, real *tau, real *c__, integer *ldc, real *work);
3062
3063/* Subroutine */ int slarfb_(char *side, char *trans, char *direct, char *
3064 storev, integer *m, integer *n, integer *k, real *v, integer *ldv,
3065 real *t, integer *ldt, real *c__, integer *ldc, real *work, integer *
3066 ldwork);
3067
3068/* Subroutine */ int slarfg_(integer *n, real *alpha, real *x, integer *incx,
3069 real *tau);
3070
3071/* Subroutine */ int slarft_(char *direct, char *storev, integer *n, integer *
3072 k, real *v, integer *ldv, real *tau, real *t, integer *ldt);
3073
3074/* Subroutine */ int slarfx_(char *side, integer *m, integer *n, real *v,
3075 real *tau, real *c__, integer *ldc, real *work);
3076
3077/* Subroutine */ int slargv_(integer *n, real *x, integer *incx, real *y,
3078 integer *incy, real *c__, integer *incc);
3079
3080/* Subroutine */ int slarnv_(integer *idist, integer *iseed, integer *n, real
3081 *x);
3082
3083/* Subroutine */ int slarrb_(integer *n, real *d__, real *l, real *ld, real *
3084 lld, integer *ifirst, integer *ilast, real *sigma, real *reltol, real
3085 *w, real *wgap, real *werr, real *work, integer *iwork, integer *info);
3086
3087/* Subroutine */ int slarre_(integer *n, real *d__, real *e, real *tol,
3088 integer *nsplit, integer *isplit, integer *m, real *w, real *woff,
3089 real *gersch, real *work, integer *info);
3090
3091/* Subroutine */ int slarrf_(integer *n, real *d__, real *l, real *ld, real *
3092 lld, integer *ifirst, integer *ilast, real *w, real *dplus, real *
3093 lplus, real *work, integer *iwork, integer *info);
3094
3095/* Subroutine */ int slarrv_(integer *n, real *d__, real *l, integer *isplit,
3096 integer *m, real *w, integer *iblock, real *gersch, real *tol, real *
3097 z__, integer *ldz, integer *isuppz, real *work, integer *iwork,
3098 integer *info);
3099
3100/* Subroutine */ int slartg_(real *f, real *g, real *cs, real *sn, real *r__);
3101
3102/* Subroutine */ int slartv_(integer *n, real *x, integer *incx, real *y,
3103 integer *incy, real *c__, real *s, integer *incc);
3104
3105/* Subroutine */ int slaruv_(integer *iseed, integer *n, real *x);
3106
3107/* Subroutine */ int slarz_(char *side, integer *m, integer *n, integer *l,
3108 real *v, integer *incv, real *tau, real *c__, integer *ldc, real *
3109 work);
3110
3111/* Subroutine */ int slarzb_(char *side, char *trans, char *direct, char *
3112 storev, integer *m, integer *n, integer *k, integer *l, real *v,
3113 integer *ldv, real *t, integer *ldt, real *c__, integer *ldc, real *
3114 work, integer *ldwork);
3115
3116/* Subroutine */ int slarzt_(char *direct, char *storev, integer *n, integer *
3117 k, real *v, integer *ldv, real *tau, real *t, integer *ldt);
3118
3119/* Subroutine */ int slas2_(real *f, real *g, real *h__, real *ssmin, real *
3120 ssmax);
3121
3122/* Subroutine */ int slascl_(char *type__, integer *kl, integer *ku, real *
3123 cfrom, real *cto, integer *m, integer *n, real *a, integer *lda,
3124 integer *info);
3125
3126/* Subroutine */ int slasd0_(integer *n, integer *sqre, real *d__, real *e,
3127 real *u, integer *ldu, real *vt, integer *ldvt, integer *smlsiz,
3128 integer *iwork, real *work, integer *info);
3129
3130/* Subroutine */ int slasd1_(integer *nl, integer *nr, integer *sqre, real *
3131 d__, real *alpha, real *beta, real *u, integer *ldu, real *vt,
3132 integer *ldvt, integer *idxq, integer *iwork, real *work, integer *
3133 info);
3134
3135/* Subroutine */ int slasd2_(integer *nl, integer *nr, integer *sqre, integer
3136 *k, real *d__, real *z__, real *alpha, real *beta, real *u, integer *
3137 ldu, real *vt, integer *ldvt, real *dsigma, real *u2, integer *ldu2,
3138 real *vt2, integer *ldvt2, integer *idxp, integer *idx, integer *idxc,
3139 integer *idxq, integer *coltyp, integer *info);
3140
3141/* Subroutine */ int slasd3_(integer *nl, integer *nr, integer *sqre, integer
3142 *k, real *d__, real *q, integer *ldq, real *dsigma, real *u, integer *
3143 ldu, real *u2, integer *ldu2, real *vt, integer *ldvt, real *vt2,
3144 integer *ldvt2, integer *idxc, integer *ctot, real *z__, integer *
3145 info);
3146
3147/* Subroutine */ int slasd4_(integer *n, integer *i__, real *d__, real *z__,
3148 real *delta, real *rho, real *sigma, real *work, integer *info);
3149
3150/* Subroutine */ int slasd5_(integer *i__, real *d__, real *z__, real *delta,
3151 real *rho, real *dsigma, real *work);
3152
3153/* Subroutine */ int slasd6_(integer *icompq, integer *nl, integer *nr,
3154 integer *sqre, real *d__, real *vf, real *vl, real *alpha, real *beta,
3155 integer *idxq, integer *perm, integer *givptr, integer *givcol,
3156 integer *ldgcol, real *givnum, integer *ldgnum, real *poles, real *
3157 difl, real *difr, real *z__, integer *k, real *c__, real *s, real *
3158 work, integer *iwork, integer *info);
3159
3160/* Subroutine */ int slasd7_(integer *icompq, integer *nl, integer *nr,
3161 integer *sqre, integer *k, real *d__, real *z__, real *zw, real *vf,
3162 real *vfw, real *vl, real *vlw, real *alpha, real *beta, real *dsigma,
3163 integer *idx, integer *idxp, integer *idxq, integer *perm, integer *
3164 givptr, integer *givcol, integer *ldgcol, real *givnum, integer *
3165 ldgnum, real *c__, real *s, integer *info);
3166
3167/* Subroutine */ int slasd8_(integer *icompq, integer *k, real *d__, real *
3168 z__, real *vf, real *vl, real *difl, real *difr, integer *lddifr,
3169 real *dsigma, real *work, integer *info);
3170
3171/* Subroutine */ int slasd9_(integer *icompq, integer *ldu, integer *k, real *
3172 d__, real *z__, real *vf, real *vl, real *difl, real *difr, real *
3173 dsigma, real *work, integer *info);
3174
3175/* Subroutine */ int slasda_(integer *icompq, integer *smlsiz, integer *n,
3176 integer *sqre, real *d__, real *e, real *u, integer *ldu, real *vt,
3177 integer *k, real *difl, real *difr, real *z__, real *poles, integer *
3178 givptr, integer *givcol, integer *ldgcol, integer *perm, real *givnum,
3179 real *c__, real *s, real *work, integer *iwork, integer *info);
3180
3181/* Subroutine */ int slasdq_(char *uplo, integer *sqre, integer *n, integer *
3182 ncvt, integer *nru, integer *ncc, real *d__, real *e, real *vt,
3183 integer *ldvt, real *u, integer *ldu, real *c__, integer *ldc, real *
3184 work, integer *info);
3185
3186/* Subroutine */ int slasdt_(integer *n, integer *lvl, integer *nd, integer *
3187 inode, integer *ndiml, integer *ndimr, integer *msub);
3188
3189/* Subroutine */ int slaset_(char *uplo, integer *m, integer *n, real *alpha,
3190 real *beta, real *a, integer *lda);
3191
3192/* Subroutine */ int slasq1_(integer *n, real *d__, real *e, real *work,
3193 integer *info);
3194
3195/* Subroutine */ int slasq2_(integer *n, real *z__, integer *info);
3196
3197/* Subroutine */ int slasq3_(integer *i0, integer *n0, real *z__, integer *pp,
3198 real *dmin__, real *sigma, real *desig, real *qmax, integer *nfail,
3199 integer *iter, integer *ndiv, logical *ieee);
3200
3201/* Subroutine */ int slasq4_(integer *i0, integer *n0, real *z__, integer *pp,
3202 integer *n0in, real *dmin__, real *dmin1, real *dmin2, real *dn,
3203 real *dn1, real *dn2, real *tau, integer *ttype);
3204
3205/* Subroutine */ int slasq5_(integer *i0, integer *n0, real *z__, integer *pp,
3206 real *tau, real *dmin__, real *dmin1, real *dmin2, real *dn, real *
3207 dnm1, real *dnm2, logical *ieee);
3208
3209/* Subroutine */ int slasq6_(integer *i0, integer *n0, real *z__, integer *pp,
3210 real *dmin__, real *dmin1, real *dmin2, real *dn, real *dnm1, real *
3211 dnm2);
3212
3213/* Subroutine */ int slasr_(char *side, char *pivot, char *direct, integer *m,
3214 integer *n, real *c__, real *s, real *a, integer *lda);
3215
3216/* Subroutine */ int slasrt_(char *id, integer *n, real *d__, integer *info);
3217
3218/* Subroutine */ int slassq_(integer *n, real *x, integer *incx, real *scale,
3219 real *sumsq);
3220
3221/* Subroutine */ int slasv2_(real *f, real *g, real *h__, real *ssmin, real *
3222 ssmax, real *snr, real *csr, real *snl, real *csl);
3223
3224/* Subroutine */ int slaswp_(integer *n, real *a, integer *lda, integer *k1,
3225 integer *k2, integer *ipiv, integer *incx);
3226
3227/* Subroutine */ int slasy2_(logical *ltranl, logical *ltranr, integer *isgn,
3228 integer *n1, integer *n2, real *tl, integer *ldtl, real *tr, integer *
3229 ldtr, real *b, integer *ldb, real *scale, real *x, integer *ldx, real
3230 *xnorm, integer *info);
3231
3232/* Subroutine */ int slasyf_(char *uplo, integer *n, integer *nb, integer *kb,
3233 real *a, integer *lda, integer *ipiv, real *w, integer *ldw, integer
3234 *info);
3235
3236/* Subroutine */ int slatbs_(char *uplo, char *trans, char *diag, char *
3237 normin, integer *n, integer *kd, real *ab, integer *ldab, real *x,
3238 real *scale, real *cnorm, integer *info);
3239
3240/* Subroutine */ int slatdf_(integer *ijob, integer *n, real *z__, integer *
3241 ldz, real *rhs, real *rdsum, real *rdscal, integer *ipiv, integer *
3242 jpiv);
3243
3244/* Subroutine */ int slatps_(char *uplo, char *trans, char *diag, char *
3245 normin, integer *n, real *ap, real *x, real *scale, real *cnorm,
3246 integer *info);
3247
3248/* Subroutine */ int slatrd_(char *uplo, integer *n, integer *nb, real *a,
3249 integer *lda, real *e, real *tau, real *w, integer *ldw);
3250
3251/* Subroutine */ int slatrs_(char *uplo, char *trans, char *diag, char *
3252 normin, integer *n, real *a, integer *lda, real *x, real *scale, real
3253 *cnorm, integer *info);
3254
3255/* Subroutine */ int slatrz_(integer *m, integer *n, integer *l, real *a,
3256 integer *lda, real *tau, real *work);
3257
3258/* Subroutine */ int slatzm_(char *side, integer *m, integer *n, real *v,
3259 integer *incv, real *tau, real *c1, real *c2, integer *ldc, real *
3260 work);
3261
3262/* Subroutine */ int slauu2_(char *uplo, integer *n, real *a, integer *lda,
3263 integer *info);
3264
3265/* Subroutine */ int slauum_(char *uplo, integer *n, real *a, integer *lda,
3266 integer *info);
3267
3268/* Subroutine */ int sopgtr_(char *uplo, integer *n, real *ap, real *tau,
3269 real *q, integer *ldq, real *work, integer *info);
3270
3271/* Subroutine */ int sopmtr_(char *side, char *uplo, char *trans, integer *m,
3272 integer *n, real *ap, real *tau, real *c__, integer *ldc, real *work,
3273 integer *info);
3274
3275/* Subroutine */ int sorg2l_(integer *m, integer *n, integer *k, real *a,
3276 integer *lda, real *tau, real *work, integer *info);
3277
3278/* Subroutine */ int sorg2r_(integer *m, integer *n, integer *k, real *a,
3279 integer *lda, real *tau, real *work, integer *info);
3280
3281/* Subroutine */ int sorgbr_(char *vect, integer *m, integer *n, integer *k,
3282 real *a, integer *lda, real *tau, real *work, integer *lwork, integer
3283 *info);
3284
3285/* Subroutine */ int sorghr_(integer *n, integer *ilo, integer *ihi, real *a,
3286 integer *lda, real *tau, real *work, integer *lwork, integer *info);
3287
3288/* Subroutine */ int sorgl2_(integer *m, integer *n, integer *k, real *a,
3289 integer *lda, real *tau, real *work, integer *info);
3290
3291/* Subroutine */ int sorglq_(integer *m, integer *n, integer *k, real *a,
3292 integer *lda, real *tau, real *work, integer *lwork, integer *info);
3293
3294/* Subroutine */ int sorgql_(integer *m, integer *n, integer *k, real *a,
3295 integer *lda, real *tau, real *work, integer *lwork, integer *info);
3296
3297/* Subroutine */ int sorgqr_(integer *m, integer *n, integer *k, real *a,
3298 integer *lda, real *tau, real *work, integer *lwork, integer *info);
3299
3300/* Subroutine */ int sorgr2_(integer *m, integer *n, integer *k, real *a,
3301 integer *lda, real *tau, real *work, integer *info);
3302
3303/* Subroutine */ int sorgrq_(integer *m, integer *n, integer *k, real *a,
3304 integer *lda, real *tau, real *work, integer *lwork, integer *info);
3305
3306/* Subroutine */ int sorgtr_(char *uplo, integer *n, real *a, integer *lda,
3307 real *tau, real *work, integer *lwork, integer *info);
3308
3309/* Subroutine */ int sorm2l_(char *side, char *trans, integer *m, integer *n,
3310 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3311 real *work, integer *info);
3312
3313/* Subroutine */ int sorm2r_(char *side, char *trans, integer *m, integer *n,
3314 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3315 real *work, integer *info);
3316
3317/* Subroutine */ int sormbr_(char *vect, char *side, char *trans, integer *m,
3318 integer *n, integer *k, real *a, integer *lda, real *tau, real *c__,
3319 integer *ldc, real *work, integer *lwork, integer *info);
3320
3321/* Subroutine */ int sormhr_(char *side, char *trans, integer *m, integer *n,
3322 integer *ilo, integer *ihi, real *a, integer *lda, real *tau, real *
3323 c__, integer *ldc, real *work, integer *lwork, integer *info);
3324
3325/* Subroutine */ int sorml2_(char *side, char *trans, integer *m, integer *n,
3326 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3327 real *work, integer *info);
3328
3329/* Subroutine */ int sormlq_(char *side, char *trans, integer *m, integer *n,
3330 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3331 real *work, integer *lwork, integer *info);
3332
3333/* Subroutine */ int sormql_(char *side, char *trans, integer *m, integer *n,
3334 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3335 real *work, integer *lwork, integer *info);
3336
3337/* Subroutine */ int sormqr_(char *side, char *trans, integer *m, integer *n,
3338 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3339 real *work, integer *lwork, integer *info);
3340
3341/* Subroutine */ int sormr2_(char *side, char *trans, integer *m, integer *n,
3342 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3343 real *work, integer *info);
3344
3345/* Subroutine */ int sormr3_(char *side, char *trans, integer *m, integer *n,
3346 integer *k, integer *l, real *a, integer *lda, real *tau, real *c__,
3347 integer *ldc, real *work, integer *info);
3348
3349/* Subroutine */ int sormrq_(char *side, char *trans, integer *m, integer *n,
3350 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3351 real *work, integer *lwork, integer *info);
3352
3353/* Subroutine */ int sormrz_(char *side, char *trans, integer *m, integer *n,
3354 integer *k, integer *l, real *a, integer *lda, real *tau, real *c__,
3355 integer *ldc, real *work, integer *lwork, integer *info);
3356
3357/* Subroutine */ int sormtr_(char *side, char *uplo, char *trans, integer *m,
3358 integer *n, real *a, integer *lda, real *tau, real *c__, integer *ldc,
3359 real *work, integer *lwork, integer *info);
3360
3361/* Subroutine */ int spbcon_(char *uplo, integer *n, integer *kd, real *ab,
3362 integer *ldab, real *anorm, real *rcond, real *work, integer *iwork,
3363 integer *info);
3364
3365/* Subroutine */ int spbequ_(char *uplo, integer *n, integer *kd, real *ab,
3366 integer *ldab, real *s, real *scond, real *amax, integer *info);
3367
3368/* Subroutine */ int spbrfs_(char *uplo, integer *n, integer *kd, integer *
3369 nrhs, real *ab, integer *ldab, real *afb, integer *ldafb, real *b,
3370 integer *ldb, real *x, integer *ldx, real *ferr, real *berr, real *
3371 work, integer *iwork, integer *info);
3372
3373/* Subroutine */ int spbstf_(char *uplo, integer *n, integer *kd, real *ab,
3374 integer *ldab, integer *info);
3375
3376/* Subroutine */ int spbsv_(char *uplo, integer *n, integer *kd, integer *
3377 nrhs, real *ab, integer *ldab, real *b, integer *ldb, integer *info);
3378
3379/* Subroutine */ int spbsvx_(char *fact, char *uplo, integer *n, integer *kd,
3380 integer *nrhs, real *ab, integer *ldab, real *afb, integer *ldafb,
3381 char *equed, real *s, real *b, integer *ldb, real *x, integer *ldx,
3382 real *rcond, real *ferr, real *berr, real *work, integer *iwork,
3383 integer *info);
3384
3385/* Subroutine */ int spbtf2_(char *uplo, integer *n, integer *kd, real *ab,
3386 integer *ldab, integer *info);
3387
3388/* Subroutine */ int spbtrf_(char *uplo, integer *n, integer *kd, real *ab,
3389 integer *ldab, integer *info);
3390
3391/* Subroutine */ int spbtrs_(char *uplo, integer *n, integer *kd, integer *
3392 nrhs, real *ab, integer *ldab, real *b, integer *ldb, integer *info);
3393
3394/* Subroutine */ int spocon_(char *uplo, integer *n, real *a, integer *lda,
3395 real *anorm, real *rcond, real *work, integer *iwork, integer *info);
3396
3397/* Subroutine */ int spoequ_(integer *n, real *a, integer *lda, real *s, real
3398 *scond, real *amax, integer *info);
3399
3400/* Subroutine */ int sporfs_(char *uplo, integer *n, integer *nrhs, real *a,
3401 integer *lda, real *af, integer *ldaf, real *b, integer *ldb, real *x,
3402 integer *ldx, real *ferr, real *berr, real *work, integer *iwork,
3403 integer *info);
3404
3405/* Subroutine */ int sposv_(char *uplo, integer *n, integer *nrhs, real *a,
3406 integer *lda, real *b, integer *ldb, integer *info);
3407
3408/* Subroutine */ int sposvx_(char *fact, char *uplo, integer *n, integer *
3409 nrhs, real *a, integer *lda, real *af, integer *ldaf, char *equed,
3410 real *s, real *b, integer *ldb, real *x, integer *ldx, real *rcond,
3411 real *ferr, real *berr, real *work, integer *iwork, integer *info);
3412
3413/* Subroutine */ int spotf2_(char *uplo, integer *n, real *a, integer *lda,
3414 integer *info);
3415
3416/* Subroutine */ int spotrf_(char *uplo, integer *n, real *a, integer *lda,
3417 integer *info);
3418
3419/* Subroutine */ int spotri_(char *uplo, integer *n, real *a, integer *lda,
3420 integer *info);
3421
3422/* Subroutine */ int spotrs_(char *uplo, integer *n, integer *nrhs, real *a,
3423 integer *lda, real *b, integer *ldb, integer *info);
3424
3425/* Subroutine */ int sppcon_(char *uplo, integer *n, real *ap, real *anorm,
3426 real *rcond, real *work, integer *iwork, integer *info);
3427
3428/* Subroutine */ int sppequ_(char *uplo, integer *n, real *ap, real *s, real *
3429 scond, real *amax, integer *info);
3430
3431/* Subroutine */ int spprfs_(char *uplo, integer *n, integer *nrhs, real *ap,
3432 real *afp, real *b, integer *ldb, real *x, integer *ldx, real *ferr,
3433 real *berr, real *work, integer *iwork, integer *info);
3434
3435/* Subroutine */ int sppsv_(char *uplo, integer *n, integer *nrhs, real *ap,
3436 real *b, integer *ldb, integer *info);
3437
3438/* Subroutine */ int sppsvx_(char *fact, char *uplo, integer *n, integer *
3439 nrhs, real *ap, real *afp, char *equed, real *s, real *b, integer *
3440 ldb, real *x, integer *ldx, real *rcond, real *ferr, real *berr, real
3441 *work, integer *iwork, integer *info);
3442
3443/* Subroutine */ int spptrf_(char *uplo, integer *n, real *ap, integer *info);
3444
3445/* Subroutine */ int spptri_(char *uplo, integer *n, real *ap, integer *info);
3446
3447/* Subroutine */ int spptrs_(char *uplo, integer *n, integer *nrhs, real *ap,
3448 real *b, integer *ldb, integer *info);
3449
3450/* Subroutine */ int sptcon_(integer *n, real *d__, real *e, real *anorm,
3451 real *rcond, real *work, integer *info);
3452
3453/* Subroutine */ int spteqr_(char *compz, integer *n, real *d__, real *e,
3454 real *z__, integer *ldz, real *work, integer *info);
3455
3456/* Subroutine */ int sptrfs_(integer *n, integer *nrhs, real *d__, real *e,
3457 real *df, real *ef, real *b, integer *ldb, real *x, integer *ldx,
3458 real *ferr, real *berr, real *work, integer *info);
3459
3460/* Subroutine */ int sptsv_(integer *n, integer *nrhs, real *d__, real *e,
3461 real *b, integer *ldb, integer *info);
3462
3463/* Subroutine */ int sptsvx_(char *fact, integer *n, integer *nrhs, real *d__,
3464 real *e, real *df, real *ef, real *b, integer *ldb, real *x, integer
3465 *ldx, real *rcond, real *ferr, real *berr, real *work, integer *info);
3466
3467/* Subroutine */ int spttrf_(integer *n, real *d__, real *e, integer *info);
3468
3469/* Subroutine */ int spttrs_(integer *n, integer *nrhs, real *d__, real *e,
3470 real *b, integer *ldb, integer *info);
3471
3472/* Subroutine */ int sptts2_(integer *n, integer *nrhs, real *d__, real *e,
3473 real *b, integer *ldb);
3474
3475/* Subroutine */ int srscl_(integer *n, real *sa, real *sx, integer *incx);
3476
3477/* Subroutine */ int ssbev_(char *jobz, char *uplo, integer *n, integer *kd,
3478 real *ab, integer *ldab, real *w, real *z__, integer *ldz, real *work,
3479 integer *info);
3480
3481/* Subroutine */ int ssbevd_(char *jobz, char *uplo, integer *n, integer *kd,
3482 real *ab, integer *ldab, real *w, real *z__, integer *ldz, real *work,
3483 integer *lwork, integer *iwork, integer *liwork, integer *info);
3484
3485/* Subroutine */ int ssbevx_(char *jobz, char *range, char *uplo, integer *n,
3486 integer *kd, real *ab, integer *ldab, real *q, integer *ldq, real *vl,
3487 real *vu, integer *il, integer *iu, real *abstol, integer *m, real *
3488 w, real *z__, integer *ldz, real *work, integer *iwork, integer *
3489 ifail, integer *info);
3490
3491/* Subroutine */ int ssbgst_(char *vect, char *uplo, integer *n, integer *ka,
3492 integer *kb, real *ab, integer *ldab, real *bb, integer *ldbb, real *
3493 x, integer *ldx, real *work, integer *info);
3494
3495/* Subroutine */ int ssbgv_(char *jobz, char *uplo, integer *n, integer *ka,
3496 integer *kb, real *ab, integer *ldab, real *bb, integer *ldbb, real *
3497 w, real *z__, integer *ldz, real *work, integer *info);
3498
3499/* Subroutine */ int ssbgvd_(char *jobz, char *uplo, integer *n, integer *ka,
3500 integer *kb, real *ab, integer *ldab, real *bb, integer *ldbb, real *
3501 w, real *z__, integer *ldz, real *work, integer *lwork, integer *
3502 iwork, integer *liwork, integer *info);
3503
3504/* Subroutine */ int ssbgvx_(char *jobz, char *range, char *uplo, integer *n,
3505 integer *ka, integer *kb, real *ab, integer *ldab, real *bb, integer *
3506 ldbb, real *q, integer *ldq, real *vl, real *vu, integer *il, integer
3507 *iu, real *abstol, integer *m, real *w, real *z__, integer *ldz, real
3508 *work, integer *iwork, integer *ifail, integer *info);
3509
3510/* Subroutine */ int ssbtrd_(char *vect, char *uplo, integer *n, integer *kd,
3511 real *ab, integer *ldab, real *d__, real *e, real *q, integer *ldq,
3512 real *work, integer *info);
3513
3514/* Subroutine */ int sspcon_(char *uplo, integer *n, real *ap, integer *ipiv,
3515 real *anorm, real *rcond, real *work, integer *iwork, integer *info);
3516
3517/* Subroutine */ int sspev_(char *jobz, char *uplo, integer *n, real *ap,
3518 real *w, real *z__, integer *ldz, real *work, integer *info);
3519
3520/* Subroutine */ int sspevd_(char *jobz, char *uplo, integer *n, real *ap,
3521 real *w, real *z__, integer *ldz, real *work, integer *lwork, integer
3522 *iwork, integer *liwork, integer *info);
3523
3524/* Subroutine */ int sspevx_(char *jobz, char *range, char *uplo, integer *n,
3525 real *ap, real *vl, real *vu, integer *il, integer *iu, real *abstol,
3526 integer *m, real *w, real *z__, integer *ldz, real *work, integer *
3527 iwork, integer *ifail, integer *info);
3528
3529/* Subroutine */ int sspgst_(integer *itype, char *uplo, integer *n, real *ap,
3530 real *bp, integer *info);
3531
3532/* Subroutine */ int sspgv_(integer *itype, char *jobz, char *uplo, integer *
3533 n, real *ap, real *bp, real *w, real *z__, integer *ldz, real *work,
3534 integer *info);
3535
3536/* Subroutine */ int sspgvd_(integer *itype, char *jobz, char *uplo, integer *
3537 n, real *ap, real *bp, real *w, real *z__, integer *ldz, real *work,
3538 integer *lwork, integer *iwork, integer *liwork, integer *info);
3539
3540/* Subroutine */ int sspgvx_(integer *itype, char *jobz, char *range, char *
3541 uplo, integer *n, real *ap, real *bp, real *vl, real *vu, integer *il,
3542 integer *iu, real *abstol, integer *m, real *w, real *z__, integer *
3543 ldz, real *work, integer *iwork, integer *ifail, integer *info);
3544
3545/* Subroutine */ int ssprfs_(char *uplo, integer *n, integer *nrhs, real *ap,
3546 real *afp, integer *ipiv, real *b, integer *ldb, real *x, integer *
3547 ldx, real *ferr, real *berr, real *work, integer *iwork, integer *
3548 info);
3549
3550/* Subroutine */ int sspsv_(char *uplo, integer *n, integer *nrhs, real *ap,
3551 integer *ipiv, real *b, integer *ldb, integer *info);
3552
3553/* Subroutine */ int sspsvx_(char *fact, char *uplo, integer *n, integer *
3554 nrhs, real *ap, real *afp, integer *ipiv, real *b, integer *ldb, real
3555 *x, integer *ldx, real *rcond, real *ferr, real *berr, real *work,
3556 integer *iwork, integer *info);
3557
3558/* Subroutine */ int ssptrd_(char *uplo, integer *n, real *ap, real *d__,
3559 real *e, real *tau, integer *info);
3560
3561/* Subroutine */ int ssptrf_(char *uplo, integer *n, real *ap, integer *ipiv,
3562 integer *info);
3563
3564/* Subroutine */ int ssptri_(char *uplo, integer *n, real *ap, integer *ipiv,
3565 real *work, integer *info);
3566
3567/* Subroutine */ int ssptrs_(char *uplo, integer *n, integer *nrhs, real *ap,
3568 integer *ipiv, real *b, integer *ldb, integer *info);
3569
3570/* Subroutine */ int sstebz_(char *range, char *order, integer *n, real *vl,
3571 real *vu, integer *il, integer *iu, real *abstol, real *d__, real *e,
3572 integer *m, integer *nsplit, real *w, integer *iblock, integer *
3573 isplit, real *work, integer *iwork, integer *info);
3574
3575/* Subroutine */ int sstedc_(char *compz, integer *n, real *d__, real *e,
3576 real *z__, integer *ldz, real *work, integer *lwork, integer *iwork,
3577 integer *liwork, integer *info);
3578
3579/* Subroutine */ int sstegr_(char *jobz, char *range, integer *n, real *d__,
3580 real *e, real *vl, real *vu, integer *il, integer *iu, real *abstol,
3581 integer *m, real *w, real *z__, integer *ldz, integer *isuppz, real *
3582 work, integer *lwork, integer *iwork, integer *liwork, integer *info);
3583
3584/* Subroutine */ int sstein_(integer *n, real *d__, real *e, integer *m, real
3585 *w, integer *iblock, integer *isplit, real *z__, integer *ldz, real *
3586 work, integer *iwork, integer *ifail, integer *info);
3587
3588/* Subroutine */ int ssteqr_(char *compz, integer *n, real *d__, real *e,
3589 real *z__, integer *ldz, real *work, integer *info);
3590
3591/* Subroutine */ int ssterf_(integer *n, real *d__, real *e, integer *info);
3592
3593/* Subroutine */ int sstev_(char *jobz, integer *n, real *d__, real *e, real *
3594 z__, integer *ldz, real *work, integer *info);
3595
3596/* Subroutine */ int sstevd_(char *jobz, integer *n, real *d__, real *e, real
3597 *z__, integer *ldz, real *work, integer *lwork, integer *iwork,
3598 integer *liwork, integer *info);
3599
3600/* Subroutine */ int sstevr_(char *jobz, char *range, integer *n, real *d__,
3601 real *e, real *vl, real *vu, integer *il, integer *iu, real *abstol,
3602 integer *m, real *w, real *z__, integer *ldz, integer *isuppz, real *
3603 work, integer *lwork, integer *iwork, integer *liwork, integer *info);
3604
3605/* Subroutine */ int sstevx_(char *jobz, char *range, integer *n, real *d__,
3606 real *e, real *vl, real *vu, integer *il, integer *iu, real *abstol,
3607 integer *m, real *w, real *z__, integer *ldz, real *work, integer *
3608 iwork, integer *ifail, integer *info);
3609
3610/* Subroutine */ int ssycon_(char *uplo, integer *n, real *a, integer *lda,
3611 integer *ipiv, real *anorm, real *rcond, real *work, integer *iwork,
3612 integer *info);
3613
3614/* Subroutine */ int ssyev_(char *jobz, char *uplo, integer *n, real *a,
3615 integer *lda, real *w, real *work, integer *lwork, integer *info);
3616
3617/* Subroutine */ int ssyevd_(char *jobz, char *uplo, integer *n, real *a,
3618 integer *lda, real *w, real *work, integer *lwork, integer *iwork,
3619 integer *liwork, integer *info);
3620
3621/* Subroutine */ int ssyevr_(char *jobz, char *range, char *uplo, integer *n,
3622 real *a, integer *lda, real *vl, real *vu, integer *il, integer *iu,
3623 real *abstol, integer *m, real *w, real *z__, integer *ldz, integer *
3624 isuppz, real *work, integer *lwork, integer *iwork, integer *liwork,
3625 integer *info);
3626
3627/* Subroutine */ int ssyevx_(char *jobz, char *range, char *uplo, integer *n,
3628 real *a, integer *lda, real *vl, real *vu, integer *il, integer *iu,
3629 real *abstol, integer *m, real *w, real *z__, integer *ldz, real *
3630 work, integer *lwork, integer *iwork, integer *ifail, integer *info);
3631
3632/* Subroutine */ int ssygs2_(integer *itype, char *uplo, integer *n, real *a,
3633 integer *lda, real *b, integer *ldb, integer *info);
3634
3635/* Subroutine */ int ssygst_(integer *itype, char *uplo, integer *n, real *a,
3636 integer *lda, real *b, integer *ldb, integer *info);
3637
3638/* Subroutine */ int ssygv_(integer *itype, char *jobz, char *uplo, integer *
3639 n, real *a, integer *lda, real *b, integer *ldb, real *w, real *work,
3640 integer *lwork, integer *info);
3641
3642/* Subroutine */ int ssygvd_(integer *itype, char *jobz, char *uplo, integer *
3643 n, real *a, integer *lda, real *b, integer *ldb, real *w, real *work,
3644 integer *lwork, integer *iwork, integer *liwork, integer *info);
3645
3646/* Subroutine */ int ssygvx_(integer *itype, char *jobz, char *range, char *
3647 uplo, integer *n, real *a, integer *lda, real *b, integer *ldb, real *
3648 vl, real *vu, integer *il, integer *iu, real *abstol, integer *m,
3649 real *w, real *z__, integer *ldz, real *work, integer *lwork, integer
3650 *iwork, integer *ifail, integer *info);
3651
3652/* Subroutine */ int ssyrfs_(char *uplo, integer *n, integer *nrhs, real *a,
3653 integer *lda, real *af, integer *ldaf, integer *ipiv, real *b,
3654 integer *ldb, real *x, integer *ldx, real *ferr, real *berr, real *
3655 work, integer *iwork, integer *info);
3656
3657/* Subroutine */ int ssysv_(char *uplo, integer *n, integer *nrhs, real *a,
3658 integer *lda, integer *ipiv, real *b, integer *ldb, real *work,
3659 integer *lwork, integer *info);
3660
3661/* Subroutine */ int ssysvx_(char *fact, char *uplo, integer *n, integer *
3662 nrhs, real *a, integer *lda, real *af, integer *ldaf, integer *ipiv,
3663 real *b, integer *ldb, real *x, integer *ldx, real *rcond, real *ferr,
3664 real *berr, real *work, integer *lwork, integer *iwork, integer *
3665 info);
3666
3667/* Subroutine */ int ssytd2_(char *uplo, integer *n, real *a, integer *lda,
3668 real *d__, real *e, real *tau, integer *info);
3669
3670/* Subroutine */ int ssytf2_(char *uplo, integer *n, real *a, integer *lda,
3671 integer *ipiv, integer *info);
3672
3673/* Subroutine */ int ssytrd_(char *uplo, integer *n, real *a, integer *lda,
3674 real *d__, real *e, real *tau, real *work, integer *lwork, integer *
3675 info);
3676
3677/* Subroutine */ int ssytrf_(char *uplo, integer *n, real *a, integer *lda,
3678 integer *ipiv, real *work, integer *lwork, integer *info);
3679
3680/* Subroutine */ int ssytri_(char *uplo, integer *n, real *a, integer *lda,
3681 integer *ipiv, real *work, integer *info);
3682
3683/* Subroutine */ int ssytrs_(char *uplo, integer *n, integer *nrhs, real *a,
3684 integer *lda, integer *ipiv, real *b, integer *ldb, integer *info);
3685
3686/* Subroutine */ int stbcon_(char *norm, char *uplo, char *diag, integer *n,
3687 integer *kd, real *ab, integer *ldab, real *rcond, real *work,
3688 integer *iwork, integer *info);
3689
3690/* Subroutine */ int stbrfs_(char *uplo, char *trans, char *diag, integer *n,
3691 integer *kd, integer *nrhs, real *ab, integer *ldab, real *b, integer
3692 *ldb, real *x, integer *ldx, real *ferr, real *berr, real *work,
3693 integer *iwork, integer *info);
3694
3695/* Subroutine */ int stbtrs_(char *uplo, char *trans, char *diag, integer *n,
3696 integer *kd, integer *nrhs, real *ab, integer *ldab, real *b, integer
3697 *ldb, integer *info);
3698
3699/* Subroutine */ int stgevc_(char *side, char *howmny, logical *select,
3700 integer *n, real *a, integer *lda, real *b, integer *ldb, real *vl,
3701 integer *ldvl, real *vr, integer *ldvr, integer *mm, integer *m, real
3702 *work, integer *info);
3703
3704/* Subroutine */ int stgex2_(logical *wantq, logical *wantz, integer *n, real
3705 *a, integer *lda, real *b, integer *ldb, real *q, integer *ldq, real *
3706 z__, integer *ldz, integer *j1, integer *n1, integer *n2, real *work,
3707 integer *lwork, integer *info);
3708
3709/* Subroutine */ int stgexc_(logical *wantq, logical *wantz, integer *n, real
3710 *a, integer *lda, real *b, integer *ldb, real *q, integer *ldq, real *
3711 z__, integer *ldz, integer *ifst, integer *ilst, real *work, integer *
3712 lwork, integer *info);
3713
3714/* Subroutine */ int stgsen_(integer *ijob, logical *wantq, logical *wantz,
3715 logical *select, integer *n, real *a, integer *lda, real *b, integer *
3716 ldb, real *alphar, real *alphai, real *beta, real *q, integer *ldq,
3717 real *z__, integer *ldz, integer *m, real *pl, real *pr, real *dif,
3718 real *work, integer *lwork, integer *iwork, integer *liwork, integer *
3719 info);
3720
3721/* Subroutine */ int stgsja_(char *jobu, char *jobv, char *jobq, integer *m,
3722 integer *p, integer *n, integer *k, integer *l, real *a, integer *lda,
3723 real *b, integer *ldb, real *tola, real *tolb, real *alpha, real *
3724 beta, real *u, integer *ldu, real *v, integer *ldv, real *q, integer *
3725 ldq, real *work, integer *ncycle, integer *info);
3726
3727/* Subroutine */ int stgsna_(char *job, char *howmny, logical *select,
3728 integer *n, real *a, integer *lda, real *b, integer *ldb, real *vl,
3729 integer *ldvl, real *vr, integer *ldvr, real *s, real *dif, integer *
3730 mm, integer *m, real *work, integer *lwork, integer *iwork, integer *
3731 info);
3732
3733/* Subroutine */ int stgsy2_(char *trans, integer *ijob, integer *m, integer *
3734 n, real *a, integer *lda, real *b, integer *ldb, real *c__, integer *
3735 ldc, real *d__, integer *ldd, real *e, integer *lde, real *f, integer
3736 *ldf, real *scale, real *rdsum, real *rdscal, integer *iwork, integer
3737 *pq, integer *info);
3738
3739/* Subroutine */ int stgsyl_(char *trans, integer *ijob, integer *m, integer *
3740 n, real *a, integer *lda, real *b, integer *ldb, real *c__, integer *
3741 ldc, real *d__, integer *ldd, real *e, integer *lde, real *f, integer
3742 *ldf, real *scale, real *dif, real *work, integer *lwork, integer *
3743 iwork, integer *info);
3744
3745/* Subroutine */ int stpcon_(char *norm, char *uplo, char *diag, integer *n,
3746 real *ap, real *rcond, real *work, integer *iwork, integer *info);
3747
3748/* Subroutine */ int stprfs_(char *uplo, char *trans, char *diag, integer *n,
3749 integer *nrhs, real *ap, real *b, integer *ldb, real *x, integer *ldx,
3750 real *ferr, real *berr, real *work, integer *iwork, integer *info);
3751
3752/* Subroutine */ int stptri_(char *uplo, char *diag, integer *n, real *ap,
3753 integer *info);
3754
3755/* Subroutine */ int stptrs_(char *uplo, char *trans, char *diag, integer *n,
3756 integer *nrhs, real *ap, real *b, integer *ldb, integer *info);
3757
3758/* Subroutine */ int strcon_(char *norm, char *uplo, char *diag, integer *n,
3759 real *a, integer *lda, real *rcond, real *work, integer *iwork,
3760 integer *info);
3761
3762/* Subroutine */ int strevc_(char *side, char *howmny, logical *select,
3763 integer *n, real *t, integer *ldt, real *vl, integer *ldvl, real *vr,
3764 integer *ldvr, integer *mm, integer *m, real *work, integer *info);
3765
3766/* Subroutine */ int strexc_(char *compq, integer *n, real *t, integer *ldt,
3767 real *q, integer *ldq, integer *ifst, integer *ilst, real *work,
3768 integer *info);
3769
3770/* Subroutine */ int strrfs_(char *uplo, char *trans, char *diag, integer *n,
3771 integer *nrhs, real *a, integer *lda, real *b, integer *ldb, real *x,
3772 integer *ldx, real *ferr, real *berr, real *work, integer *iwork,
3773 integer *info);
3774
3775/* Subroutine */ int strsen_(char *job, char *compq, logical *select, integer
3776 *n, real *t, integer *ldt, real *q, integer *ldq, real *wr, real *wi,
3777 integer *m, real *s, real *sep, real *work, integer *lwork, integer *
3778 iwork, integer *liwork, integer *info);
3779
3780/* Subroutine */ int strsna_(char *job, char *howmny, logical *select,
3781 integer *n, real *t, integer *ldt, real *vl, integer *ldvl, real *vr,
3782 integer *ldvr, real *s, real *sep, integer *mm, integer *m, real *
3783 work, integer *ldwork, integer *iwork, integer *info);
3784
3785/* Subroutine */ int strsyl_(char *trana, char *tranb, integer *isgn, integer
3786 *m, integer *n, real *a, integer *lda, real *b, integer *ldb, real *
3787 c__, integer *ldc, real *scale, integer *info);
3788
3789/* Subroutine */ int strti2_(char *uplo, char *diag, integer *n, real *a,
3790 integer *lda, integer *info);
3791
3792/* Subroutine */ int strtri_(char *uplo, char *diag, integer *n, real *a,
3793 integer *lda, integer *info);
3794
3795/* Subroutine */ int strtrs_(char *uplo, char *trans, char *diag, integer *n,
3796 integer *nrhs, real *a, integer *lda, real *b, integer *ldb, integer *
3797 info);
3798
3799/* Subroutine */ int stzrqf_(integer *m, integer *n, real *a, integer *lda,
3800 real *tau, integer *info);
3801
3802/* Subroutine */ int stzrzf_(integer *m, integer *n, real *a, integer *lda,
3803 real *tau, real *work, integer *lwork, integer *info);
3804
3805/* Subroutine */ int xerbla_(char *srname, integer *info);
3806
3807/* Subroutine */ int zbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
3808 nru, integer *ncc, doublereal *d__, doublereal *e, doublecomplex *vt,
3809 integer *ldvt, doublecomplex *u, integer *ldu, doublecomplex *c__,
3810 integer *ldc, doublereal *rwork, integer *info);
3811
3812/* Subroutine */ int zdrot_(integer *n, doublecomplex *cx, integer *incx,
3813 doublecomplex *cy, integer *incy, doublereal *c__, doublereal *s);
3814
3815/* Subroutine */ int zdrscl_(integer *n, doublereal *sa, doublecomplex *sx,
3816 integer *incx);
3817
3818/* Subroutine */ int zgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
3819 integer *kl, integer *ku, doublecomplex *ab, integer *ldab,
3820 doublereal *d__, doublereal *e, doublecomplex *q, integer *ldq,
3821 doublecomplex *pt, integer *ldpt, doublecomplex *c__, integer *ldc,
3822 doublecomplex *work, doublereal *rwork, integer *info);
3823
3824/* Subroutine */ int zgbcon_(char *norm, integer *n, integer *kl, integer *ku,
3825 doublecomplex *ab, integer *ldab, integer *ipiv, doublereal *anorm,
3826 doublereal *rcond, doublecomplex *work, doublereal *rwork, integer *
3827 info);
3828
3829/* Subroutine */ int zgbequ_(integer *m, integer *n, integer *kl, integer *ku,
3830 doublecomplex *ab, integer *ldab, doublereal *r__, doublereal *c__,
3831 doublereal *rowcnd, doublereal *colcnd, doublereal *amax, integer *
3832 info);
3833
3834/* Subroutine */ int zgbrfs_(char *trans, integer *n, integer *kl, integer *
3835 ku, integer *nrhs, doublecomplex *ab, integer *ldab, doublecomplex *
3836 afb, integer *ldafb, integer *ipiv, doublecomplex *b, integer *ldb,
3837 doublecomplex *x, integer *ldx, doublereal *ferr, doublereal *berr,
3838 doublecomplex *work, doublereal *rwork, integer *info);
3839
3840/* Subroutine */ int zgbsv_(integer *n, integer *kl, integer *ku, integer *
3841 nrhs, doublecomplex *ab, integer *ldab, integer *ipiv, doublecomplex *
3842 b, integer *ldb, integer *info);
3843
3844/* Subroutine */ int zgbsvx_(char *fact, char *trans, integer *n, integer *kl,
3845 integer *ku, integer *nrhs, doublecomplex *ab, integer *ldab,
3846 doublecomplex *afb, integer *ldafb, integer *ipiv, char *equed,
3847 doublereal *r__, doublereal *c__, doublecomplex *b, integer *ldb,
3848 doublecomplex *x, integer *ldx, doublereal *rcond, doublereal *ferr,
3849 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
3850 info);
3851
3852/* Subroutine */ int zgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
3853 doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
3854
3855/* Subroutine */ int zgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
3856 doublecomplex *ab, integer *ldab, integer *ipiv, integer *info);
3857
3858/* Subroutine */ int zgbtrs_(char *trans, integer *n, integer *kl, integer *
3859 ku, integer *nrhs, doublecomplex *ab, integer *ldab, integer *ipiv,
3860 doublecomplex *b, integer *ldb, integer *info);
3861
3862/* Subroutine */ int zgebak_(char *job, char *side, integer *n, integer *ilo,
3863 integer *ihi, doublereal *scale, integer *m, doublecomplex *v,
3864 integer *ldv, integer *info);
3865
3866/* Subroutine */ int zgebal_(char *job, integer *n, doublecomplex *a, integer
3867 *lda, integer *ilo, integer *ihi, doublereal *scale, integer *info);
3868
3869/* Subroutine */ int zgebd2_(integer *m, integer *n, doublecomplex *a,
3870 integer *lda, doublereal *d__, doublereal *e, doublecomplex *tauq,
3871 doublecomplex *taup, doublecomplex *work, integer *info);
3872
3873/* Subroutine */ int zgebrd_(integer *m, integer *n, doublecomplex *a,
3874 integer *lda, doublereal *d__, doublereal *e, doublecomplex *tauq,
3875 doublecomplex *taup, doublecomplex *work, integer *lwork, integer *
3876 info);
3877
3878/* Subroutine */ int zgecon_(char *norm, integer *n, doublecomplex *a,
3879 integer *lda, doublereal *anorm, doublereal *rcond, doublecomplex *
3880 work, doublereal *rwork, integer *info);
3881
3882/* Subroutine */ int zgeequ_(integer *m, integer *n, doublecomplex *a,
3883 integer *lda, doublereal *r__, doublereal *c__, doublereal *rowcnd,
3884 doublereal *colcnd, doublereal *amax, integer *info);
3885
3886/* Subroutine */ int zgees_(char *jobvs, char *sort, L_fp select, integer *n,
3887 doublecomplex *a, integer *lda, integer *sdim, doublecomplex *w,
3888 doublecomplex *vs, integer *ldvs, doublecomplex *work, integer *lwork,
3889 doublereal *rwork, logical *bwork, integer *info);
3890
3891/* Subroutine */ int zgeesx_(char *jobvs, char *sort, L_fp select, char *
3892 sense, integer *n, doublecomplex *a, integer *lda, integer *sdim,
3893 doublecomplex *w, doublecomplex *vs, integer *ldvs, doublereal *
3894 rconde, doublereal *rcondv, doublecomplex *work, integer *lwork,
3895 doublereal *rwork, logical *bwork, integer *info);
3896
3897/* Subroutine */ int zgeev_(char *jobvl, char *jobvr, integer *n,
3898 doublecomplex *a, integer *lda, doublecomplex *w, doublecomplex *vl,
3899 integer *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work,
3900 integer *lwork, doublereal *rwork, integer *info);
3901
3902/* Subroutine */ int zgeevx_(char *balanc, char *jobvl, char *jobvr, char *
3903 sense, integer *n, doublecomplex *a, integer *lda, doublecomplex *w,
3904 doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *ldvr,
3905 integer *ilo, integer *ihi, doublereal *scale, doublereal *abnrm,
3906 doublereal *rconde, doublereal *rcondv, doublecomplex *work, integer *
3907 lwork, doublereal *rwork, integer *info);
3908
3909/* Subroutine */ int zgegs_(char *jobvsl, char *jobvsr, integer *n,
3910 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
3911 doublecomplex *alpha, doublecomplex *beta, doublecomplex *vsl,
3912 integer *ldvsl, doublecomplex *vsr, integer *ldvsr, doublecomplex *
3913 work, integer *lwork, doublereal *rwork, integer *info);
3914
3915/* Subroutine */ int zgegv_(char *jobvl, char *jobvr, integer *n,
3916 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
3917 doublecomplex *alpha, doublecomplex *beta, doublecomplex *vl, integer
3918 *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work, integer
3919 *lwork, doublereal *rwork, integer *info);
3920
3921/* Subroutine */ int zgehd2_(integer *n, integer *ilo, integer *ihi,
3922 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
3923 work, integer *info);
3924
3925/* Subroutine */ int zgehrd_(integer *n, integer *ilo, integer *ihi,
3926 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
3927 work, integer *lwork, integer *info);
3928
3929/* Subroutine */ int zgelq2_(integer *m, integer *n, doublecomplex *a,
3930 integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
3931
3932/* Subroutine */ int zgelqf_(integer *m, integer *n, doublecomplex *a,
3933 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
3934 integer *info);
3935
3936/* Subroutine */ int zgels_(char *trans, integer *m, integer *n, integer *
3937 nrhs, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
3938 doublecomplex *work, integer *lwork, integer *info);
3939
3940/* Subroutine */ int zgelsx_(integer *m, integer *n, integer *nrhs,
3941 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
3942 integer *jpvt, doublereal *rcond, integer *rank, doublecomplex *work,
3943 doublereal *rwork, integer *info);
3944
3945/* Subroutine */ int zgelsy_(integer *m, integer *n, integer *nrhs,
3946 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
3947 integer *jpvt, doublereal *rcond, integer *rank, doublecomplex *work,
3948 integer *lwork, doublereal *rwork, integer *info);
3949
3950/* Subroutine */ int zgeql2_(integer *m, integer *n, doublecomplex *a,
3951 integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
3952
3953/* Subroutine */ int zgeqlf_(integer *m, integer *n, doublecomplex *a,
3954 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
3955 integer *info);
3956
3957/* Subroutine */ int zgeqp3_(integer *m, integer *n, doublecomplex *a,
3958 integer *lda, integer *jpvt, doublecomplex *tau, doublecomplex *work,
3959 integer *lwork, doublereal *rwork, integer *info);
3960
3961/* Subroutine */ int zgeqpf_(integer *m, integer *n, doublecomplex *a,
3962 integer *lda, integer *jpvt, doublecomplex *tau, doublecomplex *work,
3963 doublereal *rwork, integer *info);
3964
3965/* Subroutine */ int zgeqr2_(integer *m, integer *n, doublecomplex *a,
3966 integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
3967
3968/* Subroutine */ int zgeqrf_(integer *m, integer *n, doublecomplex *a,
3969 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
3970 integer *info);
3971
3972/* Subroutine */ int zgerfs_(char *trans, integer *n, integer *nrhs,
3973 doublecomplex *a, integer *lda, doublecomplex *af, integer *ldaf,
3974 integer *ipiv, doublecomplex *b, integer *ldb, doublecomplex *x,
3975 integer *ldx, doublereal *ferr, doublereal *berr, doublecomplex *work,
3976 doublereal *rwork, integer *info);
3977
3978/* Subroutine */ int zgerq2_(integer *m, integer *n, doublecomplex *a,
3979 integer *lda, doublecomplex *tau, doublecomplex *work, integer *info);
3980
3981/* Subroutine */ int zgerqf_(integer *m, integer *n, doublecomplex *a,
3982 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
3983 integer *info);
3984
3985/* Subroutine */ int zgesc2_(integer *n, doublecomplex *a, integer *lda,
3986 doublecomplex *rhs, integer *ipiv, integer *jpiv, doublereal *scale);
3987
3988/* Subroutine */ int zgesv_(integer *n, integer *nrhs, doublecomplex *a,
3989 integer *lda, integer *ipiv, doublecomplex *b, integer *ldb, integer *
3990 info);
3991
3992/* Subroutine */ int zgesvx_(char *fact, char *trans, integer *n, integer *
3993 nrhs, doublecomplex *a, integer *lda, doublecomplex *af, integer *
3994 ldaf, integer *ipiv, char *equed, doublereal *r__, doublereal *c__,
3995 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
3996 doublereal *rcond, doublereal *ferr, doublereal *berr, doublecomplex *
3997 work, doublereal *rwork, integer *info);
3998
3999/* Subroutine */ int zgetc2_(integer *n, doublecomplex *a, integer *lda,
4000 integer *ipiv, integer *jpiv, integer *info);
4001
4002/* Subroutine */ int zgetf2_(integer *m, integer *n, doublecomplex *a,
4003 integer *lda, integer *ipiv, integer *info);
4004
4005/* Subroutine */ int zgetrf_(integer *m, integer *n, doublecomplex *a,
4006 integer *lda, integer *ipiv, integer *info);
4007
4008/* Subroutine */ int zgetri_(integer *n, doublecomplex *a, integer *lda,
4009 integer *ipiv, doublecomplex *work, integer *lwork, integer *info);
4010
4011/* Subroutine */ int zgetrs_(char *trans, integer *n, integer *nrhs,
4012 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b,
4013 integer *ldb, integer *info);
4014
4015/* Subroutine */ int zggbak_(char *job, char *side, integer *n, integer *ilo,
4016 integer *ihi, doublereal *lscale, doublereal *rscale, integer *m,
4017 doublecomplex *v, integer *ldv, integer *info);
4018
4019/* Subroutine */ int zggbal_(char *job, integer *n, doublecomplex *a, integer
4020 *lda, doublecomplex *b, integer *ldb, integer *ilo, integer *ihi,
4021 doublereal *lscale, doublereal *rscale, doublereal *work, integer *
4022 info);
4023
4024/* Subroutine */ int zgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
4025 delctg, integer *n, doublecomplex *a, integer *lda, doublecomplex *b,
4026 integer *ldb, integer *sdim, doublecomplex *alpha, doublecomplex *
4027 beta, doublecomplex *vsl, integer *ldvsl, doublecomplex *vsr, integer
4028 *ldvsr, doublecomplex *work, integer *lwork, doublereal *rwork,
4029 logical *bwork, integer *info);
4030
4031/* Subroutine */ int zggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
4032 delctg, char *sense, integer *n, doublecomplex *a, integer *lda,
4033 doublecomplex *b, integer *ldb, integer *sdim, doublecomplex *alpha,
4034 doublecomplex *beta, doublecomplex *vsl, integer *ldvsl,
4035 doublecomplex *vsr, integer *ldvsr, doublereal *rconde, doublereal *
4036 rcondv, doublecomplex *work, integer *lwork, doublereal *rwork,
4037 integer *iwork, integer *liwork, logical *bwork, integer *info);
4038
4039/* Subroutine */ int zggev_(char *jobvl, char *jobvr, integer *n,
4040 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4041 doublecomplex *alpha, doublecomplex *beta, doublecomplex *vl, integer
4042 *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work, integer
4043 *lwork, doublereal *rwork, integer *info);
4044
4045/* Subroutine */ int zggevx_(char *balanc, char *jobvl, char *jobvr, char *
4046 sense, integer *n, doublecomplex *a, integer *lda, doublecomplex *b,
4047 integer *ldb, doublecomplex *alpha, doublecomplex *beta,
4048 doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *ldvr,
4049 integer *ilo, integer *ihi, doublereal *lscale, doublereal *rscale,
4050 doublereal *abnrm, doublereal *bbnrm, doublereal *rconde, doublereal *
4051 rcondv, doublecomplex *work, integer *lwork, doublereal *rwork,
4052 integer *iwork, logical *bwork, integer *info);
4053
4054/* Subroutine */ int zggglm_(integer *n, integer *m, integer *p,
4055 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4056 doublecomplex *d__, doublecomplex *x, doublecomplex *y, doublecomplex
4057 *work, integer *lwork, integer *info);
4058
4059/* Subroutine */ int zgghrd_(char *compq, char *compz, integer *n, integer *
4060 ilo, integer *ihi, doublecomplex *a, integer *lda, doublecomplex *b,
4061 integer *ldb, doublecomplex *q, integer *ldq, doublecomplex *z__,
4062 integer *ldz, integer *info);
4063
4064/* Subroutine */ int zgglse_(integer *m, integer *n, integer *p,
4065 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4066 doublecomplex *c__, doublecomplex *d__, doublecomplex *x,
4067 doublecomplex *work, integer *lwork, integer *info);
4068
4069/* Subroutine */ int zggqrf_(integer *n, integer *m, integer *p,
4070 doublecomplex *a, integer *lda, doublecomplex *taua, doublecomplex *b,
4071 integer *ldb, doublecomplex *taub, doublecomplex *work, integer *
4072 lwork, integer *info);
4073
4074/* Subroutine */ int zggrqf_(integer *m, integer *p, integer *n,
4075 doublecomplex *a, integer *lda, doublecomplex *taua, doublecomplex *b,
4076 integer *ldb, doublecomplex *taub, doublecomplex *work, integer *
4077 lwork, integer *info);
4078
4079/* Subroutine */ int zggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
4080 integer *n, integer *p, integer *k, integer *l, doublecomplex *a,
4081 integer *lda, doublecomplex *b, integer *ldb, doublereal *alpha,
4082 doublereal *beta, doublecomplex *u, integer *ldu, doublecomplex *v,
4083 integer *ldv, doublecomplex *q, integer *ldq, doublecomplex *work,
4084 doublereal *rwork, integer *iwork, integer *info);
4085
4086/* Subroutine */ int zggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
4087 integer *p, integer *n, doublecomplex *a, integer *lda, doublecomplex
4088 *b, integer *ldb, doublereal *tola, doublereal *tolb, integer *k,
4089 integer *l, doublecomplex *u, integer *ldu, doublecomplex *v, integer
4090 *ldv, doublecomplex *q, integer *ldq, integer *iwork, doublereal *
4091 rwork, doublecomplex *tau, doublecomplex *work, integer *info);
4092
4093/* Subroutine */ int zgtcon_(char *norm, integer *n, doublecomplex *dl,
4094 doublecomplex *d__, doublecomplex *du, doublecomplex *du2, integer *
4095 ipiv, doublereal *anorm, doublereal *rcond, doublecomplex *work,
4096 integer *info);
4097
4098/* Subroutine */ int zgtrfs_(char *trans, integer *n, integer *nrhs,
4099 doublecomplex *dl, doublecomplex *d__, doublecomplex *du,
4100 doublecomplex *dlf, doublecomplex *df, doublecomplex *duf,
4101 doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb,
4102 doublecomplex *x, integer *ldx, doublereal *ferr, doublereal *berr,
4103 doublecomplex *work, doublereal *rwork, integer *info);
4104
4105/* Subroutine */ int zgtsv_(integer *n, integer *nrhs, doublecomplex *dl,
4106 doublecomplex *d__, doublecomplex *du, doublecomplex *b, integer *ldb,
4107 integer *info);
4108
4109/* Subroutine */ int zgtsvx_(char *fact, char *trans, integer *n, integer *
4110 nrhs, doublecomplex *dl, doublecomplex *d__, doublecomplex *du,
4111 doublecomplex *dlf, doublecomplex *df, doublecomplex *duf,
4112 doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb,
4113 doublecomplex *x, integer *ldx, doublereal *rcond, doublereal *ferr,
4114 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
4115 info);
4116
4117/* Subroutine */ int zgttrf_(integer *n, doublecomplex *dl, doublecomplex *
4118 d__, doublecomplex *du, doublecomplex *du2, integer *ipiv, integer *
4119 info);
4120
4121/* Subroutine */ int zgttrs_(char *trans, integer *n, integer *nrhs,
4122 doublecomplex *dl, doublecomplex *d__, doublecomplex *du,
4123 doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb,
4124 integer *info);
4125
4126/* Subroutine */ int zgtts2_(integer *itrans, integer *n, integer *nrhs,
4127 doublecomplex *dl, doublecomplex *d__, doublecomplex *du,
4128 doublecomplex *du2, integer *ipiv, doublecomplex *b, integer *ldb);
4129
4130/* Subroutine */ int zhbev_(char *jobz, char *uplo, integer *n, integer *kd,
4131 doublecomplex *ab, integer *ldab, doublereal *w, doublecomplex *z__,
4132 integer *ldz, doublecomplex *work, doublereal *rwork, integer *info);
4133
4134/* Subroutine */ int zhbevd_(char *jobz, char *uplo, integer *n, integer *kd,
4135 doublecomplex *ab, integer *ldab, doublereal *w, doublecomplex *z__,
4136 integer *ldz, doublecomplex *work, integer *lwork, doublereal *rwork,
4137 integer *lrwork, integer *iwork, integer *liwork, integer *info);
4138
4139/* Subroutine */ int zhbevx_(char *jobz, char *range, char *uplo, integer *n,
4140 integer *kd, doublecomplex *ab, integer *ldab, doublecomplex *q,
4141 integer *ldq, doublereal *vl, doublereal *vu, integer *il, integer *
4142 iu, doublereal *abstol, integer *m, doublereal *w, doublecomplex *z__,
4143 integer *ldz, doublecomplex *work, doublereal *rwork, integer *iwork,
4144 integer *ifail, integer *info);
4145
4146/* Subroutine */ int zhbgst_(char *vect, char *uplo, integer *n, integer *ka,
4147 integer *kb, doublecomplex *ab, integer *ldab, doublecomplex *bb,
4148 integer *ldbb, doublecomplex *x, integer *ldx, doublecomplex *work,
4149 doublereal *rwork, integer *info);
4150
4151/* Subroutine */ int zhbgv_(char *jobz, char *uplo, integer *n, integer *ka,
4152 integer *kb, doublecomplex *ab, integer *ldab, doublecomplex *bb,
4153 integer *ldbb, doublereal *w, doublecomplex *z__, integer *ldz,
4154 doublecomplex *work, doublereal *rwork, integer *info);
4155
4156/* Subroutine */ int zhbgvx_(char *jobz, char *range, char *uplo, integer *n,
4157 integer *ka, integer *kb, doublecomplex *ab, integer *ldab,
4158 doublecomplex *bb, integer *ldbb, doublecomplex *q, integer *ldq,
4159 doublereal *vl, doublereal *vu, integer *il, integer *iu, doublereal *
4160 abstol, integer *m, doublereal *w, doublecomplex *z__, integer *ldz,
4161 doublecomplex *work, doublereal *rwork, integer *iwork, integer *
4162 ifail, integer *info);
4163
4164/* Subroutine */ int zhbtrd_(char *vect, char *uplo, integer *n, integer *kd,
4165 doublecomplex *ab, integer *ldab, doublereal *d__, doublereal *e,
4166 doublecomplex *q, integer *ldq, doublecomplex *work, integer *info);
4167
4168/* Subroutine */ int zhecon_(char *uplo, integer *n, doublecomplex *a,
4169 integer *lda, integer *ipiv, doublereal *anorm, doublereal *rcond,
4170 doublecomplex *work, integer *info);
4171
4172/* Subroutine */ int zheev_(char *jobz, char *uplo, integer *n, doublecomplex
4173 *a, integer *lda, doublereal *w, doublecomplex *work, integer *lwork,
4174 doublereal *rwork, integer *info);
4175
4176/* Subroutine */ int zheevd_(char *jobz, char *uplo, integer *n,
4177 doublecomplex *a, integer *lda, doublereal *w, doublecomplex *work,
4178 integer *lwork, doublereal *rwork, integer *lrwork, integer *iwork,
4179 integer *liwork, integer *info);
4180
4181/* Subroutine */ int zheevr_(char *jobz, char *range, char *uplo, integer *n,
4182 doublecomplex *a, integer *lda, doublereal *vl, doublereal *vu,
4183 integer *il, integer *iu, doublereal *abstol, integer *m, doublereal *
4184 w, doublecomplex *z__, integer *ldz, integer *isuppz, doublecomplex *
4185 work, integer *lwork, doublereal *rwork, integer *lrwork, integer *
4186 iwork, integer *liwork, integer *info);
4187
4188/* Subroutine */ int zheevx_(char *jobz, char *range, char *uplo, integer *n,
4189 doublecomplex *a, integer *lda, doublereal *vl, doublereal *vu,
4190 integer *il, integer *iu, doublereal *abstol, integer *m, doublereal *
4191 w, doublecomplex *z__, integer *ldz, doublecomplex *work, integer *
4192 lwork, doublereal *rwork, integer *iwork, integer *ifail, integer *
4193 info);
4194
4195/* Subroutine */ int zhegs2_(integer *itype, char *uplo, integer *n,
4196 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4197 integer *info);
4198
4199/* Subroutine */ int zhegst_(integer *itype, char *uplo, integer *n,
4200 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4201 integer *info);
4202
4203/* Subroutine */ int zhegv_(integer *itype, char *jobz, char *uplo, integer *
4204 n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4205 doublereal *w, doublecomplex *work, integer *lwork, doublereal *rwork,
4206 integer *info);
4207
4208/* Subroutine */ int zhegvd_(integer *itype, char *jobz, char *uplo, integer *
4209 n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4210 doublereal *w, doublecomplex *work, integer *lwork, doublereal *rwork,
4211 integer *lrwork, integer *iwork, integer *liwork, integer *info);
4212
4213/* Subroutine */ int zhegvx_(integer *itype, char *jobz, char *range, char *
4214 uplo, integer *n, doublecomplex *a, integer *lda, doublecomplex *b,
4215 integer *ldb, doublereal *vl, doublereal *vu, integer *il, integer *
4216 iu, doublereal *abstol, integer *m, doublereal *w, doublecomplex *z__,
4217 integer *ldz, doublecomplex *work, integer *lwork, doublereal *rwork,
4218 integer *iwork, integer *ifail, integer *info);
4219
4220/* Subroutine */ int zherfs_(char *uplo, integer *n, integer *nrhs,
4221 doublecomplex *a, integer *lda, doublecomplex *af, integer *ldaf,
4222 integer *ipiv, doublecomplex *b, integer *ldb, doublecomplex *x,
4223 integer *ldx, doublereal *ferr, doublereal *berr, doublecomplex *work,
4224 doublereal *rwork, integer *info);
4225
4226/* Subroutine */ int zhesv_(char *uplo, integer *n, integer *nrhs,
4227 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b,
4228 integer *ldb, doublecomplex *work, integer *lwork, integer *info);
4229
4230/* Subroutine */ int zhesvx_(char *fact, char *uplo, integer *n, integer *
4231 nrhs, doublecomplex *a, integer *lda, doublecomplex *af, integer *
4232 ldaf, integer *ipiv, doublecomplex *b, integer *ldb, doublecomplex *x,
4233 integer *ldx, doublereal *rcond, doublereal *ferr, doublereal *berr,
4234 doublecomplex *work, integer *lwork, doublereal *rwork, integer *info);
4235
4236/* Subroutine */ int zhetf2_(char *uplo, integer *n, doublecomplex *a,
4237 integer *lda, integer *ipiv, integer *info);
4238
4239/* Subroutine */ int zhetrd_(char *uplo, integer *n, doublecomplex *a,
4240 integer *lda, doublereal *d__, doublereal *e, doublecomplex *tau,
4241 doublecomplex *work, integer *lwork, integer *info);
4242
4243/* Subroutine */ int zhetrf_(char *uplo, integer *n, doublecomplex *a,
4244 integer *lda, integer *ipiv, doublecomplex *work, integer *lwork,
4245 integer *info);
4246
4247/* Subroutine */ int zhetri_(char *uplo, integer *n, doublecomplex *a,
4248 integer *lda, integer *ipiv, doublecomplex *work, integer *info);
4249
4250/* Subroutine */ int zhetrs_(char *uplo, integer *n, integer *nrhs,
4251 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b,
4252 integer *ldb, integer *info);
4253
4254/* Subroutine */ int zhgeqz_(char *job, char *compq, char *compz, integer *n,
4255 integer *ilo, integer *ihi, doublecomplex *a, integer *lda,
4256 doublecomplex *b, integer *ldb, doublecomplex *alpha, doublecomplex *
4257 beta, doublecomplex *q, integer *ldq, doublecomplex *z__, integer *
4258 ldz, doublecomplex *work, integer *lwork, doublereal *rwork, integer *
4259 info);
4260
4261/* Subroutine */ int zhpcon_(char *uplo, integer *n, doublecomplex *ap,
4262 integer *ipiv, doublereal *anorm, doublereal *rcond, doublecomplex *
4263 work, integer *info);
4264
4265/* Subroutine */ int zhpev_(char *jobz, char *uplo, integer *n, doublecomplex
4266 *ap, doublereal *w, doublecomplex *z__, integer *ldz, doublecomplex *
4267 work, doublereal *rwork, integer *info);
4268
4269/* Subroutine */ int zhpevd_(char *jobz, char *uplo, integer *n,
4270 doublecomplex *ap, doublereal *w, doublecomplex *z__, integer *ldz,
4271 doublecomplex *work, integer *lwork, doublereal *rwork, integer *
4272 lrwork, integer *iwork, integer *liwork, integer *info);
4273
4274/* Subroutine */ int zhpevx_(char *jobz, char *range, char *uplo, integer *n,
4275 doublecomplex *ap, doublereal *vl, doublereal *vu, integer *il,
4276 integer *iu, doublereal *abstol, integer *m, doublereal *w,
4277 doublecomplex *z__, integer *ldz, doublecomplex *work, doublereal *
4278 rwork, integer *iwork, integer *ifail, integer *info);
4279
4280/* Subroutine */ int zhpgst_(integer *itype, char *uplo, integer *n,
4281 doublecomplex *ap, doublecomplex *bp, integer *info);
4282
4283/* Subroutine */ int zhpgv_(integer *itype, char *jobz, char *uplo, integer *
4284 n, doublecomplex *ap, doublecomplex *bp, doublereal *w, doublecomplex
4285 *z__, integer *ldz, doublecomplex *work, doublereal *rwork, integer *
4286 info);
4287
4288/* Subroutine */ int zhpgvd_(integer *itype, char *jobz, char *uplo, integer *
4289 n, doublecomplex *ap, doublecomplex *bp, doublereal *w, doublecomplex
4290 *z__, integer *ldz, doublecomplex *work, integer *lwork, doublereal *
4291 rwork, integer *lrwork, integer *iwork, integer *liwork, integer *
4292 info);
4293
4294/* Subroutine */ int zhpgvx_(integer *itype, char *jobz, char *range, char *
4295 uplo, integer *n, doublecomplex *ap, doublecomplex *bp, doublereal *
4296 vl, doublereal *vu, integer *il, integer *iu, doublereal *abstol,
4297 integer *m, doublereal *w, doublecomplex *z__, integer *ldz,
4298 doublecomplex *work, doublereal *rwork, integer *iwork, integer *
4299 ifail, integer *info);
4300
4301/* Subroutine */ int zhprfs_(char *uplo, integer *n, integer *nrhs,
4302 doublecomplex *ap, doublecomplex *afp, integer *ipiv, doublecomplex *
4303 b, integer *ldb, doublecomplex *x, integer *ldx, doublereal *ferr,
4304 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
4305 info);
4306
4307/* Subroutine */ int zhpsv_(char *uplo, integer *n, integer *nrhs,
4308 doublecomplex *ap, integer *ipiv, doublecomplex *b, integer *ldb,
4309 integer *info);
4310
4311/* Subroutine */ int zhpsvx_(char *fact, char *uplo, integer *n, integer *
4312 nrhs, doublecomplex *ap, doublecomplex *afp, integer *ipiv,
4313 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4314 doublereal *rcond, doublereal *ferr, doublereal *berr, doublecomplex *
4315 work, doublereal *rwork, integer *info);
4316
4317/* Subroutine */ int zhptrd_(char *uplo, integer *n, doublecomplex *ap,
4318 doublereal *d__, doublereal *e, doublecomplex *tau, integer *info);
4319
4320/* Subroutine */ int zhptrf_(char *uplo, integer *n, doublecomplex *ap,
4321 integer *ipiv, integer *info);
4322
4323/* Subroutine */ int zhptri_(char *uplo, integer *n, doublecomplex *ap,
4324 integer *ipiv, doublecomplex *work, integer *info);
4325
4326/* Subroutine */ int zhptrs_(char *uplo, integer *n, integer *nrhs,
4327 doublecomplex *ap, integer *ipiv, doublecomplex *b, integer *ldb,
4328 integer *info);
4329
4330/* Subroutine */ int zhsein_(char *side, char *eigsrc, char *initv, logical *
4331 select, integer *n, doublecomplex *h__, integer *ldh, doublecomplex *
4332 w, doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *ldvr,
4333 integer *mm, integer *m, doublecomplex *work, doublereal *rwork,
4334 integer *ifaill, integer *ifailr, integer *info);
4335
4336/* Subroutine */ int zhseqr_(char *job, char *compz, integer *n, integer *ilo,
4337 integer *ihi, doublecomplex *h__, integer *ldh, doublecomplex *w,
4338 doublecomplex *z__, integer *ldz, doublecomplex *work, integer *lwork,
4339 integer *info);
4340
4341/* Subroutine */ int zlabrd_(integer *m, integer *n, integer *nb,
4342 doublecomplex *a, integer *lda, doublereal *d__, doublereal *e,
4343 doublecomplex *tauq, doublecomplex *taup, doublecomplex *x, integer *
4344 ldx, doublecomplex *y, integer *ldy);
4345
4346/* Subroutine */ int zlacgv_(integer *n, doublecomplex *x, integer *incx);
4347
4348/* Subroutine */ int zlacon_(integer *n, doublecomplex *v, doublecomplex *x,
4349 doublereal *est, integer *kase);
4350
4351/* Subroutine */ int zlacp2_(char *uplo, integer *m, integer *n, doublereal *
4352 a, integer *lda, doublecomplex *b, integer *ldb);
4353
4354/* Subroutine */ int zlacpy_(char *uplo, integer *m, integer *n,
4355 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb);
4356
4357/* Subroutine */ int zlacrm_(integer *m, integer *n, doublecomplex *a,
4358 integer *lda, doublereal *b, integer *ldb, doublecomplex *c__,
4359 integer *ldc, doublereal *rwork);
4360
4361/* Subroutine */ int zlacrt_(integer *n, doublecomplex *cx, integer *incx,
4362 doublecomplex *cy, integer *incy, doublecomplex *c__, doublecomplex *
4363 s);
4364
4365/* Subroutine */ int zlaed0_(integer *qsiz, integer *n, doublereal *d__,
4366 doublereal *e, doublecomplex *q, integer *ldq, doublecomplex *qstore,
4367 integer *ldqs, doublereal *rwork, integer *iwork, integer *info);
4368
4369/* Subroutine */ int zlaed7_(integer *n, integer *cutpnt, integer *qsiz,
4370 integer *tlvls, integer *curlvl, integer *curpbm, doublereal *d__,
4371 doublecomplex *q, integer *ldq, doublereal *rho, integer *indxq,
4372 doublereal *qstore, integer *qptr, integer *prmptr, integer *perm,
4373 integer *givptr, integer *givcol, doublereal *givnum, doublecomplex *
4374 work, doublereal *rwork, integer *iwork, integer *info);
4375
4376/* Subroutine */ int zlaed8_(integer *k, integer *n, integer *qsiz,
4377 doublecomplex *q, integer *ldq, doublereal *d__, doublereal *rho,
4378 integer *cutpnt, doublereal *z__, doublereal *dlamda, doublecomplex *
4379 q2, integer *ldq2, doublereal *w, integer *indxp, integer *indx,
4380 integer *indxq, integer *perm, integer *givptr, integer *givcol,
4381 doublereal *givnum, integer *info);
4382
4383/* Subroutine */ int zlaein_(logical *rightv, logical *noinit, integer *n,
4384 doublecomplex *h__, integer *ldh, doublecomplex *w, doublecomplex *v,
4385 doublecomplex *b, integer *ldb, doublereal *rwork, doublereal *eps3,
4386 doublereal *smlnum, integer *info);
4387
4388/* Subroutine */ int zlaesy_(doublecomplex *a, doublecomplex *b,
4389 doublecomplex *c__, doublecomplex *rt1, doublecomplex *rt2,
4390 doublecomplex *evscal, doublecomplex *cs1, doublecomplex *sn1);
4391
4392/* Subroutine */ int zlaev2_(doublecomplex *a, doublecomplex *b,
4393 doublecomplex *c__, doublereal *rt1, doublereal *rt2, doublereal *cs1,
4394 doublecomplex *sn1);
4395
4396/* Subroutine */ int zlags2_(logical *upper, doublereal *a1, doublecomplex *
4397 a2, doublereal *a3, doublereal *b1, doublecomplex *b2, doublereal *b3,
4398 doublereal *csu, doublecomplex *snu, doublereal *csv, doublecomplex *
4399 snv, doublereal *csq, doublecomplex *snq);
4400
4401/* Subroutine */ int zlagtm_(char *trans, integer *n, integer *nrhs,
4402 doublereal *alpha, doublecomplex *dl, doublecomplex *d__,
4403 doublecomplex *du, doublecomplex *x, integer *ldx, doublereal *beta,
4404 doublecomplex *b, integer *ldb);
4405
4406/* Subroutine */ int zlahef_(char *uplo, integer *n, integer *nb, integer *kb,
4407 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *w,
4408 integer *ldw, integer *info);
4409
4410/* Subroutine */ int zlahqr_(logical *wantt, logical *wantz, integer *n,
4411 integer *ilo, integer *ihi, doublecomplex *h__, integer *ldh,
4412 doublecomplex *w, integer *iloz, integer *ihiz, doublecomplex *z__,
4413 integer *ldz, integer *info);
4414
4415/* Subroutine */ int zlahrd_(integer *n, integer *k, integer *nb,
4416 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *t,
4417 integer *ldt, doublecomplex *y, integer *ldy);
4418
4419/* Subroutine */ int zlaic1_(integer *job, integer *j, doublecomplex *x,
4420 doublereal *sest, doublecomplex *w, doublecomplex *gamma, doublereal *
4421 sestpr, doublecomplex *s, doublecomplex *c__);
4422
4423/* Subroutine */ int zlals0_(integer *icompq, integer *nl, integer *nr,
4424 integer *sqre, integer *nrhs, doublecomplex *b, integer *ldb,
4425 doublecomplex *bx, integer *ldbx, integer *perm, integer *givptr,
4426 integer *givcol, integer *ldgcol, doublereal *givnum, integer *ldgnum,
4427 doublereal *poles, doublereal *difl, doublereal *difr, doublereal *
4428 z__, integer *k, doublereal *c__, doublereal *s, doublereal *rwork,
4429 integer *info);
4430
4431/* Subroutine */ int zlalsa_(integer *icompq, integer *smlsiz, integer *n,
4432 integer *nrhs, doublecomplex *b, integer *ldb, doublecomplex *bx,
4433 integer *ldbx, doublereal *u, integer *ldu, doublereal *vt, integer *
4434 k, doublereal *difl, doublereal *difr, doublereal *z__, doublereal *
4435 poles, integer *givptr, integer *givcol, integer *ldgcol, integer *
4436 perm, doublereal *givnum, doublereal *c__, doublereal *s, doublereal *
4437 rwork, integer *iwork, integer *info);
4438
4439/* Subroutine */ int zlapll_(integer *n, doublecomplex *x, integer *incx,
4440 doublecomplex *y, integer *incy, doublereal *ssmin);
4441
4442/* Subroutine */ int zlapmt_(logical *forwrd, integer *m, integer *n,
4443 doublecomplex *x, integer *ldx, integer *k);
4444
4445/* Subroutine */ int zlaqgb_(integer *m, integer *n, integer *kl, integer *ku,
4446 doublecomplex *ab, integer *ldab, doublereal *r__, doublereal *c__,
4447 doublereal *rowcnd, doublereal *colcnd, doublereal *amax, char *equed);
4448
4449/* Subroutine */ int zlaqge_(integer *m, integer *n, doublecomplex *a,
4450 integer *lda, doublereal *r__, doublereal *c__, doublereal *rowcnd,
4451 doublereal *colcnd, doublereal *amax, char *equed);
4452
4453/* Subroutine */ int zlaqhb_(char *uplo, integer *n, integer *kd,
4454 doublecomplex *ab, integer *ldab, doublereal *s, doublereal *scond,
4455 doublereal *amax, char *equed);
4456
4457/* Subroutine */ int zlaqhe_(char *uplo, integer *n, doublecomplex *a,
4458 integer *lda, doublereal *s, doublereal *scond, doublereal *amax,
4459 char *equed);
4460
4461/* Subroutine */ int zlaqhp_(char *uplo, integer *n, doublecomplex *ap,
4462 doublereal *s, doublereal *scond, doublereal *amax, char *equed);
4463
4464/* Subroutine */ int zlaqp2_(integer *m, integer *n, integer *offset,
4465 doublecomplex *a, integer *lda, integer *jpvt, doublecomplex *tau,
4466 doublereal *vn1, doublereal *vn2, doublecomplex *work);
4467
4468/* Subroutine */ int zlaqps_(integer *m, integer *n, integer *offset, integer
4469 *nb, integer *kb, doublecomplex *a, integer *lda, integer *jpvt,
4470 doublecomplex *tau, doublereal *vn1, doublereal *vn2, doublecomplex *
4471 auxv, doublecomplex *f, integer *ldf);
4472
4473/* Subroutine */ int zlaqsb_(char *uplo, integer *n, integer *kd,
4474 doublecomplex *ab, integer *ldab, doublereal *s, doublereal *scond,
4475 doublereal *amax, char *equed);
4476
4477/* Subroutine */ int zlaqsp_(char *uplo, integer *n, doublecomplex *ap,
4478 doublereal *s, doublereal *scond, doublereal *amax, char *equed);
4479
4480/* Subroutine */ int zlaqsy_(char *uplo, integer *n, doublecomplex *a,
4481 integer *lda, doublereal *s, doublereal *scond, doublereal *amax,
4482 char *equed);
4483
4484/* Subroutine */ int zlar1v_(integer *n, integer *b1, integer *bn, doublereal
4485 *sigma, doublereal *d__, doublereal *l, doublereal *ld, doublereal *
4486 lld, doublereal *gersch, doublecomplex *z__, doublereal *ztz,
4487 doublereal *mingma, integer *r__, integer *isuppz, doublereal *work);
4488
4489/* Subroutine */ int zlar2v_(integer *n, doublecomplex *x, doublecomplex *y,
4490 doublecomplex *z__, integer *incx, doublereal *c__, doublecomplex *s,
4491 integer *incc);
4492
4493/* Subroutine */ int zlarcm_(integer *m, integer *n, doublereal *a, integer *
4494 lda, doublecomplex *b, integer *ldb, doublecomplex *c__, integer *ldc,
4495 doublereal *rwork);
4496
4497/* Subroutine */ int zlarf_(char *side, integer *m, integer *n, doublecomplex
4498 *v, integer *incv, doublecomplex *tau, doublecomplex *c__, integer *
4499 ldc, doublecomplex *work);
4500
4501/* Subroutine */ int zlarfb_(char *side, char *trans, char *direct, char *
4502 storev, integer *m, integer *n, integer *k, doublecomplex *v, integer
4503 *ldv, doublecomplex *t, integer *ldt, doublecomplex *c__, integer *
4504 ldc, doublecomplex *work, integer *ldwork);
4505
4506/* Subroutine */ int zlarfg_(integer *n, doublecomplex *alpha, doublecomplex *
4507 x, integer *incx, doublecomplex *tau);
4508
4509/* Subroutine */ int zlarft_(char *direct, char *storev, integer *n, integer *
4510 k, doublecomplex *v, integer *ldv, doublecomplex *tau, doublecomplex *
4511 t, integer *ldt);
4512
4513/* Subroutine */ int zlarfx_(char *side, integer *m, integer *n,
4514 doublecomplex *v, doublecomplex *tau, doublecomplex *c__, integer *
4515 ldc, doublecomplex *work);
4516
4517/* Subroutine */ int zlargv_(integer *n, doublecomplex *x, integer *incx,
4518 doublecomplex *y, integer *incy, doublereal *c__, integer *incc);
4519
4520/* Subroutine */ int zlarnv_(integer *idist, integer *iseed, integer *n,
4521 doublecomplex *x);
4522
4523/* Subroutine */ int zlarrv_(integer *n, doublereal *d__, doublereal *l,
4524 integer *isplit, integer *m, doublereal *w, integer *iblock,
4525 doublereal *gersch, doublereal *tol, doublecomplex *z__, integer *ldz,
4526 integer *isuppz, doublereal *work, integer *iwork, integer *info);
4527
4528/* Subroutine */ int zlartg_(doublecomplex *f, doublecomplex *g, doublereal *
4529 cs, doublecomplex *sn, doublecomplex *r__);
4530
4531/* Subroutine */ int zlartv_(integer *n, doublecomplex *x, integer *incx,
4532 doublecomplex *y, integer *incy, doublereal *c__, doublecomplex *s,
4533 integer *incc);
4534
4535/* Subroutine */ int zlarz_(char *side, integer *m, integer *n, integer *l,
4536 doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex *
4537 c__, integer *ldc, doublecomplex *work);
4538
4539/* Subroutine */ int zlarzb_(char *side, char *trans, char *direct, char *
4540 storev, integer *m, integer *n, integer *k, integer *l, doublecomplex
4541 *v, integer *ldv, doublecomplex *t, integer *ldt, doublecomplex *c__,
4542 integer *ldc, doublecomplex *work, integer *ldwork);
4543
4544/* Subroutine */ int zlarzt_(char *direct, char *storev, integer *n, integer *
4545 k, doublecomplex *v, integer *ldv, doublecomplex *tau, doublecomplex *
4546 t, integer *ldt);
4547
4548/* Subroutine */ int zlascl_(char *type__, integer *kl, integer *ku,
4549 doublereal *cfrom, doublereal *cto, integer *m, integer *n,
4550 doublecomplex *a, integer *lda, integer *info);
4551
4552/* Subroutine */ int zlaset_(char *uplo, integer *m, integer *n,
4553 doublecomplex *alpha, doublecomplex *beta, doublecomplex *a, integer *
4554 lda);
4555
4556/* Subroutine */ int zlasr_(char *side, char *pivot, char *direct, integer *m,
4557 integer *n, doublereal *c__, doublereal *s, doublecomplex *a,
4558 integer *lda);
4559
4560/* Subroutine */ int zlassq_(integer *n, doublecomplex *x, integer *incx,
4561 doublereal *scale, doublereal *sumsq);
4562
4563/* Subroutine */ int zlaswp_(integer *n, doublecomplex *a, integer *lda,
4564 integer *k1, integer *k2, integer *ipiv, integer *incx);
4565
4566/* Subroutine */ int zlasyf_(char *uplo, integer *n, integer *nb, integer *kb,
4567 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *w,
4568 integer *ldw, integer *info);
4569
4570/* Subroutine */ int zlatbs_(char *uplo, char *trans, char *diag, char *
4571 normin, integer *n, integer *kd, doublecomplex *ab, integer *ldab,
4572 doublecomplex *x, doublereal *scale, doublereal *cnorm, integer *info);
4573
4574/* Subroutine */ int zlatdf_(integer *ijob, integer *n, doublecomplex *z__,
4575 integer *ldz, doublecomplex *rhs, doublereal *rdsum, doublereal *
4576 rdscal, integer *ipiv, integer *jpiv);
4577
4578/* Subroutine */ int zlatps_(char *uplo, char *trans, char *diag, char *
4579 normin, integer *n, doublecomplex *ap, doublecomplex *x, doublereal *
4580 scale, doublereal *cnorm, integer *info);
4581
4582/* Subroutine */ int zlatrd_(char *uplo, integer *n, integer *nb,
4583 doublecomplex *a, integer *lda, doublereal *e, doublecomplex *tau,
4584 doublecomplex *w, integer *ldw);
4585
4586/* Subroutine */ int zlatrs_(char *uplo, char *trans, char *diag, char *
4587 normin, integer *n, doublecomplex *a, integer *lda, doublecomplex *x,
4588 doublereal *scale, doublereal *cnorm, integer *info);
4589
4590/* Subroutine */ int zlatrz_(integer *m, integer *n, integer *l,
4591 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4592 work);
4593
4594/* Subroutine */ int zlatzm_(char *side, integer *m, integer *n,
4595 doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex *
4596 c1, doublecomplex *c2, integer *ldc, doublecomplex *work);
4597
4598/* Subroutine */ int zlauu2_(char *uplo, integer *n, doublecomplex *a,
4599 integer *lda, integer *info);
4600
4601/* Subroutine */ int zlauum_(char *uplo, integer *n, doublecomplex *a,
4602 integer *lda, integer *info);
4603
4604/* Subroutine */ int zpbcon_(char *uplo, integer *n, integer *kd,
4605 doublecomplex *ab, integer *ldab, doublereal *anorm, doublereal *
4606 rcond, doublecomplex *work, doublereal *rwork, integer *info);
4607
4608/* Subroutine */ int zpbequ_(char *uplo, integer *n, integer *kd,
4609 doublecomplex *ab, integer *ldab, doublereal *s, doublereal *scond,
4610 doublereal *amax, integer *info);
4611
4612/* Subroutine */ int zpbrfs_(char *uplo, integer *n, integer *kd, integer *
4613 nrhs, doublecomplex *ab, integer *ldab, doublecomplex *afb, integer *
4614 ldafb, doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4615 doublereal *ferr, doublereal *berr, doublecomplex *work, doublereal *
4616 rwork, integer *info);
4617
4618/* Subroutine */ int zpbstf_(char *uplo, integer *n, integer *kd,
4619 doublecomplex *ab, integer *ldab, integer *info);
4620
4621/* Subroutine */ int zpbsv_(char *uplo, integer *n, integer *kd, integer *
4622 nrhs, doublecomplex *ab, integer *ldab, doublecomplex *b, integer *
4623 ldb, integer *info);
4624
4625/* Subroutine */ int zpbsvx_(char *fact, char *uplo, integer *n, integer *kd,
4626 integer *nrhs, doublecomplex *ab, integer *ldab, doublecomplex *afb,
4627 integer *ldafb, char *equed, doublereal *s, doublecomplex *b, integer
4628 *ldb, doublecomplex *x, integer *ldx, doublereal *rcond, doublereal *
4629 ferr, doublereal *berr, doublecomplex *work, doublereal *rwork,
4630 integer *info);
4631
4632/* Subroutine */ int zpbtf2_(char *uplo, integer *n, integer *kd,
4633 doublecomplex *ab, integer *ldab, integer *info);
4634
4635/* Subroutine */ int zpbtrf_(char *uplo, integer *n, integer *kd,
4636 doublecomplex *ab, integer *ldab, integer *info);
4637
4638/* Subroutine */ int zpbtrs_(char *uplo, integer *n, integer *kd, integer *
4639 nrhs, doublecomplex *ab, integer *ldab, doublecomplex *b, integer *
4640 ldb, integer *info);
4641
4642/* Subroutine */ int zpocon_(char *uplo, integer *n, doublecomplex *a,
4643 integer *lda, doublereal *anorm, doublereal *rcond, doublecomplex *
4644 work, doublereal *rwork, integer *info);
4645
4646/* Subroutine */ int zpoequ_(integer *n, doublecomplex *a, integer *lda,
4647 doublereal *s, doublereal *scond, doublereal *amax, integer *info);
4648
4649/* Subroutine */ int zporfs_(char *uplo, integer *n, integer *nrhs,
4650 doublecomplex *a, integer *lda, doublecomplex *af, integer *ldaf,
4651 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4652 doublereal *ferr, doublereal *berr, doublecomplex *work, doublereal *
4653 rwork, integer *info);
4654
4655/* Subroutine */ int zposv_(char *uplo, integer *n, integer *nrhs,
4656 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4657 integer *info);
4658
4659/* Subroutine */ int zposvx_(char *fact, char *uplo, integer *n, integer *
4660 nrhs, doublecomplex *a, integer *lda, doublecomplex *af, integer *
4661 ldaf, char *equed, doublereal *s, doublecomplex *b, integer *ldb,
4662 doublecomplex *x, integer *ldx, doublereal *rcond, doublereal *ferr,
4663 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
4664 info);
4665
4666/* Subroutine */ int zpotf2_(char *uplo, integer *n, doublecomplex *a,
4667 integer *lda, integer *info);
4668
4669/* Subroutine */ int zpotrf_(char *uplo, integer *n, doublecomplex *a,
4670 integer *lda, integer *info);
4671
4672/* Subroutine */ int zpotri_(char *uplo, integer *n, doublecomplex *a,
4673 integer *lda, integer *info);
4674
4675/* Subroutine */ int zpotrs_(char *uplo, integer *n, integer *nrhs,
4676 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4677 integer *info);
4678
4679/* Subroutine */ int zppcon_(char *uplo, integer *n, doublecomplex *ap,
4680 doublereal *anorm, doublereal *rcond, doublecomplex *work, doublereal
4681 *rwork, integer *info);
4682
4683/* Subroutine */ int zppequ_(char *uplo, integer *n, doublecomplex *ap,
4684 doublereal *s, doublereal *scond, doublereal *amax, integer *info);
4685
4686/* Subroutine */ int zpprfs_(char *uplo, integer *n, integer *nrhs,
4687 doublecomplex *ap, doublecomplex *afp, doublecomplex *b, integer *ldb,
4688 doublecomplex *x, integer *ldx, doublereal *ferr, doublereal *berr,
4689 doublecomplex *work, doublereal *rwork, integer *info);
4690
4691/* Subroutine */ int zppsv_(char *uplo, integer *n, integer *nrhs,
4692 doublecomplex *ap, doublecomplex *b, integer *ldb, integer *info);
4693
4694/* Subroutine */ int zppsvx_(char *fact, char *uplo, integer *n, integer *
4695 nrhs, doublecomplex *ap, doublecomplex *afp, char *equed, doublereal *
4696 s, doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4697 doublereal *rcond, doublereal *ferr, doublereal *berr, doublecomplex *
4698 work, doublereal *rwork, integer *info);
4699
4700/* Subroutine */ int zpptrf_(char *uplo, integer *n, doublecomplex *ap,
4701 integer *info);
4702
4703/* Subroutine */ int zpptri_(char *uplo, integer *n, doublecomplex *ap,
4704 integer *info);
4705
4706/* Subroutine */ int zpptrs_(char *uplo, integer *n, integer *nrhs,
4707 doublecomplex *ap, doublecomplex *b, integer *ldb, integer *info);
4708
4709/* Subroutine */ int zptcon_(integer *n, doublereal *d__, doublecomplex *e,
4710 doublereal *anorm, doublereal *rcond, doublereal *rwork, integer *
4711 info);
4712
4713/* Subroutine */ int zptrfs_(char *uplo, integer *n, integer *nrhs,
4714 doublereal *d__, doublecomplex *e, doublereal *df, doublecomplex *ef,
4715 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4716 doublereal *ferr, doublereal *berr, doublecomplex *work, doublereal *
4717 rwork, integer *info);
4718
4719/* Subroutine */ int zptsv_(integer *n, integer *nrhs, doublereal *d__,
4720 doublecomplex *e, doublecomplex *b, integer *ldb, integer *info);
4721
4722/* Subroutine */ int zptsvx_(char *fact, integer *n, integer *nrhs,
4723 doublereal *d__, doublecomplex *e, doublereal *df, doublecomplex *ef,
4724 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4725 doublereal *rcond, doublereal *ferr, doublereal *berr, doublecomplex *
4726 work, doublereal *rwork, integer *info);
4727
4728/* Subroutine */ int zpttrf_(integer *n, doublereal *d__, doublecomplex *e,
4729 integer *info);
4730
4731/* Subroutine */ int zpttrs_(char *uplo, integer *n, integer *nrhs,
4732 doublereal *d__, doublecomplex *e, doublecomplex *b, integer *ldb,
4733 integer *info);
4734
4735/* Subroutine */ int zptts2_(integer *iuplo, integer *n, integer *nrhs,
4736 doublereal *d__, doublecomplex *e, doublecomplex *b, integer *ldb);
4737
4738/* Subroutine */ int zrot_(integer *n, doublecomplex *cx, integer *incx,
4739 doublecomplex *cy, integer *incy, doublereal *c__, doublecomplex *s);
4740
4741/* Subroutine */ int zspcon_(char *uplo, integer *n, doublecomplex *ap,
4742 integer *ipiv, doublereal *anorm, doublereal *rcond, doublecomplex *
4743 work, integer *info);
4744
4745/* Subroutine */ int zspmv_(char *uplo, integer *n, doublecomplex *alpha,
4746 doublecomplex *ap, doublecomplex *x, integer *incx, doublecomplex *
4747 beta, doublecomplex *y, integer *incy);
4748
4749/* Subroutine */ int zspr_(char *uplo, integer *n, doublecomplex *alpha,
4750 doublecomplex *x, integer *incx, doublecomplex *ap);
4751
4752/* Subroutine */ int zsprfs_(char *uplo, integer *n, integer *nrhs,
4753 doublecomplex *ap, doublecomplex *afp, integer *ipiv, doublecomplex *
4754 b, integer *ldb, doublecomplex *x, integer *ldx, doublereal *ferr,
4755 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
4756 info);
4757
4758/* Subroutine */ int zspsv_(char *uplo, integer *n, integer *nrhs,
4759 doublecomplex *ap, integer *ipiv, doublecomplex *b, integer *ldb,
4760 integer *info);
4761
4762/* Subroutine */ int zspsvx_(char *fact, char *uplo, integer *n, integer *
4763 nrhs, doublecomplex *ap, doublecomplex *afp, integer *ipiv,
4764 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4765 doublereal *rcond, doublereal *ferr, doublereal *berr, doublecomplex *
4766 work, doublereal *rwork, integer *info);
4767
4768/* Subroutine */ int zsptrf_(char *uplo, integer *n, doublecomplex *ap,
4769 integer *ipiv, integer *info);
4770
4771/* Subroutine */ int zsptri_(char *uplo, integer *n, doublecomplex *ap,
4772 integer *ipiv, doublecomplex *work, integer *info);
4773
4774/* Subroutine */ int zsptrs_(char *uplo, integer *n, integer *nrhs,
4775 doublecomplex *ap, integer *ipiv, doublecomplex *b, integer *ldb,
4776 integer *info);
4777
4778/* Subroutine */ int zstedc_(char *compz, integer *n, doublereal *d__,
4779 doublereal *e, doublecomplex *z__, integer *ldz, doublecomplex *work,
4780 integer *lwork, doublereal *rwork, integer *lrwork, integer *iwork,
4781 integer *liwork, integer *info);
4782
4783/* Subroutine */ int zstein_(integer *n, doublereal *d__, doublereal *e,
4784 integer *m, doublereal *w, integer *iblock, integer *isplit,
4785 doublecomplex *z__, integer *ldz, doublereal *work, integer *iwork,
4786 integer *ifail, integer *info);
4787
4788/* Subroutine */ int zsteqr_(char *compz, integer *n, doublereal *d__,
4789 doublereal *e, doublecomplex *z__, integer *ldz, doublereal *work,
4790 integer *info);
4791
4792/* Subroutine */ int zsycon_(char *uplo, integer *n, doublecomplex *a,
4793 integer *lda, integer *ipiv, doublereal *anorm, doublereal *rcond,
4794 doublecomplex *work, integer *info);
4795
4796/* Subroutine */ int zsymv_(char *uplo, integer *n, doublecomplex *alpha,
4797 doublecomplex *a, integer *lda, doublecomplex *x, integer *incx,
4798 doublecomplex *beta, doublecomplex *y, integer *incy);
4799
4800/* Subroutine */ int zsyr_(char *uplo, integer *n, doublecomplex *alpha,
4801 doublecomplex *x, integer *incx, doublecomplex *a, integer *lda);
4802
4803/* Subroutine */ int zsyrfs_(char *uplo, integer *n, integer *nrhs,
4804 doublecomplex *a, integer *lda, doublecomplex *af, integer *ldaf,
4805 integer *ipiv, doublecomplex *b, integer *ldb, doublecomplex *x,
4806 integer *ldx, doublereal *ferr, doublereal *berr, doublecomplex *work,
4807 doublereal *rwork, integer *info);
4808
4809/* Subroutine */ int zsysv_(char *uplo, integer *n, integer *nrhs,
4810 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b,
4811 integer *ldb, doublecomplex *work, integer *lwork, integer *info);
4812
4813/* Subroutine */ int zsysvx_(char *fact, char *uplo, integer *n, integer *
4814 nrhs, doublecomplex *a, integer *lda, doublecomplex *af, integer *
4815 ldaf, integer *ipiv, doublecomplex *b, integer *ldb, doublecomplex *x,
4816 integer *ldx, doublereal *rcond, doublereal *ferr, doublereal *berr,
4817 doublecomplex *work, integer *lwork, doublereal *rwork, integer *info);
4818
4819/* Subroutine */ int zsytf2_(char *uplo, integer *n, doublecomplex *a,
4820 integer *lda, integer *ipiv, integer *info);
4821
4822/* Subroutine */ int zsytrf_(char *uplo, integer *n, doublecomplex *a,
4823 integer *lda, integer *ipiv, doublecomplex *work, integer *lwork,
4824 integer *info);
4825
4826/* Subroutine */ int zsytri_(char *uplo, integer *n, doublecomplex *a,
4827 integer *lda, integer *ipiv, doublecomplex *work, integer *info);
4828
4829/* Subroutine */ int zsytrs_(char *uplo, integer *n, integer *nrhs,
4830 doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b,
4831 integer *ldb, integer *info);
4832
4833/* Subroutine */ int ztbcon_(char *norm, char *uplo, char *diag, integer *n,
4834 integer *kd, doublecomplex *ab, integer *ldab, doublereal *rcond,
4835 doublecomplex *work, doublereal *rwork, integer *info);
4836
4837/* Subroutine */ int ztbrfs_(char *uplo, char *trans, char *diag, integer *n,
4838 integer *kd, integer *nrhs, doublecomplex *ab, integer *ldab,
4839 doublecomplex *b, integer *ldb, doublecomplex *x, integer *ldx,
4840 doublereal *ferr, doublereal *berr, doublecomplex *work, doublereal *
4841 rwork, integer *info);
4842
4843/* Subroutine */ int ztbtrs_(char *uplo, char *trans, char *diag, integer *n,
4844 integer *kd, integer *nrhs, doublecomplex *ab, integer *ldab,
4845 doublecomplex *b, integer *ldb, integer *info);
4846
4847/* Subroutine */ int ztgevc_(char *side, char *howmny, logical *select,
4848 integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer
4849 *ldb, doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *
4850 ldvr, integer *mm, integer *m, doublecomplex *work, doublereal *rwork,
4851 integer *info);
4852
4853/* Subroutine */ int ztgex2_(logical *wantq, logical *wantz, integer *n,
4854 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4855 doublecomplex *q, integer *ldq, doublecomplex *z__, integer *ldz,
4856 integer *j1, integer *info);
4857
4858/* Subroutine */ int ztgexc_(logical *wantq, logical *wantz, integer *n,
4859 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4860 doublecomplex *q, integer *ldq, doublecomplex *z__, integer *ldz,
4861 integer *ifst, integer *ilst, integer *info);
4862
4863/* Subroutine */ int ztgsen_(integer *ijob, logical *wantq, logical *wantz,
4864 logical *select, integer *n, doublecomplex *a, integer *lda,
4865 doublecomplex *b, integer *ldb, doublecomplex *alpha, doublecomplex *
4866 beta, doublecomplex *q, integer *ldq, doublecomplex *z__, integer *
4867 ldz, integer *m, doublereal *pl, doublereal *pr, doublereal *dif,
4868 doublecomplex *work, integer *lwork, integer *iwork, integer *liwork,
4869 integer *info);
4870
4871/* Subroutine */ int ztgsja_(char *jobu, char *jobv, char *jobq, integer *m,
4872 integer *p, integer *n, integer *k, integer *l, doublecomplex *a,
4873 integer *lda, doublecomplex *b, integer *ldb, doublereal *tola,
4874 doublereal *tolb, doublereal *alpha, doublereal *beta, doublecomplex *
4875 u, integer *ldu, doublecomplex *v, integer *ldv, doublecomplex *q,
4876 integer *ldq, doublecomplex *work, integer *ncycle, integer *info);
4877
4878/* Subroutine */ int ztgsna_(char *job, char *howmny, logical *select,
4879 integer *n, doublecomplex *a, integer *lda, doublecomplex *b, integer
4880 *ldb, doublecomplex *vl, integer *ldvl, doublecomplex *vr, integer *
4881 ldvr, doublereal *s, doublereal *dif, integer *mm, integer *m,
4882 doublecomplex *work, integer *lwork, integer *iwork, integer *info);
4883
4884/* Subroutine */ int ztgsy2_(char *trans, integer *ijob, integer *m, integer *
4885 n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4886 doublecomplex *c__, integer *ldc, doublecomplex *d__, integer *ldd,
4887 doublecomplex *e, integer *lde, doublecomplex *f, integer *ldf,
4888 doublereal *scale, doublereal *rdsum, doublereal *rdscal, integer *
4889 info);
4890
4891/* Subroutine */ int ztgsyl_(char *trans, integer *ijob, integer *m, integer *
4892 n, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
4893 doublecomplex *c__, integer *ldc, doublecomplex *d__, integer *ldd,
4894 doublecomplex *e, integer *lde, doublecomplex *f, integer *ldf,
4895 doublereal *scale, doublereal *dif, doublecomplex *work, integer *
4896 lwork, integer *iwork, integer *info);
4897
4898/* Subroutine */ int ztpcon_(char *norm, char *uplo, char *diag, integer *n,
4899 doublecomplex *ap, doublereal *rcond, doublecomplex *work, doublereal
4900 *rwork, integer *info);
4901
4902/* Subroutine */ int ztprfs_(char *uplo, char *trans, char *diag, integer *n,
4903 integer *nrhs, doublecomplex *ap, doublecomplex *b, integer *ldb,
4904 doublecomplex *x, integer *ldx, doublereal *ferr, doublereal *berr,
4905 doublecomplex *work, doublereal *rwork, integer *info);
4906
4907/* Subroutine */ int ztptri_(char *uplo, char *diag, integer *n,
4908 doublecomplex *ap, integer *info);
4909
4910/* Subroutine */ int ztptrs_(char *uplo, char *trans, char *diag, integer *n,
4911 integer *nrhs, doublecomplex *ap, doublecomplex *b, integer *ldb,
4912 integer *info);
4913
4914/* Subroutine */ int ztrcon_(char *norm, char *uplo, char *diag, integer *n,
4915 doublecomplex *a, integer *lda, doublereal *rcond, doublecomplex *
4916 work, doublereal *rwork, integer *info);
4917
4918/* Subroutine */ int ztrevc_(char *side, char *howmny, logical *select,
4919 integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl,
4920 integer *ldvl, doublecomplex *vr, integer *ldvr, integer *mm, integer
4921 *m, doublecomplex *work, doublereal *rwork, integer *info);
4922
4923/* Subroutine */ int ztrexc_(char *compq, integer *n, doublecomplex *t,
4924 integer *ldt, doublecomplex *q, integer *ldq, integer *ifst, integer *
4925 ilst, integer *info);
4926
4927/* Subroutine */ int ztrrfs_(char *uplo, char *trans, char *diag, integer *n,
4928 integer *nrhs, doublecomplex *a, integer *lda, doublecomplex *b,
4929 integer *ldb, doublecomplex *x, integer *ldx, doublereal *ferr,
4930 doublereal *berr, doublecomplex *work, doublereal *rwork, integer *
4931 info);
4932
4933/* Subroutine */ int ztrsen_(char *job, char *compq, logical *select, integer
4934 *n, doublecomplex *t, integer *ldt, doublecomplex *q, integer *ldq,
4935 doublecomplex *w, integer *m, doublereal *s, doublereal *sep,
4936 doublecomplex *work, integer *lwork, integer *info);
4937
4938/* Subroutine */ int ztrsna_(char *job, char *howmny, logical *select,
4939 integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl,
4940 integer *ldvl, doublecomplex *vr, integer *ldvr, doublereal *s,
4941 doublereal *sep, integer *mm, integer *m, doublecomplex *work,
4942 integer *ldwork, doublereal *rwork, integer *info);
4943
4944/* Subroutine */ int ztrsyl_(char *trana, char *tranb, integer *isgn, integer
4945 *m, integer *n, doublecomplex *a, integer *lda, doublecomplex *b,
4946 integer *ldb, doublecomplex *c__, integer *ldc, doublereal *scale,
4947 integer *info);
4948
4949/* Subroutine */ int ztrti2_(char *uplo, char *diag, integer *n,
4950 doublecomplex *a, integer *lda, integer *info);
4951
4952/* Subroutine */ int ztrtri_(char *uplo, char *diag, integer *n,
4953 doublecomplex *a, integer *lda, integer *info);
4954
4955/* Subroutine */ int ztrtrs_(char *uplo, char *trans, char *diag, integer *n,
4956 integer *nrhs, doublecomplex *a, integer *lda, doublecomplex *b,
4957 integer *ldb, integer *info);
4958
4959/* Subroutine */ int ztzrqf_(integer *m, integer *n, doublecomplex *a,
4960 integer *lda, doublecomplex *tau, integer *info);
4961
4962/* Subroutine */ int ztzrzf_(integer *m, integer *n, doublecomplex *a,
4963 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
4964 integer *info);
4965
4966/* Subroutine */ int zung2l_(integer *m, integer *n, integer *k,
4967 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4968 work, integer *info);
4969
4970/* Subroutine */ int zung2r_(integer *m, integer *n, integer *k,
4971 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4972 work, integer *info);
4973
4974/* Subroutine */ int zungbr_(char *vect, integer *m, integer *n, integer *k,
4975 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4976 work, integer *lwork, integer *info);
4977
4978/* Subroutine */ int zunghr_(integer *n, integer *ilo, integer *ihi,
4979 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4980 work, integer *lwork, integer *info);
4981
4982/* Subroutine */ int zungl2_(integer *m, integer *n, integer *k,
4983 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4984 work, integer *info);
4985
4986/* Subroutine */ int zunglq_(integer *m, integer *n, integer *k,
4987 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4988 work, integer *lwork, integer *info);
4989
4990/* Subroutine */ int zungql_(integer *m, integer *n, integer *k,
4991 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4992 work, integer *lwork, integer *info);
4993
4994/* Subroutine */ int zungqr_(integer *m, integer *n, integer *k,
4995 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
4996 work, integer *lwork, integer *info);
4997
4998/* Subroutine */ int zungr2_(integer *m, integer *n, integer *k,
4999 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
5000 work, integer *info);
5001
5002/* Subroutine */ int zungrq_(integer *m, integer *n, integer *k,
5003 doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *
5004 work, integer *lwork, integer *info);
5005
5006/* Subroutine */ int zungtr_(char *uplo, integer *n, doublecomplex *a,
5007 integer *lda, doublecomplex *tau, doublecomplex *work, integer *lwork,
5008 integer *info);
5009
5010/* Subroutine */ int zunm2l_(char *side, char *trans, integer *m, integer *n,
5011 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5012 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info);
5013
5014/* Subroutine */ int zunm2r_(char *side, char *trans, integer *m, integer *n,
5015 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5016 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info);
5017
5018/* Subroutine */ int zunmbr_(char *vect, char *side, char *trans, integer *m,
5019 integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex
5020 *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *
5021 lwork, integer *info);
5022
5023/* Subroutine */ int zunmhr_(char *side, char *trans, integer *m, integer *n,
5024 integer *ilo, integer *ihi, doublecomplex *a, integer *lda,
5025 doublecomplex *tau, doublecomplex *c__, integer *ldc, doublecomplex *
5026 work, integer *lwork, integer *info);
5027
5028/* Subroutine */ int zunml2_(char *side, char *trans, integer *m, integer *n,
5029 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5030 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info);
5031
5032/* Subroutine */ int zunmlq_(char *side, char *trans, integer *m, integer *n,
5033 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5034 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork,
5035 integer *info);
5036
5037/* Subroutine */ int zunmql_(char *side, char *trans, integer *m, integer *n,
5038 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5039 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork,
5040 integer *info);
5041
5042/* Subroutine */ int zunmqr_(char *side, char *trans, integer *m, integer *n,
5043 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5044 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork,
5045 integer *info);
5046
5047/* Subroutine */ int zunmr2_(char *side, char *trans, integer *m, integer *n,
5048 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5049 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *info);
5050
5051/* Subroutine */ int zunmr3_(char *side, char *trans, integer *m, integer *n,
5052 integer *k, integer *l, doublecomplex *a, integer *lda, doublecomplex
5053 *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *
5054 info);
5055
5056/* Subroutine */ int zunmrq_(char *side, char *trans, integer *m, integer *n,
5057 integer *k, doublecomplex *a, integer *lda, doublecomplex *tau,
5058 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork,
5059 integer *info);
5060
5061/* Subroutine */ int zunmrz_(char *side, char *trans, integer *m, integer *n,
5062 integer *k, integer *l, doublecomplex *a, integer *lda, doublecomplex
5063 *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *
5064 lwork, integer *info);
5065
5066/* Subroutine */ int zunmtr_(char *side, char *uplo, char *trans, integer *m,
5067 integer *n, doublecomplex *a, integer *lda, doublecomplex *tau,
5068 doublecomplex *c__, integer *ldc, doublecomplex *work, integer *lwork,
5069 integer *info);
5070
5071/* Subroutine */ int zupgtr_(char *uplo, integer *n, doublecomplex *ap,
5072 doublecomplex *tau, doublecomplex *q, integer *ldq, doublecomplex *
5073 work, integer *info);
5074
5075/* Subroutine */ int zupmtr_(char *side, char *uplo, char *trans, integer *m,
5076 integer *n, doublecomplex *ap, doublecomplex *tau, doublecomplex *c__,
5077 integer *ldc, doublecomplex *work, integer *info);
5078
5079#endif /* __CLAPACK_H */
diff --git a/lib/LAPACK/f2c.h b/lib/LAPACK/f2c.h
new file mode 100644
index 0000000..b94ee7c
--- /dev/null
+++ b/lib/LAPACK/f2c.h
@@ -0,0 +1,223 @@
1/* f2c.h -- Standard Fortran to C header file */
2
3/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
4
5 - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
6
7#ifndef F2C_INCLUDE
8#define F2C_INCLUDE
9
10typedef long int integer;
11typedef unsigned long int uinteger;
12typedef char *address;
13typedef short int shortint;
14typedef float real;
15typedef double doublereal;
16typedef struct { real r, i; } complex;
17typedef struct { doublereal r, i; } doublecomplex;
18typedef long int logical;
19typedef short int shortlogical;
20typedef char logical1;
21typedef char integer1;
22#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */
23typedef long long longint; /* system-dependent */
24typedef unsigned long long ulongint; /* system-dependent */
25#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
26#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
27#endif
28
29#define TRUE_ (1)
30#define FALSE_ (0)
31
32/* Extern is for use with -E */
33#ifndef Extern
34#define Extern extern
35#endif
36
37/* I/O stuff */
38
39#ifdef f2c_i2
40/* for -i2 */
41typedef short flag;
42typedef short ftnlen;
43typedef short ftnint;
44#else
45typedef long int flag;
46typedef long int ftnlen;
47typedef long int ftnint;
48#endif
49
50/*external read, write*/
51typedef struct
52{ flag cierr;
53 ftnint ciunit;
54 flag ciend;
55 char *cifmt;
56 ftnint cirec;
57} cilist;
58
59/*internal read, write*/
60typedef struct
61{ flag icierr;
62 char *iciunit;
63 flag iciend;
64 char *icifmt;
65 ftnint icirlen;
66 ftnint icirnum;
67} icilist;
68
69/*open*/
70typedef struct
71{ flag oerr;
72 ftnint ounit;
73 char *ofnm;
74 ftnlen ofnmlen;
75 char *osta;
76 char *oacc;
77 char *ofm;
78 ftnint orl;
79 char *oblnk;
80} olist;
81
82/*close*/
83typedef struct
84{ flag cerr;
85 ftnint cunit;
86 char *csta;
87} cllist;
88
89/*rewind, backspace, endfile*/
90typedef struct
91{ flag aerr;
92 ftnint aunit;
93} alist;
94
95/* inquire */
96typedef struct
97{ flag inerr;
98 ftnint inunit;
99 char *infile;
100 ftnlen infilen;
101 ftnint *inex; /*parameters in standard's order*/
102 ftnint *inopen;
103 ftnint *innum;
104 ftnint *innamed;
105 char *inname;
106 ftnlen innamlen;
107 char *inacc;
108 ftnlen inacclen;
109 char *inseq;
110 ftnlen inseqlen;
111 char *indir;
112 ftnlen indirlen;
113 char *infmt;
114 ftnlen infmtlen;
115 char *inform;
116 ftnint informlen;
117 char *inunf;
118 ftnlen inunflen;
119 ftnint *inrecl;
120 ftnint *innrec;
121 char *inblank;
122 ftnlen inblanklen;
123} inlist;
124
125#define VOID void
126
127union Multitype { /* for multiple entry points */
128 integer1 g;
129 shortint h;
130 integer i;
131 /* longint j; */
132 real r;
133 doublereal d;
134 complex c;
135 doublecomplex z;
136 };
137
138typedef union Multitype Multitype;
139
140/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
141
142struct Vardesc { /* for Namelist */
143 char *name;
144 char *addr;
145 ftnlen *dims;
146 int type;
147 };
148typedef struct Vardesc Vardesc;
149
150struct Namelist {
151 char *name;
152 Vardesc **vars;
153 int nvars;
154 };
155typedef struct Namelist Namelist;
156
157#define abs(x) ((x) >= 0 ? (x) : -(x))
158#define dabs(x) (doublereal)abs(x)
159#define min(a,b) ((a) <= (b) ? (a) : (b))
160#define max(a,b) ((a) >= (b) ? (a) : (b))
161#define dmin(a,b) (doublereal)min(a,b)
162#define dmax(a,b) (doublereal)max(a,b)
163#define bit_test(a,b) ((a) >> (b) & 1)
164#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
165#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
166
167/* procedure parameter types for -A and -C++ */
168
169#define F2C_proc_par_types 1
170#ifdef __cplusplus
171typedef int /* Unknown procedure type */ (*U_fp)(...);
172typedef shortint (*J_fp)(...);
173typedef integer (*I_fp)(...);
174typedef real (*R_fp)(...);
175typedef doublereal (*D_fp)(...), (*E_fp)(...);
176typedef /* Complex */ VOID (*C_fp)(...);
177typedef /* Double Complex */ VOID (*Z_fp)(...);
178typedef logical (*L_fp)(...);
179typedef shortlogical (*K_fp)(...);
180typedef /* Character */ VOID (*H_fp)(...);
181typedef /* Subroutine */ int (*S_fp)(...);
182#else
183typedef int /* Unknown procedure type */ (*U_fp)();
184typedef shortint (*J_fp)();
185typedef integer (*I_fp)();
186typedef real (*R_fp)();
187typedef doublereal (*D_fp)(), (*E_fp)();
188typedef /* Complex */ VOID (*C_fp)();
189typedef /* Double Complex */ VOID (*Z_fp)();
190typedef logical (*L_fp)();
191typedef shortlogical (*K_fp)();
192typedef /* Character */ VOID (*H_fp)();
193typedef /* Subroutine */ int (*S_fp)();
194#endif
195/* E_fp is for real functions when -R is not specified */
196typedef VOID C_f; /* complex function */
197typedef VOID H_f; /* character function */
198typedef VOID Z_f; /* double complex function */
199typedef doublereal E_f; /* real function with -R not specified */
200
201/* undef any lower-case symbols that your C compiler predefines, e.g.: */
202
203#ifndef Skip_f2c_Undefs
204#undef cray
205#undef gcos
206#undef mc68010
207#undef mc68020
208#undef mips
209#undef pdp11
210#undef sgi
211#undef sparc
212#undef sun
213#undef sun2
214#undef sun3
215#undef sun4
216#undef u370
217#undef u3b
218#undef u3b2
219#undef u3b5
220#undef unix
221#undef vax
222#endif
223#endif
diff --git a/lib/LAPACK/lapack-aux.c b/lib/LAPACK/lapack-aux.c
new file mode 100644
index 0000000..3e8c015
--- /dev/null
+++ b/lib/LAPACK/lapack-aux.c
@@ -0,0 +1,579 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include <math.h>
5#include <time.h>
6#include "lapack-aux.h"
7
8#define MACRO(B) do {B} while (0)
9#define ERROR(CODE) MACRO(return CODE;)
10#define REQUIRES(COND, CODE) MACRO(if(!(COND)) {ERROR(CODE);})
11
12#define MIN(A,B) ((A)<(B)?(A):(B))
13#define MAX(A,B) ((A)>(B)?(A):(B))
14
15#ifdef DBGL
16#define DEBUGMSG(M) printf("LAPACK Wrapper "M"\n: "); size_t t0 = time(NULL);
17#define OK MACRO(printf("%ld s\n",time(0)-t0); return 0;);
18#else
19#define DEBUGMSG(M)
20#define OK return 0;
21#endif
22
23#define CHECK(RES,CODE) MACRO(if(RES) return CODE;)
24
25#define BAD_SIZE 1000
26#define BAD_CODE 1001
27#define MEM 1002
28#define BAD_FILE 1003
29#define SINGULAR 1004
30#define NOCONVER 1005
31
32//////////////////// real svd ////////////////////////////////////
33
34int svd_l_R(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) {
35 integer m = ar;
36 integer n = ac;
37 integer q = MIN(m,n);
38 REQUIRES(ur==m && uc==m && sn==q && vr==n && vc==n,BAD_SIZE);
39 DEBUGMSG("svd_l_R");
40 double *B = (double*)malloc(m*n*sizeof(double));
41 CHECK(!B,MEM);
42 memcpy(B,ap,m*n*sizeof(double));
43 integer lwork = -1;
44 integer res;
45 // ask for optimal lwork
46 double ans;
47 //printf("ask zgesvd\n");
48 char* job = "A";
49 dgesvd_ (job,job,
50 &m,&n,B,&m,
51 sp,
52 up,&m,
53 vp,&n,
54 &ans, &lwork,
55 &res);
56 lwork = ceil(ans);
57 //printf("ans = %d\n",lwork);
58 double * work = (double*)malloc(lwork*sizeof(double));
59 CHECK(!work,MEM);
60 //printf("dgesdd\n");
61 dgesvd_ (job,job,
62 &m,&n,B,&m,
63 sp,
64 up,&m,
65 vp,&n,
66 work, &lwork,
67 &res);
68 CHECK(res,res);
69 free(work);
70 free(B);
71 OK
72}
73
74// (alternative version)
75
76int svd_l_Rdd(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) {
77 integer m = ar;
78 integer n = ac;
79 integer q = MIN(m,n);
80 REQUIRES(ur==m && uc==m && sn==q && vr==n && vc==n,BAD_SIZE);
81 DEBUGMSG("svd_l_Rdd");
82 double *B = (double*)malloc(m*n*sizeof(double));
83 CHECK(!B,MEM);
84 memcpy(B,ap,m*n*sizeof(double));
85 integer* iwk = (integer*) malloc(8*q*sizeof(int));
86 CHECK(!iwk,MEM);
87 integer lwk = -1;
88 integer res;
89 // ask for optimal lwk
90 double ans;
91 //printf("ask dgesdd\n");
92 dgesdd_ ("A",&m,&n,B,&m,sp,up,&m,vp,&n,&ans,&lwk,iwk,&res);
93 lwk = 2*ceil(ans); // ????? otherwise 50x100 rejects lwk
94 //printf("lwk = %d\n",lwk);
95 double * workv = (double*)malloc(lwk*sizeof(double));
96 CHECK(!workv,MEM);
97 //printf("dgesdd\n");
98 dgesdd_ ("A",&m,&n,B,&m,sp,up,&m,vp,&n,workv,&lwk,iwk,&res);
99 CHECK(res,res);
100 free(iwk);
101 free(workv);
102 free(B);
103 OK
104}
105
106//////////////////// complex svd ////////////////////////////////////
107
108// not in clapack.h
109
110int zgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
111 doublecomplex *a, integer *lda, doublereal *s, doublecomplex *u,
112 integer *ldu, doublecomplex *vt, integer *ldvt, doublecomplex *work,
113 integer *lwork, doublereal *rwork, integer *info);
114
115int svd_l_C(KCMAT(a),CMAT(u), DVEC(s),CMAT(v)) {
116 integer m = ar;
117 integer n = ac;
118 integer q = MIN(m,n);
119 REQUIRES(ur==m && uc==m && sn==q && vr==n && vc==n,BAD_SIZE);
120 DEBUGMSG("svd_l_C");
121 double *B = (double*)malloc(2*m*n*sizeof(double));
122 CHECK(!B,MEM);
123 memcpy(B,ap,m*n*2*sizeof(double));
124
125 double *rwork = (double*) malloc(5*q*sizeof(double));
126 CHECK(!rwork,MEM);
127 integer lwork = -1;
128 integer res;
129 // ask for optimal lwork
130 doublecomplex ans;
131 //printf("ask zgesvd\n");
132 char* job = "A";
133 zgesvd_ (job,job,
134 &m,&n,(doublecomplex*)B,&m,
135 sp,
136 (doublecomplex*)up,&m,
137 (doublecomplex*)vp,&n,
138 &ans, &lwork,
139 rwork,
140 &res);
141 lwork = ceil(ans.r);
142 //printf("ans = %d\n",lwork);
143 doublecomplex * work = (doublecomplex*)malloc(lwork*2*sizeof(double));
144 CHECK(!work,MEM);
145 //printf("zgesvd\n");
146 zgesvd_ (job,job,
147 &m,&n,(doublecomplex*)B,&m,
148 sp,
149 (doublecomplex*)up,&m,
150 (doublecomplex*)vp,&n,
151 work, &lwork,
152 rwork,
153 &res);
154 CHECK(res,res);
155 free(work);
156 free(rwork);
157 free(B);
158 OK
159}
160
161
162
163//////////////////// general complex eigensystem ////////////
164
165int eig_l_C(KCMAT(a),CMAT(u), CVEC(s),CMAT(v)) {
166 integer n = ar;
167 REQUIRES(n>=2 && (ur==1 || (ur==n && uc==n)) && sn==n && (vr==1 || (vr==n && vc==n)),BAD_SIZE);
168 DEBUGMSG("eig_l_C");
169 double *B = (double*)malloc(2*n*n*sizeof(double));
170 CHECK(!B,MEM);
171 memcpy(B,ap,n*n*2*sizeof(double));
172
173 double *rwork = (double*) malloc(2*n*sizeof(double));
174 CHECK(!rwork,MEM);
175 integer lwork = -1;
176 char jobvl = ur==1?'N':'V';
177 char jobvr = vr==1?'N':'V';
178 integer res;
179 // ask for optimal lwork
180 doublecomplex ans;
181 //printf("ask zgeev\n");
182 zgeev_ (&jobvl,&jobvr,
183 &n,(doublecomplex*)B,&n,
184 (doublecomplex*)sp,
185 (doublecomplex*)up,&n,
186 (doublecomplex*)vp,&n,
187 &ans, &lwork,
188 rwork,
189 &res);
190 lwork = ceil(ans.r);
191 //printf("ans = %d\n",lwork);
192 doublecomplex * work = (doublecomplex*)malloc(lwork*2*sizeof(double));
193 CHECK(!work,MEM);
194 //printf("zgeev\n");
195 zgeev_ (&jobvl,&jobvr,
196 &n,(doublecomplex*)B,&n,
197 (doublecomplex*)sp,
198 (doublecomplex*)up,&n,
199 (doublecomplex*)vp,&n,
200 work, &lwork,
201 rwork,
202 &res);
203 CHECK(res,res);
204 free(work);
205 free(rwork);
206 free(B);
207 OK
208}
209
210
211
212//////////////////// general real eigensystem ////////////
213
214int eig_l_R(KDMAT(a),DMAT(u), CVEC(s),DMAT(v)) {
215 integer n = ar;
216 REQUIRES(n>=2 && (ur==1 || (ur==n && uc==n)) && sn==n && (vr==1 || (vr==n && vc==n)),BAD_SIZE);
217 DEBUGMSG("eig_l_R");
218 double *B = (double*)malloc(n*n*sizeof(double));
219 CHECK(!B,MEM);
220 memcpy(B,ap,n*n*sizeof(double));
221 integer lwork = -1;
222 char jobvl = ur==1?'N':'V';
223 char jobvr = vr==1?'N':'V';
224 integer res;
225 // ask for optimal lwork
226 double ans;
227 //printf("ask dgeev\n");
228 dgeev_ (&jobvl,&jobvr,
229 &n,B,&n,
230 sp, sp+n,
231 up,&n,
232 vp,&n,
233 &ans, &lwork,
234 &res);
235 lwork = ceil(ans);
236 //printf("ans = %d\n",lwork);
237 double * work = (double*)malloc(lwork*sizeof(double));
238 CHECK(!work,MEM);
239 //printf("dgeev\n");
240 dgeev_ (&jobvl,&jobvr,
241 &n,B,&n,
242 sp, sp+n,
243 up,&n,
244 vp,&n,
245 work, &lwork,
246 &res);
247 CHECK(res,res);
248 free(work);
249 free(B);
250 OK
251}
252
253
254//////////////////// symmetric real eigensystem ////////////
255
256
257int eig_l_S(KDMAT(a),DVEC(s),DMAT(v)) {
258 integer n = ar;
259 REQUIRES(n>=2 && sn==n && (vr==1 || (vr==n && vc==n)),BAD_SIZE);
260 DEBUGMSG("eig_l_S");
261 memcpy(vp,ap,n*n*sizeof(double));
262 integer lwork = -1;
263 char jobz = vr==1?'N':'V';
264 char uplo = 'U';
265 integer res;
266 // ask for optimal lwork
267 double ans;
268 //printf("ask dsyev\n");
269 dsyev_ (&jobz,&uplo,
270 &n,vp,&n,
271 sp,
272 &ans, &lwork,
273 &res);
274 lwork = ceil(ans);
275 //printf("ans = %d\n",lwork);
276 double * work = (double*)malloc(lwork*sizeof(double));
277 CHECK(!work,MEM);
278 dsyev_ (&jobz,&uplo,
279 &n,vp,&n,
280 sp,
281 work, &lwork,
282 &res);
283 CHECK(res,res);
284 free(work);
285 OK
286}
287
288//////////////////// hermitian complex eigensystem ////////////
289
290int eig_l_H(KCMAT(a),DVEC(s),CMAT(v)) {
291 integer n = ar;
292 REQUIRES(n>=2 && sn==n && (vr==1 || (vr==n && vc==n)),BAD_SIZE);
293 DEBUGMSG("eig_l_H");
294 memcpy(vp,ap,2*n*n*sizeof(double));
295 double *rwork = (double*) malloc((3*n-2)*sizeof(double));
296 CHECK(!rwork,MEM);
297 integer lwork = -1;
298 char jobz = vr==1?'N':'V';
299 char uplo = 'U';
300 integer res;
301 // ask for optimal lwork
302 doublecomplex ans;
303 //printf("ask zheev\n");
304 zheev_ (&jobz,&uplo,
305 &n,(doublecomplex*)vp,&n,
306 sp,
307 &ans, &lwork,
308 rwork,
309 &res);
310 lwork = ceil(ans.r);
311 //printf("ans = %d\n",lwork);
312 doublecomplex * work = (doublecomplex*)malloc(lwork*2*sizeof(double));
313 CHECK(!work,MEM);
314 zheev_ (&jobz,&uplo,
315 &n,(doublecomplex*)vp,&n,
316 sp,
317 work, &lwork,
318 rwork,
319 &res);
320 CHECK(res,res);
321 free(work);
322 free(rwork);
323 OK
324}
325
326//////////////////// general real linear system ////////////
327
328int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) {
329 integer n = ar;
330 integer nhrs = bc;
331 REQUIRES(n>=1 && ar==ac && ar==br,BAD_SIZE);
332 DEBUGMSG("linearSolveR_l");
333 double*AC = (double*)malloc(n*n*sizeof(double));
334 memcpy(AC,ap,n*n*sizeof(double));
335 memcpy(xp,bp,n*nhrs*sizeof(double));
336 integer * ipiv = (integer*)malloc(n*sizeof(integer));
337 integer res;
338 dgesv_ (&n,&nhrs,
339 AC, &n,
340 ipiv,
341 xp, &n,
342 &res);
343 if(res>0) {
344 return SINGULAR;
345 }
346 CHECK(res,res);
347 free(ipiv);
348 free(AC);
349 OK
350}
351
352//////////////////// general complex linear system ////////////
353
354int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) {
355 integer n = ar;
356 integer nhrs = bc;
357 REQUIRES(n>=1 && ar==ac && ar==br,BAD_SIZE);
358 DEBUGMSG("linearSolveC_l");
359 double*AC = (double*)malloc(2*n*n*sizeof(double));
360 memcpy(AC,ap,2*n*n*sizeof(double));
361 memcpy(xp,bp,2*n*nhrs*sizeof(double));
362 integer * ipiv = (integer*)malloc(n*sizeof(integer));
363 integer res;
364 zgesv_ (&n,&nhrs,
365 (doublecomplex*)AC, &n,
366 ipiv,
367 (doublecomplex*)xp, &n,
368 &res);
369 if(res>0) {
370 return SINGULAR;
371 }
372 CHECK(res,res);
373 free(ipiv);
374 free(AC);
375 OK
376}
377
378//////////////////// least squares real linear system ////////////
379
380int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x)) {
381 integer m = ar;
382 integer n = ac;
383 integer nrhs = bc;
384 integer ldb = xr;
385 REQUIRES(m>=1 && n>=1 && ar==br && xr==MAX(m,n) && xc == bc, BAD_SIZE);
386 DEBUGMSG("linearSolveLSR_l");
387 double*AC = (double*)malloc(m*n*sizeof(double));
388 memcpy(AC,ap,m*n*sizeof(double));
389 if (m>=n) {
390 memcpy(xp,bp,m*nrhs*sizeof(double));
391 } else {
392 int k;
393 for(k = 0; k<nrhs; k++) {
394 memcpy(xp+ldb*k,bp+m*k,m*sizeof(double));
395 }
396 }
397 integer res;
398 integer lwork = -1;
399 double ans;
400 dgels_ ("N",&m,&n,&nrhs,
401 AC,&m,
402 xp,&ldb,
403 &ans,&lwork,
404 &res);
405 lwork = ceil(ans);
406 //printf("ans = %d\n",lwork);
407 double * work = (double*)malloc(lwork*sizeof(double));
408 dgels_ ("N",&m,&n,&nrhs,
409 AC,&m,
410 xp,&ldb,
411 work,&lwork,
412 &res);
413 if(res>0) {
414 return SINGULAR;
415 }
416 CHECK(res,res);
417 free(work);
418 free(AC);
419 OK
420}
421
422//////////////////// least squares complex linear system ////////////
423
424int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x)) {
425 integer m = ar;
426 integer n = ac;
427 integer nrhs = bc;
428 integer ldb = xr;
429 REQUIRES(m>=1 && n>=1 && ar==br && xr==MAX(m,n) && xc == bc, BAD_SIZE);
430 DEBUGMSG("linearSolveLSC_l");
431 double*AC = (double*)malloc(2*m*n*sizeof(double));
432 memcpy(AC,ap,2*m*n*sizeof(double));
433 memcpy(AC,ap,2*m*n*sizeof(double));
434 if (m>=n) {
435 memcpy(xp,bp,2*m*nrhs*sizeof(double));
436 } else {
437 int k;
438 for(k = 0; k<nrhs; k++) {
439 memcpy(xp+2*ldb*k,bp+2*m*k,m*2*sizeof(double));
440 }
441 }
442 integer res;
443 integer lwork = -1;
444 doublecomplex ans;
445 zgels_ ("N",&m,&n,&nrhs,
446 (doublecomplex*)AC,&m,
447 (doublecomplex*)xp,&ldb,
448 &ans,&lwork,
449 &res);
450 lwork = ceil(ans.r);
451 //printf("ans = %d\n",lwork);
452 doublecomplex * work = (doublecomplex*)malloc(lwork*sizeof(doublecomplex));
453 zgels_ ("N",&m,&n,&nrhs,
454 (doublecomplex*)AC,&m,
455 (doublecomplex*)xp,&ldb,
456 work,&lwork,
457 &res);
458 if(res>0) {
459 return SINGULAR;
460 }
461 CHECK(res,res);
462 free(work);
463 free(AC);
464 OK
465}
466
467//////////////////// least squares real linear system using SVD ////////////
468
469int linearSolveSVDR_l(double rcond,KDMAT(a),KDMAT(b),DMAT(x)) {
470 integer m = ar;
471 integer n = ac;
472 integer nrhs = bc;
473 integer ldb = xr;
474 REQUIRES(m>=1 && n>=1 && ar==br && xr==MAX(m,n) && xc == bc, BAD_SIZE);
475 DEBUGMSG("linearSolveSVDR_l");
476 double*AC = (double*)malloc(m*n*sizeof(double));
477 double*S = (double*)malloc(MIN(m,n)*sizeof(double));
478 memcpy(AC,ap,m*n*sizeof(double));
479 if (m>=n) {
480 memcpy(xp,bp,m*nrhs*sizeof(double));
481 } else {
482 int k;
483 for(k = 0; k<nrhs; k++) {
484 memcpy(xp+ldb*k,bp+m*k,m*sizeof(double));
485 }
486 }
487 integer res;
488 integer lwork = -1;
489 integer rank;
490 double ans;
491 dgelss_ (&m,&n,&nrhs,
492 AC,&m,
493 xp,&ldb,
494 S,
495 &rcond,&rank,
496 &ans,&lwork,
497 &res);
498 lwork = ceil(ans);
499 //printf("ans = %d\n",lwork);
500 double * work = (double*)malloc(lwork*sizeof(double));
501 dgelss_ (&m,&n,&nrhs,
502 AC,&m,
503 xp,&ldb,
504 S,
505 &rcond,&rank,
506 work,&lwork,
507 &res);
508 if(res>0) {
509 return NOCONVER;
510 }
511 CHECK(res,res);
512 free(work);
513 free(S);
514 free(AC);
515 OK
516}
517
518//////////////////// least squares complex linear system using SVD ////////////
519
520// not in clapack.h
521
522int zgelss_(integer *m, integer *n, integer *nhrs,
523 doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, doublereal *s,
524 doublereal *rcond, integer* rank,
525 doublecomplex *work, integer* lwork, doublereal* rwork,
526 integer *info);
527
528int linearSolveSVDC_l(double rcond, KCMAT(a),KCMAT(b),CMAT(x)) {
529 integer m = ar;
530 integer n = ac;
531 integer nrhs = bc;
532 integer ldb = xr;
533 REQUIRES(m>=1 && n>=1 && ar==br && xr==MAX(m,n) && xc == bc, BAD_SIZE);
534 DEBUGMSG("linearSolveSVDC_l");
535 double*AC = (double*)malloc(2*m*n*sizeof(double));
536 double*S = (double*)malloc(MIN(m,n)*sizeof(double));
537 double*RWORK = (double*)malloc(5*MIN(m,n)*sizeof(double));
538 memcpy(AC,ap,2*m*n*sizeof(double));
539 if (m>=n) {
540 memcpy(xp,bp,2*m*nrhs*sizeof(double));
541 } else {
542 int k;
543 for(k = 0; k<nrhs; k++) {
544 memcpy(xp+2*ldb*k,bp+2*m*k,m*2*sizeof(double));
545 }
546 }
547 integer res;
548 integer lwork = -1;
549 integer rank;
550 doublecomplex ans;
551 zgelss_ (&m,&n,&nrhs,
552 (doublecomplex*)AC,&m,
553 (doublecomplex*)xp,&ldb,
554 S,
555 &rcond,&rank,
556 &ans,&lwork,
557 RWORK,
558 &res);
559 lwork = ceil(ans.r);
560 //printf("ans = %d\n",lwork);
561 doublecomplex * work = (doublecomplex*)malloc(lwork*sizeof(doublecomplex));
562 zgelss_ (&m,&n,&nrhs,
563 (doublecomplex*)AC,&m,
564 (doublecomplex*)xp,&ldb,
565 S,
566 &rcond,&rank,
567 work,&lwork,
568 RWORK,
569 &res);
570 if(res>0) {
571 return NOCONVER;
572 }
573 CHECK(res,res);
574 free(work);
575 free(RWORK);
576 free(S);
577 free(AC);
578 OK
579}
diff --git a/lib/LAPACK/lapack-aux.h b/lib/LAPACK/lapack-aux.h
new file mode 100644
index 0000000..869eabb
--- /dev/null
+++ b/lib/LAPACK/lapack-aux.h
@@ -0,0 +1,38 @@
1#include "f2c.h"
2#include "clapack.h"
3
4#define DVEC(A) int A##n, double*A##p
5#define CVEC(A) int A##n, double*A##p
6#define DMAT(A) int A##r, int A##c, double* A##p
7#define CMAT(A) int A##r, int A##c, double* A##p
8
9// const pointer versions for the parameters
10#define KDVEC(A) int A##n, const double*A##p
11#define KCVEC(A) int A##n, const double*A##p
12#define KDMAT(A) int A##r, int A##c, const double* A##p
13#define KCMAT(A) int A##r, int A##c, const double* A##p
14
15int svd_l_R(KDMAT(x),DMAT(u),DVEC(s),DMAT(v));
16int svd_l_Rdd(KDMAT(x),DMAT(u),DVEC(s),DMAT(v));
17
18int svd_l_C(KCMAT(a),CMAT(u),DVEC(s),CMAT(v));
19
20int eig_l_C(KCMAT(a),CMAT(u),CVEC(s),CMAT(v));
21
22int eig_l_R(KDMAT(a),DMAT(u),CVEC(s),DMAT(v));
23
24int eig_l_S(KDMAT(a),DVEC(s),DMAT(v));
25
26int eig_l_H(KCMAT(a),DVEC(s),CMAT(v));
27
28int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x));
29
30int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x));
31
32int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x));
33
34int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x));
35
36int linearSolveSVDR_l(double,KDMAT(a),KDMAT(b),DMAT(x));
37
38int linearSolveSVDC_l(double,KCMAT(a),KCMAT(b),CMAT(x));