diff options
Diffstat (limited to 'lib/Numeric')
-rw-r--r-- | lib/Numeric/Container.hs | 11 | ||||
-rw-r--r-- | lib/Numeric/GSL/Internal.hs | 3 | ||||
-rw-r--r-- | lib/Numeric/GSL/Root.hs | 81 | ||||
-rw-r--r-- | lib/Numeric/GSL/gsl-aux.c | 154 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/LAPACK.hs | 41 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/LAPACK/clapack.h | 5079 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c | 104 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h | 71 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/Util.hs | 87 | ||||
-rw-r--r-- | lib/Numeric/Vector.hs | 27 |
10 files changed, 438 insertions, 5220 deletions
diff --git a/lib/Numeric/Container.hs b/lib/Numeric/Container.hs index 661e5b4..345c1f1 100644 --- a/lib/Numeric/Container.hs +++ b/lib/Numeric/Container.hs | |||
@@ -132,3 +132,14 @@ instance LSDiv Matrix Matrix where | |||
132 | (<\>) = linearSolveSVD | 132 | (<\>) = linearSolveSVD |
133 | 133 | ||
134 | -------------------------------------------------------- | 134 | -------------------------------------------------------- |
135 | |||
136 | -- | Compute mean vector and covariance matrix of the rows of a matrix. | ||
137 | meanCov :: Matrix Double -> (Vector Double, Matrix Double) | ||
138 | meanCov x = (med,cov) where | ||
139 | r = rows x | ||
140 | k = 1 / fromIntegral r | ||
141 | med = konst k r `vXm` x | ||
142 | meds = konst 1 r `outer` med | ||
143 | xc = x `sub` meds | ||
144 | cov = scale (recip (fromIntegral (r-1))) (trans xc `mXm` xc) | ||
145 | |||
diff --git a/lib/Numeric/GSL/Internal.hs b/lib/Numeric/GSL/Internal.hs index 84417ce..69a9750 100644 --- a/lib/Numeric/GSL/Internal.hs +++ b/lib/Numeric/GSL/Internal.hs | |||
@@ -36,6 +36,9 @@ foreign import ccall safe "wrapper" | |||
36 | foreign import ccall safe "wrapper" | 36 | foreign import ccall safe "wrapper" |
37 | mkDoubleVecVecfun :: (Double -> TVV) -> IO (FunPtr (Double -> TVV)) | 37 | mkDoubleVecVecfun :: (Double -> TVV) -> IO (FunPtr (Double -> TVV)) |
38 | 38 | ||
39 | foreign import ccall safe "wrapper" | ||
40 | mkDoublefun :: (Double -> Double) -> IO (FunPtr (Double -> Double)) | ||
41 | |||
39 | aux_vTov :: (Vector Double -> Vector Double) -> TVV | 42 | aux_vTov :: (Vector Double -> Vector Double) -> TVV |
40 | aux_vTov f n p nr r = g where | 43 | aux_vTov f n p nr r = g where |
41 | v = f x | 44 | v = f x |
diff --git a/lib/Numeric/GSL/Root.hs b/lib/Numeric/GSL/Root.hs index cd2982a..6da15e5 100644 --- a/lib/Numeric/GSL/Root.hs +++ b/lib/Numeric/GSL/Root.hs | |||
@@ -45,6 +45,8 @@ main = do | |||
45 | ----------------------------------------------------------------------------- | 45 | ----------------------------------------------------------------------------- |
46 | 46 | ||
47 | module Numeric.GSL.Root ( | 47 | module Numeric.GSL.Root ( |
48 | uniRoot, UniRootMethod(..), | ||
49 | uniRootJ, UniRootMethodJ(..), | ||
48 | root, RootMethod(..), | 50 | root, RootMethod(..), |
49 | rootJ, RootMethodJ(..), | 51 | rootJ, RootMethodJ(..), |
50 | ) where | 52 | ) where |
@@ -58,6 +60,68 @@ import System.IO.Unsafe(unsafePerformIO) | |||
58 | 60 | ||
59 | ------------------------------------------------------------------------- | 61 | ------------------------------------------------------------------------- |
60 | 62 | ||
63 | data UniRootMethod = Bisection | ||
64 | | FalsePos | ||
65 | | Brent | ||
66 | deriving (Enum, Eq, Show, Bounded) | ||
67 | |||
68 | uniRoot :: UniRootMethod | ||
69 | -> Double | ||
70 | -> Int | ||
71 | -> (Double -> Double) | ||
72 | -> Double | ||
73 | -> Double | ||
74 | -> (Double, Matrix Double) | ||
75 | uniRoot method epsrel maxit fun xl xu = uniRootGen (fi (fromEnum method)) fun xl xu epsrel maxit | ||
76 | |||
77 | uniRootGen m f xl xu epsrel maxit = unsafePerformIO $ do | ||
78 | fp <- mkDoublefun f | ||
79 | rawpath <- createMIO maxit 4 | ||
80 | (c_root m fp epsrel (fi maxit) xl xu) | ||
81 | "root" | ||
82 | let it = round (rawpath @@> (maxit-1,0)) | ||
83 | path = takeRows it rawpath | ||
84 | [sol] = toLists $ dropRows (it-1) path | ||
85 | freeHaskellFunPtr fp | ||
86 | return (sol !! 1, path) | ||
87 | |||
88 | foreign import ccall safe "root" | ||
89 | c_root:: CInt -> FunPtr (Double -> Double) -> Double -> CInt -> Double -> Double -> TM | ||
90 | |||
91 | ------------------------------------------------------------------------- | ||
92 | data UniRootMethodJ = UNewton | ||
93 | | Secant | ||
94 | | Steffenson | ||
95 | deriving (Enum, Eq, Show, Bounded) | ||
96 | |||
97 | uniRootJ :: UniRootMethodJ | ||
98 | -> Double | ||
99 | -> Int | ||
100 | -> (Double -> Double) | ||
101 | -> (Double -> Double) | ||
102 | -> Double | ||
103 | -> (Double, Matrix Double) | ||
104 | uniRootJ method epsrel maxit fun dfun x = uniRootJGen (fi (fromEnum method)) fun | ||
105 | dfun x epsrel maxit | ||
106 | |||
107 | uniRootJGen m f df x epsrel maxit = unsafePerformIO $ do | ||
108 | fp <- mkDoublefun f | ||
109 | dfp <- mkDoublefun df | ||
110 | rawpath <- createMIO maxit 2 | ||
111 | (c_rootj m fp dfp epsrel (fi maxit) x) | ||
112 | "rootj" | ||
113 | let it = round (rawpath @@> (maxit-1,0)) | ||
114 | path = takeRows it rawpath | ||
115 | [sol] = toLists $ dropRows (it-1) path | ||
116 | freeHaskellFunPtr fp | ||
117 | return (sol !! 1, path) | ||
118 | |||
119 | foreign import ccall safe "rootj" | ||
120 | c_rootj :: CInt -> FunPtr (Double -> Double) -> FunPtr (Double -> Double) | ||
121 | -> Double -> CInt -> Double -> TM | ||
122 | |||
123 | ------------------------------------------------------------------------- | ||
124 | |||
61 | data RootMethod = Hybrids | 125 | data RootMethod = Hybrids |
62 | | Hybrid | 126 | | Hybrid |
63 | | DNewton | 127 | | DNewton |
@@ -82,8 +146,8 @@ rootGen m f xi epsabs maxit = unsafePerformIO $ do | |||
82 | fp <- mkVecVecfun (aux_vTov (checkdim1 n . fromList . f . toList)) | 146 | fp <- mkVecVecfun (aux_vTov (checkdim1 n . fromList . f . toList)) |
83 | rawpath <- vec xiv $ \xiv' -> | 147 | rawpath <- vec xiv $ \xiv' -> |
84 | createMIO maxit (2*n+1) | 148 | createMIO maxit (2*n+1) |
85 | (c_root m fp epsabs (fi maxit) // xiv') | 149 | (c_multiroot m fp epsabs (fi maxit) // xiv') |
86 | "root" | 150 | "multiroot" |
87 | let it = round (rawpath @@> (maxit-1,0)) | 151 | let it = round (rawpath @@> (maxit-1,0)) |
88 | path = takeRows it rawpath | 152 | path = takeRows it rawpath |
89 | [sol] = toLists $ dropRows (it-1) path | 153 | [sol] = toLists $ dropRows (it-1) path |
@@ -91,8 +155,8 @@ rootGen m f xi epsabs maxit = unsafePerformIO $ do | |||
91 | return (take n $ drop 1 sol, path) | 155 | return (take n $ drop 1 sol, path) |
92 | 156 | ||
93 | 157 | ||
94 | foreign import ccall safe "root" | 158 | foreign import ccall safe "multiroot" |
95 | c_root:: CInt -> FunPtr TVV -> Double -> CInt -> TVM | 159 | c_multiroot:: CInt -> FunPtr TVV -> Double -> CInt -> TVM |
96 | 160 | ||
97 | ------------------------------------------------------------------------- | 161 | ------------------------------------------------------------------------- |
98 | 162 | ||
@@ -120,8 +184,8 @@ rootJGen m f jac xi epsabs maxit = unsafePerformIO $ do | |||
120 | jp <- mkVecMatfun (aux_vTom (checkdim2 n . fromLists . jac . toList)) | 184 | jp <- mkVecMatfun (aux_vTom (checkdim2 n . fromLists . jac . toList)) |
121 | rawpath <- vec xiv $ \xiv' -> | 185 | rawpath <- vec xiv $ \xiv' -> |
122 | createMIO maxit (2*n+1) | 186 | createMIO maxit (2*n+1) |
123 | (c_rootj m fp jp epsabs (fi maxit) // xiv') | 187 | (c_multirootj m fp jp epsabs (fi maxit) // xiv') |
124 | "root" | 188 | "multiroot" |
125 | let it = round (rawpath @@> (maxit-1,0)) | 189 | let it = round (rawpath @@> (maxit-1,0)) |
126 | path = takeRows it rawpath | 190 | path = takeRows it rawpath |
127 | [sol] = toLists $ dropRows (it-1) path | 191 | [sol] = toLists $ dropRows (it-1) path |
@@ -129,9 +193,8 @@ rootJGen m f jac xi epsabs maxit = unsafePerformIO $ do | |||
129 | freeHaskellFunPtr jp | 193 | freeHaskellFunPtr jp |
130 | return (take n $ drop 1 sol, path) | 194 | return (take n $ drop 1 sol, path) |
131 | 195 | ||
132 | 196 | foreign import ccall safe "multirootj" | |
133 | foreign import ccall safe "rootj" | 197 | c_multirootj:: CInt -> FunPtr TVV -> FunPtr TVM -> Double -> CInt -> TVM |
134 | c_rootj:: CInt -> FunPtr TVV -> FunPtr TVM -> Double -> CInt -> TVM | ||
135 | 198 | ||
136 | ------------------------------------------------------- | 199 | ------------------------------------------------------- |
137 | 200 | ||
diff --git a/lib/Numeric/GSL/gsl-aux.c b/lib/Numeric/GSL/gsl-aux.c index fc14ff5..e727c91 100644 --- a/lib/Numeric/GSL/gsl-aux.c +++ b/lib/Numeric/GSL/gsl-aux.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <gsl/gsl_complex_math.h> | 32 | #include <gsl/gsl_complex_math.h> |
33 | #include <gsl/gsl_rng.h> | 33 | #include <gsl/gsl_rng.h> |
34 | #include <gsl/gsl_randist.h> | 34 | #include <gsl/gsl_randist.h> |
35 | #include <gsl/gsl_roots.h> | ||
35 | #include <gsl/gsl_multifit_nlin.h> | 36 | #include <gsl/gsl_multifit_nlin.h> |
36 | #include <string.h> | 37 | #include <string.h> |
37 | #include <stdio.h> | 38 | #include <stdio.h> |
@@ -937,7 +938,7 @@ int minimize(int method, double f(int, double*), double tolsize, int maxit, | |||
937 | iter++; | 938 | iter++; |
938 | if (status) break; | 939 | if (status) break; |
939 | status = gsl_multimin_test_size (size, tolsize); | 940 | status = gsl_multimin_test_size (size, tolsize); |
940 | } while (status == GSL_CONTINUE && iter <= maxit); | 941 | } while (status == GSL_CONTINUE && iter < maxit); |
941 | int i,j; | 942 | int i,j; |
942 | for (i=iter; i<solr; i++) { | 943 | for (i=iter; i<solr; i++) { |
943 | solp[i*solc+0] = iter; | 944 | solp[i*solc+0] = iter; |
@@ -1033,7 +1034,7 @@ int minimizeD(int method, double f(int, double*), int df(int, double*, int, doub | |||
1033 | iter++; | 1034 | iter++; |
1034 | if (status) break; | 1035 | if (status) break; |
1035 | status = gsl_multimin_test_gradient (s->gradient, tolgrad); | 1036 | status = gsl_multimin_test_gradient (s->gradient, tolgrad); |
1036 | } while (status == GSL_CONTINUE && iter <= maxit); | 1037 | } while (status == GSL_CONTINUE && iter < maxit); |
1037 | int i,j; | 1038 | int i,j; |
1038 | for (i=iter; i<solr; i++) { | 1039 | for (i=iter; i<solr; i++) { |
1039 | solp[i*solc+0] = iter; | 1040 | solp[i*solc+0] = iter; |
@@ -1047,9 +1048,144 @@ int minimizeD(int method, double f(int, double*), int df(int, double*, int, doub | |||
1047 | 1048 | ||
1048 | //--------------------------------------------------------------- | 1049 | //--------------------------------------------------------------- |
1049 | 1050 | ||
1051 | double only_f_aux_root(double x, void *pars) { | ||
1052 | double (*f)(double) = (double (*)(double)) pars; | ||
1053 | return f(x); | ||
1054 | } | ||
1055 | |||
1056 | int root(int method, double f(double), | ||
1057 | double epsrel, int maxit, | ||
1058 | double xl, double xu, RMAT(sol)) { | ||
1059 | REQUIRES(solr == maxit && solc == 4,BAD_SIZE); | ||
1060 | DEBUGMSG("root_only_f"); | ||
1061 | gsl_function my_func; | ||
1062 | // extract function from pars | ||
1063 | my_func.function = only_f_aux_root; | ||
1064 | my_func.params = f; | ||
1065 | size_t iter = 0; | ||
1066 | int status; | ||
1067 | const gsl_root_fsolver_type *T; | ||
1068 | gsl_root_fsolver *s; | ||
1069 | // Starting point | ||
1070 | switch(method) { | ||
1071 | case 0 : {T = gsl_root_fsolver_bisection; printf("7\n"); break; } | ||
1072 | case 1 : {T = gsl_root_fsolver_falsepos; break; } | ||
1073 | case 2 : {T = gsl_root_fsolver_brent; break; } | ||
1074 | default: ERROR(BAD_CODE); | ||
1075 | } | ||
1076 | s = gsl_root_fsolver_alloc (T); | ||
1077 | gsl_root_fsolver_set (s, &my_func, xl, xu); | ||
1078 | do { | ||
1079 | double best, current_lo, current_hi; | ||
1080 | status = gsl_root_fsolver_iterate (s); | ||
1081 | best = gsl_root_fsolver_root (s); | ||
1082 | current_lo = gsl_root_fsolver_x_lower (s); | ||
1083 | current_hi = gsl_root_fsolver_x_upper (s); | ||
1084 | solp[iter*solc] = iter + 1; | ||
1085 | solp[iter*solc+1] = best; | ||
1086 | solp[iter*solc+2] = current_lo; | ||
1087 | solp[iter*solc+3] = current_hi; | ||
1088 | iter++; | ||
1089 | if (status) /* check if solver is stuck */ | ||
1090 | break; | ||
1091 | |||
1092 | status = | ||
1093 | gsl_root_test_interval (current_lo, current_hi, 0, epsrel); | ||
1094 | } | ||
1095 | while (status == GSL_CONTINUE && iter < maxit); | ||
1096 | int i; | ||
1097 | for (i=iter; i<solr; i++) { | ||
1098 | solp[i*solc+0] = iter; | ||
1099 | solp[i*solc+1]=0.; | ||
1100 | solp[i*solc+2]=0.; | ||
1101 | solp[i*solc+3]=0.; | ||
1102 | } | ||
1103 | gsl_root_fsolver_free(s); | ||
1104 | OK | ||
1105 | } | ||
1106 | |||
1107 | typedef struct { | ||
1108 | double (*f)(double); | ||
1109 | double (*jf)(double); | ||
1110 | } uniTfjf; | ||
1111 | |||
1112 | double f_aux_uni(double x, void *pars) { | ||
1113 | uniTfjf * fjf = ((uniTfjf*) pars); | ||
1114 | return (fjf->f)(x); | ||
1115 | } | ||
1116 | |||
1117 | double jf_aux_uni(double x, void * pars) { | ||
1118 | uniTfjf * fjf = ((uniTfjf*) pars); | ||
1119 | return (fjf->jf)(x); | ||
1120 | } | ||
1121 | |||
1122 | void fjf_aux_uni(double x, void * pars, double * f, double * g) { | ||
1123 | *f = f_aux_uni(x,pars); | ||
1124 | *g = jf_aux_uni(x,pars); | ||
1125 | } | ||
1126 | |||
1127 | int rootj(int method, double f(double), | ||
1128 | double df(double), | ||
1129 | double epsrel, int maxit, | ||
1130 | double x, RMAT(sol)) { | ||
1131 | REQUIRES(solr == maxit && solc == 2,BAD_SIZE); | ||
1132 | DEBUGMSG("root_fjf"); | ||
1133 | gsl_function_fdf my_func; | ||
1134 | // extract function from pars | ||
1135 | my_func.f = f_aux_uni; | ||
1136 | my_func.df = jf_aux_uni; | ||
1137 | my_func.fdf = fjf_aux_uni; | ||
1138 | uniTfjf stfjf; | ||
1139 | stfjf.f = f; | ||
1140 | stfjf.jf = df; | ||
1141 | my_func.params = &stfjf; | ||
1142 | size_t iter = 0; | ||
1143 | int status; | ||
1144 | const gsl_root_fdfsolver_type *T; | ||
1145 | gsl_root_fdfsolver *s; | ||
1146 | // Starting point | ||
1147 | switch(method) { | ||
1148 | case 0 : {T = gsl_root_fdfsolver_newton;; break; } | ||
1149 | case 1 : {T = gsl_root_fdfsolver_secant; break; } | ||
1150 | case 2 : {T = gsl_root_fdfsolver_steffenson; break; } | ||
1151 | default: ERROR(BAD_CODE); | ||
1152 | } | ||
1153 | s = gsl_root_fdfsolver_alloc (T); | ||
1154 | |||
1155 | gsl_root_fdfsolver_set (s, &my_func, x); | ||
1156 | |||
1157 | do { | ||
1158 | double x0; | ||
1159 | status = gsl_root_fdfsolver_iterate (s); | ||
1160 | x0 = x; | ||
1161 | x = gsl_root_fdfsolver_root(s); | ||
1162 | solp[iter*solc+0] = iter+1; | ||
1163 | solp[iter*solc+1] = x; | ||
1164 | |||
1165 | iter++; | ||
1166 | if (status) /* check if solver is stuck */ | ||
1167 | break; | ||
1168 | |||
1169 | status = | ||
1170 | gsl_root_test_delta (x, x0, 0, epsrel); | ||
1171 | } | ||
1172 | while (status == GSL_CONTINUE && iter < maxit); | ||
1173 | |||
1174 | int i; | ||
1175 | for (i=iter; i<solr; i++) { | ||
1176 | solp[i*solc+0] = iter; | ||
1177 | solp[i*solc+1]=0.; | ||
1178 | } | ||
1179 | gsl_root_fdfsolver_free(s); | ||
1180 | OK | ||
1181 | } | ||
1182 | |||
1183 | |||
1184 | //--------------------------------------------------------------- | ||
1185 | |||
1050 | typedef void TrawfunV(int, double*, int, double*); | 1186 | typedef void TrawfunV(int, double*, int, double*); |
1051 | 1187 | ||
1052 | int only_f_aux_root(const gsl_vector*x, void *pars, gsl_vector*y) { | 1188 | int only_f_aux_multiroot(const gsl_vector*x, void *pars, gsl_vector*y) { |
1053 | TrawfunV * f = (TrawfunV*) pars; | 1189 | TrawfunV * f = (TrawfunV*) pars; |
1054 | double* p = (double*)calloc(x->size,sizeof(double)); | 1190 | double* p = (double*)calloc(x->size,sizeof(double)); |
1055 | double* q = (double*)calloc(y->size,sizeof(double)); | 1191 | double* q = (double*)calloc(y->size,sizeof(double)); |
@@ -1066,14 +1202,14 @@ int only_f_aux_root(const gsl_vector*x, void *pars, gsl_vector*y) { | |||
1066 | return 0; //hmmm | 1202 | return 0; //hmmm |
1067 | } | 1203 | } |
1068 | 1204 | ||
1069 | int root(int method, void f(int, double*, int, double*), | 1205 | int multiroot(int method, void f(int, double*, int, double*), |
1070 | double epsabs, int maxit, | 1206 | double epsabs, int maxit, |
1071 | KRVEC(xi), RMAT(sol)) { | 1207 | KRVEC(xi), RMAT(sol)) { |
1072 | REQUIRES(solr == maxit && solc == 1+2*xin,BAD_SIZE); | 1208 | REQUIRES(solr == maxit && solc == 1+2*xin,BAD_SIZE); |
1073 | DEBUGMSG("root_only_f"); | 1209 | DEBUGMSG("root_only_f"); |
1074 | gsl_multiroot_function my_func; | 1210 | gsl_multiroot_function my_func; |
1075 | // extract function from pars | 1211 | // extract function from pars |
1076 | my_func.f = only_f_aux_root; | 1212 | my_func.f = only_f_aux_multiroot; |
1077 | my_func.n = xin; | 1213 | my_func.n = xin; |
1078 | my_func.params = f; | 1214 | my_func.params = f; |
1079 | size_t iter = 0; | 1215 | size_t iter = 0; |
@@ -1112,7 +1248,7 @@ int root(int method, void f(int, double*, int, double*), | |||
1112 | status = | 1248 | status = |
1113 | gsl_multiroot_test_residual (s->f, epsabs); | 1249 | gsl_multiroot_test_residual (s->f, epsabs); |
1114 | } | 1250 | } |
1115 | while (status == GSL_CONTINUE && iter <= maxit); | 1251 | while (status == GSL_CONTINUE && iter < maxit); |
1116 | 1252 | ||
1117 | int i,j; | 1253 | int i,j; |
1118 | for (i=iter; i<solr; i++) { | 1254 | for (i=iter; i<solr; i++) { |
@@ -1175,7 +1311,7 @@ int fjf_aux(const gsl_vector * x, void * pars, gsl_vector * f, gsl_matrix * g) { | |||
1175 | return 0; | 1311 | return 0; |
1176 | } | 1312 | } |
1177 | 1313 | ||
1178 | int rootj(int method, int f(int, double*, int, double*), | 1314 | int multirootj(int method, int f(int, double*, int, double*), |
1179 | int jac(int, double*, int, int, double*), | 1315 | int jac(int, double*, int, int, double*), |
1180 | double epsabs, int maxit, | 1316 | double epsabs, int maxit, |
1181 | KRVEC(xi), RMAT(sol)) { | 1317 | KRVEC(xi), RMAT(sol)) { |
@@ -1228,7 +1364,7 @@ int rootj(int method, int f(int, double*, int, double*), | |||
1228 | status = | 1364 | status = |
1229 | gsl_multiroot_test_residual (s->f, epsabs); | 1365 | gsl_multiroot_test_residual (s->f, epsabs); |
1230 | } | 1366 | } |
1231 | while (status == GSL_CONTINUE && iter <= maxit); | 1367 | while (status == GSL_CONTINUE && iter < maxit); |
1232 | 1368 | ||
1233 | int i,j; | 1369 | int i,j; |
1234 | for (i=iter; i<solr; i++) { | 1370 | for (i=iter; i<solr; i++) { |
@@ -1293,7 +1429,7 @@ int nlfit(int method, int f(int, double*, int, double*), | |||
1293 | 1429 | ||
1294 | status = gsl_multifit_test_delta (s->dx, s->x, epsabs, epsrel); | 1430 | status = gsl_multifit_test_delta (s->dx, s->x, epsabs, epsrel); |
1295 | } | 1431 | } |
1296 | while (status == GSL_CONTINUE && iter <= maxit); | 1432 | while (status == GSL_CONTINUE && iter < maxit); |
1297 | 1433 | ||
1298 | int i,j; | 1434 | int i,j; |
1299 | for (i=iter; i<solr; i++) { | 1435 | for (i=iter; i<solr; i++) { |
diff --git a/lib/Numeric/LinearAlgebra/LAPACK.hs b/lib/Numeric/LinearAlgebra/LAPACK.hs index 9bc6669..ffc6cee 100644 --- a/lib/Numeric/LinearAlgebra/LAPACK.hs +++ b/lib/Numeric/LinearAlgebra/LAPACK.hs | |||
@@ -211,10 +211,10 @@ leftSVAux f st x = unsafePerformIO $ do | |||
211 | 211 | ||
212 | ----------------------------------------------------------------------------- | 212 | ----------------------------------------------------------------------------- |
213 | 213 | ||
214 | foreign import ccall unsafe "LAPACK/lapack-aux.h eig_l_R" dgeev :: TMMCVM | 214 | foreign import ccall unsafe "eig_l_R" dgeev :: TMMCVM |
215 | foreign import ccall unsafe "LAPACK/lapack-aux.h eig_l_C" zgeev :: TCMCMCVCM | 215 | foreign import ccall unsafe "eig_l_C" zgeev :: TCMCMCVCM |
216 | foreign import ccall unsafe "LAPACK/lapack-aux.h eig_l_S" dsyev :: CInt -> TMVM | 216 | foreign import ccall unsafe "eig_l_S" dsyev :: CInt -> TMVM |
217 | foreign import ccall unsafe "LAPACK/lapack-aux.h eig_l_H" zheev :: CInt -> TCMVCM | 217 | foreign import ccall unsafe "eig_l_H" zheev :: CInt -> TCMVCM |
218 | 218 | ||
219 | eigAux f st m = unsafePerformIO $ do | 219 | eigAux f st m = unsafePerformIO $ do |
220 | l <- createVector r | 220 | l <- createVector r |
@@ -359,10 +359,10 @@ cholSolveC :: Matrix (Complex Double) -> Matrix (Complex Double) -> Matrix (Comp | |||
359 | cholSolveC a b = linearSolveSQAux zpotrs "cholSolveC" (fmat a) (fmat b) | 359 | cholSolveC a b = linearSolveSQAux zpotrs "cholSolveC" (fmat a) (fmat b) |
360 | 360 | ||
361 | ----------------------------------------------------------------------------------- | 361 | ----------------------------------------------------------------------------------- |
362 | foreign import ccall unsafe "LAPACK/lapack-aux.h linearSolveLSR_l" dgels :: TMMM | 362 | foreign import ccall unsafe "linearSolveLSR_l" dgels :: TMMM |
363 | foreign import ccall unsafe "LAPACK/lapack-aux.h linearSolveLSC_l" zgels :: TCMCMCM | 363 | foreign import ccall unsafe "linearSolveLSC_l" zgels :: TCMCMCM |
364 | foreign import ccall unsafe "LAPACK/lapack-aux.h linearSolveSVDR_l" dgelss :: Double -> TMMM | 364 | foreign import ccall unsafe "linearSolveSVDR_l" dgelss :: Double -> TMMM |
365 | foreign import ccall unsafe "LAPACK/lapack-aux.h linearSolveSVDC_l" zgelss :: Double -> TCMCMCM | 365 | foreign import ccall unsafe "linearSolveSVDC_l" zgelss :: Double -> TCMCMCM |
366 | 366 | ||
367 | linearSolveAux f st a b = unsafePerformIO $ do | 367 | linearSolveAux f st a b = unsafePerformIO $ do |
368 | r <- createMatrix ColumnMajor (max m n) nrhs | 368 | r <- createMatrix ColumnMajor (max m n) nrhs |
@@ -401,8 +401,8 @@ linearSolveSVDC (Just rcond) a b = subMatrix (0,0) (cols a, cols b) $ | |||
401 | linearSolveSVDC Nothing a b = linearSolveSVDC (Just (-1)) (fmat a) (fmat b) | 401 | linearSolveSVDC Nothing a b = linearSolveSVDC (Just (-1)) (fmat a) (fmat b) |
402 | 402 | ||
403 | ----------------------------------------------------------------------------------- | 403 | ----------------------------------------------------------------------------------- |
404 | foreign import ccall unsafe "LAPACK/lapack-aux.h chol_l_H" zpotrf :: TCMCM | 404 | foreign import ccall unsafe "chol_l_H" zpotrf :: TCMCM |
405 | foreign import ccall unsafe "LAPACK/lapack-aux.h chol_l_S" dpotrf :: TMM | 405 | foreign import ccall unsafe "chol_l_S" dpotrf :: TMM |
406 | 406 | ||
407 | cholAux f st a = do | 407 | cholAux f st a = do |
408 | r <- createMatrix ColumnMajor n n | 408 | r <- createMatrix ColumnMajor n n |
@@ -427,8 +427,8 @@ mbCholS :: Matrix Double -> Maybe (Matrix Double) | |||
427 | mbCholS = unsafePerformIO . mbCatch . cholAux dpotrf "cholS" . fmat | 427 | mbCholS = unsafePerformIO . mbCatch . cholAux dpotrf "cholS" . fmat |
428 | 428 | ||
429 | ----------------------------------------------------------------------------------- | 429 | ----------------------------------------------------------------------------------- |
430 | foreign import ccall unsafe "LAPACK/lapack-aux.h qr_l_R" dgeqr2 :: TMVM | 430 | foreign import ccall unsafe "qr_l_R" dgeqr2 :: TMVM |
431 | foreign import ccall unsafe "LAPACK/lapack-aux.h qr_l_C" zgeqr2 :: TCMCVCM | 431 | foreign import ccall unsafe "qr_l_C" zgeqr2 :: TCMCVCM |
432 | 432 | ||
433 | -- | QR factorization of a real matrix, using LAPACK's /dgeqr2/. | 433 | -- | QR factorization of a real matrix, using LAPACK's /dgeqr2/. |
434 | qrR :: Matrix Double -> (Matrix Double, Vector Double) | 434 | qrR :: Matrix Double -> (Matrix Double, Vector Double) |
@@ -448,8 +448,8 @@ qrAux f st a = unsafePerformIO $ do | |||
448 | mn = min m n | 448 | mn = min m n |
449 | 449 | ||
450 | ----------------------------------------------------------------------------------- | 450 | ----------------------------------------------------------------------------------- |
451 | foreign import ccall unsafe "LAPACK/lapack-aux.h hess_l_R" dgehrd :: TMVM | 451 | foreign import ccall unsafe "hess_l_R" dgehrd :: TMVM |
452 | foreign import ccall unsafe "LAPACK/lapack-aux.h hess_l_C" zgehrd :: TCMCVCM | 452 | foreign import ccall unsafe "hess_l_C" zgehrd :: TCMCVCM |
453 | 453 | ||
454 | -- | Hessenberg factorization of a square real matrix, using LAPACK's /dgehrd/. | 454 | -- | Hessenberg factorization of a square real matrix, using LAPACK's /dgehrd/. |
455 | hessR :: Matrix Double -> (Matrix Double, Vector Double) | 455 | hessR :: Matrix Double -> (Matrix Double, Vector Double) |
@@ -469,8 +469,8 @@ hessAux f st a = unsafePerformIO $ do | |||
469 | mn = min m n | 469 | mn = min m n |
470 | 470 | ||
471 | ----------------------------------------------------------------------------------- | 471 | ----------------------------------------------------------------------------------- |
472 | foreign import ccall unsafe "LAPACK/lapack-aux.h schur_l_R" dgees :: TMMM | 472 | foreign import ccall unsafe "schur_l_R" dgees :: TMMM |
473 | foreign import ccall unsafe "LAPACK/lapack-aux.h schur_l_C" zgees :: TCMCMCM | 473 | foreign import ccall unsafe "schur_l_C" zgees :: TCMCMCM |
474 | 474 | ||
475 | -- | Schur factorization of a square real matrix, using LAPACK's /dgees/. | 475 | -- | Schur factorization of a square real matrix, using LAPACK's /dgees/. |
476 | schurR :: Matrix Double -> (Matrix Double, Matrix Double) | 476 | schurR :: Matrix Double -> (Matrix Double, Matrix Double) |
@@ -488,8 +488,8 @@ schurAux f st a = unsafePerformIO $ do | |||
488 | where n = rows a | 488 | where n = rows a |
489 | 489 | ||
490 | ----------------------------------------------------------------------------------- | 490 | ----------------------------------------------------------------------------------- |
491 | foreign import ccall unsafe "LAPACK/lapack-aux.h lu_l_R" dgetrf :: TMVM | 491 | foreign import ccall unsafe "lu_l_R" dgetrf :: TMVM |
492 | foreign import ccall unsafe "LAPACK/lapack-aux.h lu_l_C" zgetrf :: TCMVCM | 492 | foreign import ccall unsafe "lu_l_C" zgetrf :: TCMVCM |
493 | 493 | ||
494 | -- | LU factorization of a general real matrix, using LAPACK's /dgetrf/. | 494 | -- | LU factorization of a general real matrix, using LAPACK's /dgetrf/. |
495 | luR :: Matrix Double -> (Matrix Double, [Int]) | 495 | luR :: Matrix Double -> (Matrix Double, [Int]) |
@@ -511,8 +511,8 @@ luAux f st a = unsafePerformIO $ do | |||
511 | type TW a = CInt -> PD -> a | 511 | type TW a = CInt -> PD -> a |
512 | type TQ a = CInt -> CInt -> PC -> a | 512 | type TQ a = CInt -> CInt -> PC -> a |
513 | 513 | ||
514 | foreign import ccall unsafe "LAPACK/lapack-aux.h luS_l_R" dgetrs :: TMVMM | 514 | foreign import ccall unsafe "luS_l_R" dgetrs :: TMVMM |
515 | foreign import ccall unsafe "LAPACK/lapack-aux.h luS_l_C" zgetrs :: TQ (TW (TQ (TQ (IO CInt)))) | 515 | foreign import ccall unsafe "luS_l_C" zgetrs :: TQ (TW (TQ (TQ (IO CInt)))) |
516 | 516 | ||
517 | -- | Solve a real linear system from a precomputed LU decomposition ('luR'), using LAPACK's /dgetrs/. | 517 | -- | Solve a real linear system from a precomputed LU decomposition ('luR'), using LAPACK's /dgetrs/. |
518 | lusR :: Matrix Double -> [Int] -> Matrix Double -> Matrix Double | 518 | lusR :: Matrix Double -> [Int] -> Matrix Double -> Matrix Double |
@@ -533,3 +533,4 @@ lusAux f st a piv b | |||
533 | n = rows b | 533 | n = rows b |
534 | m = cols b | 534 | m = cols b |
535 | piv' = fromList (map (fromIntegral.succ) piv) :: Vector Double | 535 | piv' = fromList (map (fromIntegral.succ) piv) :: Vector Double |
536 | |||
diff --git a/lib/Numeric/LinearAlgebra/LAPACK/clapack.h b/lib/Numeric/LinearAlgebra/LAPACK/clapack.h deleted file mode 100644 index 09101fd..0000000 --- a/lib/Numeric/LinearAlgebra/LAPACK/clapack.h +++ /dev/null | |||
@@ -1,5079 +0,0 @@ | |||
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 *smalll, 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 | |||
2546 | integer icmax1_(integer *n, complex *cx, integer *incx); | ||
2547 | |||
2548 | integer ieeeck_(integer *ispec, real *zero, real *one); | ||
2549 | |||
2550 | integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1, | ||
2551 | integer *n2, integer *n3, integer *n4, ftnlen name_len, ftnlen | ||
2552 | opts_len); | ||
2553 | |||
2554 | integer 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 *smalll, 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/Numeric/LinearAlgebra/LAPACK/lapack-aux.c b/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c index 8cf73e9..1c35376 100644 --- a/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c +++ b/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c | |||
@@ -101,6 +101,11 @@ for(k=0; k<(M##r * M##c); k++) { \ | |||
101 | 101 | ||
102 | //////////////////// real svd //////////////////////////////////// | 102 | //////////////////// real svd //////////////////////////////////// |
103 | 103 | ||
104 | /* Subroutine */ int dgesvd_(char *jobu, char *jobvt, integer *m, integer *n, | ||
105 | doublereal *a, integer *lda, doublereal *s, doublereal *u, integer * | ||
106 | ldu, doublereal *vt, integer *ldvt, doublereal *work, integer *lwork, | ||
107 | integer *info); | ||
108 | |||
104 | int svd_l_R(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) { | 109 | int svd_l_R(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) { |
105 | integer m = ar; | 110 | integer m = ar; |
106 | integer n = ac; | 111 | integer n = ac; |
@@ -159,6 +164,11 @@ int svd_l_R(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) { | |||
159 | 164 | ||
160 | // (alternative version) | 165 | // (alternative version) |
161 | 166 | ||
167 | /* Subroutine */ int dgesdd_(char *jobz, integer *m, integer *n, doublereal * | ||
168 | a, integer *lda, doublereal *s, doublereal *u, integer *ldu, | ||
169 | doublereal *vt, integer *ldvt, doublereal *work, integer *lwork, | ||
170 | integer *iwork, integer *info); | ||
171 | |||
162 | int svd_l_Rdd(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) { | 172 | int svd_l_Rdd(KDMAT(a),DMAT(u), DVEC(s),DMAT(v)) { |
163 | integer m = ar; | 173 | integer m = ar; |
164 | integer n = ac; | 174 | integer n = ac; |
@@ -331,6 +341,11 @@ int svd_l_Cdd(KCMAT(a),CMAT(u), DVEC(s),CMAT(v)) { | |||
331 | 341 | ||
332 | //////////////////// general complex eigensystem //////////// | 342 | //////////////////// general complex eigensystem //////////// |
333 | 343 | ||
344 | /* Subroutine */ int zgeev_(char *jobvl, char *jobvr, integer *n, | ||
345 | doublecomplex *a, integer *lda, doublecomplex *w, doublecomplex *vl, | ||
346 | integer *ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work, | ||
347 | integer *lwork, doublereal *rwork, integer *info); | ||
348 | |||
334 | int eig_l_C(KCMAT(a), CMAT(u), CVEC(s),CMAT(v)) { | 349 | int eig_l_C(KCMAT(a), CMAT(u), CVEC(s),CMAT(v)) { |
335 | integer n = ar; | 350 | integer n = ar; |
336 | REQUIRES(ac==n && sn==n, BAD_SIZE); | 351 | REQUIRES(ac==n && sn==n, BAD_SIZE); |
@@ -381,6 +396,11 @@ int eig_l_C(KCMAT(a), CMAT(u), CVEC(s),CMAT(v)) { | |||
381 | 396 | ||
382 | //////////////////// general real eigensystem //////////// | 397 | //////////////////// general real eigensystem //////////// |
383 | 398 | ||
399 | /* Subroutine */ int dgeev_(char *jobvl, char *jobvr, integer *n, doublereal * | ||
400 | a, integer *lda, doublereal *wr, doublereal *wi, doublereal *vl, | ||
401 | integer *ldvl, doublereal *vr, integer *ldvr, doublereal *work, | ||
402 | integer *lwork, integer *info); | ||
403 | |||
384 | int eig_l_R(KDMAT(a),DMAT(u), CVEC(s),DMAT(v)) { | 404 | int eig_l_R(KDMAT(a),DMAT(u), CVEC(s),DMAT(v)) { |
385 | integer n = ar; | 405 | integer n = ar; |
386 | REQUIRES(ac==n && sn==n, BAD_SIZE); | 406 | REQUIRES(ac==n && sn==n, BAD_SIZE); |
@@ -425,6 +445,9 @@ int eig_l_R(KDMAT(a),DMAT(u), CVEC(s),DMAT(v)) { | |||
425 | 445 | ||
426 | //////////////////// symmetric real eigensystem //////////// | 446 | //////////////////// symmetric real eigensystem //////////// |
427 | 447 | ||
448 | /* Subroutine */ int dsyev_(char *jobz, char *uplo, integer *n, doublereal *a, | ||
449 | integer *lda, doublereal *w, doublereal *work, integer *lwork, | ||
450 | integer *info); | ||
428 | 451 | ||
429 | int eig_l_S(int wantV,KDMAT(a),DVEC(s),DMAT(v)) { | 452 | int eig_l_S(int wantV,KDMAT(a),DVEC(s),DMAT(v)) { |
430 | integer n = ar; | 453 | integer n = ar; |
@@ -460,6 +483,10 @@ int eig_l_S(int wantV,KDMAT(a),DVEC(s),DMAT(v)) { | |||
460 | 483 | ||
461 | //////////////////// hermitian complex eigensystem //////////// | 484 | //////////////////// hermitian complex eigensystem //////////// |
462 | 485 | ||
486 | /* Subroutine */ int zheev_(char *jobz, char *uplo, integer *n, doublecomplex | ||
487 | *a, integer *lda, doublereal *w, doublecomplex *work, integer *lwork, | ||
488 | doublereal *rwork, integer *info); | ||
489 | |||
463 | int eig_l_H(int wantV,KCMAT(a),DVEC(s),CMAT(v)) { | 490 | int eig_l_H(int wantV,KCMAT(a),DVEC(s),CMAT(v)) { |
464 | integer n = ar; | 491 | integer n = ar; |
465 | REQUIRES(ac==n && sn==n, BAD_SIZE); | 492 | REQUIRES(ac==n && sn==n, BAD_SIZE); |
@@ -499,6 +526,9 @@ int eig_l_H(int wantV,KCMAT(a),DVEC(s),CMAT(v)) { | |||
499 | 526 | ||
500 | //////////////////// general real linear system //////////// | 527 | //////////////////// general real linear system //////////// |
501 | 528 | ||
529 | /* Subroutine */ int dgesv_(integer *n, integer *nrhs, doublereal *a, integer | ||
530 | *lda, integer *ipiv, doublereal *b, integer *ldb, integer *info); | ||
531 | |||
502 | int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | 532 | int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { |
503 | integer n = ar; | 533 | integer n = ar; |
504 | integer nhrs = bc; | 534 | integer nhrs = bc; |
@@ -525,6 +555,10 @@ int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | |||
525 | 555 | ||
526 | //////////////////// general complex linear system //////////// | 556 | //////////////////// general complex linear system //////////// |
527 | 557 | ||
558 | /* Subroutine */ int zgesv_(integer *n, integer *nrhs, doublecomplex *a, | ||
559 | integer *lda, integer *ipiv, doublecomplex *b, integer *ldb, integer * | ||
560 | info); | ||
561 | |||
528 | int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | 562 | int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { |
529 | integer n = ar; | 563 | integer n = ar; |
530 | integer nhrs = bc; | 564 | integer nhrs = bc; |
@@ -551,6 +585,10 @@ int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | |||
551 | 585 | ||
552 | //////// symmetric positive definite real linear system using Cholesky //////////// | 586 | //////// symmetric positive definite real linear system using Cholesky //////////// |
553 | 587 | ||
588 | /* Subroutine */ int dpotrs_(char *uplo, integer *n, integer *nrhs, | ||
589 | doublereal *a, integer *lda, doublereal *b, integer *ldb, integer * | ||
590 | info); | ||
591 | |||
554 | int cholSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | 592 | int cholSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { |
555 | integer n = ar; | 593 | integer n = ar; |
556 | integer nhrs = bc; | 594 | integer nhrs = bc; |
@@ -569,6 +607,10 @@ int cholSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | |||
569 | 607 | ||
570 | //////// Hermitian positive definite real linear system using Cholesky //////////// | 608 | //////// Hermitian positive definite real linear system using Cholesky //////////// |
571 | 609 | ||
610 | /* Subroutine */ int zpotrs_(char *uplo, integer *n, integer *nrhs, | ||
611 | doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, | ||
612 | integer *info); | ||
613 | |||
572 | int cholSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | 614 | int cholSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { |
573 | integer n = ar; | 615 | integer n = ar; |
574 | integer nhrs = bc; | 616 | integer nhrs = bc; |
@@ -587,6 +629,10 @@ int cholSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | |||
587 | 629 | ||
588 | //////////////////// least squares real linear system //////////// | 630 | //////////////////// least squares real linear system //////////// |
589 | 631 | ||
632 | /* Subroutine */ int dgels_(char *trans, integer *m, integer *n, integer * | ||
633 | nrhs, doublereal *a, integer *lda, doublereal *b, integer *ldb, | ||
634 | doublereal *work, integer *lwork, integer *info); | ||
635 | |||
590 | int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | 636 | int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x)) { |
591 | integer m = ar; | 637 | integer m = ar; |
592 | integer n = ac; | 638 | integer n = ac; |
@@ -631,6 +677,10 @@ int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x)) { | |||
631 | 677 | ||
632 | //////////////////// least squares complex linear system //////////// | 678 | //////////////////// least squares complex linear system //////////// |
633 | 679 | ||
680 | /* Subroutine */ int zgels_(char *trans, integer *m, integer *n, integer * | ||
681 | nrhs, doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb, | ||
682 | doublecomplex *work, integer *lwork, integer *info); | ||
683 | |||
634 | int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | 684 | int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x)) { |
635 | integer m = ar; | 685 | integer m = ar; |
636 | integer n = ac; | 686 | integer n = ac; |
@@ -675,6 +725,11 @@ int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x)) { | |||
675 | 725 | ||
676 | //////////////////// least squares real linear system using SVD //////////// | 726 | //////////////////// least squares real linear system using SVD //////////// |
677 | 727 | ||
728 | /* Subroutine */ int dgelss_(integer *m, integer *n, integer *nrhs, | ||
729 | doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal * | ||
730 | s, doublereal *rcond, integer *rank, doublereal *work, integer *lwork, | ||
731 | integer *info); | ||
732 | |||
678 | int linearSolveSVDR_l(double rcond,KDMAT(a),KDMAT(b),DMAT(x)) { | 733 | int linearSolveSVDR_l(double rcond,KDMAT(a),KDMAT(b),DMAT(x)) { |
679 | integer m = ar; | 734 | integer m = ar; |
680 | integer n = ac; | 735 | integer n = ac; |
@@ -789,6 +844,9 @@ int linearSolveSVDC_l(double rcond, KCMAT(a),KCMAT(b),CMAT(x)) { | |||
789 | 844 | ||
790 | //////////////////// Cholesky factorization ///////////////////////// | 845 | //////////////////// Cholesky factorization ///////////////////////// |
791 | 846 | ||
847 | /* Subroutine */ int zpotrf_(char *uplo, integer *n, doublecomplex *a, | ||
848 | integer *lda, integer *info); | ||
849 | |||
792 | int chol_l_H(KCMAT(a),CMAT(l)) { | 850 | int chol_l_H(KCMAT(a),CMAT(l)) { |
793 | integer n = ar; | 851 | integer n = ar; |
794 | REQUIRES(n>=1 && ac == n && lr==n && lc==n,BAD_SIZE); | 852 | REQUIRES(n>=1 && ac == n && lr==n && lc==n,BAD_SIZE); |
@@ -809,6 +867,10 @@ int chol_l_H(KCMAT(a),CMAT(l)) { | |||
809 | OK | 867 | OK |
810 | } | 868 | } |
811 | 869 | ||
870 | |||
871 | /* Subroutine */ int dpotrf_(char *uplo, integer *n, doublereal *a, integer * | ||
872 | lda, integer *info); | ||
873 | |||
812 | int chol_l_S(KDMAT(a),DMAT(l)) { | 874 | int chol_l_S(KDMAT(a),DMAT(l)) { |
813 | integer n = ar; | 875 | integer n = ar; |
814 | REQUIRES(n>=1 && ac == n && lr==n && lc==n,BAD_SIZE); | 876 | REQUIRES(n>=1 && ac == n && lr==n && lc==n,BAD_SIZE); |
@@ -830,6 +892,9 @@ int chol_l_S(KDMAT(a),DMAT(l)) { | |||
830 | 892 | ||
831 | //////////////////// QR factorization ///////////////////////// | 893 | //////////////////// QR factorization ///////////////////////// |
832 | 894 | ||
895 | /* Subroutine */ int dgeqr2_(integer *m, integer *n, doublereal *a, integer * | ||
896 | lda, doublereal *tau, doublereal *work, integer *info); | ||
897 | |||
833 | int qr_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { | 898 | int qr_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { |
834 | integer m = ar; | 899 | integer m = ar; |
835 | integer n = ac; | 900 | integer n = ac; |
@@ -846,6 +911,9 @@ int qr_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { | |||
846 | OK | 911 | OK |
847 | } | 912 | } |
848 | 913 | ||
914 | /* Subroutine */ int zgeqr2_(integer *m, integer *n, doublecomplex *a, | ||
915 | integer *lda, doublecomplex *tau, doublecomplex *work, integer *info); | ||
916 | |||
849 | int qr_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { | 917 | int qr_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { |
850 | integer m = ar; | 918 | integer m = ar; |
851 | integer n = ac; | 919 | integer n = ac; |
@@ -864,6 +932,10 @@ int qr_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { | |||
864 | 932 | ||
865 | //////////////////// Hessenberg factorization ///////////////////////// | 933 | //////////////////// Hessenberg factorization ///////////////////////// |
866 | 934 | ||
935 | /* Subroutine */ int dgehrd_(integer *n, integer *ilo, integer *ihi, | ||
936 | doublereal *a, integer *lda, doublereal *tau, doublereal *work, | ||
937 | integer *lwork, integer *info); | ||
938 | |||
867 | int hess_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { | 939 | int hess_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { |
868 | integer m = ar; | 940 | integer m = ar; |
869 | integer n = ac; | 941 | integer n = ac; |
@@ -882,6 +954,11 @@ int hess_l_R(KDMAT(a), DVEC(tau), DMAT(r)) { | |||
882 | OK | 954 | OK |
883 | } | 955 | } |
884 | 956 | ||
957 | |||
958 | /* Subroutine */ int zgehrd_(integer *n, integer *ilo, integer *ihi, | ||
959 | doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex * | ||
960 | work, integer *lwork, integer *info); | ||
961 | |||
885 | int hess_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { | 962 | int hess_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { |
886 | integer m = ar; | 963 | integer m = ar; |
887 | integer n = ac; | 964 | integer n = ac; |
@@ -902,6 +979,11 @@ int hess_l_C(KCMAT(a), CVEC(tau), CMAT(r)) { | |||
902 | 979 | ||
903 | //////////////////// Schur factorization ///////////////////////// | 980 | //////////////////// Schur factorization ///////////////////////// |
904 | 981 | ||
982 | /* Subroutine */ int dgees_(char *jobvs, char *sort, L_fp select, integer *n, | ||
983 | doublereal *a, integer *lda, integer *sdim, doublereal *wr, | ||
984 | doublereal *wi, doublereal *vs, integer *ldvs, doublereal *work, | ||
985 | integer *lwork, logical *bwork, integer *info); | ||
986 | |||
905 | int schur_l_R(KDMAT(a), DMAT(u), DMAT(s)) { | 987 | int schur_l_R(KDMAT(a), DMAT(u), DMAT(s)) { |
906 | integer m = ar; | 988 | integer m = ar; |
907 | integer n = ac; | 989 | integer n = ac; |
@@ -936,6 +1018,12 @@ int schur_l_R(KDMAT(a), DMAT(u), DMAT(s)) { | |||
936 | OK | 1018 | OK |
937 | } | 1019 | } |
938 | 1020 | ||
1021 | |||
1022 | /* Subroutine */ int zgees_(char *jobvs, char *sort, L_fp select, integer *n, | ||
1023 | doublecomplex *a, integer *lda, integer *sdim, doublecomplex *w, | ||
1024 | doublecomplex *vs, integer *ldvs, doublecomplex *work, integer *lwork, | ||
1025 | doublereal *rwork, logical *bwork, integer *info); | ||
1026 | |||
939 | int schur_l_C(KCMAT(a), CMAT(u), CMAT(s)) { | 1027 | int schur_l_C(KCMAT(a), CMAT(u), CMAT(s)) { |
940 | integer m = ar; | 1028 | integer m = ar; |
941 | integer n = ac; | 1029 | integer n = ac; |
@@ -965,6 +1053,9 @@ int schur_l_C(KCMAT(a), CMAT(u), CMAT(s)) { | |||
965 | 1053 | ||
966 | //////////////////// LU factorization ///////////////////////// | 1054 | //////////////////// LU factorization ///////////////////////// |
967 | 1055 | ||
1056 | /* Subroutine */ int dgetrf_(integer *m, integer *n, doublereal *a, integer * | ||
1057 | lda, integer *ipiv, integer *info); | ||
1058 | |||
968 | int lu_l_R(KDMAT(a), DVEC(ipiv), DMAT(r)) { | 1059 | int lu_l_R(KDMAT(a), DVEC(ipiv), DMAT(r)) { |
969 | integer m = ar; | 1060 | integer m = ar; |
970 | integer n = ac; | 1061 | integer n = ac; |
@@ -987,6 +1078,10 @@ int lu_l_R(KDMAT(a), DVEC(ipiv), DMAT(r)) { | |||
987 | OK | 1078 | OK |
988 | } | 1079 | } |
989 | 1080 | ||
1081 | |||
1082 | /* Subroutine */ int zgetrf_(integer *m, integer *n, doublecomplex *a, | ||
1083 | integer *lda, integer *ipiv, integer *info); | ||
1084 | |||
990 | int lu_l_C(KCMAT(a), DVEC(ipiv), CMAT(r)) { | 1085 | int lu_l_C(KCMAT(a), DVEC(ipiv), CMAT(r)) { |
991 | integer m = ar; | 1086 | integer m = ar; |
992 | integer n = ac; | 1087 | integer n = ac; |
@@ -1012,6 +1107,10 @@ int lu_l_C(KCMAT(a), DVEC(ipiv), CMAT(r)) { | |||
1012 | 1107 | ||
1013 | //////////////////// LU substitution ///////////////////////// | 1108 | //////////////////// LU substitution ///////////////////////// |
1014 | 1109 | ||
1110 | /* Subroutine */ int dgetrs_(char *trans, integer *n, integer *nrhs, | ||
1111 | doublereal *a, integer *lda, integer *ipiv, doublereal *b, integer * | ||
1112 | ldb, integer *info); | ||
1113 | |||
1015 | int luS_l_R(KDMAT(a), KDVEC(ipiv), KDMAT(b), DMAT(x)) { | 1114 | int luS_l_R(KDMAT(a), KDVEC(ipiv), KDMAT(b), DMAT(x)) { |
1016 | integer m = ar; | 1115 | integer m = ar; |
1017 | integer n = ac; | 1116 | integer n = ac; |
@@ -1032,6 +1131,11 @@ int luS_l_R(KDMAT(a), KDVEC(ipiv), KDMAT(b), DMAT(x)) { | |||
1032 | OK | 1131 | OK |
1033 | } | 1132 | } |
1034 | 1133 | ||
1134 | |||
1135 | /* Subroutine */ int zgetrs_(char *trans, integer *n, integer *nrhs, | ||
1136 | doublecomplex *a, integer *lda, integer *ipiv, doublecomplex *b, | ||
1137 | integer *ldb, integer *info); | ||
1138 | |||
1035 | int luS_l_C(KCMAT(a), KDVEC(ipiv), KCMAT(b), CMAT(x)) { | 1139 | int luS_l_C(KCMAT(a), KDVEC(ipiv), KCMAT(b), CMAT(x)) { |
1036 | integer m = ar; | 1140 | integer m = ar; |
1037 | integer n = ac; | 1141 | integer n = ac; |
diff --git a/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h b/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h index 9526583..a3f1899 100644 --- a/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h +++ b/lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.h | |||
@@ -36,10 +36,6 @@ typedef short ftnlen; | |||
36 | 36 | ||
37 | /********************************************************/ | 37 | /********************************************************/ |
38 | 38 | ||
39 | #include "clapack.h" | ||
40 | |||
41 | /********************************************************/ | ||
42 | |||
43 | #define FVEC(A) int A##n, float*A##p | 39 | #define FVEC(A) int A##n, float*A##p |
44 | #define DVEC(A) int A##n, double*A##p | 40 | #define DVEC(A) int A##n, double*A##p |
45 | #define QVEC(A) int A##n, complex*A##p | 41 | #define QVEC(A) int A##n, complex*A##p |
@@ -62,70 +58,3 @@ typedef short ftnlen; | |||
62 | #define KCMAT(A) int A##r, int A##c, const doublecomplex* A##p | 58 | #define KCMAT(A) int A##r, int A##c, const doublecomplex* A##p |
63 | #define KPMAT(A) int A##r, int A##c, const void* A##p, int A##s | 59 | #define KPMAT(A) int A##r, int A##c, const void* A##p, int A##s |
64 | 60 | ||
65 | /********************************************************/ | ||
66 | |||
67 | int multiplyF(int ta, int tb, KFMAT(a),KFMAT(b),FMAT(r)); | ||
68 | int multiplyR(int ta, int tb, KDMAT(a),KDMAT(b),DMAT(r)); | ||
69 | int multiplyC(int ta, int tb, KCMAT(a),KCMAT(b),CMAT(r)); | ||
70 | int multiplyQ(int ta, int tb, KQMAT(a),KQMAT(b),QMAT(r)); | ||
71 | |||
72 | int transF(KFMAT(x),FMAT(t)); | ||
73 | int transR(KDMAT(x),DMAT(t)); | ||
74 | int transQ(KQMAT(x),QMAT(t)); | ||
75 | int transC(KCMAT(x),CMAT(t)); | ||
76 | int transP(KPMAT(x),PMAT(t)); | ||
77 | |||
78 | int constantF(float * pval, FVEC(r)); | ||
79 | int constantR(double * pval, DVEC(r)); | ||
80 | int constantQ(complex* pval, QVEC(r)); | ||
81 | int constantC(doublecomplex* pval, CVEC(r)); | ||
82 | int constantP(void* pval, PVEC(r)); | ||
83 | |||
84 | int float2double(FVEC(x),DVEC(y)); | ||
85 | int double2float(DVEC(x),FVEC(y)); | ||
86 | |||
87 | int conjugateQ(KQVEC(x),QVEC(t)); | ||
88 | int conjugateC(KCVEC(x),CVEC(t)); | ||
89 | |||
90 | int stepF(FVEC(x),FVEC(y)); | ||
91 | int stepD(DVEC(x),DVEC(y)); | ||
92 | |||
93 | int condF(FVEC(x),FVEC(y),FVEC(lt),FVEC(eq),FVEC(gt),FVEC(r)); | ||
94 | int condD(DVEC(x),DVEC(y),DVEC(lt),DVEC(eq),DVEC(gt),DVEC(r)); | ||
95 | |||
96 | int svd_l_R(KDMAT(x),DMAT(u),DVEC(s),DMAT(v)); | ||
97 | int svd_l_Rdd(KDMAT(x),DMAT(u),DVEC(s),DMAT(v)); | ||
98 | int svd_l_C(KCMAT(a),CMAT(u),DVEC(s),CMAT(v)); | ||
99 | |||
100 | int eig_l_C(KCMAT(a),CMAT(u),CVEC(s),CMAT(v)); | ||
101 | int eig_l_R(KDMAT(a),DMAT(u),CVEC(s),DMAT(v)); | ||
102 | |||
103 | int eig_l_S(int,KDMAT(a),DVEC(s),DMAT(v)); | ||
104 | int eig_l_H(int,KCMAT(a),DVEC(s),CMAT(v)); | ||
105 | |||
106 | int linearSolveR_l(KDMAT(a),KDMAT(b),DMAT(x)); | ||
107 | int linearSolveC_l(KCMAT(a),KCMAT(b),CMAT(x)); | ||
108 | |||
109 | int linearSolveLSR_l(KDMAT(a),KDMAT(b),DMAT(x)); | ||
110 | int linearSolveLSC_l(KCMAT(a),KCMAT(b),CMAT(x)); | ||
111 | |||
112 | int linearSolveSVDR_l(double,KDMAT(a),KDMAT(b),DMAT(x)); | ||
113 | int linearSolveSVDC_l(double,KCMAT(a),KCMAT(b),CMAT(x)); | ||
114 | |||
115 | int chol_l_H(KCMAT(a),CMAT(r)); | ||
116 | int chol_l_S(KDMAT(a),DMAT(r)); | ||
117 | |||
118 | int qr_l_R(KDMAT(a), DVEC(tau), DMAT(r)); | ||
119 | int qr_l_C(KCMAT(a), CVEC(tau), CMAT(r)); | ||
120 | |||
121 | int hess_l_R(KDMAT(a), DVEC(tau), DMAT(r)); | ||
122 | int hess_l_C(KCMAT(a), CVEC(tau), CMAT(r)); | ||
123 | |||
124 | int schur_l_R(KDMAT(a), DMAT(u), DMAT(s)); | ||
125 | int schur_l_C(KCMAT(a), CMAT(u), CMAT(s)); | ||
126 | |||
127 | int lu_l_R(KDMAT(a), DVEC(ipiv), DMAT(r)); | ||
128 | int lu_l_C(KCMAT(a), DVEC(ipiv), CMAT(r)); | ||
129 | |||
130 | int luS_l_R(KDMAT(a), KDVEC(ipiv), KDMAT(b), DMAT(x)); | ||
131 | int luS_l_C(KCMAT(a), KDVEC(ipiv), KCMAT(b), CMAT(x)); | ||
diff --git a/lib/Numeric/LinearAlgebra/Util.hs b/lib/Numeric/LinearAlgebra/Util.hs index c4e4007..39566ab 100644 --- a/lib/Numeric/LinearAlgebra/Util.hs +++ b/lib/Numeric/LinearAlgebra/Util.hs | |||
@@ -2,7 +2,7 @@ | |||
2 | ----------------------------------------------------------------------------- | 2 | ----------------------------------------------------------------------------- |
3 | {- | | 3 | {- | |
4 | Module : Numeric.LinearAlgebra.Util | 4 | Module : Numeric.LinearAlgebra.Util |
5 | Copyright : (c) Alberto Ruiz 2012 | 5 | Copyright : (c) Alberto Ruiz 2013 |
6 | License : GPL | 6 | License : GPL |
7 | 7 | ||
8 | Maintainer : Alberto Ruiz (aruiz at um dot es) | 8 | Maintainer : Alberto Ruiz (aruiz at um dot es) |
@@ -12,16 +12,24 @@ Stability : provisional | |||
12 | ----------------------------------------------------------------------------- | 12 | ----------------------------------------------------------------------------- |
13 | 13 | ||
14 | module Numeric.LinearAlgebra.Util( | 14 | module Numeric.LinearAlgebra.Util( |
15 | -- * Convenience functions for real elements | 15 | |
16 | disp, | 16 | -- * Convenience functions |
17 | size, disp, | ||
17 | zeros, ones, | 18 | zeros, ones, |
18 | diagl, | 19 | diagl, |
19 | row, | 20 | row, |
20 | col, | 21 | col, |
21 | (&),(!), (#), | 22 | (&),(!), (¦), (#), |
23 | (?),(¿), | ||
22 | rand, randn, | 24 | rand, randn, |
23 | cross, | 25 | cross, |
24 | norm, | 26 | norm, |
27 | unitary, | ||
28 | mt, | ||
29 | pairwiseD2, | ||
30 | rowOuters, | ||
31 | null1, | ||
32 | null1sym, | ||
25 | -- * Convolution | 33 | -- * Convolution |
26 | -- ** 1D | 34 | -- ** 1D |
27 | corr, conv, corrMin, | 35 | corr, conv, corrMin, |
@@ -40,7 +48,11 @@ module Numeric.LinearAlgebra.Util( | |||
40 | vtrans | 48 | vtrans |
41 | ) where | 49 | ) where |
42 | 50 | ||
43 | import Numeric.LinearAlgebra hiding (i) | 51 | import Numeric.Container |
52 | import Numeric.LinearAlgebra.Algorithms hiding (i) | ||
53 | import Numeric.Matrix() | ||
54 | import Numeric.Vector() | ||
55 | |||
44 | import System.Random(randomIO) | 56 | import System.Random(randomIO) |
45 | import Numeric.LinearAlgebra.Util.Convolution | 57 | import Numeric.LinearAlgebra.Util.Convolution |
46 | 58 | ||
@@ -92,6 +104,11 @@ infixl 3 ! | |||
92 | (!) :: Matrix Double -> Matrix Double -> Matrix Double | 104 | (!) :: Matrix Double -> Matrix Double -> Matrix Double |
93 | a ! b = fromBlocks [[a,b]] | 105 | a ! b = fromBlocks [[a,b]] |
94 | 106 | ||
107 | -- | (00A6) horizontal concatenation of real matrices | ||
108 | infixl 3 ¦ | ||
109 | (¦) :: Matrix Double -> Matrix Double -> Matrix Double | ||
110 | a ¦ b = fromBlocks [[a,b]] | ||
111 | |||
95 | -- | vertical concatenation of real matrices | 112 | -- | vertical concatenation of real matrices |
96 | (#) :: Matrix Double -> Matrix Double -> Matrix Double | 113 | (#) :: Matrix Double -> Matrix Double -> Matrix Double |
97 | infixl 2 # | 114 | infixl 2 # |
@@ -105,6 +122,17 @@ row = asRow . fromList | |||
105 | col :: [Double] -> Matrix Double | 122 | col :: [Double] -> Matrix Double |
106 | col = asColumn . fromList | 123 | col = asColumn . fromList |
107 | 124 | ||
125 | -- | extract selected rows | ||
126 | infixl 9 ? | ||
127 | (?) :: Element t => Matrix t -> [Int] -> Matrix t | ||
128 | (?) = flip extractRows | ||
129 | |||
130 | -- | (00BF) extract selected columns | ||
131 | infixl 9 ¿ | ||
132 | (¿) :: Element t => Matrix t -> [Int] -> Matrix t | ||
133 | m ¿ ks = trans . extractRows ks . trans $ m | ||
134 | |||
135 | |||
108 | cross :: Vector Double -> Vector Double -> Vector Double | 136 | cross :: Vector Double -> Vector Double -> Vector Double |
109 | -- ^ cross product (for three-element real vectors) | 137 | -- ^ cross product (for three-element real vectors) |
110 | cross x y | dim x == 3 && dim y == 3 = fromList [z1,z2,z3] | 138 | cross x y | dim x == 3 && dim y == 3 = fromList [z1,z2,z3] |
@@ -120,6 +148,55 @@ norm :: Vector Double -> Double | |||
120 | -- ^ 2-norm of real vector | 148 | -- ^ 2-norm of real vector |
121 | norm = pnorm PNorm2 | 149 | norm = pnorm PNorm2 |
122 | 150 | ||
151 | |||
152 | -- | Obtains a vector in the same direction with 2-norm=1 | ||
153 | unitary :: Vector Double -> Vector Double | ||
154 | unitary v = v / scalar (norm v) | ||
155 | |||
156 | -- | (rows &&& cols) | ||
157 | size :: Matrix t -> (Int, Int) | ||
158 | size m = (rows m, cols m) | ||
159 | |||
160 | -- | trans . inv | ||
161 | mt :: Matrix Double -> Matrix Double | ||
162 | mt = trans . inv | ||
163 | |||
164 | ---------------------------------------------------------------------- | ||
165 | |||
166 | -- | Matrix of pairwise squared distances of row vectors | ||
167 | -- (using the matrix product trick in blog.smola.org) | ||
168 | pairwiseD2 :: Matrix Double -> Matrix Double -> Matrix Double | ||
169 | pairwiseD2 x y | ok = x2 `outer` oy + ox `outer` y2 - 2* x <> trans y | ||
170 | | otherwise = error $ "pairwiseD2 with different number of columns: " | ||
171 | ++ show (size x) ++ ", " ++ show (size y) | ||
172 | where | ||
173 | ox = one (rows x) | ||
174 | oy = one (rows y) | ||
175 | oc = one (cols x) | ||
176 | one k = constant 1 k | ||
177 | x2 = x * x <> oc | ||
178 | y2 = y * y <> oc | ||
179 | ok = cols x == cols y | ||
180 | |||
181 | -------------------------------------------------------------------------------- | ||
182 | |||
183 | -- | outer products of rows | ||
184 | rowOuters :: Matrix Double -> Matrix Double -> Matrix Double | ||
185 | rowOuters a b = a' * b' | ||
186 | where | ||
187 | a' = kronecker a (ones 1 (cols b)) | ||
188 | b' = kronecker (ones 1 (cols a)) b | ||
189 | |||
190 | -------------------------------------------------------------------------------- | ||
191 | |||
192 | -- | solution of overconstrained homogeneous linear system | ||
193 | null1 :: Matrix Double -> Vector Double | ||
194 | null1 = last . toColumns . snd . rightSV | ||
195 | |||
196 | -- | solution of overconstrained homogeneous symmetric linear system | ||
197 | null1sym :: Matrix Double -> Vector Double | ||
198 | null1sym = last . toColumns . snd . eigSH' | ||
199 | |||
123 | -------------------------------------------------------------------------------- | 200 | -------------------------------------------------------------------------------- |
124 | 201 | ||
125 | vec :: Element t => Matrix t -> Vector t | 202 | vec :: Element t => Matrix t -> Vector t |
diff --git a/lib/Numeric/Vector.hs b/lib/Numeric/Vector.hs index 1717e7b..3f480a0 100644 --- a/lib/Numeric/Vector.hs +++ b/lib/Numeric/Vector.hs | |||
@@ -25,33 +25,6 @@ import Numeric.Container | |||
25 | 25 | ||
26 | ------------------------------------------------------------------- | 26 | ------------------------------------------------------------------- |
27 | 27 | ||
28 | #ifndef VECTOR | ||
29 | import Foreign(Storable) | ||
30 | #endif | ||
31 | |||
32 | ------------------------------------------------------------------ | ||
33 | |||
34 | #ifndef VECTOR | ||
35 | |||
36 | instance (Show a, Storable a) => (Show (Vector a)) where | ||
37 | show v = (show (dim v))++" |> " ++ show (toList v) | ||
38 | |||
39 | instance Container Vector a => Eq (Vector a) where | ||
40 | (==) = equal | ||
41 | |||
42 | instance (Element a, Read a) => Read (Vector a) where | ||
43 | readsPrec _ s = [((d |>) . read $ listnums, rest)] | ||
44 | where (thing,rest) = breakAt ']' s | ||
45 | (dims,listnums) = breakAt '>' thing | ||
46 | d = read . init . fst . breakAt '|' $ dims | ||
47 | breakAt c l = (a++[c],tail b) where | ||
48 | (a,b) = break (==c) l | ||
49 | |||
50 | #endif | ||
51 | |||
52 | |||
53 | ------------------------------------------------------------------ | ||
54 | |||
55 | adaptScalar f1 f2 f3 x y | 28 | adaptScalar f1 f2 f3 x y |
56 | | dim x == 1 = f1 (x@>0) y | 29 | | dim x == 1 = f1 (x@>0) y |
57 | | dim y == 1 = f3 x (y@>0) | 30 | | dim y == 1 = f3 x (y@>0) |