17 #ifndef dealii__lapack_templates_h 18 #define dealii__lapack_templates_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/lac/lapack_support.h> 26 void daxpy_ (
const int *n,
const double *alpha,
const double *x,
27 const int *incx,
double *y,
const int *incy);
28 void saxpy_ (
const int *n,
const float *alpha,
const float *x,
29 const int *incx,
float *y,
const int *incy);
32 void dgemv_ (
const char *trans,
const int *m,
const int *n,
33 const double *alpha,
const double *A,
const int *lda,
34 const double *x,
const int *incx,
35 const double *b,
double *y,
const int *incy);
36 void sgemv_ (
const char *trans,
const int *m,
const int *n,
37 const float *alpha,
const float *A,
const int *lda,
38 const float *x,
const int *incx,
39 const float *b,
float *y,
const int *incy);
41 void dgemm_ (
const char *transa,
const char *transb,
42 const int *m,
const int *n,
const int *k,
43 const double *alpha,
const double *A,
const int *lda,
44 const double *B,
const int *ldb,
45 const double *beta,
double *C,
const int *ldc);
46 void sgemm_ (
const char *transa,
const char *transb,
47 const int *m,
const int *n,
const int *k,
48 const float *alpha,
const float *A,
const int *lda,
49 const float *B,
const int *ldb,
50 const float *beta,
float *C,
const int *ldc);
52 void dgetrf_ (
const int *m,
const int *n,
double *A,
53 const int *lda,
int *ipiv,
int *info);
54 void sgetrf_ (
const int *m,
const int *n,
float *A,
55 const int *lda,
int *ipiv,
int *info);
57 void dgetrs_ (
const char *trans,
const int *n,
const int *nrhs,
58 const double *A,
const int *lda,
const int *ipiv,
59 double *b,
const int *ldb,
int *info);
60 void sgetrs_ (
const char *trans,
const int *n,
const int *nrhs,
61 const float *A,
const int *lda,
const int *ipiv,
62 float *b,
const int *ldb,
int *info);
64 void dgetri_ (
const int *n,
double *A,
const int *lda,
65 int *ipiv,
double *inv_work,
const int *lwork,
int *info);
66 void sgetri_ (
const int *n,
float *A,
const int *lda,
67 int *ipiv,
float *inv_work,
const int *lwork,
int *info);
69 void dgeqrf_ (
const int *m,
const int *n,
double *A,
70 const int *lda,
double *tau,
double *work,
71 const int *lwork,
int *info);
72 void sgeqrf_ (
const int *m,
const int *n,
float *A,
73 const int *lda,
float *tau,
float *work,
74 const int *lwork,
int *info);
76 void dormqr_ (
const char *side,
const char *trans,
const int *m,
77 const int *n,
const int *k,
const double *A,
const int *lda,
78 const double *tau,
double *B,
const int *ldb,
79 double *work,
const int *lwork,
int *info);
80 void sormqr_ (
const char *side,
const char *trans,
const int *m,
81 const int *n,
const int *k,
const float *A,
const int *lda,
82 const float *tau,
float *B,
const int *ldb,
83 float *work,
const int *lwork,
int *info);
85 void dorgqr_ (
const int *m,
const int *n,
const int *k,
const double *A,
86 const int *lda,
const double *tau,
double *work,
const int *lwork,
88 void sorgqr_ (
const int *m,
const int *n,
const int *k,
const float *A,
89 const int *lda,
const float *tau,
float *work,
const int *lwork,
92 void dtrtrs_ (
const char *uplo,
const char *trans,
93 const char *diag,
const int *n,
const int *n_rhs,
94 const double *A,
const int *lda,
double *B,
const int *ldb,
96 void strtrs_ (
const char *uplo,
const char *trans,
97 const char *diag,
const int *n,
const int *n_rhs,
98 const float *A,
const int *lda,
float *B,
const int *ldb,
101 void dgeev_ (
const char *jobvl,
const char *jobvr,
102 const int *n,
double *A,
const int *lda,
103 double *lambda_re,
double *lambda_im,
104 double *vl,
const int *ldvl,
105 double *vr,
const int *ldva,
106 double *work,
const int *lwork,
108 void sgeev_ (
const char *jobvl,
const char *jobvr,
109 const int *n,
float *A,
const int *lda,
110 float *lambda_re,
float *lambda_im,
111 float *vl,
const int *ldvl,
112 float *vr,
const int *ldva,
113 float *work,
const int *lwork,
116 void dgeevx_ (
const char *balanc,
const char *jobvl,
const char *jobvr,
118 const int *n,
double *A,
const int *lda,
119 double *lambda_re,
double *lambda_im,
120 double *vl,
const int *ldvl,
121 double *vr,
const int *ldvr,
123 double *scale,
double *abnrm,
124 double *rconde,
double *rcondv,
125 double *work,
const int *lwork,
126 int *iwork,
int *info);
127 void sgeevx_ (
const char *balanc,
const char *jobvl,
const char *jobvr,
129 const int *n,
float *A,
const int *lda,
130 float *lambda_re,
float *lambda_im,
131 float *vl,
const int *ldvl,
132 float *vr,
const int *ldvr,
134 float *scale,
float *abnrm,
135 float *rconde,
float *rcondv,
136 float *work,
const int *lwork,
137 int *iwork,
int *info);
139 void dsyev_ (
const char *jobz,
const char *uplo,
const int *n,
140 double *A,
const int *lda,
double *w,
141 double *work,
const int *lwork,
int *info);
142 void ssyev_ (
const char *jobz,
const char *uplo,
const int *n,
143 float *A,
const int *lda,
float *w,
144 float *work,
const int *lwork,
int *info);
149 void dsyevx_ (
const char *jobz,
const char *range,
150 const char *uplo,
const int *n,
double *A,
const int *lda,
151 const double *vl,
const double *vu,
152 const int *il,
const int *iu,
const double *abstol,
153 int *m,
double *w,
double *z,
154 const int *ldz,
double *work,
const int *lwork,
int *iwork,
155 int *ifail,
int *info);
156 void ssyevx_ (
const char *jobz,
const char *range,
157 const char *uplo,
const int *n,
float *A,
const int *lda,
158 const float *vl,
const float *vu,
159 const int *il,
const int *iu,
const float *abstol,
160 int *m,
float *w,
float *z,
161 const int *ldz,
float *work,
const int *lwork,
int *iwork,
162 int *ifail,
int *info);
166 void dsygv_ (
const int *itype,
const char *jobz,
const char *uplo,
167 const int *n,
double *A,
const int *lda,
double *B,
168 const int *ldb,
double *w,
double *work,
169 const int *lwork,
int *info);
170 void ssygv_ (
const int *itype,
const char *jobz,
const char *uplo,
171 const int *n,
float *A,
const int *lda,
float *B,
172 const int *ldb,
float *w,
float *work,
173 const int *lwork,
int *info);
178 void dsygvx_ (
const int *itype,
const char *jobz,
const char *range,
179 const char *uplo,
const int *n,
double *A,
const int *lda,
180 double *B,
const int *ldb,
const double *vl,
const double *vu,
181 const int *il,
const int *iu,
const double *abstol,
182 int *m,
double *w,
double *z,
183 const int *ldz,
double *work,
const int *lwork,
int *iwork,
184 int *ifail,
int *info);
185 void ssygvx_ (
const int *itype,
const char *jobz,
const char *range,
186 const char *uplo,
const int *n,
float *A,
const int *lda,
187 float *B,
const int *ldb,
const float *vl,
const float *vu,
188 const int *il,
const int *iu,
const float *abstol,
189 int *m,
float *w,
float *z,
190 const int *ldz,
float *work,
const int *lwork,
int *iwork,
191 int *ifail,
int *info);
193 void dgesdd_ (
const char *jobz,
194 const int *m,
const int *n,
double *A,
const int *lda,
196 double *u,
const int *ldu,
197 double *vt,
const int *ldvt,
198 double *work,
const int *lwork,
201 void sgesdd_ (
const char *jobz,
202 const int *m,
const int *n,
float *A,
const int *lda,
204 float *u,
const int *ldu,
205 float *vt,
const int *ldvt,
206 float *work,
const int *lwork,
210 void dgesvd_ (
int *jobu,
int *jobvt,
211 const int *n,
const int *m,
double *A,
const int *lda,
213 double *u,
const int *ldu,
214 double *vt,
const int *ldvt,
215 double *work,
const int *lwork,
217 void sgesvd_ (
int *jobu,
int *jobvt,
218 const int *n,
const int *m,
float *A,
const int *lda,
220 float *u,
const int *ldu,
221 float *vt,
const int *ldvt,
222 float *work,
const int *lwork,
225 void dgelsd_ (
const int *m,
const int *n,
const int *nrhs,
226 const double *A,
const int *lda,
227 double *B,
const int *ldb,
228 double *s,
const double *rcond,
230 double *work,
const int *lwork,
int *iwork,
232 void sgelsd_ (
const int *m,
const int *n,
const int *nrhs,
233 const float *A,
const int *lda,
234 float *B,
const int *ldb,
235 float *s,
const float *rcond,
237 float *work,
const int *lwork,
int *iwork,
240 void dstev_ (
const char *jobz,
const int *n,
241 double *d,
double *e,
double *z,
242 const int *ldz,
double *work,
244 void sstev_ (
const char *jobz,
const int *n,
245 float *d,
float *e,
float *z,
246 const int *ldz,
float *work,
251 DEAL_II_NAMESPACE_OPEN
255 template<
typename number1,
typename number2,
typename number3>
257 axpy (
const int *,
const number1 *,
const number2 *,
const int *, number3 *,
const int *)
262 #ifdef DEAL_II_WITH_LAPACK 264 axpy (
const int *n,
const double *alpha,
const double *x,
const int *incx,
double *y,
const int *incy)
266 daxpy_ (n,alpha,x,incx,y,incy);
270 axpy (
const int *,
const double *,
const double *,
const int *,
double *,
const int *)
277 #ifdef DEAL_II_WITH_LAPACK 279 axpy (
const int *n,
const float *alpha,
const float *x,
const int *incx,
float *y,
const int *incy)
281 saxpy_ (n,alpha,x,incx,y,incy);
285 axpy (
const int *,
const float *,
const float *,
const int *,
float *,
const int *)
293 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
295 gemv (
const char *,
const int *,
const int *,
const number1 *,
const number2 *,
const int *,
const number3 *,
const int *,
const number4 *, number5 *,
const int *)
300 #ifdef DEAL_II_WITH_LAPACK 302 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)
304 dgemv_ (trans,m,n,alpha,A,lda,x,incx,b,y,incy);
308 gemv (
const char *,
const int *,
const int *,
const double *,
const double *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *)
315 #ifdef DEAL_II_WITH_LAPACK 317 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)
319 sgemv_ (trans,m,n,alpha,A,lda,x,incx,b,y,incy);
323 gemv (
const char *,
const int *,
const int *,
const float *,
const float *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *)
331 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
333 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 *)
338 #ifdef DEAL_II_WITH_LAPACK 340 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)
342 dgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
346 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 *)
353 #ifdef DEAL_II_WITH_LAPACK 355 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)
357 sgemm_ (transa,transb,m,n,k,alpha,A,lda,B,ldb,beta,C,ldc);
361 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 *)
369 template<
typename number1>
371 getrf (
const int *,
const int *, number1 *,
const int *,
int *,
int *)
376 #ifdef DEAL_II_WITH_LAPACK 378 getrf (
const int *m,
const int *n,
double *A,
const int *lda,
int *ipiv,
int *info)
380 dgetrf_ (m,n,A,lda,ipiv,info);
384 getrf (
const int *,
const int *,
double *,
const int *,
int *,
int *)
391 #ifdef DEAL_II_WITH_LAPACK 393 getrf (
const int *m,
const int *n,
float *A,
const int *lda,
int *ipiv,
int *info)
395 sgetrf_ (m,n,A,lda,ipiv,info);
399 getrf (
const int *,
const int *,
float *,
const int *,
int *,
int *)
407 template<
typename number1,
typename number2>
409 getrs (
const char *,
const int *,
const int *,
const number1 *,
const int *,
const int *, number2 *,
const int *,
int *)
414 #ifdef DEAL_II_WITH_LAPACK 416 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)
418 dgetrs_ (trans,n,nrhs,A,lda,ipiv,b,ldb,info);
422 getrs (
const char *,
const int *,
const int *,
const double *,
const int *,
const int *,
double *,
const int *,
int *)
429 #ifdef DEAL_II_WITH_LAPACK 431 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)
433 sgetrs_ (trans,n,nrhs,A,lda,ipiv,b,ldb,info);
437 getrs (
const char *,
const int *,
const int *,
const float *,
const int *,
const int *,
float *,
const int *,
int *)
445 template<
typename number1,
typename number2>
447 getri (
const int *, number1 *,
const int *,
int *, number2 *,
const int *,
int *)
452 #ifdef DEAL_II_WITH_LAPACK 454 getri (
const int *n,
double *A,
const int *lda,
int *ipiv,
double *inv_work,
const int *lwork,
int *info)
456 dgetri_ (n,A,lda,ipiv,inv_work,lwork,info);
460 getri (
const int *,
double *,
const int *,
int *,
double *,
const int *,
int *)
467 #ifdef DEAL_II_WITH_LAPACK 469 getri (
const int *n,
float *A,
const int *lda,
int *ipiv,
float *inv_work,
const int *lwork,
int *info)
471 sgetri_ (n,A,lda,ipiv,inv_work,lwork,info);
475 getri (
const int *,
float *,
const int *,
int *,
float *,
const int *,
int *)
483 template<
typename number1,
typename number2,
typename number3>
485 geqrf (
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *,
int *)
490 #ifdef DEAL_II_WITH_LAPACK 492 geqrf (
const int *m,
const int *n,
double *A,
const int *lda,
double *tau,
double *work,
const int *lwork,
int *info)
494 dgeqrf_ (m,n,A,lda,tau,work,lwork,info);
498 geqrf (
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
505 #ifdef DEAL_II_WITH_LAPACK 507 geqrf (
const int *m,
const int *n,
float *A,
const int *lda,
float *tau,
float *work,
const int *lwork,
int *info)
509 sgeqrf_ (m,n,A,lda,tau,work,lwork,info);
513 geqrf (
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
521 template<
typename number1,
typename number2,
typename number3,
typename number4>
523 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const number1 *,
const int *,
const number2 *, number3 *,
const int *, number4 *,
const int *,
int *)
528 #ifdef DEAL_II_WITH_LAPACK 530 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)
532 dormqr_ (side,trans,m,n,k,A,lda,tau,B,ldb,work,lwork,info);
536 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *,
double *,
const int *,
int *)
543 #ifdef DEAL_II_WITH_LAPACK 545 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)
547 sormqr_ (side,trans,m,n,k,A,lda,tau,B,ldb,work,lwork,info);
551 ormqr (
const char *,
const char *,
const int *,
const int *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *,
float *,
const int *,
int *)
559 template<
typename number1,
typename number2,
typename number3>
561 orgqr (
const int *,
const int *,
const int *,
const number1 *,
const int *,
const number2 *, number3 *,
const int *,
int *)
566 #ifdef DEAL_II_WITH_LAPACK 568 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)
570 dorgqr_ (m,n,k,A,lda,tau,work,lwork,info);
574 orgqr (
const int *,
const int *,
const int *,
const double *,
const int *,
const double *,
double *,
const int *,
int *)
581 #ifdef DEAL_II_WITH_LAPACK 583 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)
585 sorgqr_ (m,n,k,A,lda,tau,work,lwork,info);
589 orgqr (
const int *,
const int *,
const int *,
const float *,
const int *,
const float *,
float *,
const int *,
int *)
597 template<
typename number1,
typename number2>
599 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const number1 *,
const int *, number2 *,
const int *,
int *)
604 #ifdef DEAL_II_WITH_LAPACK 606 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)
608 dtrtrs_ (uplo,trans,diag,n,n_rhs,A,lda,B,ldb,info);
612 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const double *,
const int *,
double *,
const int *,
int *)
619 #ifdef DEAL_II_WITH_LAPACK 621 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)
623 strtrs_ (uplo,trans,diag,n,n_rhs,A,lda,B,ldb,info);
627 trtrs (
const char *,
const char *,
const char *,
const int *,
const int *,
const float *,
const int *,
float *,
const int *,
int *)
635 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6>
637 geev (
const char *,
const char *,
const int *, number1 *,
const int *, number2 *, number3 *, number4 *,
const int *, number5 *,
const int *, number6 *,
const int *,
int *)
642 #ifdef DEAL_II_WITH_LAPACK 644 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)
646 dgeev_ (jobvl,jobvr,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldva,work,lwork,info);
650 geev (
const char *,
const char *,
const int *,
double *,
const int *,
double *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *)
657 #ifdef DEAL_II_WITH_LAPACK 659 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)
661 sgeev_ (jobvl,jobvr,n,A,lda,lambda_re,lambda_im,vl,ldvl,vr,ldva,work,lwork,info);
665 geev (
const char *,
const char *,
const int *,
float *,
const int *,
float *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *)
673 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7,
typename number8,
typename number9,
typename number10>
675 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 *)
680 #ifdef DEAL_II_WITH_LAPACK 682 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)
684 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);
688 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 *)
695 #ifdef DEAL_II_WITH_LAPACK 697 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)
699 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);
703 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 *)
711 template<
typename number1,
typename number2,
typename number3>
713 syev (
const char *,
const char *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *,
int *)
718 #ifdef DEAL_II_WITH_LAPACK 720 syev (
const char *jobz,
const char *uplo,
const int *n,
double *A,
const int *lda,
double *w,
double *work,
const int *lwork,
int *info)
722 dsyev_ (jobz,uplo,n,A,lda,w,work,lwork,info);
726 syev (
const char *,
const char *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
733 #ifdef DEAL_II_WITH_LAPACK 735 syev (
const char *jobz,
const char *uplo,
const int *n,
float *A,
const int *lda,
float *w,
float *work,
const int *lwork,
int *info)
737 ssyev_ (jobz,uplo,n,A,lda,w,work,lwork,info);
741 syev (
const char *,
const char *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
749 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7>
751 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 *)
756 #ifdef DEAL_II_WITH_LAPACK 758 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)
760 dsyevx_ (jobz,range,uplo,n,A,lda,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
764 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 *)
771 #ifdef DEAL_II_WITH_LAPACK 773 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)
775 ssyevx_ (jobz,range,uplo,n,A,lda,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
779 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 *)
787 template<
typename number1,
typename number2,
typename number3,
typename number4>
789 sygv (
const int *,
const char *,
const char *,
const int *, number1 *,
const int *, number2 *,
const int *, number3 *, number4 *,
const int *,
int *)
794 #ifdef DEAL_II_WITH_LAPACK 796 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)
798 dsygv_ (itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info);
802 sygv (
const int *,
const char *,
const char *,
const int *,
double *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
int *)
809 #ifdef DEAL_II_WITH_LAPACK 811 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)
813 ssygv_ (itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info);
817 sygv (
const int *,
const char *,
const char *,
const int *,
float *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
int *)
825 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5,
typename number6,
typename number7,
typename number8>
827 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 *)
832 #ifdef DEAL_II_WITH_LAPACK 834 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)
836 dsygvx_ (itype,jobz,range,uplo,n,A,lda,B,ldb,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
840 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 *)
847 #ifdef DEAL_II_WITH_LAPACK 849 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)
851 ssygvx_ (itype,jobz,range,uplo,n,A,lda,B,ldb,vl,vu,il,iu,abstol,m,w,z,ldz,work,lwork,iwork,ifail,info);
855 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 *)
863 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
865 gesdd (
const char *,
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *, number4 *,
const int *, number5 *,
const int *,
int *,
int *)
870 #ifdef DEAL_II_WITH_LAPACK 872 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)
874 dgesdd_ (jobz,m,n,A,lda,s,u,ldu,vt,ldvt,work,lwork,iwork,info);
878 gesdd (
const char *,
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *,
int *)
885 #ifdef DEAL_II_WITH_LAPACK 887 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)
889 sgesdd_ (jobz,m,n,A,lda,s,u,ldu,vt,ldvt,work,lwork,iwork,info);
893 gesdd (
const char *,
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *,
int *)
901 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
903 gesvd (
int *,
int *,
const int *,
const int *, number1 *,
const int *, number2 *, number3 *,
const int *, number4 *,
const int *, number5 *,
const int *,
int *)
908 #ifdef DEAL_II_WITH_LAPACK 910 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)
912 dgesvd_ (jobu,jobvt,n,m,A,lda,s,u,ldu,vt,ldvt,work,lwork,info);
916 gesvd (
int *,
int *,
const int *,
const int *,
double *,
const int *,
double *,
double *,
const int *,
double *,
const int *,
double *,
const int *,
int *)
923 #ifdef DEAL_II_WITH_LAPACK 925 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)
927 sgesvd_ (jobu,jobvt,n,m,A,lda,s,u,ldu,vt,ldvt,work,lwork,info);
931 gesvd (
int *,
int *,
const int *,
const int *,
float *,
const int *,
float *,
float *,
const int *,
float *,
const int *,
float *,
const int *,
int *)
939 template<
typename number1,
typename number2,
typename number3,
typename number4,
typename number5>
941 gelsd (
const int *,
const int *,
const int *,
const number1 *,
const int *, number2 *,
const int *, number3 *,
const number4 *,
int *, number5 *,
const int *,
int *,
int *)
946 #ifdef DEAL_II_WITH_LAPACK 948 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)
950 dgelsd_ (m,n,nrhs,A,lda,B,ldb,s,rcond,rank,work,lwork,iwork,info);
954 gelsd (
const int *,
const int *,
const int *,
const double *,
const int *,
double *,
const int *,
double *,
const double *,
int *,
double *,
const int *,
int *,
int *)
961 #ifdef DEAL_II_WITH_LAPACK 963 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)
965 sgelsd_ (m,n,nrhs,A,lda,B,ldb,s,rcond,rank,work,lwork,iwork,info);
969 gelsd (
const int *,
const int *,
const int *,
const float *,
const int *,
float *,
const int *,
float *,
const float *,
int *,
float *,
const int *,
int *,
int *)
977 template<
typename number1,
typename number2,
typename number3,
typename number4>
979 stev (
const char *,
const int *, number1 *, number2 *, number3 *,
const int *, number4 *,
int *)
984 #ifdef DEAL_II_WITH_LAPACK 986 stev (
const char *jobz,
const int *n,
double *d,
double *e,
double *z,
const int *ldz,
double *work,
int *info)
988 dstev_ (jobz,n,d,e,z,ldz,work,info);
992 stev (
const char *,
const int *,
double *,
double *,
double *,
const int *,
double *,
int *)
999 #ifdef DEAL_II_WITH_LAPACK 1001 stev (
const char *jobz,
const int *n,
float *d,
float *e,
float *z,
const int *ldz,
float *work,
int *info)
1003 sstev_ (jobz,n,d,e,z,ldz,work,info);
1007 stev (
const char *,
const int *,
float *,
float *,
float *,
const int *,
float *,
int *)
1014 DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcMissing(char *arg1)
static ::ExceptionBase & ExcNotImplemented()