18 #ifndef __LAPACK_TEMPLATES_H 19 #define __LAPACK_TEMPLATES_H 21 #include <deal.II/base/config.h> 22 #include <deal.II/lac/lapack_support.h> 27 void daxpy_ (
const int *n,
const double *alpha,
const double *x,
28 const int *incx,
double *y,
const int *incy);
29 void saxpy_ (
const int *n,
const float *alpha,
const float *x,
30 const int *incx,
float *y,
const int *incy);
33 void dgemv_ (
const char *trans,
const int *m,
const int *n,
34 const double *alpha,
const double *A,
const int *lda,
35 const double *x,
const int *incx,
36 const double *b,
double *y,
const int *incy);
37 void sgemv_ (
const char *trans,
const int *m,
const int *n,
38 const float *alpha,
const float *A,
const int *lda,
39 const float *x,
const int *incx,
40 const float *b,
float *y,
const int *incy);
42 void dgemm_ (
const char *transa,
const char *transb,
43 const int *m,
const int *n,
const int *k,
44 const double *alpha,
const double *A,
const int *lda,
45 const double *B,
const int *ldb,
46 const double *beta,
double *C,
const int *ldc);
47 void sgemm_ (
const char *transa,
const char *transb,
48 const int *m,
const int *n,
const int *k,
49 const float *alpha,
const float *A,
const int *lda,
50 const float *B,
const int *ldb,
51 const float *beta,
float *C,
const int *ldc);
53 void dgetrf_ (
const int *m,
const int *n,
double *A,
54 const int *lda,
int *ipiv,
int *info);
55 void sgetrf_ (
const int *m,
const int *n,
float *A,
56 const int *lda,
int *ipiv,
int *info);
58 void dgetrs_ (
const char *trans,
const int *n,
const int *nrhs,
59 const double *A,
const int *lda,
const int *ipiv,
60 double *b,
const int *ldb,
int *info);
61 void sgetrs_ (
const char *trans,
const int *n,
const int *nrhs,
62 const float *A,
const int *lda,
const int *ipiv,
63 float *b,
const int *ldb,
int *info);
65 void dgetri_ (
const int *n,
double *A,
const int *lda,
66 int *ipiv,
double *inv_work,
const int *lwork,
int *info);
67 void sgetri_ (
const int *n,
float *A,
const int *lda,
68 int *ipiv,
float *inv_work,
const int *lwork,
int *info);
70 void dgeqrf_ (
const int *m,
const int *n,
double *A,
71 const int *lda,
double *tau,
double *work,
72 const int *lwork,
int *info);
73 void sgeqrf_ (
const int *m,
const int *n,
float *A,
74 const int *lda,
float *tau,
float *work,
75 const int *lwork,
int *info);
77 void dormqr_ (
const char *side,
const char *trans,
const int *m,
78 const int *n,
const int *k,
const double *A,
const int *lda,
79 const double *tau,
double *B,
const int *ldb,
80 double *work,
const int *lwork,
int *info);
81 void sormqr_ (
const char *side,
const char *trans,
const int *m,
82 const int *n,
const int *k,
const float *A,
const int *lda,
83 const float *tau,
float *B,
const int *ldb,
84 float *work,
const int *lwork,
int *info);
86 void dorgqr_ (
const int *m,
const int *n,
const int *k,
const double *A,
87 const int *lda,
const double *tau,
double *work,
const int *lwork,
89 void sorgqr_ (
const int *m,
const int *n,
const int *k,
const float *A,
90 const int *lda,
const float *tau,
float *work,
const int *lwork,
93 void dtrtrs_ (
const char *uplo,
const char *trans,
94 const char *diag,
const int *n,
const int *n_rhs,
95 const double *A,
const int *lda,
double *B,
const int *ldb,
97 void strtrs_ (
const char *uplo,
const char *trans,
98 const char *diag,
const int *n,
const int *n_rhs,
99 const float *A,
const int *lda,
float *B,
const int *ldb,
102 void dgeev_ (
const char *jobvl,
const char *jobvr,
103 const int *n,
double *A,
const int *lda,
104 double *lambda_re,
double *lambda_im,
105 double *vl,
const int *ldvl,
106 double *vr,
const int *ldva,
107 double *work,
const int *lwork,
109 void sgeev_ (
const char *jobvl,
const char *jobvr,
110 const int *n,
float *A,
const int *lda,
111 float *lambda_re,
float *lambda_im,
112 float *vl,
const int *ldvl,
113 float *vr,
const int *ldva,
114 float *work,
const int *lwork,
117 void dgeevx_ (
const char *balanc,
const char *jobvl,
const char *jobvr,
119 const int *n,
double *A,
const int *lda,
120 double *lambda_re,
double *lambda_im,
121 double *vl,
const int *ldvl,
122 double *vr,
const int *ldvr,
124 double *scale,
double *abnrm,
125 double *rconde,
double *rcondv,
126 double *work,
const int *lwork,
127 int *iwork,
int *info);
128 void sgeevx_ (
const char *balanc,
const char *jobvl,
const char *jobvr,
130 const int *n,
float *A,
const int *lda,
131 float *lambda_re,
float *lambda_im,
132 float *vl,
const int *ldvl,
133 float *vr,
const int *ldvr,
135 float *scale,
float *abnrm,
136 float *rconde,
float *rcondv,
137 float *work,
const int *lwork,
138 int *iwork,
int *info);
140 void dsyev_ (
const char *jobz,
const char *uplo,
const int *n,
141 double *A,
const int *lda,
double *w,
142 double *work,
const int *lwork,
int *info);
143 void ssyev_ (
const char *jobz,
const char *uplo,
const int *n,
144 float *A,
const int *lda,
float *w,
145 float *work,
const int *lwork,
int *info);
150 void dsyevx_ (
const char *jobz,
const char *range,
151 const char *uplo,
const int *n,
double *A,
const int *lda,
152 const double *vl,
const double *vu,
153 const int *il,
const int *iu,
const double *abstol,
154 int *m,
double *w,
double *z,
155 const int *ldz,
double *work,
const int *lwork,
int *iwork,
156 int *ifail,
int *info);
157 void ssyevx_ (
const char *jobz,
const char *range,
158 const char *uplo,
const int *n,
float *A,
const int *lda,
159 const float *vl,
const float *vu,
160 const int *il,
const int *iu,
const float *abstol,
161 int *m,
float *w,
float *z,
162 const int *ldz,
float *work,
const int *lwork,
int *iwork,
163 int *ifail,
int *info);
167 void dsygv_ (
const int *itype,
const char *jobz,
const char *uplo,
168 const int *n,
double *A,
const int *lda,
double *B,
169 const int *ldb,
double *w,
double *work,
170 const int *lwork,
int *info);
171 void ssygv_ (
const int *itype,
const char *jobz,
const char *uplo,
172 const int *n,
float *A,
const int *lda,
float *B,
173 const int *ldb,
float *w,
float *work,
174 const int *lwork,
int *info);
179 void dsygvx_ (
const int *itype,
const char *jobz,
const char *range,
180 const char *uplo,
const int *n,
double *A,
const int *lda,
181 double *B,
const int *ldb,
const double *vl,
const double *vu,
182 const int *il,
const int *iu,
const double *abstol,
183 int *m,
double *w,
double *z,
184 const int *ldz,
double *work,
const int *lwork,
int *iwork,
185 int *ifail,
int *info);
186 void ssygvx_ (
const int *itype,
const char *jobz,
const char *range,
187 const char *uplo,
const int *n,
float *A,
const int *lda,
188 float *B,
const int *ldb,
const float *vl,
const float *vu,
189 const int *il,
const int *iu,
const float *abstol,
190 int *m,
float *w,
float *z,
191 const int *ldz,
float *work,
const int *lwork,
int *iwork,
192 int *ifail,
int *info);
194 void dgesdd_ (
const char *jobz,
195 const int *m,
const int *n,
double *A,
const int *lda,
197 double *u,
const int *ldu,
198 double *vt,
const int *ldvt,
199 double *work,
const int *lwork,
202 void sgesdd_ (
const char *jobz,
203 const int *m,
const int *n,
float *A,
const int *lda,
205 float *u,
const int *ldu,
206 float *vt,
const int *ldvt,
207 float *work,
const int *lwork,
211 void dgesvd_ (
int *jobu,
int *jobvt,
212 const int *n,
const int *m,
double *A,
const int *lda,
214 double *u,
const int *ldu,
215 double *vt,
const int *ldvt,
216 double *work,
const int *lwork,
218 void sgesvd_ (
int *jobu,
int *jobvt,
219 const int *n,
const int *m,
float *A,
const int *lda,
221 float *u,
const int *ldu,
222 float *vt,
const int *ldvt,
223 float *work,
const int *lwork,
226 void dgelsd_ (
const int *m,
const int *n,
const int *nrhs,
227 const double *A,
const int *lda,
228 double *B,
const int *ldb,
229 double *s,
const double *rcond,
231 double *work,
const int *lwork,
int *iwork,
233 void sgelsd_ (
const int *m,
const int *n,
const int *nrhs,
234 const float *A,
const int *lda,
235 float *B,
const int *ldb,
236 float *s,
const float *rcond,
238 float *work,
const int *lwork,
int *iwork,
241 void dstev_ (
const char *jobz,
const int *n,
242 double *d,
double *e,
double *z,
243 const int *ldz,
double *work,
245 void sstev_ (
const char *jobz,
const int *n,
246 float *d,
float *e,
float *z,
247 const int *ldz,
float *work,
256 template<
typename number1,
typename number2,
typename number3>
258 axpy (
const int *,
const number1 *,
const number2 *,
const int *, number3 *,
const int *)
265 axpy (
const int *n,
const double *alpha,
const double *x,
const int *incx,
double *y,
const int *incy)
267 daxpy_ (n,alpha,x,incx,y,incy);
271 axpy (
const int *,
const double *,
const double *,
const int *,
double *,
const int *)
273 Assert (
false, LAPACKSupport::ExcMissing(
"daxpy"));
280 axpy (
const int *n,
const float *alpha,
const float *x,
const int *incx,
float *y,
const int *incy)
282 saxpy_ (n,alpha,x,incx,y,incy);
286 axpy (
const int *,
const float *,
const float *,
const int *,
float *,
const int *)
288 Assert (
false, LAPACKSupport::ExcMissing(
"saxpy"));
294 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
296 gemv (
const char *,
const int *,
const int *,
const number1 *,
const number2 *,
const int *,
const number3 *,
const int *,
const number4 *, number5 *,
const int *)
303 gemv (
const char *trans,
const int *m,
const int *n,
const double *alpha,
const double *A,
const int *lda,
const double *x,
const int *incx,
const double *b,
double *y,
const int *incy)
305 dgemv_ (trans,m,n,alpha,A,lda,x,incx,b,y,incy);
309 gemv (
const char *,
const int *,
const int *,
const double *,
const double *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *)
311 Assert (
false, LAPACKSupport::ExcMissing(
"dgemv"));
318 gemv (
const char *trans,
const int *m,
const int *n,
const float *alpha,
const float *A,
const int *lda,
const float *x,
const int *incx,
const float *b,
float *y,
const int *incy)
320 sgemv_ (trans,m,n,alpha,A,lda,x,incx,b,y,incy);
324 gemv (
const char *,
const int *,
const int *,
const float *,
const float *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *)
326 Assert (
false, LAPACKSupport::ExcMissing(
"sgemv"));
332 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
334 gemm (
const char *,
const char *,
const int *,
const int *,
const int *,
const number1 *,
const number2 *,
const int *,
const number3 *,
const int *,
const number4 *, number5 *,
const int *)
341 gemm (
const char *transa,
const char *transb,
const int *m,
const int *n,
const int *k,
const double *alpha,
const double *A,
const int *lda,
const double *B,
const int *ldb,
const double *beta,
double *C,
const int *ldc)
343 dgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
347 gemm (
const char *,
const char *,
const int *,
const int *,
const int *,
const double *,
const double *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *)
349 Assert (
false, LAPACKSupport::ExcMissing(
"dgemm"));
356 gemm (
const char *transa,
const char *transb,
const int *m,
const int *n,
const int *k,
const float *alpha,
const float *A,
const int *lda,
const float *B,
const int *ldb,
const float *beta,
float *C,
const int *ldc)
358 sgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
362 gemm (
const char *,
const char *,
const int *,
const int *,
const int *,
const float *,
const float *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *)
364 Assert (
false, LAPACKSupport::ExcMissing(
"sgemm"));
370 template<
typename number1>
372 getrf (
const int *,
const int *, number1 *,
const int *,
int *,
int *)
379 getrf (
const int *m,
const int *n,
double *A,
const int *lda,
int *ipiv,
int *info)
381 dgetrf_ (m,n,A,lda,ipiv,info);
385 getrf (
const int *,
const int *,
double *,
const int *,
int *,
int *)
387 Assert (
false, LAPACKSupport::ExcMissing(
"dgetrf"));
394 getrf (
const int *m,
const int *n,
float *A,
const int *lda,
int *ipiv,
int *info)
396 sgetrf_ (m,n,A,lda,ipiv,info);
400 getrf (
const int *,
const int *,
float *,
const int *,
int *,
int *)
402 Assert (
false, LAPACKSupport::ExcMissing(
"sgetrf"));
408 template<
typename number1,
typename number2>
410 getrs (
const char *,
const int *,
const int *,
const number1 *,
const int *,
const int *, number2 *,
const int *,
int *)
417 getrs (
const char *trans,
const int *n,
const int *nrhs,
const double *A,
const int *lda,
const int *ipiv,
double *b,
const int *ldb,
int *info)
419 dgetrs_ (trans,n,nrhs,A,lda,ipiv,b,ldb,info);
423 getrs (
const char *,
const int *,
const int *,
const double *,
const int *,
const int *,
double *,
const int *,
int *)
425 Assert (
false, LAPACKSupport::ExcMissing(
"dgetrs"));
432 getrs (
const char *trans,
const int *n,
const int *nrhs,
const float *A,
const int *lda,
const int *ipiv,
float *b,
const int *ldb,
int *info)
434 sgetrs_ (trans,n,nrhs,A,lda,ipiv,b,ldb,info);
438 getrs (
const char *,
const int *,
const int *,
const float *,
const int *,
const int *,
float *,
const int *,
int *)
440 Assert (
false, LAPACKSupport::ExcMissing(
"sgetrs"));
446 template<
typename number1,
typename number2>
448 getri (
const int *, number1 *,
const int *,
int *, number2 *,
const int *,
int *)
455 getri (
const int *n,
double *A,
const int *lda,
int *ipiv,
double *inv_work,
const int *lwork,
int *info)
457 dgetri_ (n,A,lda,ipiv,inv_work,lwork,info);
461 getri (
const int *,
double *,
const int *,
int *,
double *,
const int *,
int *)
463 Assert (
false, LAPACKSupport::ExcMissing(
"dgetri"));
470 getri (
const int *n,
float *A,
const int *lda,
int *ipiv,
float *inv_work,
const int *lwork,
int *info)
472 sgetri_ (n,A,lda,ipiv,inv_work,lwork,info);
476 getri (
const int *,
float *,
const int *,
int *,
float *,
const int *,
int *)
478 Assert (
false, LAPACKSupport::ExcMissing(
"sgetri"));
484 template<
typename number1,
typename number2,
typename number3>
486 geqrf (
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *,
int *)
493 geqrf (
const int *m,
const int *n,
double *A,
const int *lda,
double *tau,
double *work,
const int *lwork,
int *info)
495 dgeqrf_ (m,n,A,lda,tau,work,lwork,info);
499 geqrf (
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
501 Assert (
false, LAPACKSupport::ExcMissing(
"dgeqrf"));
508 geqrf (
const int *m,
const int *n,
float *A,
const int *lda,
float *tau,
float *work,
const int *lwork,
int *info)
510 sgeqrf_ (m,n,A,lda,tau,work,lwork,info);
514 geqrf (
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
516 Assert (
false, LAPACKSupport::ExcMissing(
"sgeqrf"));
522 template<
typename number1,
typename number2,
typename number3,
typename number4>
524 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const number1 *,
const int *,
const number2 *, number3 *,
const int *, number4 *,
const int *,
int *)
531 ormqr (
const char *side,
const char *trans,
const int *m,
const int *n,
const int *k,
const double *A,
const int *lda,
const double *tau,
double *B,
const int *ldb,
double *work,
const int *lwork,
int *info)
533 dormqr_ (side,trans,m,n,k,A,lda,tau,B,ldb,work,lwork,info);
537 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *,
double *,
const int *,
int *)
539 Assert (
false, LAPACKSupport::ExcMissing(
"dormqr"));
546 ormqr (
const char *side,
const char *trans,
const int *m,
const int *n,
const int *k,
const float *A,
const int *lda,
const float *tau,
float *B,
const int *ldb,
float *work,
const int *lwork,
int *info)
548 sormqr_ (side,trans,m,n,k,A,lda,tau,B,ldb,work,lwork,info);
552 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *,
float *,
const int *,
int *)
554 Assert (
false, LAPACKSupport::ExcMissing(
"sormqr"));
560 template<
typename number1,
typename number2,
typename number3>
562 orgqr (
const int *,
const int *,
const int *,
const number1 *,
const int *,
const number2 *, number3 *,
const int *,
int *)
569 orgqr (
const int *m,
const int *n,
const int *k,
const double *A,
const int *lda,
const double *tau,
double *work,
const int *lwork,
int *info)
571 dorgqr_ (m,n,k,A,lda,tau,work,lwork,info);
575 orgqr (
const int *,
const int *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *,
int *)
577 Assert (
false, LAPACKSupport::ExcMissing(
"dorgqr"));
584 orgqr (
const int *m,
const int *n,
const int *k,
const float *A,
const int *lda,
const float *tau,
float *work,
const int *lwork,
int *info)
586 sorgqr_ (m,n,k,A,lda,tau,work,lwork,info);
590 orgqr (
const int *,
const int *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *,
int *)
592 Assert (
false, LAPACKSupport::ExcMissing(
"sorgqr"));
598 template<
typename number1,
typename number2>
600 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const number1 *,
const int *, number2 *,
const int *,
int *)
607 trtrs (
const char *uplo,
const char *trans,
const char *diag,
const int *n,
const int *n_rhs,
const double *A,
const int *lda,
double *B,
const int *ldb,
int *info)
609 dtrtrs_ (uplo,trans,diag,n,n_rhs,A,lda,B,ldb,info);
613 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const double *,
const int *,
double *,
const int *,
int *)
615 Assert (
false, LAPACKSupport::ExcMissing(
"dtrtrs"));
622 trtrs (
const char *uplo,
const char *trans,
const char *diag,
const int *n,
const int *n_rhs,
const float *A,
const int *lda,
float *B,
const int *ldb,
int *info)
624 strtrs_ (uplo,trans,diag,n,n_rhs,A,lda,B,ldb,info);
628 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const float *,
const int *,
float *,
const int *,
int *)
630 Assert (
false, LAPACKSupport::ExcMissing(
"strtrs"));
636 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6>
638 geev (
const char *,
const char *,
const int *, number1 *,
const int *, number2 *, number3 *, number4 *,
const int *, number5 *,
const int *, number6 *,
const int *,
int *)
645 geev (
const char *jobvl,
const char *jobvr,
const int *n,
double *A,
const int *lda,
double *lambda_re,
double *lambda_im,
double *vl,
const int *ldvl,
double *vr,
const int *ldva,
double *work,
const int *lwork,
int *info)
647 dgeev_ (jobvl,jobvr,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldva,work,lwork,info);
651 geev (
const char *,
const char *,
const int *,
double *,
const int *,
double *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *)
653 Assert (
false, LAPACKSupport::ExcMissing(
"dgeev"));
660 geev (
const char *jobvl,
const char *jobvr,
const int *n,
float *A,
const int *lda,
float *lambda_re,
float *lambda_im,
float *vl,
const int *ldvl,
float *vr,
const int *ldva,
float *work,
const int *lwork,
int *info)
662 sgeev_ (jobvl,jobvr,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldva,work,lwork,info);
666 geev (
const char *,
const char *,
const int *,
float *,
const int *,
float *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *)
668 Assert (
false, LAPACKSupport::ExcMissing(
"sgeev"));
674 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7,
typename number8,
typename number9,
typename number10>
676 geevx (
const char *,
const char *,
const char *,
const char *,
const int *, number1 *,
const int *, number2 *, number3 *, number4 *,
const int *, number5 *,
const int *,
int *,
int *, number6 *, number7 *, number8 *, number9 *, number10 *,
const int *,
int *,
int *)
683 geevx (
const char *balanc,
const char *jobvl,
const char *jobvr,
const char *sense,
const int *n,
double *A,
const int *lda,
double *lambda_re,
double *lambda_im,
double *vl,
const int *ldvl,
double *vr,
const int *ldvr,
int *ilo,
int *ihi,
double *scale,
double *abnrm,
double *rconde,
double *rcondv,
double *work,
const int *lwork,
int *iwork,
int *info)
685 dgeevx_ (balanc,jobvl,jobvr,sense,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldvr,ilo,ihi,scale,abnrm,rconde,rcondv,work,lwork,iwork,info);
689 geevx (
const char *,
const char *,
const char *,
const char *,
const int *,
double *,
const int *,
double *,
double *,
double *,
const int *,
double *,
const int *,
int *,
int *,
double *,
double *,
double *,
double *,
double *,
const int *,
int *,
int *)
691 Assert (
false, LAPACKSupport::ExcMissing(
"dgeevx"));
698 geevx (
const char *balanc,
const char *jobvl,
const char *jobvr,
const char *sense,
const int *n,
float *A,
const int *lda,
float *lambda_re,
float *lambda_im,
float *vl,
const int *ldvl,
float *vr,
const int *ldvr,
int *ilo,
int *ihi,
float *scale,
float *abnrm,
float *rconde,
float *rcondv,
float *work,
const int *lwork,
int *iwork,
int *info)
700 sgeevx_ (balanc,jobvl,jobvr,sense,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldvr,ilo,ihi,scale,abnrm,rconde,rcondv,work,lwork,iwork,info);
704 geevx (
const char *,
const char *,
const char *,
const char *,
const int *,
float *,
const int *,
float *,
float *,
float *,
const int *,
float *,
const int *,
int *,
int *,
float *,
float *,
float *,
float *,
float *,
const int *,
int *,
int *)
706 Assert (
false, LAPACKSupport::ExcMissing(
"sgeevx"));
712 template<
typename number1,
typename number2,
typename number3>
714 syev (
const char *,
const char *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *,
int *)
721 syev (
const char *jobz,
const char *uplo,
const int *n,
double *A,
const int *lda,
double *w,
double *work,
const int *lwork,
int *info)
723 dsyev_ (
char *jobz,
char *uplo,
int *n,
double*A,
int *lda,
double*w,
double*work,
int *lwork,
int *info);
727 syev (
const char *,
const char *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
729 Assert (
false, LAPACKSupport::ExcMissing(
"dsyev"));
736 syev (
const char *jobz,
const char *uplo,
const int *n,
float *A,
const int *lda,
float *w,
float *work,
const int *lwork,
int *info)
738 ssyev_ (
char *jobz,
char *uplo,
int *n,
double*A,
int *lda,
double*w,
double*work,
int *lwork,
int *info);
742 syev (
const char *,
const char *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
744 Assert (
false, LAPACKSupport::ExcMissing(
"ssyev"));
750 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7>
752 syevx (
const char *,
const char *,
const char *,
const int *, number1 *,
const int *,
const number2 *,
const number3 *,
const int *,
const int *,
const number4 *,
int *, number5 *, number6 *,
const int *, number7 *,
const int *,
int *,
int *,
int *)
759 syevx (
const char *jobz,
const char *range,
const char *uplo,
const int *n,
double *A,
const int *lda,
const double *vl,
const double *vu,
const int *il,
const int *iu,
const double *abstol,
int *m,
double *w,
double *z,
const int *ldz,
double *work,
const int *lwork,
int *iwork,
int *ifail,
int *info)
761 dsyevx_ (jobz,range,uplo,n,A,lda,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
765 syevx (
const char *,
const char *,
const char *,
const int *,
double *,
const int *,
const double *,
const double *,
const int *,
const int *,
const double *,
int *,
double *,
double *,
const int *,
double *,
const int *,
int *,
int *,
int *)
767 Assert (
false, LAPACKSupport::ExcMissing(
"dsyevx"));
774 syevx (
const char *jobz,
const char *range,
const char *uplo,
const int *n,
float *A,
const int *lda,
const float *vl,
const float *vu,
const int *il,
const int *iu,
const float *abstol,
int *m,
float *w,
float *z,
const int *ldz,
float *work,
const int *lwork,
int *iwork,
int *ifail,
int *info)
776 ssyevx_ (jobz,range,uplo,n,A,lda,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
780 syevx (
const char *,
const char *,
const char *,
const int *,
float *,
const int *,
const float *,
const float *,
const int *,
const int *,
const float *,
int *,
float *,
float *,
const int *,
float *,
const int *,
int *,
int *,
int *)
782 Assert (
false, LAPACKSupport::ExcMissing(
"ssyevx"));
788 template<
typename number1,
typename number2,
typename number3,
typename number4>
790 sygv (
const int *,
const char *,
const char *,
const int *, number1 *,
const int *, number2 *,
const int *, number3 *, number4 *,
const int *,
int *)
797 sygv (
const int *itype,
const char *jobz,
const char *uplo,
const int *n,
double *A,
const int *lda,
double *B,
const int *ldb,
double *w,
double *work,
const int *lwork,
int *info)
799 dsygv_ (itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info);
803 sygv (
const int *,
const char *,
const char *,
const int *,
double *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
805 Assert (
false, LAPACKSupport::ExcMissing(
"dsygv"));
812 sygv (
const int *itype,
const char *jobz,
const char *uplo,
const int *n,
float *A,
const int *lda,
float *B,
const int *ldb,
float *w,
float *work,
const int *lwork,
int *info)
814 ssygv_ (itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info);
818 sygv (
const int *,
const char *,
const char *,
const int *,
float *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
820 Assert (
false, LAPACKSupport::ExcMissing(
"ssygv"));
826 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7,
typename number8>
828 sygvx (
const int *,
const char *,
const char *,
const char *,
const int *, number1 *,
const int *, number2 *,
const int *,
const number3 *,
const number4 *,
const int *,
const int *,
const number5 *,
int *, number6 *, number7 *,
const int *, number8 *,
const int *,
int *,
int *,
int *)
835 sygvx (
const int *itype,
const char *jobz,
const char *range,
const char *uplo,
const int *n,
double *A,
const int *lda,
double *B,
const int *ldb,
const double *vl,
const double *vu,
const int *il,
const int *iu,
const double *abstol,
int *m,
double *w,
double *z,
const int *ldz,
double *work,
const int *lwork,
int *iwork,
int *ifail,
int *info)
837 dsygvx_ (itype,jobz,range,uplo,n,A,lda,B,ldb,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
841 sygvx (
const int *,
const char *,
const char *,
const char *,
const int *,
double *,
const int *,
double *,
const int *,
const double *,
const double *,
const int *,
const int *,
const double *,
int *,
double *,
double *,
const int *,
double *,
const int *,
int *,
int *,
int *)
843 Assert (
false, LAPACKSupport::ExcMissing(
"dsygvx"));
850 sygvx (
const int *itype,
const char *jobz,
const char *range,
const char *uplo,
const int *n,
float *A,
const int *lda,
float *B,
const int *ldb,
const float *vl,
const float *vu,
const int *il,
const int *iu,
const float *abstol,
int *m,
float *w,
float *z,
const int *ldz,
float *work,
const int *lwork,
int *iwork,
int *ifail,
int *info)
852 ssygvx_ (itype,jobz,range,uplo,n,A,lda,B,ldb,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
856 sygvx (
const int *,
const char *,
const char *,
const char *,
const int *,
float *,
const int *,
float *,
const int *,
const float *,
const float *,
const int *,
const int *,
const float *,
int *,
float *,
float *,
const int *,
float *,
const int *,
int *,
int *,
int *)
858 Assert (
false, LAPACKSupport::ExcMissing(
"ssygvx"));
864 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
866 gesdd (
const char *,
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *, number4 *,
const int *, number5 *,
const int *,
int *,
int *)
873 gesdd (
const char *jobz,
const int *m,
const int *n,
double *A,
const int *lda,
double *s,
double *u,
const int *ldu,
double *vt,
const int *ldvt,
double *work,
const int *lwork,
int *iwork,
int *info)
875 dgesdd_ (jobz,m,n,A,lda,s,u,ldu,vt,ldvt,work,lwork,iwork,info);
879 gesdd (
const char *,
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *,
int *)
881 Assert (
false, LAPACKSupport::ExcMissing(
"dgesdd"));
888 gesdd (
const char *jobz,
const int *m,
const int *n,
float *A,
const int *lda,
float *s,
float *u,
const int *ldu,
float *vt,
const int *ldvt,
float *work,
const int *lwork,
int *iwork,
int *info)
890 sgesdd_ (jobz,m,n,A,lda,s,u,ldu,vt,ldvt,work,lwork,iwork,info);
894 gesdd (
const char *,
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *,
int *)
896 Assert (
false, LAPACKSupport::ExcMissing(
"sgesdd"));
902 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
904 gesvd (
int *,
int *,
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *, number4 *,
const int *, number5 *,
const int *,
int *)
911 gesvd (
int *jobu,
int *jobvt,
const int *n,
const int *m,
double *A,
const int *lda,
double *s,
double *u,
const int *ldu,
double *vt,
const int *ldvt,
double *work,
const int *lwork,
int *info)
913 dgesvd_ (jobu,jobvt,n,m,A,lda,s,u,ldu,vt,ldvt,work,lwork,info);
917 gesvd (
int *,
int *,
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *)
919 Assert (
false, LAPACKSupport::ExcMissing(
"dgesvd"));
926 gesvd (
int *jobu,
int *jobvt,
const int *n,
const int *m,
float *A,
const int *lda,
float *s,
float *u,
const int *ldu,
float *vt,
const int *ldvt,
float *work,
const int *lwork,
int *info)
928 sgesvd_ (jobu,jobvt,n,m,A,lda,s,u,ldu,vt,ldvt,work,lwork,info);
932 gesvd (
int *,
int *,
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *)
934 Assert (
false, LAPACKSupport::ExcMissing(
"sgesvd"));
940 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
942 gelsd (
const int *,
const int *,
const int *,
const number1 *,
const int *, number2 *,
const int *, number3 *,
const number4 *,
int *, number5 *,
const int *,
int *,
int *)
949 gelsd (
const int *m,
const int *n,
const int *nrhs,
const double *A,
const int *lda,
double *B,
const int *ldb,
double *s,
const double *rcond,
int *rank,
double *work,
const int *lwork,
int *iwork,
int *info)
951 dgelsd_ (m,n,nrhs,A,lda,B,ldb,s,rcond,rank,work,lwork,iwork,info);
955 gelsd (
const int *,
const int *,
const int *,
const double *,
const int *,
double *,
const int *,
double *,
const double *,
int *,
double *,
const int *,
int *,
int *)
957 Assert (
false, LAPACKSupport::ExcMissing(
"dgelsd"));
964 gelsd (
const int *m,
const int *n,
const int *nrhs,
const float *A,
const int *lda,
float *B,
const int *ldb,
float *s,
const float *rcond,
int *rank,
float *work,
const int *lwork,
int *iwork,
int *info)
966 sgelsd_ (m,n,nrhs,A,lda,B,ldb,s,rcond,rank,work,lwork,iwork,info);
970 gelsd (
const int *,
const int *,
const int *,
const float *,
const int *,
float *,
const int *,
float *,
const float *,
int *,
float *,
const int *,
int *,
int *)
972 Assert (
false, LAPACKSupport::ExcMissing(
"sgelsd"));
978 template<
typename number1,
typename number2,
typename number3,
typename number4>
980 stev (
const char *,
const int *, number1 *, number2 *, number3 *,
const int *, number4 *,
int *)
987 stev (
const char *jobz,
const int *n,
double *d,
double *e,
double *z,
const int *ldz,
double *work,
int *info)
989 dstev_ (jobz,n,d,e,z,ldz,work,info);
993 stev (
const char *,
const int *,
double *,
double *,
double *,
const int *,
double *,
int *)
995 Assert (
false, LAPACKSupport::ExcMissing(
"dstev"));
1002 stev (
const char *jobz,
const int *n,
float *d,
float *e,
float *z,
const int *ldz,
float *work,
int *info)
1004 sstev_ (jobz,n,d,e,z,ldz,work,info);
1008 stev (
const char *,
const int *,
float *,
float *,
float *,
const int *,
float *,
int *)
1010 Assert (
false, LAPACKSupport::ExcMissing(
"sstev"));
1015 DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
::ExceptionBase & ExcNotImplemented()