42 #include <R_ext/Complex.h>
49 #define BLAS_extern extern
55 F77_NAME(dasum)(
const int *n,
const double *dx,
const int *incx);
57 F77_NAME(daxpy)(
const int *n,
const double *alpha,
58 const double *dx,
const int *incx,
59 double *dy,
const int *incy);
61 F77_NAME(dcopy)(
const int *n,
const double *dx,
const int *incx,
62 double *dy,
const int *incy);
64 F77_NAME(ddot)(
const int *n,
const double *dx,
const int *incx,
65 const double *dy,
const int *incy);
67 F77_NAME(dnrm2)(
const int *n,
const double *dx,
const int *incx);
69 F77_NAME(drot)(
const int *n,
double *dx,
const int *incx,
70 double *dy,
const int *incy,
const double *c,
const double *s);
72 F77_NAME(drotg)(
const double *a,
const double *b,
double *c,
double *s);
74 F77_NAME(drotm)(
const int *n,
double *dx,
const int *incx,
75 double *dy,
const int *incy,
const double *dparam);
77 F77_NAME(drotmg)(
const double *dd1,
const double *dd2,
const double *dx1,
78 const double *dy1,
double *param);
80 F77_NAME(dscal)(
const int *n,
const double *alpha,
double *dx,
const int *incx);
82 F77_NAME(dswap)(
const int *n,
double *dx,
const int *incx,
83 double *dy,
const int *incy);
85 F77_NAME(idamax)(
const int *n,
const double *dx,
const int *incx);
92 F77_NAME(dgbmv)(
const char *trans,
const int *m,
const int *n,
93 const int *kl,
const int *ku,
94 const double *alpha,
const double *a,
const int *lda,
95 const double *x,
const int *incx,
96 const double *beta,
double *y,
const int *incy);
100 F77_NAME(dgemv)(
const char *trans,
const int *m,
const int *n,
101 const double *alpha,
const double *a,
const int *lda,
102 const double *x,
const int *incx,
const double *beta,
103 double *y,
const int *incy);
107 F77_NAME(dsbmv)(
const char *uplo,
const int *n,
const int *k,
108 const double *alpha,
const double *a,
const int *lda,
109 const double *x,
const int *incx,
110 const double *beta,
double *y,
const int *incy);
114 F77_NAME(dspmv)(
const char *uplo,
const int *n,
115 const double *alpha,
const double *ap,
116 const double *x,
const int *incx,
117 const double *beta,
double *y,
const int *incy);
122 F77_NAME(dsymv)(
const char *uplo,
const int *n,
const double *alpha,
123 const double *a,
const int *lda,
124 const double *x,
const int *incx,
125 const double *beta,
double *y,
const int *incy);
129 F77_NAME(dtbmv)(
const char *uplo,
const char *trans,
130 const char *diag,
const int *n,
const int *k,
131 const double *a,
const int *lda,
132 double *x,
const int *incx);
136 F77_NAME(dtpmv)(
const char *uplo,
const char *trans,
const char *diag,
137 const int *n,
const double *ap,
138 double *x,
const int *incx);
142 F77_NAME(dtrmv)(
const char *uplo,
const char *trans,
const char *diag,
143 const int *n,
const double *a,
const int *lda,
144 double *x,
const int *incx);
148 F77_NAME(dtbsv)(
const char *uplo,
const char *trans,
149 const char *diag,
const int *n,
const int *k,
150 const double *a,
const int *lda,
151 double *x,
const int *incx);
155 F77_NAME(dtpsv)(
const char *uplo,
const char *trans,
156 const char *diag,
const int *n,
157 const double *ap,
double *x,
const int *incx);
161 F77_NAME(dtrsv)(
const char *uplo,
const char *trans,
162 const char *diag,
const int *n,
163 const double *a,
const int *lda,
164 double *x,
const int *incx);
167 F77_NAME(dger)(
const int *m,
const int *n,
const double *alpha,
168 const double *x,
const int *incx,
169 const double *y,
const int *incy,
170 double *a,
const int *lda);
173 F77_NAME(dsyr)(
const char *uplo,
const int *n,
const double *alpha,
174 const double *x,
const int *incx,
175 double *a,
const int *lda);
178 F77_NAME(dspr)(
const char *uplo,
const int *n,
const double *alpha,
179 const double *x,
const int *incx,
double *ap);
183 F77_NAME(dsyr2)(
const char *uplo,
const int *n,
const double *alpha,
184 const double *x,
const int *incx,
185 const double *y,
const int *incy,
186 double *a,
const int *lda);
190 F77_NAME(dspr2)(
const char *uplo,
const int *n,
const double *alpha,
191 const double *x,
const int *incx,
192 const double *y,
const int *incy,
double *ap);
199 F77_NAME(dgemm)(
const char *transa,
const char *transb,
const int *m,
200 const int *n,
const int *k,
const double *alpha,
201 const double *a,
const int *lda,
202 const double *b,
const int *ldb,
203 const double *beta,
double *c,
const int *ldc);
207 F77_NAME(dtrsm)(
const char *side,
const char *uplo,
208 const char *transa,
const char *diag,
209 const int *m,
const int *n,
const double *alpha,
210 const double *a,
const int *lda,
211 double *b,
const int *ldb);
215 F77_NAME(dtrmm)(
const char *side,
const char *uplo,
const char *transa,
216 const char *diag,
const int *m,
const int *n,
217 const double *alpha,
const double *a,
const int *lda,
218 double *b,
const int *ldb);
222 F77_NAME(dsymm)(
const char *side,
const char *uplo,
const int *m,
223 const int *n,
const double *alpha,
224 const double *a,
const int *lda,
225 const double *b,
const int *ldb,
226 const double *beta,
double *c,
const int *ldc);
230 F77_NAME(dsyrk)(
const char *uplo,
const char *trans,
231 const int *n,
const int *k,
232 const double *alpha,
const double *a,
const int *lda,
233 const double *beta,
double *c,
const int *ldc);
238 F77_NAME(dsyr2k)(
const char *uplo,
const char *trans,
239 const int *n,
const int *k,
240 const double *alpha,
const double *a,
const int *lda,
241 const double *b,
const int *ldb,
242 const double *beta,
double *c,
const int *ldc);
250 F77_NAME(dcabs1)(
double *z);
252 F77_NAME(dzasum)(
int *n, Rcomplex *zx,
int *incx);
254 F77_NAME(dznrm2)(
int *n, Rcomplex *x,
int *incx);
256 F77_NAME(izamax)(
int *n, Rcomplex *zx,
int *incx);
258 F77_NAME(zaxpy)(
int *n, Rcomplex *za, Rcomplex *zx,
259 int *incx, Rcomplex *zy,
int *incy);
261 F77_NAME(zcopy)(
int *n, Rcomplex *zx,
int *incx,
262 Rcomplex *zy,
int *incy);
270 F77_NAME(zdotc)(
int *n,
271 Rcomplex *zx,
int *incx, Rcomplex *zy,
int *incy);
273 F77_NAME(zdotu)(
int *n,
274 Rcomplex *zx,
int *incx, Rcomplex *zy,
int *incy);
277 F77_NAME(zdrot)(
int *n, Rcomplex *zx,
int *incx, Rcomplex *zy,
278 int *incy,
double *c,
double *s);
280 F77_NAME(zdscal)(
int *n,
double *da, Rcomplex *zx,
int *incx);
282 F77_NAME(zgbmv)(
char *trans,
int *m,
int *n,
int *kl,
283 int *ku, Rcomplex *alpha, Rcomplex *a,
int *lda,
284 Rcomplex *x,
int *incx, Rcomplex *beta, Rcomplex *y,
287 F77_NAME(zgemm)(
const char *transa,
const char *transb,
const int *m,
288 const int *n,
const int *k,
const Rcomplex *alpha,
289 const Rcomplex *a,
const int *lda,
290 const Rcomplex *b,
const int *ldb,
291 const Rcomplex *beta, Rcomplex *c,
const int *ldc);
293 F77_NAME(zgemv)(
char *trans,
int *m,
int *n, Rcomplex *alpha,
294 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx,
295 Rcomplex *beta, Rcomplex *y,
int * incy);
297 F77_NAME(zgerc)(
int *m,
int *n, Rcomplex *alpha, Rcomplex *x,
298 int *incx, Rcomplex *y,
int *incy, Rcomplex *a,
int *lda);
300 F77_NAME(zgeru)(
int *m,
int *n, Rcomplex *alpha, Rcomplex *x,
301 int *incx, Rcomplex *y,
int *incy, Rcomplex *a,
int *lda);
303 F77_NAME(zhbmv)(
char *uplo,
int *n,
int *k, Rcomplex *alpha,
304 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx,
305 Rcomplex *beta, Rcomplex *y,
int *incy);
307 F77_NAME(zhemm)(
char *side,
char *uplo,
int *m,
int *n,
308 Rcomplex *alpha, Rcomplex *a,
int *lda, Rcomplex *b,
309 int *ldb, Rcomplex *beta, Rcomplex *c,
int *ldc);
311 F77_NAME(zhemv)(
char *uplo,
int *n, Rcomplex *alpha, Rcomplex *a,
312 int *lda, Rcomplex *x,
int *incx, Rcomplex *beta,
313 Rcomplex *y,
int *incy);
315 F77_NAME(zher)(
char *uplo,
int *n,
double *alpha, Rcomplex *x,
316 int *incx, Rcomplex *a,
int *lda);
318 F77_NAME(zher2)(
char *uplo,
int *n, Rcomplex *alpha, Rcomplex *x,
319 int *incx, Rcomplex *y,
int *incy, Rcomplex *a,
int *lda);
321 F77_NAME(zher2k)(
char *uplo,
char *trans,
int *n,
int *k,
322 Rcomplex *alpha, Rcomplex *a,
int *lda, Rcomplex *b,
323 int *ldb,
double *beta, Rcomplex *c,
int *ldc);
325 F77_NAME(zherk)(
char *uplo,
char *trans,
int *n,
int *k,
326 double *alpha, Rcomplex *a,
int *lda,
double *beta,
327 Rcomplex *c,
int *ldc);
329 F77_NAME(zhpmv)(
char *uplo,
int *n, Rcomplex *alpha, Rcomplex *ap,
330 Rcomplex *x,
int *incx, Rcomplex * beta, Rcomplex *y,
333 F77_NAME(zhpr)(
char *uplo,
int *n,
double *alpha,
334 Rcomplex *x,
int *incx, Rcomplex *ap);
336 F77_NAME(zhpr2)(
char *uplo,
int *n, Rcomplex *alpha, Rcomplex *x,
337 int *incx, Rcomplex *y,
int *incy, Rcomplex *ap);
339 F77_NAME(zrotg)(Rcomplex *ca, Rcomplex *cb,
double *c, Rcomplex *s);
341 F77_NAME(zscal)(
int *n, Rcomplex *za, Rcomplex *zx,
int *incx);
343 F77_NAME(zswap)(
int *n, Rcomplex *zx,
int *incx, Rcomplex *zy,
int *incy);
345 F77_NAME(zsymm)(
char *side,
char *uplo,
int *m,
int *n,
346 Rcomplex *alpha, Rcomplex *a,
int *lda, Rcomplex *b,
347 int *ldb, Rcomplex *beta, Rcomplex *c,
int *ldc);
349 F77_NAME(zsyr2k)(
char *uplo,
char *trans,
int *n,
int *k,
350 Rcomplex *alpha, Rcomplex *a,
int *lda, Rcomplex *b,
351 int *ldb, Rcomplex *beta, Rcomplex *c,
int *ldc);
353 F77_NAME(zsyrk)(
char *uplo,
char *trans,
int *n,
int *k,
354 Rcomplex *alpha, Rcomplex *a,
int *lda,
355 Rcomplex *beta, Rcomplex *c,
int *ldc);
357 F77_NAME(ztbmv)(
char *uplo,
char *trans,
char *diag,
int *n,
int *k,
358 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx);
360 F77_NAME(ztbsv)(
char *uplo,
char *trans,
char *diag,
int *n,
int *k,
361 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx);
363 F77_NAME(ztpmv)(
char *uplo,
char *trans,
char *diag,
int *n,
364 Rcomplex *ap, Rcomplex *x,
int *incx);
366 F77_NAME(ztpsv)(
char *uplo,
char *trans,
char *diag,
int *n,
367 Rcomplex *ap, Rcomplex *x,
int *incx);
369 F77_NAME(ztrmm)(
char *side,
char *uplo,
char *transa,
char *diag,
370 int *m,
int *n, Rcomplex *alpha, Rcomplex *a,
371 int *lda, Rcomplex *b,
int *ldb);
373 F77_NAME(ztrmv)(
char *uplo,
char *trans,
char *diag,
int *n,
374 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx);
376 F77_NAME(ztrsm)(
char *side,
char *uplo,
char *transa,
char *diag,
377 int *m,
int *n, Rcomplex *alpha, Rcomplex *a,
378 int *lda, Rcomplex *b,
int *ldb);
380 F77_NAME(ztrsv)(
char *uplo,
char *trans,
char *diag,
int *n,
381 Rcomplex *a,
int *lda, Rcomplex *x,
int *incx);