Reference documentation for deal.II version 9.3.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
lapack_templates.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2005 - 2021 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 
17 #ifndef dealii_lapack_templates_h
18 #define dealii_lapack_templates_h
19 
20 #include <deal.II/base/config.h>
21 
23 
24 #ifdef DEAL_II_HAVE_FP_EXCEPTIONS
25 # include <cfenv>
26 #endif
27 
28 // DEAL_II_FORTRAN_MANGLE confuses doxygen a lot and these functions aren't part
29 // of our public API anyway, so don't generate any doxygen for them
30 #ifndef DOXYGEN
31 extern "C"
32 {
33  void DEAL_II_FORTRAN_MANGLE(saxpy,
34  SAXPY)(const ::types::blas_int *n,
35  const float * sa,
36  const float * sx,
38  float * sy,
40 
41  void DEAL_II_FORTRAN_MANGLE(daxpy,
42  DAXPY)(const ::types::blas_int *n,
43  const double * da,
44  const double * dx,
46  double * dy,
48 
49  void DEAL_II_FORTRAN_MANGLE(caxpy,
50  CAXPY)(const ::types::blas_int *n,
51  const std::complex<float> * ca,
52  const std::complex<float> * cx,
54  std::complex<float> * cy,
56 
57  void DEAL_II_FORTRAN_MANGLE(zaxpy,
58  ZAXPY)(const ::types::blas_int *n,
59  const std::complex<double> * za,
60  const std::complex<double> * zx,
62  std::complex<double> * zy,
64 
65  void DEAL_II_FORTRAN_MANGLE(sgeev,
66  SGEEV)(const char * jobvl,
67  const char * jobvr,
69  float * a,
71  float * wr,
72  float * wi,
73  float * vl,
75  float * vr,
77  float * work,
79  ::types::blas_int * info);
80 
81  void DEAL_II_FORTRAN_MANGLE(dgeev,
82  DGEEV)(const char * jobvl,
83  const char * jobvr,
85  double * a,
87  double * wr,
88  double * wi,
89  double * vl,
91  double * vr,
93  double * work,
95  ::types::blas_int * info);
96 
97  void DEAL_II_FORTRAN_MANGLE(cgeev,
98  CGEEV)(const char * jobvl,
99  const char * jobvr,
101  std::complex<float> * a,
103  std::complex<float> * w,
104  std::complex<float> * vl,
106  std::complex<float> * vr,
108  std::complex<float> * work,
110  float * rwork,
111  ::types::blas_int * info);
112 
113  void DEAL_II_FORTRAN_MANGLE(zgeev,
114  ZGEEV)(const char * jobvl,
115  const char * jobvr,
117  std::complex<double> * a,
119  std::complex<double> * w,
120  std::complex<double> * vl,
122  std::complex<double> * vr,
124  std::complex<double> * work,
126  double * rwork,
127  ::types::blas_int * info);
128 
129  void DEAL_II_FORTRAN_MANGLE(sgeevx,
130  SGEEVX)(const char * balanc,
131  const char * jobvl,
132  const char * jobvr,
133  const char * sense,
135  float * a,
137  float * wr,
138  float * wi,
139  float * vl,
141  float * vr,
143  ::types::blas_int * ilo,
144  ::types::blas_int * ihi,
145  float * scale,
146  float * abnrm,
147  float * rconde,
148  float * rcondv,
149  float * work,
151  ::types::blas_int * iwork,
152  ::types::blas_int * info);
153 
154  void DEAL_II_FORTRAN_MANGLE(dgeevx,
155  DGEEVX)(const char * balanc,
156  const char * jobvl,
157  const char * jobvr,
158  const char * sense,
160  double * a,
162  double * wr,
163  double * wi,
164  double * vl,
166  double * vr,
168  ::types::blas_int * ilo,
169  ::types::blas_int * ihi,
170  double * scale,
171  double * abnrm,
172  double * rconde,
173  double * rcondv,
174  double * work,
176  ::types::blas_int * iwork,
177  ::types::blas_int * info);
178 
179  void DEAL_II_FORTRAN_MANGLE(cgeevx,
180  CGEEVX)(const char * balanc,
181  const char * jobvl,
182  const char * jobvr,
183  const char * sense,
185  std::complex<float> * a,
187  std::complex<float> * w,
188  std::complex<float> * vl,
190  std::complex<float> * vr,
192  ::types::blas_int * ilo,
193  ::types::blas_int * ihi,
194  float * scale,
195  float * abnrm,
196  float * rconde,
197  float * rcondv,
198  std::complex<float> * work,
200  float * rwork,
201  ::types::blas_int * info);
202 
203  void DEAL_II_FORTRAN_MANGLE(zgeevx,
204  ZGEEVX)(const char * balanc,
205  const char * jobvl,
206  const char * jobvr,
207  const char * sense,
209  std::complex<double> * a,
211  std::complex<double> * w,
212  std::complex<double> * vl,
214  std::complex<double> * vr,
216  ::types::blas_int * ilo,
217  ::types::blas_int * ihi,
218  double * scale,
219  double * abnrm,
220  double * rconde,
221  double * rcondv,
222  std::complex<double> * work,
224  double * rwork,
225  ::types::blas_int * info);
226 
227  void DEAL_II_FORTRAN_MANGLE(sgelsd,
228  SGELSD)(const ::types::blas_int *m,
231  float * a,
233  float * b,
235  float * s,
236  const float * rcond,
237  ::types::blas_int * rank,
238  float * work,
240  ::types::blas_int * iwork,
241  ::types::blas_int * info);
242 
243  void DEAL_II_FORTRAN_MANGLE(dgelsd,
244  DGELSD)(const ::types::blas_int *m,
247  double * a,
249  double * b,
251  double * s,
252  const double * rcond,
253  ::types::blas_int * rank,
254  double * work,
256  ::types::blas_int * iwork,
257  ::types::blas_int * info);
258 
259  void DEAL_II_FORTRAN_MANGLE(cgelsd,
260  CGELSD)(const ::types::blas_int *m,
263  std::complex<float> * a,
265  std::complex<float> * b,
267  float * s,
268  const float * rcond,
269  ::types::blas_int * rank,
270  std::complex<float> * work,
272  float * rwork,
273  ::types::blas_int * iwork,
274  ::types::blas_int * info);
275 
276  void DEAL_II_FORTRAN_MANGLE(zgelsd,
277  ZGELSD)(const ::types::blas_int *m,
280  std::complex<double> * a,
282  std::complex<double> * b,
284  double * s,
285  const double * rcond,
286  ::types::blas_int * rank,
287  std::complex<double> * work,
289  double * rwork,
290  ::types::blas_int * iwork,
291  ::types::blas_int * info);
292 
293  void DEAL_II_FORTRAN_MANGLE(sgemm, SGEMM)(const char *transa,
294  const char *transb,
298  const float *alpha,
299  const float *a,
301  const float * b,
303  const float * beta,
304  float * c,
306 
307  void DEAL_II_FORTRAN_MANGLE(dgemm, DGEMM)(const char *transa,
308  const char *transb,
312  const double *alpha,
313  const double *a,
315  const double * b,
317  const double * beta,
318  double * c,
320 
321  void DEAL_II_FORTRAN_MANGLE(cgemm, CGEMM)(const char *transa,
322  const char *transb,
326  const std::complex<float> *alpha,
327  const std::complex<float> *a,
329  const std::complex<float> * b,
331  const std::complex<float> * beta,
332  std::complex<float> * c,
334 
335  void DEAL_II_FORTRAN_MANGLE(zgemm, ZGEMM)(const char *transa,
336  const char *transb,
340  const std::complex<double> *alpha,
341  const std::complex<double> *a,
343  const std::complex<double> * b,
345  const std::complex<double> * beta,
346  std::complex<double> * c,
348 
349  void DEAL_II_FORTRAN_MANGLE(sgemv,
350  SGEMV)(const char * trans,
353  const float * alpha,
354  const float * a,
356  const float * x,
358  const float * beta,
359  float * y,
361 
362  void DEAL_II_FORTRAN_MANGLE(dgemv,
363  DGEMV)(const char * trans,
366  const double * alpha,
367  const double * a,
369  const double * x,
371  const double * beta,
372  double * y,
374 
375  void DEAL_II_FORTRAN_MANGLE(cgemv,
376  CGEMV)(const char * trans,
379  const std::complex<float> * alpha,
380  const std::complex<float> * a,
382  const std::complex<float> * x,
384  const std::complex<float> * beta,
385  std::complex<float> * y,
387 
388  void DEAL_II_FORTRAN_MANGLE(zgemv,
389  ZGEMV)(const char * trans,
392  const std::complex<double> * alpha,
393  const std::complex<double> * a,
395  const std::complex<double> * x,
397  const std::complex<double> * beta,
398  std::complex<double> * y,
400 
401  void DEAL_II_FORTRAN_MANGLE(sgeqrf,
402  SGEQRF)(const ::types::blas_int *m,
404  float * a,
406  float * tau,
407  float * work,
409  ::types::blas_int * info);
410 
411  void DEAL_II_FORTRAN_MANGLE(dgeqrf,
412  DGEQRF)(const ::types::blas_int *m,
414  double * a,
416  double * tau,
417  double * work,
419  ::types::blas_int * info);
420 
421  void DEAL_II_FORTRAN_MANGLE(cgeqrf,
422  CGEQRF)(const ::types::blas_int *m,
424  std::complex<float> * a,
426  std::complex<float> * tau,
427  std::complex<float> * work,
429  ::types::blas_int * info);
430 
431  void DEAL_II_FORTRAN_MANGLE(zgeqrf,
432  ZGEQRF)(const ::types::blas_int *m,
434  std::complex<double> * a,
436  std::complex<double> * tau,
437  std::complex<double> * work,
439  ::types::blas_int * info);
440 
441  void DEAL_II_FORTRAN_MANGLE(sgesdd,
442  SGESDD)(const char * jobz,
445  float * a,
447  float * s,
448  float * u,
450  float * vt,
452  float * work,
454  ::types::blas_int * iwork,
455  ::types::blas_int * info);
456 
457  void DEAL_II_FORTRAN_MANGLE(dgesdd,
458  DGESDD)(const char * jobz,
461  double * a,
463  double * s,
464  double * u,
466  double * vt,
468  double * work,
470  ::types::blas_int * iwork,
471  ::types::blas_int * info);
472 
473  void DEAL_II_FORTRAN_MANGLE(cgesdd,
474  CGESDD)(const char * jobz,
477  std::complex<float> * a,
479  float * s,
480  std::complex<float> * u,
482  std::complex<float> * vt,
484  std::complex<float> * work,
486  float * rwork,
487  ::types::blas_int * iwork,
488  ::types::blas_int * info);
489 
490  void DEAL_II_FORTRAN_MANGLE(zgesdd,
491  ZGESDD)(const char * jobz,
494  std::complex<double> * a,
496  double * s,
497  std::complex<double> * u,
499  std::complex<double> * vt,
501  std::complex<double> * work,
503  double * rwork,
504  ::types::blas_int * iwork,
505  ::types::blas_int * info);
506 
507  void DEAL_II_FORTRAN_MANGLE(sgesvd,
508  SGESVD)(const char * jobu,
509  const char * jobvt,
512  float * a,
514  float * s,
515  float * u,
517  float * vt,
519  float * work,
521  ::types::blas_int * info);
522 
523  void DEAL_II_FORTRAN_MANGLE(dgesvd,
524  DGESVD)(const char * jobu,
525  const char * jobvt,
528  double * a,
530  double * s,
531  double * u,
533  double * vt,
535  double * work,
537  ::types::blas_int * info);
538 
539  void DEAL_II_FORTRAN_MANGLE(cgesvd,
540  CGESVD)(const char * jobu,
541  const char * jobvt,
544  std::complex<float> * a,
546  float * s,
547  std::complex<float> * u,
549  std::complex<float> * vt,
551  std::complex<float> * work,
553  float * rwork,
554  ::types::blas_int * info);
555 
556  void DEAL_II_FORTRAN_MANGLE(zgesvd,
557  ZGESVD)(const char * jobu,
558  const char * jobvt,
561  std::complex<double> * a,
563  double * s,
564  std::complex<double> * u,
566  std::complex<double> * vt,
568  std::complex<double> * work,
570  double * rwork,
571  ::types::blas_int * info);
572 
573  void DEAL_II_FORTRAN_MANGLE(sgetrf,
574  SGETRF)(const ::types::blas_int *m,
576  float * a,
578  ::types::blas_int * ipiv,
579  ::types::blas_int * info);
580 
581  void DEAL_II_FORTRAN_MANGLE(dgetrf,
582  DGETRF)(const ::types::blas_int *m,
584  double * a,
586  ::types::blas_int * ipiv,
587  ::types::blas_int * info);
588 
589  void DEAL_II_FORTRAN_MANGLE(cgetrf,
590  CGETRF)(const ::types::blas_int *m,
592  std::complex<float> * a,
594  ::types::blas_int * ipiv,
595  ::types::blas_int * info);
596 
597  void DEAL_II_FORTRAN_MANGLE(zgetrf,
598  ZGETRF)(const ::types::blas_int *m,
600  std::complex<double> * a,
602  ::types::blas_int * ipiv,
603  ::types::blas_int * info);
604 
605  void DEAL_II_FORTRAN_MANGLE(sgetri,
606  SGETRI)(const ::types::blas_int *n,
607  float * a,
610  float * work,
612  ::types::blas_int * info);
613 
614  void DEAL_II_FORTRAN_MANGLE(dgetri,
615  DGETRI)(const ::types::blas_int *n,
616  double * a,
619  double * work,
621  ::types::blas_int * info);
622 
623  void DEAL_II_FORTRAN_MANGLE(cgetri,
624  CGETRI)(const ::types::blas_int *n,
625  std::complex<float> * a,
628  std::complex<float> * work,
630  ::types::blas_int * info);
631 
632  void DEAL_II_FORTRAN_MANGLE(zgetri,
633  ZGETRI)(const ::types::blas_int *n,
634  std::complex<double> * a,
637  std::complex<double> * work,
639  ::types::blas_int * info);
640 
641  void DEAL_II_FORTRAN_MANGLE(sgetrs,
642  SGETRS)(const char * trans,
645  const float * a,
648  float * b,
650  ::types::blas_int * info);
651 
652  void DEAL_II_FORTRAN_MANGLE(dgetrs,
653  DGETRS)(const char * trans,
656  const double * a,
659  double * b,
661  ::types::blas_int * info);
662 
663  void DEAL_II_FORTRAN_MANGLE(cgetrs,
664  CGETRS)(const char * trans,
667  const std::complex<float> * a,
670  std::complex<float> * b,
672  ::types::blas_int * info);
673 
674  void DEAL_II_FORTRAN_MANGLE(zgetrs,
675  ZGETRS)(const char * trans,
678  const std::complex<double> * a,
681  std::complex<double> * b,
683  ::types::blas_int * info);
684 
685  float DEAL_II_FORTRAN_MANGLE(slamch, SLAMCH)(const char *cmach);
686 
687  double DEAL_II_FORTRAN_MANGLE(dlamch, DLAMCH)(const char *cmach);
688 
689  float DEAL_II_FORTRAN_MANGLE(slange,
690  SLANGE)(const char * norm,
693  const float * a,
695  float * work);
696 
697  double DEAL_II_FORTRAN_MANGLE(dlange,
698  DLANGE)(const char * norm,
701  const double * a,
703  double * work);
704 
705  float DEAL_II_FORTRAN_MANGLE(clange,
706  CLANGE)(const char * norm,
709  const std::complex<float> * a,
711  float * work);
712 
713  double DEAL_II_FORTRAN_MANGLE(zlange,
714  ZLANGE)(const char * norm,
717  const std::complex<double> * a,
719  double * work);
720 
721  float DEAL_II_FORTRAN_MANGLE(slansy,
722  SLANSY)(const char * norm,
723  const char * uplo,
725  const float * a,
727  float * work);
728 
729  double DEAL_II_FORTRAN_MANGLE(dlansy,
730  DLANSY)(const char * norm,
731  const char * uplo,
733  const double * a,
735  double * work);
736 
737  float DEAL_II_FORTRAN_MANGLE(clansy,
738  CLANSY)(const char * norm,
739  const char * uplo,
741  const std::complex<float> * a,
743  float * work);
744 
745  double DEAL_II_FORTRAN_MANGLE(zlansy,
746  ZLANSY)(const char * norm,
747  const char * uplo,
749  const std::complex<double> * a,
751  double * work);
752 
753  void DEAL_II_FORTRAN_MANGLE(slascl,
754  SLASCL)(const char * type,
757  const float * cfrom,
758  const float * cto,
761  float * a,
763  ::types::blas_int * info);
764 
765  void DEAL_II_FORTRAN_MANGLE(dlascl,
766  DLASCL)(const char * type,
769  const double * cfrom,
770  const double * cto,
773  double * a,
775  ::types::blas_int * info);
776 
777  void DEAL_II_FORTRAN_MANGLE(clascl,
778  CLASCL)(const char * type,
781  const float * cfrom,
782  const float * cto,
785  std::complex<float> * a,
787  ::types::blas_int * info);
788 
789  void DEAL_II_FORTRAN_MANGLE(zlascl,
790  ZLASCL)(const char * type,
793  const double * cfrom,
794  const double * cto,
797  std::complex<double> * a,
799  ::types::blas_int * info);
800 
801  void DEAL_II_FORTRAN_MANGLE(sorgqr,
802  SORGQR)(const ::types::blas_int *m,
805  float * a,
807  const float * tau,
808  float * work,
810  ::types::blas_int * info);
811 
812  void DEAL_II_FORTRAN_MANGLE(dorgqr,
813  DORGQR)(const ::types::blas_int *m,
816  double * a,
818  const double * tau,
819  double * work,
821  ::types::blas_int * info);
822 
823  void DEAL_II_FORTRAN_MANGLE(sormqr,
824  SORMQR)(const char * side,
825  const char * trans,
829  const float * a,
831  const float * tau,
832  float * c,
834  float * work,
836  ::types::blas_int * info);
837 
838  void DEAL_II_FORTRAN_MANGLE(dormqr,
839  DORMQR)(const char * side,
840  const char * trans,
844  const double * a,
846  const double * tau,
847  double * c,
849  double * work,
851  ::types::blas_int * info);
852 
853  void DEAL_II_FORTRAN_MANGLE(spocon,
854  SPOCON)(const char * uplo,
856  const float * a,
858  const float * anorm,
859  float * rcond,
860  float * work,
861  ::types::blas_int * iwork,
862  ::types::blas_int * info);
863 
864  void DEAL_II_FORTRAN_MANGLE(dpocon,
865  DPOCON)(const char * uplo,
867  const double * a,
869  const double * anorm,
870  double * rcond,
871  double * work,
872  ::types::blas_int * iwork,
873  ::types::blas_int * info);
874 
875  void DEAL_II_FORTRAN_MANGLE(cpocon,
876  CPOCON)(const char * uplo,
878  const std::complex<float> * a,
880  const float * anorm,
881  float * rcond,
882  std::complex<float> * work,
883  float * rwork,
884  ::types::blas_int * info);
885 
886  void DEAL_II_FORTRAN_MANGLE(zpocon,
887  ZPOCON)(const char * uplo,
889  const std::complex<double> * a,
891  const double * anorm,
892  double * rcond,
893  std::complex<double> * work,
894  double * rwork,
895  ::types::blas_int * info);
896 
897  void DEAL_II_FORTRAN_MANGLE(spotrf,
898  SPOTRF)(const char * uplo,
900  float * a,
902  ::types::blas_int * info);
903 
904  void DEAL_II_FORTRAN_MANGLE(dpotrf,
905  DPOTRF)(const char * uplo,
907  double * a,
909  ::types::blas_int * info);
910 
911  void DEAL_II_FORTRAN_MANGLE(cpotrf,
912  CPOTRF)(const char * uplo,
914  std::complex<float> * a,
916  ::types::blas_int * info);
917 
918  void DEAL_II_FORTRAN_MANGLE(zpotrf,
919  ZPOTRF)(const char * uplo,
921  std::complex<double> * a,
923  ::types::blas_int * info);
924 
925  void DEAL_II_FORTRAN_MANGLE(spotri,
926  SPOTRI)(const char * uplo,
928  float * a,
930  ::types::blas_int * info);
931 
932  void DEAL_II_FORTRAN_MANGLE(dpotri,
933  DPOTRI)(const char * uplo,
935  double * a,
937  ::types::blas_int * info);
938 
939  void DEAL_II_FORTRAN_MANGLE(cpotri,
940  CPOTRI)(const char * uplo,
942  std::complex<float> * a,
944  ::types::blas_int * info);
945 
946  void DEAL_II_FORTRAN_MANGLE(zpotri,
947  ZPOTRI)(const char * uplo,
949  std::complex<double> * a,
951  ::types::blas_int * info);
952 
953  void DEAL_II_FORTRAN_MANGLE(spotrs,
954  SPOTRS)(const char * uplo,
957  const float * a,
959  float * b,
961  ::types::blas_int * info);
962 
963  void DEAL_II_FORTRAN_MANGLE(dpotrs,
964  DPOTRS)(const char * uplo,
967  const double * a,
969  double * b,
971  ::types::blas_int * info);
972 
973  void DEAL_II_FORTRAN_MANGLE(cpotrs,
974  CPOTRS)(const char * uplo,
977  const std::complex<float> * a,
979  std::complex<float> * b,
981  ::types::blas_int * info);
982 
983  void DEAL_II_FORTRAN_MANGLE(zpotrs,
984  ZPOTRS)(const char * uplo,
987  const std::complex<double> * a,
989  std::complex<double> * b,
991  ::types::blas_int * info);
992 
993  void DEAL_II_FORTRAN_MANGLE(sstev, SSTEV)(const char * jobz,
995  float * d,
996  float * e,
997  float * z,
999  float * work,
1000  ::types::blas_int *info);
1001 
1002  void DEAL_II_FORTRAN_MANGLE(dstev, DSTEV)(const char * jobz,
1004  double * d,
1005  double * e,
1006  double * z,
1008  double * work,
1009  ::types::blas_int *info);
1010 
1011  void DEAL_II_FORTRAN_MANGLE(ssyev,
1012  SSYEV)(const char * jobz,
1013  const char * uplo,
1015  float * a,
1017  float * w,
1018  float * work,
1019  const ::types::blas_int *lwork,
1020  ::types::blas_int * info);
1021 
1022  void DEAL_II_FORTRAN_MANGLE(dsyev,
1023  DSYEV)(const char * jobz,
1024  const char * uplo,
1026  double * a,
1028  double * w,
1029  double * work,
1030  const ::types::blas_int *lwork,
1031  ::types::blas_int * info);
1032 
1033  void DEAL_II_FORTRAN_MANGLE(ssyevr,
1034  SSYEVR)(const char * jobz,
1035  const char * range,
1036  const char * uplo,
1038  float * a,
1040  const float * vl,
1041  const float * vu,
1044  const float * abstol,
1045  ::types::blas_int * m,
1046  float * w,
1047  float * z,
1049  ::types::blas_int * isuppz,
1050  float * work,
1051  const ::types::blas_int *lwork,
1052  ::types::blas_int * iwork,
1053  const ::types::blas_int *liwork,
1054  ::types::blas_int * info);
1055 
1056  void DEAL_II_FORTRAN_MANGLE(dsyevr,
1057  DSYEVR)(const char * jobz,
1058  const char * range,
1059  const char * uplo,
1061  double * a,
1063  const double * vl,
1064  const double * vu,
1067  const double * abstol,
1068  ::types::blas_int * m,
1069  double * w,
1070  double * z,
1072  ::types::blas_int * isuppz,
1073  double * work,
1074  const ::types::blas_int *lwork,
1075  ::types::blas_int * iwork,
1076  const ::types::blas_int *liwork,
1077  ::types::blas_int * info);
1078 
1079  void DEAL_II_FORTRAN_MANGLE(ssyevx,
1080  SSYEVX)(const char * jobz,
1081  const char * range,
1082  const char * uplo,
1084  float * a,
1086  const float * vl,
1087  const float * vu,
1090  const float * abstol,
1091  ::types::blas_int * m,
1092  float * w,
1093  float * z,
1095  float * work,
1096  const ::types::blas_int *lwork,
1097  ::types::blas_int * iwork,
1098  ::types::blas_int * ifail,
1099  ::types::blas_int * info);
1100 
1101  void DEAL_II_FORTRAN_MANGLE(dsyevx,
1102  DSYEVX)(const char * jobz,
1103  const char * range,
1104  const char * uplo,
1106  double * a,
1108  const double * vl,
1109  const double * vu,
1112  const double * abstol,
1113  ::types::blas_int * m,
1114  double * w,
1115  double * z,
1117  double * work,
1118  const ::types::blas_int *lwork,
1119  ::types::blas_int * iwork,
1120  ::types::blas_int * ifail,
1121  ::types::blas_int * info);
1122 
1123  void DEAL_II_FORTRAN_MANGLE(ssygv,
1124  SSYGV)(const ::types::blas_int *itype,
1125  const char * jobz,
1126  const char * uplo,
1128  float * a,
1130  float * b,
1132  float * w,
1133  float * work,
1134  const ::types::blas_int *lwork,
1135  ::types::blas_int * info);
1136 
1137  void DEAL_II_FORTRAN_MANGLE(dsygv,
1138  DSYGV)(const ::types::blas_int *itype,
1139  const char * jobz,
1140  const char * uplo,
1142  double * a,
1144  double * b,
1146  double * w,
1147  double * work,
1148  const ::types::blas_int *lwork,
1149  ::types::blas_int * info);
1150 
1151  void DEAL_II_FORTRAN_MANGLE(ssygvx,
1152  SSYGVX)(const ::types::blas_int *itype,
1153  const char * jobz,
1154  const char * range,
1155  const char * uplo,
1157  float * a,
1159  float * b,
1161  const float * vl,
1162  const float * vu,
1165  const float * abstol,
1166  ::types::blas_int * m,
1167  float * w,
1168  float * z,
1170  float * work,
1171  const ::types::blas_int *lwork,
1172  ::types::blas_int * iwork,
1173  ::types::blas_int * ifail,
1174  ::types::blas_int * info);
1175 
1176  void DEAL_II_FORTRAN_MANGLE(dsygvx,
1177  DSYGVX)(const ::types::blas_int *itype,
1178  const char * jobz,
1179  const char * range,
1180  const char * uplo,
1182  double * a,
1184  double * b,
1186  const double * vl,
1187  const double * vu,
1190  const double * abstol,
1191  ::types::blas_int * m,
1192  double * w,
1193  double * z,
1195  double * work,
1196  const ::types::blas_int *lwork,
1197  ::types::blas_int * iwork,
1198  ::types::blas_int * ifail,
1199  ::types::blas_int * info);
1200 
1201  void DEAL_II_FORTRAN_MANGLE(ssyr, SSYR)(const char * uplo,
1203  const float * alpha,
1204  const float * x,
1206  float * a,
1208 
1209  void DEAL_II_FORTRAN_MANGLE(dsyr, DSYR)(const char * uplo,
1211  const double * alpha,
1212  const double * x,
1214  double * a,
1216 
1217  void DEAL_II_FORTRAN_MANGLE(ssyrk, SSYRK)(const char *uplo,
1218  const char *trans,
1221  const float *alpha,
1222  const float *a,
1224  const float * beta,
1225  float * c,
1227 
1228  void DEAL_II_FORTRAN_MANGLE(dsyrk, DSYRK)(const char *uplo,
1229  const char *trans,
1232  const double *alpha,
1233  const double *a,
1235  const double * beta,
1236  double * c,
1238 
1239  void DEAL_II_FORTRAN_MANGLE(csyrk, CSYRK)(const char *uplo,
1240  const char *trans,
1243  const std::complex<float> *alpha,
1244  const std::complex<float> *a,
1246  const std::complex<float> * beta,
1247  std::complex<float> * c,
1249 
1250  void DEAL_II_FORTRAN_MANGLE(zsyrk, ZSYRK)(const char *uplo,
1251  const char *trans,
1254  const std::complex<double> *alpha,
1255  const std::complex<double> *a,
1257  const std::complex<double> * beta,
1258  std::complex<double> * c,
1260 
1261  void DEAL_II_FORTRAN_MANGLE(strcon,
1262  STRCON)(const char * norm,
1263  const char * uplo,
1264  const char * diag,
1266  const float * a,
1268  float * rcond,
1269  float * work,
1270  ::types::blas_int * iwork,
1271  ::types::blas_int * info);
1272 
1273  void DEAL_II_FORTRAN_MANGLE(dtrcon,
1274  DTRCON)(const char * norm,
1275  const char * uplo,
1276  const char * diag,
1278  const double * a,
1280  double * rcond,
1281  double * work,
1282  ::types::blas_int * iwork,
1283  ::types::blas_int * info);
1284 
1285  void DEAL_II_FORTRAN_MANGLE(ctrcon,
1286  CTRCON)(const char * norm,
1287  const char * uplo,
1288  const char * diag,
1290  const std::complex<float> * a,
1292  float * rcond,
1293  std::complex<float> * work,
1294  float * rwork,
1295  ::types::blas_int * info);
1296 
1297  void DEAL_II_FORTRAN_MANGLE(ztrcon,
1298  ZTRCON)(const char * norm,
1299  const char * uplo,
1300  const char * diag,
1302  const std::complex<double> * a,
1304  double * rcond,
1305  std::complex<double> * work,
1306  double * rwork,
1307  ::types::blas_int * info);
1308 
1309  void DEAL_II_FORTRAN_MANGLE(strmv,
1310  STRMV)(const char * uplo,
1311  const char * trans,
1312  const char * diag,
1314  const float * a,
1316  float * x,
1317  const ::types::blas_int *incx);
1318 
1319  void DEAL_II_FORTRAN_MANGLE(dtrmv,
1320  DTRMV)(const char * uplo,
1321  const char * trans,
1322  const char * diag,
1324  const double * a,
1326  double * x,
1327  const ::types::blas_int *incx);
1328 
1329  void DEAL_II_FORTRAN_MANGLE(ctrmv,
1330  CTRMV)(const char * uplo,
1331  const char * trans,
1332  const char * diag,
1334  const std::complex<float> * a,
1336  std::complex<float> * x,
1337  const ::types::blas_int *incx);
1338 
1339  void DEAL_II_FORTRAN_MANGLE(ztrmv,
1340  ZTRMV)(const char * uplo,
1341  const char * trans,
1342  const char * diag,
1344  const std::complex<double> * a,
1346  std::complex<double> * x,
1347  const ::types::blas_int *incx);
1348 
1349  void DEAL_II_FORTRAN_MANGLE(strtrs,
1350  STRTRS)(const char * uplo,
1351  const char * trans,
1352  const char * diag,
1355  const float * a,
1357  float * b,
1359  ::types::blas_int * info);
1360 
1361  void DEAL_II_FORTRAN_MANGLE(dtrtrs,
1362  DTRTRS)(const char * uplo,
1363  const char * trans,
1364  const char * diag,
1367  const double * a,
1369  double * b,
1371  ::types::blas_int * info);
1372 
1373  void DEAL_II_FORTRAN_MANGLE(ctrtrs,
1374  CTRTRS)(const char * uplo,
1375  const char * trans,
1376  const char * diag,
1379  const std::complex<float> * a,
1381  std::complex<float> * b,
1383  ::types::blas_int * info);
1384 
1385  void DEAL_II_FORTRAN_MANGLE(ztrtrs,
1386  ZTRTRS)(const char * uplo,
1387  const char * trans,
1388  const char * diag,
1391  const std::complex<double> * a,
1393  std::complex<double> * b,
1395  ::types::blas_int * info);
1396 }
1397 #endif
1398 
1400 
1401 
1402 
1403 template <typename number1, typename number2, typename number3>
1404 inline void
1406  const number1 *,
1407  const number2 *,
1409  number3 *,
1411 {
1412  Assert(false, ExcNotImplemented());
1413 }
1414 
1415 
1416 
1417 inline void
1419  const float * sa,
1420  const float * sx,
1422  float * sy,
1424 {
1425 #ifdef DEAL_II_WITH_LAPACK
1426  DEAL_II_FORTRAN_MANGLE(saxpy, SAXPY)(n, sa, sx, incx, sy, incy);
1427 #else
1428  (void)n;
1429  (void)sa;
1430  (void)sx;
1431  (void)incx;
1432  (void)sy;
1433  (void)incy;
1434  Assert(false, LAPACKSupport::ExcMissing("saxpy"));
1435 #endif // DEAL_II_WITH_LAPACK
1436 }
1437 
1438 
1439 
1440 inline void
1442  const double * da,
1443  const double * dx,
1445  double * dy,
1447 {
1448 #ifdef DEAL_II_WITH_LAPACK
1449  DEAL_II_FORTRAN_MANGLE(daxpy, DAXPY)(n, da, dx, incx, dy, incy);
1450 #else
1451  (void)n;
1452  (void)da;
1453  (void)dx;
1454  (void)incx;
1455  (void)dy;
1456  (void)incy;
1457  Assert(false, LAPACKSupport::ExcMissing("daxpy"));
1458 #endif // DEAL_II_WITH_LAPACK
1459 }
1460 
1461 
1462 
1463 inline void
1465  const std::complex<float> * ca,
1466  const std::complex<float> * cx,
1468  std::complex<float> * cy,
1470 {
1471 #ifdef DEAL_II_WITH_LAPACK
1472  DEAL_II_FORTRAN_MANGLE(caxpy, CAXPY)(n, ca, cx, incx, cy, incy);
1473 #else
1474  (void)n;
1475  (void)ca;
1476  (void)cx;
1477  (void)incx;
1478  (void)cy;
1479  (void)incy;
1480  Assert(false, LAPACKSupport::ExcMissing("caxpy"));
1481 #endif // DEAL_II_WITH_LAPACK
1482 }
1483 
1484 
1485 
1486 inline void
1488  const std::complex<double> * za,
1489  const std::complex<double> * zx,
1491  std::complex<double> * zy,
1493 {
1494 #ifdef DEAL_II_WITH_LAPACK
1495  DEAL_II_FORTRAN_MANGLE(zaxpy, ZAXPY)(n, za, zx, incx, zy, incy);
1496 #else
1497  (void)n;
1498  (void)za;
1499  (void)zx;
1500  (void)incx;
1501  (void)zy;
1502  (void)incy;
1503  Assert(false, LAPACKSupport::ExcMissing("zaxpy"));
1504 #endif // DEAL_II_WITH_LAPACK
1505 }
1506 
1507 
1508 
1509 template <typename number1,
1510  typename number2,
1511  typename number3,
1512  typename number4,
1513  typename number5,
1514  typename number6>
1515 inline void
1516 geev(const char *,
1517  const char *,
1519  number1 *,
1521  number2 *,
1522  number3 *,
1523  number4 *,
1525  number5 *,
1527  number6 *,
1529  ::types::blas_int *)
1530 {
1531  Assert(false, ExcNotImplemented());
1532 }
1533 
1534 
1535 
1536 inline void
1537 geev(const char * jobvl,
1538  const char * jobvr,
1540  float * a,
1542  float * wr,
1543  float * wi,
1544  float * vl,
1546  float * vr,
1548  float * work,
1549  const ::types::blas_int *lwork,
1550  ::types::blas_int * info)
1551 {
1552 #ifdef DEAL_II_WITH_LAPACK
1553  DEAL_II_FORTRAN_MANGLE(sgeev, SGEEV)
1554  (jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
1555 #else
1556  (void)jobvl;
1557  (void)jobvr;
1558  (void)n;
1559  (void)a;
1560  (void)lda;
1561  (void)wr;
1562  (void)wi;
1563  (void)vl;
1564  (void)ldvl;
1565  (void)vr;
1566  (void)ldvr;
1567  (void)work;
1568  (void)lwork;
1569  (void)info;
1570  Assert(false, LAPACKSupport::ExcMissing("sgeev"));
1571 #endif // DEAL_II_WITH_LAPACK
1572 }
1573 
1574 
1575 
1576 inline void
1577 geev(const char * jobvl,
1578  const char * jobvr,
1580  double * a,
1582  double * wr,
1583  double * wi,
1584  double * vl,
1586  double * vr,
1588  double * work,
1589  const ::types::blas_int *lwork,
1590  ::types::blas_int * info)
1591 {
1592 #ifdef DEAL_II_WITH_LAPACK
1593  DEAL_II_FORTRAN_MANGLE(dgeev, DGEEV)
1594  (jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
1595 #else
1596  (void)jobvl;
1597  (void)jobvr;
1598  (void)n;
1599  (void)a;
1600  (void)lda;
1601  (void)wr;
1602  (void)wi;
1603  (void)vl;
1604  (void)ldvl;
1605  (void)vr;
1606  (void)ldvr;
1607  (void)work;
1608  (void)lwork;
1609  (void)info;
1610  Assert(false, LAPACKSupport::ExcMissing("dgeev"));
1611 #endif // DEAL_II_WITH_LAPACK
1612 }
1613 
1614 
1615 
1616 inline void
1617 geev(const char * jobvl,
1618  const char * jobvr,
1620  std::complex<float> * a,
1622  std::complex<float> * w,
1623  std::complex<float> * vl,
1625  std::complex<float> * vr,
1627  std::complex<float> * work,
1628  const ::types::blas_int *lwork,
1629  float * rwork,
1630  ::types::blas_int * info)
1631 {
1632 #ifdef DEAL_II_WITH_LAPACK
1633  DEAL_II_FORTRAN_MANGLE(cgeev, CGEEV)
1634  (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
1635 #else
1636  (void)jobvl;
1637  (void)jobvr;
1638  (void)n;
1639  (void)a;
1640  (void)lda;
1641  (void)w;
1642  (void)vl;
1643  (void)ldvl;
1644  (void)vr;
1645  (void)ldvr;
1646  (void)work;
1647  (void)lwork;
1648  (void)rwork;
1649  (void)info;
1650  Assert(false, LAPACKSupport::ExcMissing("cgeev"));
1651 #endif // DEAL_II_WITH_LAPACK
1652 }
1653 
1654 
1655 
1656 inline void
1657 geev(const char * jobvl,
1658  const char * jobvr,
1660  std::complex<double> * a,
1662  std::complex<double> * w,
1663  std::complex<double> * vl,
1665  std::complex<double> * vr,
1667  std::complex<double> * work,
1668  const ::types::blas_int *lwork,
1669  double * rwork,
1670  ::types::blas_int * info)
1671 {
1672 #ifdef DEAL_II_WITH_LAPACK
1673  DEAL_II_FORTRAN_MANGLE(zgeev, ZGEEV)
1674  (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
1675 #else
1676  (void)jobvl;
1677  (void)jobvr;
1678  (void)n;
1679  (void)a;
1680  (void)lda;
1681  (void)w;
1682  (void)vl;
1683  (void)ldvl;
1684  (void)vr;
1685  (void)ldvr;
1686  (void)work;
1687  (void)lwork;
1688  (void)rwork;
1689  (void)info;
1690  Assert(false, LAPACKSupport::ExcMissing("zgeev"));
1691 #endif // DEAL_II_WITH_LAPACK
1692 }
1693 
1694 
1695 
1696 template <typename number1,
1697  typename number2,
1698  typename number3,
1699  typename number4,
1700  typename number5,
1701  typename number6,
1702  typename number7,
1703  typename number8,
1704  typename number9,
1705  typename number10>
1706 inline void
1707 geevx(const char *,
1708  const char *,
1709  const char *,
1710  const char *,
1712  number1 *,
1714  number2 *,
1715  number3 *,
1716  number4 *,
1718  number5 *,
1720  ::types::blas_int *,
1721  ::types::blas_int *,
1722  number6 *,
1723  number7 *,
1724  number8 *,
1725  number9 *,
1726  number10 *,
1728  ::types::blas_int *,
1729  ::types::blas_int *)
1730 {
1731  Assert(false, ExcNotImplemented());
1732 }
1733 
1734 
1735 
1736 inline void
1737 geevx(const char * balanc,
1738  const char * jobvl,
1739  const char * jobvr,
1740  const char * sense,
1742  float * a,
1744  float * wr,
1745  float * wi,
1746  float * vl,
1748  float * vr,
1750  ::types::blas_int * ilo,
1751  ::types::blas_int * ihi,
1752  float * scale,
1753  float * abnrm,
1754  float * rconde,
1755  float * rcondv,
1756  float * work,
1757  const ::types::blas_int *lwork,
1758  ::types::blas_int * iwork,
1759  ::types::blas_int * info)
1760 {
1761 #ifdef DEAL_II_WITH_LAPACK
1762  DEAL_II_FORTRAN_MANGLE(sgeevx, SGEEVX)
1763  (balanc,
1764  jobvl,
1765  jobvr,
1766  sense,
1767  n,
1768  a,
1769  lda,
1770  wr,
1771  wi,
1772  vl,
1773  ldvl,
1774  vr,
1775  ldvr,
1776  ilo,
1777  ihi,
1778  scale,
1779  abnrm,
1780  rconde,
1781  rcondv,
1782  work,
1783  lwork,
1784  iwork,
1785  info);
1786 #else
1787  (void)balanc;
1788  (void)jobvl;
1789  (void)jobvr;
1790  (void)sense;
1791  (void)n;
1792  (void)a;
1793  (void)lda;
1794  (void)wr;
1795  (void)wi;
1796  (void)vl;
1797  (void)ldvl;
1798  (void)vr;
1799  (void)ldvr;
1800  (void)ilo;
1801  (void)ihi;
1802  (void)scale;
1803  (void)abnrm;
1804  (void)rconde;
1805  (void)rcondv;
1806  (void)work;
1807  (void)lwork;
1808  (void)iwork;
1809  (void)info;
1810  Assert(false, LAPACKSupport::ExcMissing("sgeevx"));
1811 #endif // DEAL_II_WITH_LAPACK
1812 }
1813 
1814 
1815 
1816 inline void
1817 geevx(const char * balanc,
1818  const char * jobvl,
1819  const char * jobvr,
1820  const char * sense,
1822  double * a,
1824  double * wr,
1825  double * wi,
1826  double * vl,
1828  double * vr,
1830  ::types::blas_int * ilo,
1831  ::types::blas_int * ihi,
1832  double * scale,
1833  double * abnrm,
1834  double * rconde,
1835  double * rcondv,
1836  double * work,
1837  const ::types::blas_int *lwork,
1838  ::types::blas_int * iwork,
1839  ::types::blas_int * info)
1840 {
1841 #ifdef DEAL_II_WITH_LAPACK
1842  DEAL_II_FORTRAN_MANGLE(dgeevx, DGEEVX)
1843  (balanc,
1844  jobvl,
1845  jobvr,
1846  sense,
1847  n,
1848  a,
1849  lda,
1850  wr,
1851  wi,
1852  vl,
1853  ldvl,
1854  vr,
1855  ldvr,
1856  ilo,
1857  ihi,
1858  scale,
1859  abnrm,
1860  rconde,
1861  rcondv,
1862  work,
1863  lwork,
1864  iwork,
1865  info);
1866 #else
1867  (void)balanc;
1868  (void)jobvl;
1869  (void)jobvr;
1870  (void)sense;
1871  (void)n;
1872  (void)a;
1873  (void)lda;
1874  (void)wr;
1875  (void)wi;
1876  (void)vl;
1877  (void)ldvl;
1878  (void)vr;
1879  (void)ldvr;
1880  (void)ilo;
1881  (void)ihi;
1882  (void)scale;
1883  (void)abnrm;
1884  (void)rconde;
1885  (void)rcondv;
1886  (void)work;
1887  (void)lwork;
1888  (void)iwork;
1889  (void)info;
1890  Assert(false, LAPACKSupport::ExcMissing("dgeevx"));
1891 #endif // DEAL_II_WITH_LAPACK
1892 }
1893 
1894 
1895 
1896 inline void
1897 geevx(const char * balanc,
1898  const char * jobvl,
1899  const char * jobvr,
1900  const char * sense,
1902  std::complex<float> * a,
1904  std::complex<float> * w,
1905  std::complex<float> * vl,
1907  std::complex<float> * vr,
1909  ::types::blas_int * ilo,
1910  ::types::blas_int * ihi,
1911  float * scale,
1912  float * abnrm,
1913  float * rconde,
1914  float * rcondv,
1915  std::complex<float> * work,
1916  const ::types::blas_int *lwork,
1917  float * rwork,
1918  ::types::blas_int * info)
1919 {
1920 #ifdef DEAL_II_WITH_LAPACK
1921  DEAL_II_FORTRAN_MANGLE(cgeevx, CGEEVX)
1922  (balanc,
1923  jobvl,
1924  jobvr,
1925  sense,
1926  n,
1927  a,
1928  lda,
1929  w,
1930  vl,
1931  ldvl,
1932  vr,
1933  ldvr,
1934  ilo,
1935  ihi,
1936  scale,
1937  abnrm,
1938  rconde,
1939  rcondv,
1940  work,
1941  lwork,
1942  rwork,
1943  info);
1944 #else
1945  (void)balanc;
1946  (void)jobvl;
1947  (void)jobvr;
1948  (void)sense;
1949  (void)n;
1950  (void)a;
1951  (void)lda;
1952  (void)w;
1953  (void)vl;
1954  (void)ldvl;
1955  (void)vr;
1956  (void)ldvr;
1957  (void)ilo;
1958  (void)ihi;
1959  (void)scale;
1960  (void)abnrm;
1961  (void)rconde;
1962  (void)rcondv;
1963  (void)work;
1964  (void)lwork;
1965  (void)rwork;
1966  (void)info;
1967  Assert(false, LAPACKSupport::ExcMissing("cgeevx"));
1968 #endif // DEAL_II_WITH_LAPACK
1969 }
1970 
1971 
1972 
1973 inline void
1974 geevx(const char * balanc,
1975  const char * jobvl,
1976  const char * jobvr,
1977  const char * sense,
1979  std::complex<double> * a,
1981  std::complex<double> * w,
1982  std::complex<double> * vl,
1984  std::complex<double> * vr,
1986  ::types::blas_int * ilo,
1987  ::types::blas_int * ihi,
1988  double * scale,
1989  double * abnrm,
1990  double * rconde,
1991  double * rcondv,
1992  std::complex<double> * work,
1993  const ::types::blas_int *lwork,
1994  double * rwork,
1995  ::types::blas_int * info)
1996 {
1997 #ifdef DEAL_II_WITH_LAPACK
1998  DEAL_II_FORTRAN_MANGLE(zgeevx, ZGEEVX)
1999  (balanc,
2000  jobvl,
2001  jobvr,
2002  sense,
2003  n,
2004  a,
2005  lda,
2006  w,
2007  vl,
2008  ldvl,
2009  vr,
2010  ldvr,
2011  ilo,
2012  ihi,
2013  scale,
2014  abnrm,
2015  rconde,
2016  rcondv,
2017  work,
2018  lwork,
2019  rwork,
2020  info);
2021 #else
2022  (void)balanc;
2023  (void)jobvl;
2024  (void)jobvr;
2025  (void)sense;
2026  (void)n;
2027  (void)a;
2028  (void)lda;
2029  (void)w;
2030  (void)vl;
2031  (void)ldvl;
2032  (void)vr;
2033  (void)ldvr;
2034  (void)ilo;
2035  (void)ihi;
2036  (void)scale;
2037  (void)abnrm;
2038  (void)rconde;
2039  (void)rcondv;
2040  (void)work;
2041  (void)lwork;
2042  (void)rwork;
2043  (void)info;
2044  Assert(false, LAPACKSupport::ExcMissing("zgeevx"));
2045 #endif // DEAL_II_WITH_LAPACK
2046 }
2047 
2048 
2049 
2050 template <typename number1,
2051  typename number2,
2052  typename number3,
2053  typename number4,
2054  typename number5>
2055 inline void
2059  number1 *,
2061  number2 *,
2063  number3 *,
2064  const number4 *,
2065  ::types::blas_int *,
2066  number5 *,
2068  ::types::blas_int *,
2069  ::types::blas_int *)
2070 {
2071  Assert(false, ExcNotImplemented());
2072 }
2073 
2074 
2075 
2076 inline void
2080  float * a,
2082  float * b,
2084  float * s,
2085  const float * rcond,
2086  ::types::blas_int * rank,
2087  float * work,
2088  const ::types::blas_int *lwork,
2089  ::types::blas_int * iwork,
2090  ::types::blas_int * info)
2091 {
2092 #ifdef DEAL_II_WITH_LAPACK
2093  DEAL_II_FORTRAN_MANGLE(sgelsd, SGELSD)
2094  (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info);
2095 #else
2096  (void)m;
2097  (void)n;
2098  (void)nrhs;
2099  (void)a;
2100  (void)lda;
2101  (void)b;
2102  (void)ldb;
2103  (void)s;
2104  (void)rcond;
2105  (void)rank;
2106  (void)work;
2107  (void)lwork;
2108  (void)iwork;
2109  (void)info;
2110  Assert(false, LAPACKSupport::ExcMissing("sgelsd"));
2111 #endif // DEAL_II_WITH_LAPACK
2112 }
2113 
2114 
2115 
2116 inline void
2120  double * a,
2122  double * b,
2124  double * s,
2125  const double * rcond,
2126  ::types::blas_int * rank,
2127  double * work,
2128  const ::types::blas_int *lwork,
2129  ::types::blas_int * iwork,
2130  ::types::blas_int * info)
2131 {
2132 #ifdef DEAL_II_WITH_LAPACK
2133  DEAL_II_FORTRAN_MANGLE(dgelsd, DGELSD)
2134  (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info);
2135 #else
2136  (void)m;
2137  (void)n;
2138  (void)nrhs;
2139  (void)a;
2140  (void)lda;
2141  (void)b;
2142  (void)ldb;
2143  (void)s;
2144  (void)rcond;
2145  (void)rank;
2146  (void)work;
2147  (void)lwork;
2148  (void)iwork;
2149  (void)info;
2150  Assert(false, LAPACKSupport::ExcMissing("dgelsd"));
2151 #endif // DEAL_II_WITH_LAPACK
2152 }
2153 
2154 
2155 
2156 inline void
2160  std::complex<float> * a,
2162  std::complex<float> * b,
2164  float * s,
2165  const float * rcond,
2166  ::types::blas_int * rank,
2167  std::complex<float> * work,
2168  const ::types::blas_int *lwork,
2169  float * rwork,
2170  ::types::blas_int * iwork,
2171  ::types::blas_int * info)
2172 {
2173 #ifdef DEAL_II_WITH_LAPACK
2174  DEAL_II_FORTRAN_MANGLE(cgelsd, CGELSD)
2175  (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info);
2176 #else
2177  (void)m;
2178  (void)n;
2179  (void)nrhs;
2180  (void)a;
2181  (void)lda;
2182  (void)b;
2183  (void)ldb;
2184  (void)s;
2185  (void)rcond;
2186  (void)rank;
2187  (void)work;
2188  (void)lwork;
2189  (void)rwork;
2190  (void)iwork;
2191  (void)info;
2192  Assert(false, LAPACKSupport::ExcMissing("cgelsd"));
2193 #endif // DEAL_II_WITH_LAPACK
2194 }
2195 
2196 
2197 
2198 inline void
2202  std::complex<double> * a,
2204  std::complex<double> * b,
2206  double * s,
2207  const double * rcond,
2208  ::types::blas_int * rank,
2209  std::complex<double> * work,
2210  const ::types::blas_int *lwork,
2211  double * rwork,
2212  ::types::blas_int * iwork,
2213  ::types::blas_int * info)
2214 {
2215 #ifdef DEAL_II_WITH_LAPACK
2216  DEAL_II_FORTRAN_MANGLE(zgelsd, ZGELSD)
2217  (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info);
2218 #else
2219  (void)m;
2220  (void)n;
2221  (void)nrhs;
2222  (void)a;
2223  (void)lda;
2224  (void)b;
2225  (void)ldb;
2226  (void)s;
2227  (void)rcond;
2228  (void)rank;
2229  (void)work;
2230  (void)lwork;
2231  (void)rwork;
2232  (void)iwork;
2233  (void)info;
2234  Assert(false, LAPACKSupport::ExcMissing("zgelsd"));
2235 #endif // DEAL_II_WITH_LAPACK
2236 }
2237 
2238 
2239 
2240 template <typename number1,
2241  typename number2,
2242  typename number3,
2243  typename number4,
2244  typename number5>
2245 inline void
2246 gemm(const char *,
2247  const char *,
2251  const number1 *,
2252  const number2 *,
2254  const number3 *,
2256  const number4 *,
2257  number5 *,
2259 {
2260  Assert(false, ExcNotImplemented());
2261 }
2262 
2263 
2264 
2265 inline void
2266 gemm(const char * transa,
2267  const char * transb,
2271  const float * alpha,
2272  const float * a,
2274  const float * b,
2276  const float * beta,
2277  float * c,
2279 {
2280 #ifdef DEAL_II_WITH_LAPACK
2281  DEAL_II_FORTRAN_MANGLE(sgemm, SGEMM)
2282  (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2283 #else
2284  (void)transa;
2285  (void)transb;
2286  (void)m;
2287  (void)n;
2288  (void)k;
2289  (void)alpha;
2290  (void)a;
2291  (void)lda;
2292  (void)b;
2293  (void)ldb;
2294  (void)beta;
2295  (void)c;
2296  (void)ldc;
2297  Assert(false, LAPACKSupport::ExcMissing("sgemm"));
2298 #endif // DEAL_II_WITH_LAPACK
2299 }
2300 
2301 
2302 
2303 inline void
2304 gemm(const char * transa,
2305  const char * transb,
2309  const double * alpha,
2310  const double * a,
2312  const double * b,
2314  const double * beta,
2315  double * c,
2317 {
2318 #ifdef DEAL_II_WITH_LAPACK
2319  DEAL_II_FORTRAN_MANGLE(dgemm, DGEMM)
2320  (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2321 #else
2322  (void)transa;
2323  (void)transb;
2324  (void)m;
2325  (void)n;
2326  (void)k;
2327  (void)alpha;
2328  (void)a;
2329  (void)lda;
2330  (void)b;
2331  (void)ldb;
2332  (void)beta;
2333  (void)c;
2334  (void)ldc;
2335  Assert(false, LAPACKSupport::ExcMissing("dgemm"));
2336 #endif // DEAL_II_WITH_LAPACK
2337 }
2338 
2339 
2340 
2341 inline void
2342 gemm(const char * transa,
2343  const char * transb,
2347  const std::complex<float> * alpha,
2348  const std::complex<float> * a,
2350  const std::complex<float> * b,
2352  const std::complex<float> * beta,
2353  std::complex<float> * c,
2355 {
2356 #ifdef DEAL_II_WITH_LAPACK
2357  DEAL_II_FORTRAN_MANGLE(cgemm, CGEMM)
2358  (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2359 #else
2360  (void)transa;
2361  (void)transb;
2362  (void)m;
2363  (void)n;
2364  (void)k;
2365  (void)alpha;
2366  (void)a;
2367  (void)lda;
2368  (void)b;
2369  (void)ldb;
2370  (void)beta;
2371  (void)c;
2372  (void)ldc;
2373  Assert(false, LAPACKSupport::ExcMissing("cgemm"));
2374 #endif // DEAL_II_WITH_LAPACK
2375 }
2376 
2377 
2378 
2379 inline void
2380 gemm(const char * transa,
2381  const char * transb,
2385  const std::complex<double> * alpha,
2386  const std::complex<double> * a,
2388  const std::complex<double> * b,
2390  const std::complex<double> * beta,
2391  std::complex<double> * c,
2393 {
2394 #ifdef DEAL_II_WITH_LAPACK
2395  DEAL_II_FORTRAN_MANGLE(zgemm, ZGEMM)
2396  (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2397 #else
2398  (void)transa;
2399  (void)transb;
2400  (void)m;
2401  (void)n;
2402  (void)k;
2403  (void)alpha;
2404  (void)a;
2405  (void)lda;
2406  (void)b;
2407  (void)ldb;
2408  (void)beta;
2409  (void)c;
2410  (void)ldc;
2411  Assert(false, LAPACKSupport::ExcMissing("zgemm"));
2412 #endif // DEAL_II_WITH_LAPACK
2413 }
2414 
2415 
2416 
2417 template <typename number1,
2418  typename number2,
2419  typename number3,
2420  typename number4,
2421  typename number5>
2422 inline void
2423 gemv(const char *,
2426  const number1 *,
2427  const number2 *,
2429  const number3 *,
2431  const number4 *,
2432  number5 *,
2434 {
2435  Assert(false, ExcNotImplemented());
2436 }
2437 
2438 
2439 
2440 inline void
2441 gemv(const char * trans,
2444  const float * alpha,
2445  const float * a,
2447  const float * x,
2449  const float * beta,
2450  float * y,
2452 {
2453 #ifdef DEAL_II_WITH_LAPACK
2454  DEAL_II_FORTRAN_MANGLE(sgemv, SGEMV)
2455  (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2456 #else
2457  (void)trans;
2458  (void)m;
2459  (void)n;
2460  (void)alpha;
2461  (void)a;
2462  (void)lda;
2463  (void)x;
2464  (void)incx;
2465  (void)beta;
2466  (void)y;
2467  (void)incy;
2468  Assert(false, LAPACKSupport::ExcMissing("sgemv"));
2469 #endif // DEAL_II_WITH_LAPACK
2470 }
2471 
2472 
2473 
2474 inline void
2475 gemv(const char * trans,
2478  const double * alpha,
2479  const double * a,
2481  const double * x,
2483  const double * beta,
2484  double * y,
2486 {
2487 #ifdef DEAL_II_WITH_LAPACK
2488  DEAL_II_FORTRAN_MANGLE(dgemv, DGEMV)
2489  (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2490 #else
2491  (void)trans;
2492  (void)m;
2493  (void)n;
2494  (void)alpha;
2495  (void)a;
2496  (void)lda;
2497  (void)x;
2498  (void)incx;
2499  (void)beta;
2500  (void)y;
2501  (void)incy;
2502  Assert(false, LAPACKSupport::ExcMissing("dgemv"));
2503 #endif // DEAL_II_WITH_LAPACK
2504 }
2505 
2506 
2507 
2508 inline void
2509 gemv(const char * trans,
2512  const std::complex<float> * alpha,
2513  const std::complex<float> * a,
2515  const std::complex<float> * x,
2517  const std::complex<float> * beta,
2518  std::complex<float> * y,
2520 {
2521 #ifdef DEAL_II_WITH_LAPACK
2522  DEAL_II_FORTRAN_MANGLE(cgemv, CGEMV)
2523  (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2524 #else
2525  (void)trans;
2526  (void)m;
2527  (void)n;
2528  (void)alpha;
2529  (void)a;
2530  (void)lda;
2531  (void)x;
2532  (void)incx;
2533  (void)beta;
2534  (void)y;
2535  (void)incy;
2536  Assert(false, LAPACKSupport::ExcMissing("cgemv"));
2537 #endif // DEAL_II_WITH_LAPACK
2538 }
2539 
2540 
2541 
2542 inline void
2543 gemv(const char * trans,
2546  const std::complex<double> * alpha,
2547  const std::complex<double> * a,
2549  const std::complex<double> * x,
2551  const std::complex<double> * beta,
2552  std::complex<double> * y,
2554 {
2555 #ifdef DEAL_II_WITH_LAPACK
2556  DEAL_II_FORTRAN_MANGLE(zgemv, ZGEMV)
2557  (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2558 #else
2559  (void)trans;
2560  (void)m;
2561  (void)n;
2562  (void)alpha;
2563  (void)a;
2564  (void)lda;
2565  (void)x;
2566  (void)incx;
2567  (void)beta;
2568  (void)y;
2569  (void)incy;
2570  Assert(false, LAPACKSupport::ExcMissing("zgemv"));
2571 #endif // DEAL_II_WITH_LAPACK
2572 }
2573 
2574 
2575 
2576 template <typename number1, typename number2, typename number3>
2577 inline void
2580  number1 *,
2582  number2 *,
2583  number3 *,
2585  ::types::blas_int *)
2586 {
2587  Assert(false, ExcNotImplemented());
2588 }
2589 
2590 
2591 
2592 inline void
2595  float * a,
2597  float * tau,
2598  float * work,
2599  const ::types::blas_int *lwork,
2600  ::types::blas_int * info)
2601 {
2602 #ifdef DEAL_II_WITH_LAPACK
2603  DEAL_II_FORTRAN_MANGLE(sgeqrf, SGEQRF)(m, n, a, lda, tau, work, lwork, info);
2604 #else
2605  (void)m;
2606  (void)n;
2607  (void)a;
2608  (void)lda;
2609  (void)tau;
2610  (void)work;
2611  (void)lwork;
2612  (void)info;
2613  Assert(false, LAPACKSupport::ExcMissing("sgeqrf"));
2614 #endif // DEAL_II_WITH_LAPACK
2615 }
2616 
2617 
2618 
2619 inline void
2622  double * a,
2624  double * tau,
2625  double * work,
2626  const ::types::blas_int *lwork,
2627  ::types::blas_int * info)
2628 {
2629 #ifdef DEAL_II_WITH_LAPACK
2630  DEAL_II_FORTRAN_MANGLE(dgeqrf, DGEQRF)(m, n, a, lda, tau, work, lwork, info);
2631 #else
2632  (void)m;
2633  (void)n;
2634  (void)a;
2635  (void)lda;
2636  (void)tau;
2637  (void)work;
2638  (void)lwork;
2639  (void)info;
2640  Assert(false, LAPACKSupport::ExcMissing("dgeqrf"));
2641 #endif // DEAL_II_WITH_LAPACK
2642 }
2643 
2644 
2645 
2646 inline void
2649  std::complex<float> * a,
2651  std::complex<float> * tau,
2652  std::complex<float> * work,
2653  const ::types::blas_int *lwork,
2654  ::types::blas_int * info)
2655 {
2656 #ifdef DEAL_II_WITH_LAPACK
2657  DEAL_II_FORTRAN_MANGLE(cgeqrf, CGEQRF)(m, n, a, lda, tau, work, lwork, info);
2658 #else
2659  (void)m;
2660  (void)n;
2661  (void)a;
2662  (void)lda;
2663  (void)tau;
2664  (void)work;
2665  (void)lwork;
2666  (void)info;
2667  Assert(false, LAPACKSupport::ExcMissing("cgeqrf"));
2668 #endif // DEAL_II_WITH_LAPACK
2669 }
2670 
2671 
2672 
2673 inline void
2676  std::complex<double> * a,
2678  std::complex<double> * tau,
2679  std::complex<double> * work,
2680  const ::types::blas_int *lwork,
2681  ::types::blas_int * info)
2682 {
2683 #ifdef DEAL_II_WITH_LAPACK
2684  DEAL_II_FORTRAN_MANGLE(zgeqrf, ZGEQRF)(m, n, a, lda, tau, work, lwork, info);
2685 #else
2686  (void)m;
2687  (void)n;
2688  (void)a;
2689  (void)lda;
2690  (void)tau;
2691  (void)work;
2692  (void)lwork;
2693  (void)info;
2694  Assert(false, LAPACKSupport::ExcMissing("zgeqrf"));
2695 #endif // DEAL_II_WITH_LAPACK
2696 }
2697 
2698 
2699 
2700 template <typename number1,
2701  typename number2,
2702  typename number3,
2703  typename number4,
2704  typename number5>
2705 inline void
2706 gesdd(const char *,
2709  number1 *,
2711  number2 *,
2712  number3 *,
2714  number4 *,
2716  number5 *,
2718  ::types::blas_int *,
2719  ::types::blas_int *)
2720 {
2721  Assert(false, ExcNotImplemented());
2722 }
2723 
2724 
2725 
2726 inline void
2727 gesdd(const char * jobz,
2730  float * a,
2732  float * s,
2733  float * u,
2735  float * vt,
2737  float * work,
2738  const ::types::blas_int *lwork,
2739  ::types::blas_int * iwork,
2740  ::types::blas_int * info)
2741 {
2742 #ifdef DEAL_II_WITH_LAPACK
2743  DEAL_II_FORTRAN_MANGLE(sgesdd, SGESDD)
2744  (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
2745 #else
2746  (void)jobz;
2747  (void)m;
2748  (void)n;
2749  (void)a;
2750  (void)lda;
2751  (void)s;
2752  (void)u;
2753  (void)ldu;
2754  (void)vt;
2755  (void)ldvt;
2756  (void)work;
2757  (void)lwork;
2758  (void)iwork;
2759  (void)info;
2760  Assert(false, LAPACKSupport::ExcMissing("sgesdd"));
2761 #endif // DEAL_II_WITH_LAPACK
2762 }
2763 
2764 
2765 
2766 inline void
2767 gesdd(const char * jobz,
2770  double * a,
2772  double * s,
2773  double * u,
2775  double * vt,
2777  double * work,
2778  const ::types::blas_int *lwork,
2779  ::types::blas_int * iwork,
2780  ::types::blas_int * info)
2781 {
2782 #ifdef DEAL_II_WITH_LAPACK
2783  DEAL_II_FORTRAN_MANGLE(dgesdd, DGESDD)
2784  (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
2785 #else
2786  (void)jobz;
2787  (void)m;
2788  (void)n;
2789  (void)a;
2790  (void)lda;
2791  (void)s;
2792  (void)u;
2793  (void)ldu;
2794  (void)vt;
2795  (void)ldvt;
2796  (void)work;
2797  (void)lwork;
2798  (void)iwork;
2799  (void)info;
2800  Assert(false, LAPACKSupport::ExcMissing("dgesdd"));
2801 #endif // DEAL_II_WITH_LAPACK
2802 }
2803 
2804 
2805 
2806 inline void
2807 gesdd(const char * jobz,
2810  std::complex<float> * a,
2812  float * s,
2813  std::complex<float> * u,
2815  std::complex<float> * vt,
2817  std::complex<float> * work,
2818  const ::types::blas_int *lwork,
2819  float * rwork,
2820  ::types::blas_int * iwork,
2821  ::types::blas_int * info)
2822 {
2823 #ifdef DEAL_II_WITH_LAPACK
2824  DEAL_II_FORTRAN_MANGLE(cgesdd, CGESDD)
2825  (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
2826 #else
2827  (void)jobz;
2828  (void)m;
2829  (void)n;
2830  (void)a;
2831  (void)lda;
2832  (void)s;
2833  (void)u;
2834  (void)ldu;
2835  (void)vt;
2836  (void)ldvt;
2837  (void)work;
2838  (void)lwork;
2839  (void)rwork;
2840  (void)iwork;
2841  (void)info;
2842  Assert(false, LAPACKSupport::ExcMissing("cgesdd"));
2843 #endif // DEAL_II_WITH_LAPACK
2844 }
2845 
2846 
2847 
2848 inline void
2849 gesdd(const char * jobz,
2852  std::complex<double> * a,
2854  double * s,
2855  std::complex<double> * u,
2857  std::complex<double> * vt,
2859  std::complex<double> * work,
2860  const ::types::blas_int *lwork,
2861  double * rwork,
2862  ::types::blas_int * iwork,
2863  ::types::blas_int * info)
2864 {
2865 #ifdef DEAL_II_WITH_LAPACK
2866  DEAL_II_FORTRAN_MANGLE(zgesdd, ZGESDD)
2867  (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
2868 #else
2869  (void)jobz;
2870  (void)m;
2871  (void)n;
2872  (void)a;
2873  (void)lda;
2874  (void)s;
2875  (void)u;
2876  (void)ldu;
2877  (void)vt;
2878  (void)ldvt;
2879  (void)work;
2880  (void)lwork;
2881  (void)rwork;
2882  (void)iwork;
2883  (void)info;
2884  Assert(false, LAPACKSupport::ExcMissing("zgesdd"));
2885 #endif // DEAL_II_WITH_LAPACK
2886 }
2887 
2888 
2889 
2890 template <typename number1,
2891  typename number2,
2892  typename number3,
2893  typename number4,
2894  typename number5>
2895 inline void
2896 gesvd(const char *,
2897  const char *,
2900  number1 *,
2902  number2 *,
2903  number3 *,
2905  number4 *,
2907  number5 *,
2909  ::types::blas_int *)
2910 {
2911  Assert(false, ExcNotImplemented());
2912 }
2913 
2914 
2915 
2916 inline void
2917 gesvd(const char * jobu,
2918  const char * jobvt,
2921  float * a,
2923  float * s,
2924  float * u,
2926  float * vt,
2928  float * work,
2929  const ::types::blas_int *lwork,
2930  ::types::blas_int * info)
2931 {
2932 #ifdef DEAL_II_WITH_LAPACK
2933  DEAL_II_FORTRAN_MANGLE(sgesvd, SGESVD)
2934  (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
2935 #else
2936  (void)jobu;
2937  (void)jobvt;
2938  (void)m;
2939  (void)n;
2940  (void)a;
2941  (void)lda;
2942  (void)s;
2943  (void)u;
2944  (void)ldu;
2945  (void)vt;
2946  (void)ldvt;
2947  (void)work;
2948  (void)lwork;
2949  (void)info;
2950  Assert(false, LAPACKSupport::ExcMissing("sgesvd"));
2951 #endif // DEAL_II_WITH_LAPACK
2952 }
2953 
2954 
2955 
2956 inline void
2957 gesvd(const char * jobu,
2958  const char * jobvt,
2961  double * a,
2963  double * s,
2964  double * u,
2966  double * vt,
2968  double * work,
2969  const ::types::blas_int *lwork,
2970  ::types::blas_int * info)
2971 {
2972 #ifdef DEAL_II_WITH_LAPACK
2973  DEAL_II_FORTRAN_MANGLE(dgesvd, DGESVD)
2974  (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
2975 #else
2976  (void)jobu;
2977  (void)jobvt;
2978  (void)m;
2979  (void)n;
2980  (void)a;
2981  (void)lda;
2982  (void)s;
2983  (void)u;
2984  (void)ldu;
2985  (void)vt;
2986  (void)ldvt;
2987  (void)work;
2988  (void)lwork;
2989  (void)info;
2990  Assert(false, LAPACKSupport::ExcMissing("dgesvd"));
2991 #endif // DEAL_II_WITH_LAPACK
2992 }
2993 
2994 
2995 
2996 inline void
2997 gesvd(const char * jobu,
2998  const char * jobvt,
3001  std::complex<float> * a,
3003  float * s,
3004  std::complex<float> * u,
3006  std::complex<float> * vt,
3008  std::complex<float> * work,
3009  const ::types::blas_int *lwork,
3010  float * rwork,
3011  ::types::blas_int * info)
3012 {
3013 #ifdef DEAL_II_WITH_LAPACK
3014  DEAL_II_FORTRAN_MANGLE(cgesvd, CGESVD)
3015  (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
3016 #else
3017  (void)jobu;
3018  (void)jobvt;
3019  (void)m;
3020  (void)n;
3021  (void)a;
3022  (void)lda;
3023  (void)s;
3024  (void)u;
3025  (void)ldu;
3026  (void)vt;
3027  (void)ldvt;
3028  (void)work;
3029  (void)lwork;
3030  (void)rwork;
3031  (void)info;
3032  Assert(false, LAPACKSupport::ExcMissing("cgesvd"));
3033 #endif // DEAL_II_WITH_LAPACK
3034 }
3035 
3036 
3037 
3038 inline void
3039 gesvd(const char * jobu,
3040  const char * jobvt,
3043  std::complex<double> * a,
3045  double * s,
3046  std::complex<double> * u,
3048  std::complex<double> * vt,
3050  std::complex<double> * work,
3051  const ::types::blas_int *lwork,
3052  double * rwork,
3053  ::types::blas_int * info)
3054 {
3055 #ifdef DEAL_II_WITH_LAPACK
3056  DEAL_II_FORTRAN_MANGLE(zgesvd, ZGESVD)
3057  (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
3058 #else
3059  (void)jobu;
3060  (void)jobvt;
3061  (void)m;
3062  (void)n;
3063  (void)a;
3064  (void)lda;
3065  (void)s;
3066  (void)u;
3067  (void)ldu;
3068  (void)vt;
3069  (void)ldvt;
3070  (void)work;
3071  (void)lwork;
3072  (void)rwork;
3073  (void)info;
3074  Assert(false, LAPACKSupport::ExcMissing("zgesvd"));
3075 #endif // DEAL_II_WITH_LAPACK
3076 }
3077 
3078 
3079 
3080 template <typename number1>
3081 inline void
3084  number1 *,
3086  ::types::blas_int *,
3087  ::types::blas_int *)
3088 {
3089  Assert(false, ExcNotImplemented());
3090 }
3091 
3092 
3093 
3094 inline void
3097  float * a,
3099  ::types::blas_int * ipiv,
3100  ::types::blas_int * info)
3101 {
3102 #ifdef DEAL_II_WITH_LAPACK
3103  DEAL_II_FORTRAN_MANGLE(sgetrf, SGETRF)(m, n, a, lda, ipiv, info);
3104 #else
3105  (void)m;
3106  (void)n;
3107  (void)a;
3108  (void)lda;
3109  (void)ipiv;
3110  (void)info;
3111  Assert(false, LAPACKSupport::ExcMissing("sgetrf"));
3112 #endif // DEAL_II_WITH_LAPACK
3113 }
3114 
3115 
3116 
3117 inline void
3120  double * a,
3122  ::types::blas_int * ipiv,
3123  ::types::blas_int * info)
3124 {
3125 #ifdef DEAL_II_WITH_LAPACK
3126  DEAL_II_FORTRAN_MANGLE(dgetrf, DGETRF)(m, n, a, lda, ipiv, info);
3127 #else
3128  (void)m;
3129  (void)n;
3130  (void)a;
3131  (void)lda;
3132  (void)ipiv;
3133  (void)info;
3134  Assert(false, LAPACKSupport::ExcMissing("dgetrf"));
3135 #endif // DEAL_II_WITH_LAPACK
3136 }
3137 
3138 
3139 
3140 inline void
3143  std::complex<float> * a,
3145  ::types::blas_int * ipiv,
3146  ::types::blas_int * info)
3147 {
3148 #ifdef DEAL_II_WITH_LAPACK
3149  DEAL_II_FORTRAN_MANGLE(cgetrf, CGETRF)(m, n, a, lda, ipiv, info);
3150 #else
3151  (void)m;
3152  (void)n;
3153  (void)a;
3154  (void)lda;
3155  (void)ipiv;
3156  (void)info;
3157  Assert(false, LAPACKSupport::ExcMissing("cgetrf"));
3158 #endif // DEAL_II_WITH_LAPACK
3159 }
3160 
3161 
3162 
3163 inline void
3166  std::complex<double> * a,
3168  ::types::blas_int * ipiv,
3169  ::types::blas_int * info)
3170 {
3171 #ifdef DEAL_II_WITH_LAPACK
3172  DEAL_II_FORTRAN_MANGLE(zgetrf, ZGETRF)(m, n, a, lda, ipiv, info);
3173 #else
3174  (void)m;
3175  (void)n;
3176  (void)a;
3177  (void)lda;
3178  (void)ipiv;
3179  (void)info;
3180  Assert(false, LAPACKSupport::ExcMissing("zgetrf"));
3181 #endif // DEAL_II_WITH_LAPACK
3182 }
3183 
3184 
3185 
3186 template <typename number1, typename number2>
3187 inline void
3189  number1 *,
3192  number2 *,
3194  ::types::blas_int *)
3195 {
3196  Assert(false, ExcNotImplemented());
3197 }
3198 
3199 
3200 
3201 inline void
3203  float * a,
3206  float * work,
3207  const ::types::blas_int *lwork,
3208  ::types::blas_int * info)
3209 {
3210 #ifdef DEAL_II_WITH_LAPACK
3211  DEAL_II_FORTRAN_MANGLE(sgetri, SGETRI)(n, a, lda, ipiv, work, lwork, info);
3212 #else
3213  (void)n;
3214  (void)a;
3215  (void)lda;
3216  (void)ipiv;
3217  (void)work;
3218  (void)lwork;
3219  (void)info;
3220  Assert(false, LAPACKSupport::ExcMissing("sgetri"));
3221 #endif // DEAL_II_WITH_LAPACK
3222 }
3223 
3224 
3225 
3226 inline void
3228  double * a,
3231  double * work,
3232  const ::types::blas_int *lwork,
3233  ::types::blas_int * info)
3234 {
3235 #ifdef DEAL_II_WITH_LAPACK
3236  DEAL_II_FORTRAN_MANGLE(dgetri, DGETRI)(n, a, lda, ipiv, work, lwork, info);
3237 #else
3238  (void)n;
3239  (void)a;
3240  (void)lda;
3241  (void)ipiv;
3242  (void)work;
3243  (void)lwork;
3244  (void)info;
3245  Assert(false, LAPACKSupport::ExcMissing("dgetri"));
3246 #endif // DEAL_II_WITH_LAPACK
3247 }
3248 
3249 
3250 
3251 inline void
3253  std::complex<float> * a,
3256  std::complex<float> * work,
3257  const ::types::blas_int *lwork,
3258  ::types::blas_int * info)
3259 {
3260 #ifdef DEAL_II_WITH_LAPACK
3261  DEAL_II_FORTRAN_MANGLE(cgetri, CGETRI)(n, a, lda, ipiv, work, lwork, info);
3262 #else
3263  (void)n;
3264  (void)a;
3265  (void)lda;
3266  (void)ipiv;
3267  (void)work;
3268  (void)lwork;
3269  (void)info;
3270  Assert(false, LAPACKSupport::ExcMissing("cgetri"));
3271 #endif // DEAL_II_WITH_LAPACK
3272 }
3273 
3274 
3275 
3276 inline void
3278  std::complex<double> * a,
3281  std::complex<double> * work,
3282  const ::types::blas_int *lwork,
3283  ::types::blas_int * info)
3284 {
3285 #ifdef DEAL_II_WITH_LAPACK
3286  DEAL_II_FORTRAN_MANGLE(zgetri, ZGETRI)(n, a, lda, ipiv, work, lwork, info);
3287 #else
3288  (void)n;
3289  (void)a;
3290  (void)lda;
3291  (void)ipiv;
3292  (void)work;
3293  (void)lwork;
3294  (void)info;
3295  Assert(false, LAPACKSupport::ExcMissing("zgetri"));
3296 #endif // DEAL_II_WITH_LAPACK
3297 }
3298 
3299 
3300 
3301 template <typename number1, typename number2>
3302 inline void
3303 getrs(const char *,
3306  const number1 *,
3309  number2 *,
3311  ::types::blas_int *)
3312 {
3313  Assert(false, ExcNotImplemented());
3314 }
3315 
3316 
3317 
3318 inline void
3319 getrs(const char * trans,
3322  const float * a,
3325  float * b,
3327  ::types::blas_int * info)
3328 {
3329 #ifdef DEAL_II_WITH_LAPACK
3330  DEAL_II_FORTRAN_MANGLE(sgetrs, SGETRS)
3331  (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3332 #else
3333  (void)trans;
3334  (void)n;
3335  (void)nrhs;
3336  (void)a;
3337  (void)lda;
3338  (void)ipiv;
3339  (void)b;
3340  (void)ldb;
3341  (void)info;
3342  Assert(false, LAPACKSupport::ExcMissing("sgetrs"));
3343 #endif // DEAL_II_WITH_LAPACK
3344 }
3345 
3346 
3347 
3348 inline void
3349 getrs(const char * trans,
3352  const double * a,
3355  double * b,
3357  ::types::blas_int * info)
3358 {
3359 #ifdef DEAL_II_WITH_LAPACK
3360  DEAL_II_FORTRAN_MANGLE(dgetrs, DGETRS)
3361  (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3362 #else
3363  (void)trans;
3364  (void)n;
3365  (void)nrhs;
3366  (void)a;
3367  (void)lda;
3368  (void)ipiv;
3369  (void)b;
3370  (void)ldb;
3371  (void)info;
3372  Assert(false, LAPACKSupport::ExcMissing("dgetrs"));
3373 #endif // DEAL_II_WITH_LAPACK
3374 }
3375 
3376 
3377 
3378 inline void
3379 getrs(const char * trans,
3382  const std::complex<float> * a,
3385  std::complex<float> * b,
3387  ::types::blas_int * info)
3388 {
3389 #ifdef DEAL_II_WITH_LAPACK
3390  DEAL_II_FORTRAN_MANGLE(cgetrs, CGETRS)
3391  (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3392 #else
3393  (void)trans;
3394  (void)n;
3395  (void)nrhs;
3396  (void)a;
3397  (void)lda;
3398  (void)ipiv;
3399  (void)b;
3400  (void)ldb;
3401  (void)info;
3402  Assert(false, LAPACKSupport::ExcMissing("cgetrs"));
3403 #endif // DEAL_II_WITH_LAPACK
3404 }
3405 
3406 
3407 
3408 inline void
3409 getrs(const char * trans,
3412  const std::complex<double> * a,
3415  std::complex<double> * b,
3417  ::types::blas_int * info)
3418 {
3419 #ifdef DEAL_II_WITH_LAPACK
3420  DEAL_II_FORTRAN_MANGLE(zgetrs, ZGETRS)
3421  (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3422 #else
3423  (void)trans;
3424  (void)n;
3425  (void)nrhs;
3426  (void)a;
3427  (void)lda;
3428  (void)ipiv;
3429  (void)b;
3430  (void)ldb;
3431  (void)info;
3432  Assert(false, LAPACKSupport::ExcMissing("zgetrs"));
3433 #endif // DEAL_II_WITH_LAPACK
3434 }
3435 
3436 
3437 
3438 template <typename number1>
3439 inline number1
3440 lamch(const char *)
3441 {
3442  Assert(false, ExcNotImplemented());
3443  return number1();
3444 }
3445 
3446 
3447 
3448 template <>
3449 inline float
3450 lamch(const char *cmach)
3451 {
3452 #ifdef DEAL_II_WITH_LAPACK
3453  return DEAL_II_FORTRAN_MANGLE(slamch, SLAMCH)(cmach);
3454 #else
3455  (void)cmach;
3456  Assert(false, LAPACKSupport::ExcMissing("slamch"));
3457  return float();
3458 #endif // DEAL_II_WITH_LAPACK
3459 }
3460 
3461 
3462 
3463 template <>
3464 inline double
3465 lamch(const char *cmach)
3466 {
3467 #ifdef DEAL_II_WITH_LAPACK
3468  return DEAL_II_FORTRAN_MANGLE(dlamch, DLAMCH)(cmach);
3469 #else
3470  (void)cmach;
3471  Assert(false, LAPACKSupport::ExcMissing("dlamch"));
3472  return double();
3473 #endif // DEAL_II_WITH_LAPACK
3474 }
3475 
3476 
3477 
3478 template <typename number1, typename number2>
3479 inline number1
3480 lange(const char *,
3483  const number1 *,
3485  number2 *)
3486 {
3487  Assert(false, ExcNotImplemented());
3488  return number1();
3489 }
3490 
3491 
3492 
3493 inline float
3494 lange(const char * norm,
3497  const float * a,
3499  float * work)
3500 {
3501 #ifdef DEAL_II_WITH_LAPACK
3502  return DEAL_II_FORTRAN_MANGLE(slange, SLANGE)(norm, m, n, a, lda, work);
3503 #else
3504  (void)norm;
3505  (void)m;
3506  (void)n;
3507  (void)a;
3508  (void)lda;
3509  (void)work;
3510  Assert(false, LAPACKSupport::ExcMissing("slange"));
3511  return float();
3512 #endif // DEAL_II_WITH_LAPACK
3513 }
3514 
3515 
3516 
3517 inline double
3518 lange(const char * norm,
3521  const double * a,
3523  double * work)
3524 {
3525 #ifdef DEAL_II_WITH_LAPACK
3526  return DEAL_II_FORTRAN_MANGLE(dlange, DLANGE)(norm, m, n, a, lda, work);
3527 #else
3528  (void)norm;
3529  (void)m;
3530  (void)n;
3531  (void)a;
3532  (void)lda;
3533  (void)work;
3534  Assert(false, LAPACKSupport::ExcMissing("dlange"));
3535  return double();
3536 #endif // DEAL_II_WITH_LAPACK
3537 }
3538 
3539 
3540 
3541 inline float
3542 lange(const char * norm,
3545  const std::complex<float> * a,
3547  float * work)
3548 {
3549 #ifdef DEAL_II_WITH_LAPACK
3550  return DEAL_II_FORTRAN_MANGLE(clange, CLANGE)(norm, m, n, a, lda, work);
3551 #else
3552  (void)norm;
3553  (void)m;
3554  (void)n;
3555  (void)a;
3556  (void)lda;
3557  (void)work;
3558  Assert(false, LAPACKSupport::ExcMissing("clange"));
3559  return float();
3560 #endif // DEAL_II_WITH_LAPACK
3561 }
3562 
3563 
3564 
3565 inline double
3566 lange(const char * norm,
3569  const std::complex<double> * a,
3571  double * work)
3572 {
3573 #ifdef DEAL_II_WITH_LAPACK
3574  return DEAL_II_FORTRAN_MANGLE(zlange, ZLANGE)(norm, m, n, a, lda, work);
3575 #else
3576  (void)norm;
3577  (void)m;
3578  (void)n;
3579  (void)a;
3580  (void)lda;
3581  (void)work;
3582  Assert(false, LAPACKSupport::ExcMissing("zlange"));
3583  return double();
3584 #endif // DEAL_II_WITH_LAPACK
3585 }
3586 
3587 
3588 
3589 template <typename number1, typename number2>
3590 inline number1
3591 lansy(const char *,
3592  const char *,
3594  const number1 *,
3596  number2 *)
3597 {
3598  Assert(false, ExcNotImplemented());
3599  return number1();
3600 }
3601 
3602 
3603 
3604 inline float
3605 lansy(const char * norm,
3606  const char * uplo,
3608  const float * a,
3610  float * work)
3611 {
3612 #ifdef DEAL_II_WITH_LAPACK
3613  return DEAL_II_FORTRAN_MANGLE(slansy, SLANSY)(norm, uplo, n, a, lda, work);
3614 #else
3615  (void)norm;
3616  (void)uplo;
3617  (void)n;
3618  (void)a;
3619  (void)lda;
3620  (void)work;
3621  Assert(false, LAPACKSupport::ExcMissing("slansy"));
3622  return float();
3623 #endif // DEAL_II_WITH_LAPACK
3624 }
3625 
3626 
3627 
3628 inline double
3629 lansy(const char * norm,
3630  const char * uplo,
3632  const double * a,
3634  double * work)
3635 {
3636 #ifdef DEAL_II_WITH_LAPACK
3637  return DEAL_II_FORTRAN_MANGLE(dlansy, DLANSY)(norm, uplo, n, a, lda, work);
3638 #else
3639  (void)norm;
3640  (void)uplo;
3641  (void)n;
3642  (void)a;
3643  (void)lda;
3644  (void)work;
3645  Assert(false, LAPACKSupport::ExcMissing("dlansy"));
3646  return double();
3647 #endif // DEAL_II_WITH_LAPACK
3648 }
3649 
3650 
3651 
3652 inline float
3653 lansy(const char * norm,
3654  const char * uplo,
3656  const std::complex<float> * a,
3658  float * work)
3659 {
3660 #ifdef DEAL_II_WITH_LAPACK
3661  return DEAL_II_FORTRAN_MANGLE(clansy, CLANSY)(norm, uplo, n, a, lda, work);
3662 #else
3663  (void)norm;
3664  (void)uplo;
3665  (void)n;
3666  (void)a;
3667  (void)lda;
3668  (void)work;
3669  Assert(false, LAPACKSupport::ExcMissing("clansy"));
3670  return float();
3671 #endif // DEAL_II_WITH_LAPACK
3672 }
3673 
3674 
3675 
3676 inline double
3677 lansy(const char * norm,
3678  const char * uplo,
3680  const std::complex<double> * a,
3682  double * work)
3683 {
3684 #ifdef DEAL_II_WITH_LAPACK
3685  return DEAL_II_FORTRAN_MANGLE(zlansy, ZLANSY)(norm, uplo, n, a, lda, work);
3686 #else
3687  (void)norm;
3688  (void)uplo;
3689  (void)n;
3690  (void)a;
3691  (void)lda;
3692  (void)work;
3693  Assert(false, LAPACKSupport::ExcMissing("zlansy"));
3694  return double();
3695 #endif // DEAL_II_WITH_LAPACK
3696 }
3697 
3698 
3699 
3700 template <typename number1, typename number2, typename number3>
3701 inline void
3702 lascl(const char *,
3705  const number1 *,
3706  const number2 *,
3709  number3 *,
3711  ::types::blas_int *)
3712 {
3713  Assert(false, ExcNotImplemented());
3714 }
3715 
3716 
3717 
3718 inline void
3719 lascl(const char * type,
3722  const float * cfrom,
3723  const float * cto,
3726  float * a,
3728  ::types::blas_int * info)
3729 {
3730 #ifdef DEAL_II_WITH_LAPACK
3731  DEAL_II_FORTRAN_MANGLE(slascl, SLASCL)
3732  (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3733 #else
3734  (void)type;
3735  (void)kl;
3736  (void)ku;
3737  (void)cfrom;
3738  (void)cto;
3739  (void)m;
3740  (void)n;
3741  (void)a;
3742  (void)lda;
3743  (void)info;
3744  Assert(false, LAPACKSupport::ExcMissing("slascl"));
3745 #endif // DEAL_II_WITH_LAPACK
3746 }
3747 
3748 
3749 
3750 inline void
3751 lascl(const char * type,
3754  const double * cfrom,
3755  const double * cto,
3758  double * a,
3760  ::types::blas_int * info)
3761 {
3762 #ifdef DEAL_II_WITH_LAPACK
3763  DEAL_II_FORTRAN_MANGLE(dlascl, DLASCL)
3764  (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3765 #else
3766  (void)type;
3767  (void)kl;
3768  (void)ku;
3769  (void)cfrom;
3770  (void)cto;
3771  (void)m;
3772  (void)n;
3773  (void)a;
3774  (void)lda;
3775  (void)info;
3776  Assert(false, LAPACKSupport::ExcMissing("dlascl"));
3777 #endif // DEAL_II_WITH_LAPACK
3778 }
3779 
3780 
3781 
3782 inline void
3783 lascl(const char * type,
3786  const float * cfrom,
3787  const float * cto,
3790  std::complex<float> * a,
3792  ::types::blas_int * info)
3793 {
3794 #ifdef DEAL_II_WITH_LAPACK
3795  DEAL_II_FORTRAN_MANGLE(clascl, CLASCL)
3796  (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3797 #else
3798  (void)type;
3799  (void)kl;
3800  (void)ku;
3801  (void)cfrom;
3802  (void)cto;
3803  (void)m;
3804  (void)n;
3805  (void)a;
3806  (void)lda;
3807  (void)info;
3808  Assert(false, LAPACKSupport::ExcMissing("clascl"));
3809 #endif // DEAL_II_WITH_LAPACK
3810 }
3811 
3812 
3813 
3814 inline void
3815 lascl(const char * type,
3818  const double * cfrom,
3819  const double * cto,
3822  std::complex<double> * a,
3824  ::types::blas_int * info)
3825 {
3826 #ifdef DEAL_II_WITH_LAPACK
3827  DEAL_II_FORTRAN_MANGLE(zlascl, ZLASCL)
3828  (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3829 #else
3830  (void)type;
3831  (void)kl;
3832  (void)ku;
3833  (void)cfrom;
3834  (void)cto;
3835  (void)m;
3836  (void)n;
3837  (void)a;
3838  (void)lda;
3839  (void)info;
3840  Assert(false, LAPACKSupport::ExcMissing("zlascl"));
3841 #endif // DEAL_II_WITH_LAPACK
3842 }
3843 
3844 
3845 
3846 template <typename number1, typename number2, typename number3>
3847 inline void
3851  number1 *,
3853  const number2 *,
3854  number3 *,
3856  ::types::blas_int *)
3857 {
3858  Assert(false, ExcNotImplemented());
3859 }
3860 
3861 
3862 
3863 inline void
3867  float * a,
3869  const float * tau,
3870  float * work,
3871  const ::types::blas_int *lwork,
3872  ::types::blas_int * info)
3873 {
3874 #ifdef DEAL_II_WITH_LAPACK
3875  DEAL_II_FORTRAN_MANGLE(sorgqr, SORGQR)
3876  (m, n, k, a, lda, tau, work, lwork, info);
3877 #else
3878  (void)m;
3879  (void)n;
3880  (void)k;
3881  (void)a;
3882  (void)lda;
3883  (void)tau;
3884  (void)work;
3885  (void)lwork;
3886  (void)info;
3887  Assert(false, LAPACKSupport::ExcMissing("sorgqr"));
3888 #endif // DEAL_II_WITH_LAPACK
3889 }
3890 
3891 
3892 
3893 inline void
3897  double * a,
3899  const double * tau,
3900  double * work,
3901  const ::types::blas_int *lwork,
3902  ::types::blas_int * info)
3903 {
3904 #ifdef DEAL_II_WITH_LAPACK
3905  DEAL_II_FORTRAN_MANGLE(dorgqr, DORGQR)
3906  (m, n, k, a, lda, tau, work, lwork, info);
3907 #else
3908  (void)m;
3909  (void)n;
3910  (void)k;
3911  (void)a;
3912  (void)lda;
3913  (void)tau;
3914  (void)work;
3915  (void)lwork;
3916  (void)info;
3917  Assert(false, LAPACKSupport::ExcMissing("dorgqr"));
3918 #endif // DEAL_II_WITH_LAPACK
3919 }
3920 
3921 
3922 
3923 template <typename number1,
3924  typename number2,
3925  typename number3,
3926  typename number4>
3927 inline void
3928 ormqr(const char *,
3929  const char *,
3933  const number1 *,
3935  const number2 *,
3936  number3 *,
3938  number4 *,
3940  ::types::blas_int *)
3941 {
3942  Assert(false, ExcNotImplemented());
3943 }
3944 
3945 
3946 
3947 inline void
3948 ormqr(const char * side,
3949  const char * trans,
3953  const float * a,
3955  const float * tau,
3956  float * c,
3958  float * work,
3959  const ::types::blas_int *lwork,
3960  ::types::blas_int * info)
3961 {
3962 #ifdef DEAL_II_WITH_LAPACK
3963  DEAL_II_FORTRAN_MANGLE(sormqr, SORMQR)
3964  (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info);
3965 #else
3966  (void)side;
3967  (void)trans;
3968  (void)m;
3969  (void)n;
3970  (void)k;
3971  (void)a;
3972  (void)lda;
3973  (void)tau;
3974  (void)c;
3975  (void)ldc;
3976  (void)work;
3977  (void)lwork;
3978  (void)info;
3979  Assert(false, LAPACKSupport::ExcMissing("sormqr"));
3980 #endif // DEAL_II_WITH_LAPACK
3981 }
3982 
3983 
3984 
3985 inline void
3986 ormqr(const char * side,
3987  const char * trans,
3991  const double * a,
3993  const double * tau,
3994  double * c,
3996  double * work,
3997  const ::types::blas_int *lwork,
3998  ::types::blas_int * info)
3999 {
4000 #ifdef DEAL_II_WITH_LAPACK
4001  DEAL_II_FORTRAN_MANGLE(dormqr, DORMQR)
4002  (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info);
4003 #else
4004  (void)side;
4005  (void)trans;
4006  (void)m;
4007  (void)n;
4008  (void)k;
4009  (void)a;
4010  (void)lda;
4011  (void)tau;
4012  (void)c;
4013  (void)ldc;
4014  (void)work;
4015  (void)lwork;
4016  (void)info;
4017  Assert(false, LAPACKSupport::ExcMissing("dormqr"));
4018 #endif // DEAL_II_WITH_LAPACK
4019 }
4020 
4021 
4022 
4023 template <typename number1,
4024  typename number2,
4025  typename number3,
4026  typename number4>
4027 inline void
4028 pocon(const char *,
4030  const number1 *,
4032  const number2 *,
4033  number3 *,
4034  number4 *,
4035  ::types::blas_int *,
4036  ::types::blas_int *)
4037 {
4038  Assert(false, ExcNotImplemented());
4039 }
4040 
4041 
4042 
4043 inline void
4044 pocon(const char * uplo,
4046  const float * a,
4048  const float * anorm,
4049  float * rcond,
4050  float * work,
4051  ::types::blas_int * iwork,
4052  ::types::blas_int * info)
4053 {
4054 #ifdef DEAL_II_WITH_LAPACK
4055  DEAL_II_FORTRAN_MANGLE(spocon, SPOCON)
4056  (uplo, n, a, lda, anorm, rcond, work, iwork, info);
4057 #else
4058  (void)uplo;
4059  (void)n;
4060  (void)a;
4061  (void)lda;
4062  (void)anorm;
4063  (void)rcond;
4064  (void)work;
4065  (void)iwork;
4066  (void)info;
4067  Assert(false, LAPACKSupport::ExcMissing("spocon"));
4068 #endif // DEAL_II_WITH_LAPACK
4069 }
4070 
4071 
4072 
4073 inline void
4074 pocon(const char * uplo,
4076  const double * a,
4078  const double * anorm,
4079  double * rcond,
4080  double * work,
4081  ::types::blas_int * iwork,
4082  ::types::blas_int * info)
4083 {
4084 #ifdef DEAL_II_WITH_LAPACK
4085  DEAL_II_FORTRAN_MANGLE(dpocon, DPOCON)
4086  (uplo, n, a, lda, anorm, rcond, work, iwork, info);
4087 #else
4088  (void)uplo;
4089  (void)n;
4090  (void)a;
4091  (void)lda;
4092  (void)anorm;
4093  (void)rcond;
4094  (void)work;
4095  (void)iwork;
4096  (void)info;
4097  Assert(false, LAPACKSupport::ExcMissing("dpocon"));
4098 #endif // DEAL_II_WITH_LAPACK
4099 }
4100 
4101 
4102 
4103 inline void
4104 pocon(const char * uplo,
4106  const std::complex<float> * a,
4108  const float * anorm,
4109  float * rcond,
4110  std::complex<float> * work,
4111  float * rwork,
4112  ::types::blas_int * info)
4113 {
4114 #ifdef DEAL_II_WITH_LAPACK
4115  DEAL_II_FORTRAN_MANGLE(cpocon, CPOCON)
4116  (uplo, n, a, lda, anorm, rcond, work, rwork, info);
4117 #else
4118  (void)uplo;
4119  (void)n;
4120  (void)a;
4121  (void)lda;
4122  (void)anorm;
4123  (void)rcond;
4124  (void)work;
4125  (void)rwork;
4126  (void)info;
4127  Assert(false, LAPACKSupport::ExcMissing("cpocon"));
4128 #endif // DEAL_II_WITH_LAPACK
4129 }
4130 
4131 
4132 
4133 inline void
4134 pocon(const char * uplo,
4136  const std::complex<double> * a,
4138  const double * anorm,
4139  double * rcond,
4140  std::complex<double> * work,
4141  double * rwork,
4142  ::types::blas_int * info)
4143 {
4144 #ifdef DEAL_II_WITH_LAPACK
4145  DEAL_II_FORTRAN_MANGLE(zpocon, ZPOCON)
4146  (uplo, n, a, lda, anorm, rcond, work, rwork, info);
4147 #else
4148  (void)uplo;
4149  (void)n;
4150  (void)a;
4151  (void)lda;
4152  (void)anorm;
4153  (void)rcond;
4154  (void)work;
4155  (void)rwork;
4156  (void)info;
4157  Assert(false, LAPACKSupport::ExcMissing("zpocon"));
4158 #endif // DEAL_II_WITH_LAPACK
4159 }
4160 
4161 
4162 
4163 template <typename number1>
4164 inline void
4165 potrf(const char *,
4167  number1 *,
4169  ::types::blas_int *)
4170 {
4171  Assert(false, ExcNotImplemented());
4172 }
4173 
4174 
4175 
4176 inline void
4177 potrf(const char * uplo,
4179  float * a,
4181  ::types::blas_int * info)
4182 {
4183 #ifdef DEAL_II_WITH_LAPACK
4184  DEAL_II_FORTRAN_MANGLE(spotrf, SPOTRF)(uplo, n, a, lda, info);
4185 #else
4186  (void)uplo;
4187  (void)n;
4188  (void)a;
4189  (void)lda;
4190  (void)info;
4191  Assert(false, LAPACKSupport::ExcMissing("spotrf"));
4192 #endif // DEAL_II_WITH_LAPACK
4193 }
4194 
4195 
4196 
4197 inline void
4198 potrf(const char * uplo,
4200  double * a,
4202  ::types::blas_int * info)
4203 {
4204 #ifdef DEAL_II_WITH_LAPACK
4205  DEAL_II_FORTRAN_MANGLE(dpotrf, DPOTRF)(uplo, n, a, lda, info);
4206 #else
4207  (void)uplo;
4208  (void)n;
4209  (void)a;
4210  (void)lda;
4211  (void)info;
4212  Assert(false, LAPACKSupport::ExcMissing("dpotrf"));
4213 #endif // DEAL_II_WITH_LAPACK
4214 }
4215 
4216 
4217 
4218 inline void
4219 potrf(const char * uplo,
4221  std::complex<float> * a,
4223  ::types::blas_int * info)
4224 {
4225 #ifdef DEAL_II_WITH_LAPACK
4226  DEAL_II_FORTRAN_MANGLE(cpotrf, CPOTRF)(uplo, n, a, lda, info);
4227 #else
4228  (void)uplo;
4229  (void)n;
4230  (void)a;
4231  (void)lda;
4232  (void)info;
4233  Assert(false, LAPACKSupport::ExcMissing("cpotrf"));
4234 #endif // DEAL_II_WITH_LAPACK
4235 }
4236 
4237 
4238 
4239 inline void
4240 potrf(const char * uplo,
4242  std::complex<double> * a,
4244  ::types::blas_int * info)
4245 {
4246 #ifdef DEAL_II_WITH_LAPACK
4247  DEAL_II_FORTRAN_MANGLE(zpotrf, ZPOTRF)(uplo, n, a, lda, info);
4248 #else
4249  (void)uplo;
4250  (void)n;
4251  (void)a;
4252  (void)lda;
4253  (void)info;
4254  Assert(false, LAPACKSupport::ExcMissing("zpotrf"));
4255 #endif // DEAL_II_WITH_LAPACK
4256 }
4257 
4258 
4259 
4260 template <typename number1>
4261 inline void
4262 potri(const char *,
4264  number1 *,
4266  ::types::blas_int *)
4267 {
4268  Assert(false, ExcNotImplemented());
4269 }
4270 
4271 
4272 
4273 inline void
4274 potri(const char * uplo,
4276  float * a,
4278  ::types::blas_int * info)
4279 {
4280 #ifdef DEAL_II_WITH_LAPACK
4281  DEAL_II_FORTRAN_MANGLE(spotri, SPOTRI)(uplo, n, a, lda, info);
4282 #else
4283  (void)uplo;
4284  (void)n;
4285  (void)a;
4286  (void)lda;
4287  (void)info;
4288  Assert(false, LAPACKSupport::ExcMissing("spotri"));
4289 #endif // DEAL_II_WITH_LAPACK
4290 }
4291 
4292 
4293 
4294 inline void
4295 potri(const char * uplo,
4297  double * a,
4299  ::types::blas_int * info)
4300 {
4301 #ifdef DEAL_II_WITH_LAPACK
4302  DEAL_II_FORTRAN_MANGLE(dpotri, DPOTRI)(uplo, n, a, lda, info);
4303 #else
4304  (void)uplo;
4305  (void)n;
4306  (void)a;
4307  (void)lda;
4308  (void)info;
4309  Assert(false, LAPACKSupport::ExcMissing("dpotri"));
4310 #endif // DEAL_II_WITH_LAPACK
4311 }
4312 
4313 
4314 
4315 inline void
4316 potri(const char * uplo,
4318  std::complex<float> * a,
4320  ::types::blas_int * info)
4321 {
4322 #ifdef DEAL_II_WITH_LAPACK
4323  DEAL_II_FORTRAN_MANGLE(cpotri, CPOTRI)(uplo, n, a, lda, info);
4324 #else
4325  (void)uplo;
4326  (void)n;
4327  (void)a;
4328  (void)lda;
4329  (void)info;
4330  Assert(false, LAPACKSupport::ExcMissing("cpotri"));
4331 #endif // DEAL_II_WITH_LAPACK
4332 }
4333 
4334 
4335 
4336 inline void
4337 potri(const char * uplo,
4339  std::complex<double> * a,
4341  ::types::blas_int * info)
4342 {
4343 #ifdef DEAL_II_WITH_LAPACK
4344  DEAL_II_FORTRAN_MANGLE(zpotri, ZPOTRI)(uplo, n, a, lda, info);
4345 #else
4346  (void)uplo;
4347  (void)n;
4348  (void)a;
4349  (void)lda;
4350  (void)info;
4351  Assert(false, LAPACKSupport::ExcMissing("zpotri"));
4352 #endif // DEAL_II_WITH_LAPACK
4353 }
4354 
4355 
4356 
4357 template <typename number1, typename number2>
4358 inline void
4359 potrs(const char *,
4362  const number1 *,
4364  number2 *,
4366  ::types::blas_int *)
4367 {
4368  Assert(false, ExcNotImplemented());
4369 }
4370 
4371 
4372 
4373 inline void
4374 potrs(const char * uplo,
4377  const float * a,
4379  float * b,
4381  ::types::blas_int * info)
4382 {
4383 #ifdef DEAL_II_WITH_LAPACK
4384  DEAL_II_FORTRAN_MANGLE(spotrs, SPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4385 #else
4386  (void)uplo;
4387  (void)n;
4388  (void)nrhs;
4389  (void)a;
4390  (void)lda;
4391  (void)b;
4392  (void)ldb;
4393  (void)info;
4394  Assert(false, LAPACKSupport::ExcMissing("spotrs"));
4395 #endif // DEAL_II_WITH_LAPACK
4396 }
4397 
4398 
4399 
4400 inline void
4401 potrs(const char * uplo,
4404  const double * a,
4406  double * b,
4408  ::types::blas_int * info)
4409 {
4410 #ifdef DEAL_II_WITH_LAPACK
4411  DEAL_II_FORTRAN_MANGLE(dpotrs, DPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4412 #else
4413  (void)uplo;
4414  (void)n;
4415  (void)nrhs;
4416  (void)a;
4417  (void)lda;
4418  (void)b;
4419  (void)ldb;
4420  (void)info;
4421  Assert(false, LAPACKSupport::ExcMissing("dpotrs"));
4422 #endif // DEAL_II_WITH_LAPACK
4423 }
4424 
4425 
4426 
4427 inline void
4428 potrs(const char * uplo,
4431  const std::complex<float> * a,
4433  std::complex<float> * b,
4435  ::types::blas_int * info)
4436 {
4437 #ifdef DEAL_II_WITH_LAPACK
4438  DEAL_II_FORTRAN_MANGLE(cpotrs, CPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4439 #else
4440  (void)uplo;
4441  (void)n;
4442  (void)nrhs;
4443  (void)a;
4444  (void)lda;
4445  (void)b;
4446  (void)ldb;
4447  (void)info;
4448  Assert(false, LAPACKSupport::ExcMissing("cpotrs"));
4449 #endif // DEAL_II_WITH_LAPACK
4450 }
4451 
4452 
4453 
4454 inline void
4455 potrs(const char * uplo,
4458  const std::complex<double> * a,
4460  std::complex<double> * b,
4462  ::types::blas_int * info)
4463 {
4464 #ifdef DEAL_II_WITH_LAPACK
4465  DEAL_II_FORTRAN_MANGLE(zpotrs, ZPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4466 #else
4467  (void)uplo;
4468  (void)n;
4469  (void)nrhs;
4470  (void)a;
4471  (void)lda;
4472  (void)b;
4473  (void)ldb;
4474  (void)info;
4475  Assert(false, LAPACKSupport::ExcMissing("zpotrs"));
4476 #endif // DEAL_II_WITH_LAPACK
4477 }
4478 
4479 
4480 
4481 template <typename number1,
4482  typename number2,
4483  typename number3,
4484  typename number4>
4485 inline void
4486 stev(const char *,
4488  number1 *,
4489  number2 *,
4490  number3 *,
4492  number4 *,
4493  ::types::blas_int *)
4494 {
4495  Assert(false, ExcNotImplemented());
4496 }
4497 
4498 
4499 
4500 inline void
4501 stev(const char * jobz,
4503  float * d,
4504  float * e,
4505  float * z,
4507  float * work,
4508  ::types::blas_int * info)
4509 {
4510 #ifdef DEAL_II_WITH_LAPACK
4511  DEAL_II_FORTRAN_MANGLE(sstev, SSTEV)(jobz, n, d, e, z, ldz, work, info);
4512 #else
4513  (void)jobz;
4514  (void)n;
4515  (void)d;
4516  (void)e;
4517  (void)z;
4518  (void)ldz;
4519  (void)work;
4520  (void)info;
4521  Assert(false, LAPACKSupport::ExcMissing("sstev"));
4522 #endif // DEAL_II_WITH_LAPACK
4523 }
4524 
4525 
4526 
4527 inline void
4528 stev(const char * jobz,
4530  double * d,
4531  double * e,
4532  double * z,
4534  double * work,
4535  ::types::blas_int * info)
4536 {
4537 #ifdef DEAL_II_WITH_LAPACK
4538  DEAL_II_FORTRAN_MANGLE(dstev, DSTEV)(jobz, n, d, e, z, ldz, work, info);
4539 #else
4540  (void)jobz;
4541  (void)n;
4542  (void)d;
4543  (void)e;
4544  (void)z;
4545  (void)ldz;
4546  (void)work;
4547  (void)info;
4548  Assert(false, LAPACKSupport::ExcMissing("dstev"));
4549 #endif // DEAL_II_WITH_LAPACK
4550 }
4551 
4552 
4553 
4554 template <typename number1, typename number2, typename number3>
4555 inline void
4556 syev(const char *,
4557  const char *,
4559  number1 *,
4561  number2 *,
4562  number3 *,
4564  ::types::blas_int *)
4565 {
4566  Assert(false, ExcNotImplemented());
4567 }
4568 
4569 
4570 
4571 inline void
4572 syev(const char * jobz,
4573  const char * uplo,
4575  float * a,
4577  float * w,
4578  float * work,
4579  const ::types::blas_int *lwork,
4580  ::types::blas_int * info)
4581 {
4582 #ifdef DEAL_II_WITH_LAPACK
4583  DEAL_II_FORTRAN_MANGLE(ssyev, SSYEV)
4584  (jobz, uplo, n, a, lda, w, work, lwork, info);
4585 #else
4586  (void)jobz;
4587  (void)uplo;
4588  (void)n;
4589  (void)a;
4590  (void)lda;
4591  (void)w;
4592  (void)work;
4593  (void)lwork;
4594  (void)info;
4595  Assert(false, LAPACKSupport::ExcMissing("ssyev"));
4596 #endif // DEAL_II_WITH_LAPACK
4597 }
4598 
4599 
4600 
4601 inline void
4602 syev(const char * jobz,
4603  const char * uplo,
4605  double * a,
4607  double * w,
4608  double * work,
4609  const ::types::blas_int *lwork,
4610  ::types::blas_int * info)
4611 {
4612 #ifdef DEAL_II_WITH_LAPACK
4613  DEAL_II_FORTRAN_MANGLE(dsyev, DSYEV)
4614  (jobz, uplo, n, a, lda, w, work, lwork, info);
4615 #else
4616  (void)jobz;
4617  (void)uplo;
4618  (void)n;
4619  (void)a;
4620  (void)lda;
4621  (void)w;
4622  (void)work;
4623  (void)lwork;
4624  (void)info;
4625  Assert(false, LAPACKSupport::ExcMissing("dsyev"));
4626 #endif // DEAL_II_WITH_LAPACK
4627 }
4628 
4629 
4630 
4631 template <typename number1,
4632  typename number2,
4633  typename number3,
4634  typename number4,
4635  typename number5,
4636  typename number6,
4637  typename number7>
4638 inline void
4639 syevr(const char *,
4640  const char *,
4641  const char *,
4643  number1 *,
4645  const number2 *,
4646  const number3 *,
4649  const number4 *,
4650  ::types::blas_int *,
4651  number5 *,
4652  number6 *,
4654  ::types::blas_int *,
4655  number7 *,
4657  ::types::blas_int *,
4659  ::types::blas_int *)
4660 {
4661  Assert(false, ExcNotImplemented());
4662 }
4663 
4664 
4665 
4666 inline void
4667 syevr(const char * jobz,
4668  const char * range,
4669  const char * uplo,
4671  float * a,
4673  const float * vl,
4674  const float * vu,
4677  const float * abstol,
4678  ::types::blas_int * m,
4679  float * w,
4680  float * z,
4682  ::types::blas_int * isuppz,
4683  float * work,
4684  const ::types::blas_int *lwork,
4685  ::types::blas_int * iwork,
4686  const ::types::blas_int *liwork,
4687  ::types::blas_int * info)
4688 {
4689 #ifdef DEAL_II_WITH_LAPACK
4690  // Netlib and Atlas Lapack perform floating point tests (e.g. divide-by-zero)
4691  // within calls to some functions, which cause floating point exceptions to be
4692  // thrown (at least in debug mode). Therefore, we wrap the calls into the
4693  // following code to suppress the exception.
4694 # ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4695  fenv_t fp_exceptions;
4696  feholdexcept(&fp_exceptions);
4697 # endif // DEAL_II_HAVE_FP_EXCEPTIONS
4698  DEAL_II_FORTRAN_MANGLE(ssyevr, SSYEVR)
4699  (jobz,
4700  range,
4701  uplo,
4702  n,
4703  a,
4704  lda,
4705  vl,
4706  vu,
4707  il,
4708  iu,
4709  abstol,
4710  m,
4711  w,
4712  z,
4713  ldz,
4714  isuppz,
4715  work,
4716  lwork,
4717  iwork,
4718  liwork,
4719  info);
4720 # ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4721  fesetenv(&fp_exceptions);
4722 # endif // DEAL_II_HAVE_FP_EXCEPTIONS
4723 #else
4724  (void)jobz;
4725  (void)range;
4726  (void)uplo;
4727  (void)n;
4728  (void)a;
4729  (void)lda;
4730  (void)vl;
4731  (void)vu;
4732  (void)il;
4733  (void)iu;
4734  (void)abstol;
4735  (void)m;
4736  (void)w;
4737  (void)z;
4738  (void)ldz;
4739  (void)isuppz;
4740  (void)work;
4741  (void)lwork;
4742  (void)iwork;
4743  (void)liwork;
4744  (void)info;
4745  Assert(false, LAPACKSupport::ExcMissing("ssyevr"));
4746 #endif // DEAL_II_WITH_LAPACK
4747 }
4748 
4749 
4750 
4751 inline void
4752 syevr(const char * jobz,
4753  const char * range,
4754  const char * uplo,
4756  double * a,
4758  const double * vl,
4759  const double * vu,
4762  const double * abstol,
4763  ::types::blas_int * m,
4764  double * w,
4765  double * z,
4767  ::types::blas_int * isuppz,
4768  double * work,
4769  const ::types::blas_int *lwork,
4770  ::types::blas_int * iwork,
4771  const ::types::blas_int *liwork,
4772  ::types::blas_int * info)
4773 {
4774 #ifdef DEAL_II_WITH_LAPACK
4775  // Netlib and Atlas Lapack perform floating point tests (e.g. divide-by-zero)
4776  // within calls to some functions, which cause floating point exceptions to be
4777  // thrown (at least in debug mode). Therefore, we wrap the calls into the
4778  // following code to suppress the exception.
4779 # ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4780  fenv_t fp_exceptions;
4781  feholdexcept(&fp_exceptions);
4782 # endif // DEAL_II_HAVE_FP_EXCEPTIONS
4783  DEAL_II_FORTRAN_MANGLE(dsyevr, DSYEVR)
4784  (jobz,
4785  range,
4786  uplo,
4787  n,
4788  a,
4789  lda,
4790  vl,
4791  vu,
4792  il,
4793  iu,
4794  abstol,
4795  m,
4796  w,
4797  z,
4798  ldz,
4799  isuppz,
4800  work,
4801  lwork,
4802  iwork,
4803  liwork,
4804  info);
4805 # ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4806  fesetenv(&fp_exceptions);
4807 # endif // DEAL_II_HAVE_FP_EXCEPTIONS
4808 #else
4809  (void)jobz;
4810  (void)range;
4811  (void)uplo;
4812  (void)n;
4813  (void)a;
4814  (void)lda;
4815  (void)vl;
4816  (void)vu;
4817  (void)il;
4818  (void)iu;
4819  (void)abstol;
4820  (void)m;
4821  (void)w;
4822  (void)z;
4823  (void)ldz;
4824  (void)isuppz;
4825  (void)work;
4826  (void)lwork;
4827  (void)iwork;
4828  (void)liwork;
4829  (void)info;
4830  Assert(false, LAPACKSupport::ExcMissing("dsyevr"));
4831 #endif // DEAL_II_WITH_LAPACK
4832 }
4833 
4834 
4835 
4836 template <typename number1,
4837  typename number2,
4838  typename number3,
4839  typename number4,
4840  typename number5,
4841  typename number6,
4842  typename number7>
4843 inline void
4844 syevx(const char *,
4845  const char *,
4846  const char *,
4848  number1 *,
4850  const number2 *,
4851  const number3 *,
4854  const number4 *,
4855  ::types::blas_int *,
4856  number5 *,
4857  number6 *,
4859  number7 *,
4861  ::types::blas_int *,
4862  ::types::blas_int *,
4863  ::types::blas_int *)
4864 {
4865  Assert(false, ExcNotImplemented());
4866 }
4867 
4868 
4869 
4870 inline void
4871 syevx(const char * jobz,
4872  const char * range,
4873  const char * uplo,
4875  float * a,
4877  const float * vl,
4878  const float * vu,
4881  const float * abstol,
4882  ::types::blas_int * m,
4883  float * w,
4884  float * z,
4886  float * work,
4887  const ::types::blas_int *lwork,
4888  ::types::blas_int * iwork,
4889  ::types::blas_int * ifail,
4890  ::types::blas_int * info)
4891 {
4892 #ifdef DEAL_II_WITH_LAPACK
4893  DEAL_II_FORTRAN_MANGLE(ssyevx, SSYEVX)
4894  (jobz,
4895  range,
4896  uplo,
4897  n,
4898  a,
4899  lda,
4900  vl,
4901  vu,
4902  il,
4903  iu,
4904  abstol,
4905  m,
4906  w,
4907  z,
4908  ldz,
4909  work,
4910  lwork,
4911  iwork,
4912  ifail,
4913  info);
4914 #else
4915  (void)jobz;
4916  (void)range;
4917  (void)uplo;
4918  (void)n;
4919  (void)a;
4920  (void)lda;
4921  (void)vl;
4922  (void)vu;
4923  (void)il;
4924  (void)iu;
4925  (void)abstol;
4926  (void)m;
4927  (void)w;
4928  (void)z;
4929  (void)ldz;
4930  (void)work;
4931  (void)lwork;
4932  (void)iwork;
4933  (void)ifail;
4934  (void)info;
4935  Assert(false, LAPACKSupport::ExcMissing("ssyevx"));
4936 #endif // DEAL_II_WITH_LAPACK
4937 }
4938 
4939 
4940 
4941 inline void
4942 syevx(const char * jobz,
4943  const char * range,
4944  const char * uplo,
4946  double * a,
4948  const double * vl,
4949  const double * vu,
4952  const double * abstol,
4953  ::types::blas_int * m,
4954  double * w,
4955  double * z,
4957  double * work,
4958  const ::types::blas_int *lwork,
4959  ::types::blas_int * iwork,
4960  ::types::blas_int * ifail,
4961  ::types::blas_int * info)
4962 {
4963 #ifdef DEAL_II_WITH_LAPACK
4964  DEAL_II_FORTRAN_MANGLE(dsyevx, DSYEVX)
4965  (jobz,
4966  range,
4967  uplo,
4968  n,
4969  a,
4970  lda,
4971  vl,
4972  vu,
4973  il,
4974  iu,
4975  abstol,
4976  m,
4977  w,
4978  z,
4979  ldz,
4980  work,
4981  lwork,
4982  iwork,
4983  ifail,
4984  info);
4985 #else
4986  (void)jobz;
4987  (void)range;
4988  (void)uplo;
4989  (void)n;
4990  (void)a;
4991  (void)lda;
4992  (void)vl;
4993  (void)vu;
4994  (void)il;
4995  (void)iu;
4996  (void)abstol;
4997  (void)m;
4998  (void)w;
4999  (void)z;
5000  (void)ldz;
5001  (void)work;
5002  (void)lwork;
5003  (void)iwork;
5004  (void)ifail;
5005  (void)info;
5006  Assert(false, LAPACKSupport::ExcMissing("dsyevx"));
5007 #endif // DEAL_II_WITH_LAPACK
5008 }
5009 
5010 
5011 
5012 template <typename number1,
5013  typename number2,
5014  typename number3,
5015  typename number4>
5016 inline void
5018  const char *,
5019  const char *,
5021  number1 *,
5023  number2 *,
5025  number3 *,
5026  number4 *,
5028  ::types::blas_int *)
5029 {
5030  Assert(false, ExcNotImplemented());
5031 }
5032 
5033 
5034 
5035 inline void
5037  const char * jobz,
5038  const char * uplo,
5040  float * a,
5042  float * b,
5044  float * w,
5045  float * work,
5046  const ::types::blas_int *lwork,
5047  ::types::blas_int * info)
5048 {
5049 #ifdef DEAL_II_WITH_LAPACK
5050  DEAL_II_FORTRAN_MANGLE(ssygv, SSYGV)
5051  (itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info);
5052 #else
5053  (void)itype;
5054  (void)jobz;
5055  (void)uplo;
5056  (void)n;
5057  (void)a;
5058  (void)lda;
5059  (void)b;
5060  (void)ldb;
5061  (void)w;
5062  (void)work;
5063  (void)lwork;
5064  (void)info;
5065  Assert(false, LAPACKSupport::ExcMissing("ssygv"));
5066 #endif // DEAL_II_WITH_LAPACK
5067 }
5068 
5069 
5070 
5071 inline void
5073  const char * jobz,
5074  const char * uplo,
5076  double * a,
5078  double * b,
5080  double * w,
5081  double * work,
5082  const ::types::blas_int *lwork,
5083  ::types::blas_int * info)
5084 {
5085 #ifdef DEAL_II_WITH_LAPACK
5086  DEAL_II_FORTRAN_MANGLE(dsygv, DSYGV)
5087  (itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info);
5088 #else
5089  (void)itype;
5090  (void)jobz;
5091  (void)uplo;
5092  (void)n;
5093  (void)a;
5094  (void)lda;
5095  (void)b;
5096  (void)ldb;
5097  (void)w;
5098  (void)work;
5099  (void)lwork;
5100  (void)info;
5101  Assert(false, LAPACKSupport::ExcMissing("dsygv"));
5102 #endif // DEAL_II_WITH_LAPACK
5103 }
5104 
5105 
5106 
5107 template <typename number1,
5108  typename number2,
5109  typename number3,
5110  typename number4,
5111  typename number5,
5112  typename number6,
5113  typename number7,
5114  typename number8>
5115 inline void
5117  const char *,
5118  const char *,
5119  const char *,
5121  number1 *,
5123  number2 *,
5125  const number3 *,
5126  const number4 *,
5129  const number5 *,
5130  ::types::blas_int *,
5131  number6 *,
5132  number7 *,
5134  number8 *,
5136  ::types::blas_int *,
5137  ::types::blas_int *,
5138  ::types::blas_int *)
5139 {
5140  Assert(false, ExcNotImplemented());
5141 }
5142 
5143 
5144 
5145 inline void
5147  const char * jobz,
5148  const char * range,
5149  const char * uplo,
5151  float * a,
5153  float * b,
5155  const float * vl,
5156  const float * vu,
5159  const float * abstol,
5160  ::types::blas_int * m,
5161  float * w,
5162  float * z,
5164  float * work,
5165  const ::types::blas_int *lwork,
5166  ::types::blas_int * iwork,
5167  ::types::blas_int * ifail,
5168  ::types::blas_int * info)
5169 {
5170 #ifdef DEAL_II_WITH_LAPACK
5171  DEAL_II_FORTRAN_MANGLE(ssygvx, SSYGVX)
5172  (itype,
5173  jobz,
5174  range,
5175  uplo,
5176  n,
5177  a,
5178  lda,
5179  b,
5180  ldb,
5181  vl,
5182  vu,
5183  il,
5184  iu,
5185  abstol,
5186  m,
5187  w,
5188  z,
5189  ldz,
5190  work,
5191  lwork,
5192  iwork,
5193  ifail,
5194  info);
5195 #else
5196  (void)itype;
5197  (void)jobz;
5198  (void)range;
5199  (void)uplo;
5200  (void)n;
5201  (void)a;
5202  (void)lda;
5203  (void)b;
5204  (void)ldb;
5205  (void)vl;
5206  (void)vu;
5207  (void)il;
5208  (void)iu;
5209  (void)abstol;
5210  (void)m;
5211  (void)w;
5212  (void)z;
5213  (void)ldz;
5214  (void)work;
5215  (void)lwork;
5216  (void)iwork;
5217  (void)ifail;
5218  (void)info;
5219  Assert(false, LAPACKSupport::ExcMissing("ssygvx"));
5220 #endif // DEAL_II_WITH_LAPACK
5221 }
5222 
5223 
5224 
5225 inline void
5227  const char * jobz,
5228  const char * range,
5229  const char * uplo,
5231  double * a,
5233  double * b,
5235  const double * vl,
5236  const double * vu,
5239  const double * abstol,
5240  ::types::blas_int * m,
5241  double * w,
5242  double * z,
5244  double * work,
5245  const ::types::blas_int *lwork,
5246  ::types::blas_int * iwork,
5247  ::types::blas_int * ifail,
5248  ::types::blas_int * info)
5249 {
5250 #ifdef DEAL_II_WITH_LAPACK
5251  DEAL_II_FORTRAN_MANGLE(dsygvx, DSYGVX)
5252  (itype,
5253  jobz,
5254  range,
5255  uplo,
5256  n,
5257  a,
5258  lda,
5259  b,
5260  ldb,
5261  vl,
5262  vu,
5263  il,
5264  iu,
5265  abstol,
5266  m,
5267  w,
5268  z,
5269  ldz,
5270  work,
5271  lwork,
5272  iwork,
5273  ifail,
5274  info);
5275 #else
5276  (void)itype;
5277  (void)jobz;
5278  (void)range;
5279  (void)uplo;
5280  (void)n;
5281  (void)a;
5282  (void)lda;
5283  (void)b;
5284  (void)ldb;
5285  (void)vl;
5286  (void)vu;
5287  (void)il;
5288  (void)iu;
5289  (void)abstol;
5290  (void)m;
5291  (void)w;
5292  (void)z;
5293  (void)ldz;
5294  (void)work;
5295  (void)lwork;
5296  (void)iwork;
5297  (void)ifail;
5298  (void)info;
5299  Assert(false, LAPACKSupport::ExcMissing("dsygvx"));
5300 #endif // DEAL_II_WITH_LAPACK
5301 }
5302 
5303 
5304 
5305 template <typename number1, typename number2, typename number3>
5306 inline void
5307 syr(const char *,
5309  const number1 *,
5310  const number2 *,
5312  number3 *,
5314 {
5315  Assert(false, ExcNotImplemented());
5316 }
5317 
5318 
5319 
5320 inline void
5321 syr(const char * uplo,
5323  const float * alpha,
5324  const float * x,
5326  float * a,
5328 {
5329 #ifdef DEAL_II_WITH_LAPACK
5330  DEAL_II_FORTRAN_MANGLE(ssyr, SSYR)(uplo, n, alpha, x, incx, a, lda);
5331 #else
5332  (void)uplo;
5333  (void)n;
5334  (void)alpha;
5335  (void)x;
5336  (void)incx;
5337  (void)a;
5338  (void)lda;
5339  Assert(false, LAPACKSupport::ExcMissing("ssyr"));
5340 #endif // DEAL_II_WITH_LAPACK
5341 }
5342 
5343 
5344 
5345 inline void
5346 syr(const char * uplo,
5348  const double * alpha,
5349  const double * x,
5351  double * a,
5353 {
5354 #ifdef DEAL_II_WITH_LAPACK
5355  DEAL_II_FORTRAN_MANGLE(dsyr, DSYR)(uplo, n, alpha, x, incx, a, lda);
5356 #else
5357  (void)uplo;
5358  (void)n;
5359  (void)alpha;
5360  (void)x;
5361  (void)incx;
5362  (void)a;
5363  (void)lda;
5364  Assert(false, LAPACKSupport::ExcMissing("dsyr"));
5365 #endif // DEAL_II_WITH_LAPACK
5366 }
5367 
5368 
5369 
5370 template <typename number1,
5371  typename number2,
5372  typename number3,
5373  typename number4>
5374 inline void
5375 syrk(const char *,
5376  const char *,
5379  const number1 *,
5380  const number2 *,
5382  const number3 *,
5383  number4 *,
5385 {
5386  Assert(false, ExcNotImplemented());
5387 }
5388 
5389 
5390 
5391 inline void
5392 syrk(const char * uplo,
5393  const char * trans,
5396  const float * alpha,
5397  const float * a,
5399  const float * beta,
5400  float * c,
5402 {
5403 #ifdef DEAL_II_WITH_LAPACK
5404  DEAL_II_FORTRAN_MANGLE(ssyrk, SSYRK)
5405  (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5406 #else
5407  (void)uplo;
5408  (void)trans;
5409  (void)n;
5410  (void)k;
5411  (void)alpha;
5412  (void)a;
5413  (void)lda;
5414  (void)beta;
5415  (void)c;
5416  (void)ldc;
5417  Assert(false, LAPACKSupport::ExcMissing("ssyrk"));
5418 #endif // DEAL_II_WITH_LAPACK
5419 }
5420 
5421 
5422 
5423 inline void
5424 syrk(const char * uplo,
5425  const char * trans,
5428  const double * alpha,
5429  const double * a,
5431  const double * beta,
5432  double * c,
5434 {
5435 #ifdef DEAL_II_WITH_LAPACK
5436  DEAL_II_FORTRAN_MANGLE(dsyrk, DSYRK)
5437  (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5438 #else
5439  (void)uplo;
5440  (void)trans;
5441  (void)n;
5442  (void)k;
5443  (void)alpha;
5444  (void)a;
5445  (void)lda;
5446  (void)beta;
5447  (void)c;
5448  (void)ldc;
5449  Assert(false, LAPACKSupport::ExcMissing("dsyrk"));
5450 #endif // DEAL_II_WITH_LAPACK
5451 }
5452 
5453 
5454 
5455 inline void
5456 syrk(const char * uplo,
5457  const char * trans,
5460  const std::complex<float> * alpha,
5461  const std::complex<float> * a,
5463  const std::complex<float> * beta,
5464  std::complex<float> * c,
5466 {
5467 #ifdef DEAL_II_WITH_LAPACK
5468  DEAL_II_FORTRAN_MANGLE(csyrk, CSYRK)
5469  (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5470 #else
5471  (void)uplo;
5472  (void)trans;
5473  (void)n;
5474  (void)k;
5475  (void)alpha;
5476  (void)a;
5477  (void)lda;
5478  (void)beta;
5479  (void)c;
5480  (void)ldc;
5481  Assert(false, LAPACKSupport::ExcMissing("csyrk"));
5482 #endif // DEAL_II_WITH_LAPACK
5483 }
5484 
5485 
5486 
5487 inline void
5488 syrk(const char * uplo,
5489  const char * trans,
5492  const std::complex<double> * alpha,
5493  const std::complex<double> * a,
5495  const std::complex<double> * beta,
5496  std::complex<double> * c,
5498 {
5499 #ifdef DEAL_II_WITH_LAPACK
5500  DEAL_II_FORTRAN_MANGLE(zsyrk, ZSYRK)
5501  (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5502 #else
5503  (void)uplo;
5504  (void)trans;
5505  (void)n;
5506  (void)k;
5507  (void)alpha;
5508  (void)a;
5509  (void)lda;
5510  (void)beta;
5511  (void)c;
5512  (void)ldc;
5513  Assert(false, LAPACKSupport::ExcMissing("zsyrk"));
5514 #endif // DEAL_II_WITH_LAPACK
5515 }
5516 
5517 
5518 
5519 template <typename number1, typename number2, typename number3>
5520 inline void
5521 trcon(const char *,
5522  const char *,
5523  const char *,
5525  const number1 *,
5527  number2 *,
5528  number3 *,
5529  ::types::blas_int *,
5530  ::types::blas_int *)
5531 {
5532  Assert(false, ExcNotImplemented());
5533 }
5534 
5535 
5536 
5537 inline void
5538 trcon(const char * norm,
5539  const char * uplo,
5540  const char * diag,
5542  const float * a,
5544  float * rcond,
5545  float * work,
5546  ::types::blas_int * iwork,
5547  ::types::blas_int * info)
5548 {
5549 #ifdef DEAL_II_WITH_LAPACK
5550  DEAL_II_FORTRAN_MANGLE(strcon, STRCON)
5551  (norm, uplo, diag, n, a, lda, rcond, work, iwork, info);
5552 #else
5553  (void)norm;
5554  (void)uplo;
5555  (void)diag;
5556  (void)n;
5557  (void)a;
5558  (void)lda;
5559  (void)rcond;
5560  (void)work;
5561  (void)iwork;
5562  (void)info;
5563  Assert(false, LAPACKSupport::ExcMissing("strcon"));
5564 #endif // DEAL_II_WITH_LAPACK
5565 }
5566 
5567 
5568 
5569 inline void
5570 trcon(const char * norm,
5571  const char * uplo,
5572  const char * diag,
5574  const double * a,
5576  double * rcond,
5577  double * work,
5578  ::types::blas_int * iwork,
5579  ::types::blas_int * info)
5580 {
5581 #ifdef DEAL_II_WITH_LAPACK
5582  DEAL_II_FORTRAN_MANGLE(dtrcon, DTRCON)
5583  (norm, uplo, diag, n, a, lda, rcond, work, iwork, info);
5584 #else
5585  (void)norm;
5586  (void)uplo;
5587  (void)diag;
5588  (void)n;
5589  (void)a;
5590  (void)lda;
5591  (void)rcond;
5592  (void)work;
5593  (void)iwork;
5594  (void)info;
5595  Assert(false, LAPACKSupport::ExcMissing("dtrcon"));
5596 #endif // DEAL_II_WITH_LAPACK
5597 }
5598 
5599 
5600 
5601 inline void
5602 trcon(const char * norm,
5603  const char * uplo,
5604  const char * diag,
5606  const std::complex<float> * a,
5608  float * rcond,
5609  std::complex<float> * work,
5610  float * rwork,
5611  ::types::blas_int * info)
5612 {
5613 #ifdef DEAL_II_WITH_LAPACK
5614  DEAL_II_FORTRAN_MANGLE(ctrcon, CTRCON)
5615  (norm, uplo, diag, n, a, lda, rcond, work, rwork, info);
5616 #else
5617  (void)norm;
5618  (void)uplo;
5619  (void)diag;
5620  (void)n;
5621  (void)a;
5622  (void)lda;
5623  (void)rcond;
5624  (void)work;
5625  (void)rwork;
5626  (void)info;
5627  Assert(false, LAPACKSupport::ExcMissing("ctrcon"));
5628 #endif // DEAL_II_WITH_LAPACK
5629 }
5630 
5631 
5632 
5633 inline void
5634 trcon(const char * norm,
5635  const char * uplo,
5636  const char * diag,
5638  const std::complex<double> * a,
5640  double * rcond,
5641  std::complex<double> * work,
5642  double * rwork,
5643  ::types::blas_int * info)
5644 {
5645 #ifdef DEAL_II_WITH_LAPACK
5646  DEAL_II_FORTRAN_MANGLE(ztrcon, ZTRCON)
5647  (norm, uplo, diag, n, a, lda, rcond, work, rwork, info);
5648 #else
5649  (void)norm;
5650  (void)uplo;
5651  (void)diag;
5652  (void)n;
5653  (void)a;
5654  (void)lda;
5655  (void)rcond;
5656  (void)work;
5657  (void)rwork;
5658  (void)info;
5659  Assert(false, LAPACKSupport::ExcMissing("ztrcon"));
5660 #endif // DEAL_II_WITH_LAPACK
5661 }
5662 
5663 
5664 
5665 template <typename number1, typename number2>
5666 inline void
5667 trmv(const char *,
5668  const char *,
5669  const char *,
5671  const number1 *,
5673  number2 *,
5675 {
5676  Assert(false, ExcNotImplemented());
5677 }
5678 
5679 
5680 
5681 inline void
5682 trmv(const char * uplo,
5683  const char * trans,
5684  const char * diag,
5686  const float * a,
5688  float * x,
5690 {
5691 #ifdef DEAL_II_WITH_LAPACK
5692  DEAL_II_FORTRAN_MANGLE(strmv, STRMV)(uplo, trans, diag, n, a, lda, x, incx);
5693 #else
5694  (void)uplo;
5695  (void)trans;
5696  (void)diag;
5697  (void)n;
5698  (void)a;
5699  (void)lda;
5700  (void)x;
5701  (void)incx;
5702  Assert(false, LAPACKSupport::ExcMissing("strmv"));
5703 #endif // DEAL_II_WITH_LAPACK
5704 }
5705 
5706 
5707 
5708 inline void
5709 trmv(const char * uplo,
5710  const char * trans,
5711  const char * diag,
5713  const double * a,
5715  double * x,
5717 {
5718 #ifdef DEAL_II_WITH_LAPACK
5719  DEAL_II_FORTRAN_MANGLE(dtrmv, DTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5720 #else
5721  (void)uplo;
5722  (void)trans;
5723  (void)diag;
5724  (void)n;
5725  (void)a;
5726  (void)lda;
5727  (void)x;
5728  (void)incx;
5729  Assert(false, LAPACKSupport::ExcMissing("dtrmv"));
5730 #endif // DEAL_II_WITH_LAPACK
5731 }
5732 
5733 
5734 
5735 inline void
5736 trmv(const char * uplo,
5737  const char * trans,
5738  const char * diag,
5740  const std::complex<float> * a,
5742  std::complex<float> * x,
5744 {
5745 #ifdef DEAL_II_WITH_LAPACK
5746  DEAL_II_FORTRAN_MANGLE(ctrmv, CTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5747 #else
5748  (void)uplo;
5749  (void)trans;
5750  (void)diag;
5751  (void)n;
5752  (void)a;
5753  (void)lda;
5754  (void)x;
5755  (void)incx;
5756  Assert(false, LAPACKSupport::ExcMissing("ctrmv"));
5757 #endif // DEAL_II_WITH_LAPACK
5758 }
5759 
5760 
5761 
5762 inline void
5763 trmv(const char * uplo,
5764  const char * trans,
5765  const char * diag,
5767  const std::complex<double> * a,
5769  std::complex<double> * x,
5771 {
5772 #ifdef DEAL_II_WITH_LAPACK
5773  DEAL_II_FORTRAN_MANGLE(ztrmv, ZTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5774 #else
5775  (void)uplo;
5776  (void)trans;
5777  (void)diag;
5778  (void)n;
5779  (void)a;
5780  (void)lda;
5781  (void)x;
5782  (void)incx;
5783  Assert(false, LAPACKSupport::ExcMissing("ztrmv"));
5784 #endif // DEAL_II_WITH_LAPACK
5785 }
5786 
5787 
5788 
5789 template <typename number1, typename number2>
5790 inline void
5791 trtrs(const char *,
5792  const char *,
5793  const char *,
5796  const number1 *,
5798  number2 *,
5800  ::types::blas_int *)
5801 {
5802  Assert(false, ExcNotImplemented());
5803 }
5804 
5805 
5806 
5807 inline void
5808 trtrs(const char * uplo,
5809  const char * trans,
5810  const char * diag,
5813  const float * a,
5815  float * b,
5817  ::types::blas_int * info)
5818 {
5819 #ifdef DEAL_II_WITH_LAPACK
5820  DEAL_II_FORTRAN_MANGLE(strtrs, STRTRS)
5821  (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5822 #else
5823  (void)uplo;
5824  (void)trans;
5825  (void)diag;
5826  (void)n;
5827  (void)nrhs;
5828  (void)a;
5829  (void)lda;
5830  (void)b;
5831  (void)ldb;
5832  (void)info;
5833  Assert(false, LAPACKSupport::ExcMissing("strtrs"));
5834 #endif // DEAL_II_WITH_LAPACK
5835 }
5836 
5837 
5838 
5839 inline void
5840 trtrs(const char * uplo,
5841  const char * trans,
5842  const char * diag,
5845  const double * a,
5847  double * b,
5849  ::types::blas_int * info)
5850 {
5851 #ifdef DEAL_II_WITH_LAPACK
5852  DEAL_II_FORTRAN_MANGLE(dtrtrs, DTRTRS)
5853  (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5854 #else
5855  (void)uplo;
5856  (void)trans;
5857  (void)diag;
5858  (void)n;
5859  (void)nrhs;
5860  (void)a;
5861  (void)lda;
5862  (void)b;
5863  (void)ldb;
5864  (void)info;
5865  Assert(false, LAPACKSupport::ExcMissing("dtrtrs"));
5866 #endif // DEAL_II_WITH_LAPACK
5867 }
5868 
5869 
5870 
5871 inline void
5872 trtrs(const char * uplo,
5873  const char * trans,
5874  const char * diag,
5877  const std::complex<float> * a,
5879  std::complex<float> * b,
5881  ::types::blas_int * info)
5882 {
5883 #ifdef DEAL_II_WITH_LAPACK
5884  DEAL_II_FORTRAN_MANGLE(ctrtrs, CTRTRS)
5885  (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5886 #else
5887  (void)uplo;
5888  (void)trans;
5889  (void)diag;
5890  (void)n;
5891  (void)nrhs;
5892  (void)a;
5893  (void)lda;
5894  (void)b;
5895  (void)ldb;
5896  (void)info;
5897  Assert(false, LAPACKSupport::ExcMissing("ctrtrs"));
5898 #endif // DEAL_II_WITH_LAPACK
5899 }
5900 
5901 
5902 
5903 inline void
5904 trtrs(const char * uplo,
5905  const char * trans,
5906  const char * diag,
5909  const std::complex<double> * a,
5911  std::complex<double> * b,
5913  ::types::blas_int * info)
5914 {
5915 #ifdef DEAL_II_WITH_LAPACK
5916  DEAL_II_FORTRAN_MANGLE(ztrtrs, ZTRTRS)
5917  (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5918 #else
5919  (void)uplo;
5920  (void)trans;
5921  (void)diag;
5922  (void)n;
5923  (void)nrhs;
5924  (void)a;
5925  (void)lda;
5926  (void)b;
5927  (void)ldb;
5928  (void)info;
5929  Assert(false, LAPACKSupport::ExcMissing("ztrtrs"));
5930 #endif // DEAL_II_WITH_LAPACK
5931 }
5933 
5934 #endif
void stev(const char *, const ::types::blas_int *, number1 *, number2 *, number3 *, const ::types::blas_int *, number4 *, ::types::blas_int *)
void trmv(const char *, const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *)
void trcon(const char *, const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, number3 *, ::types::blas_int *, ::types::blas_int *)
void ormqr(const char *, const char *, const ::types::blas_int *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, const number2 *, number3 *, const ::types::blas_int *, number4 *, const ::types::blas_int *, ::types::blas_int *)
void axpy(const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, number3 *, const ::types::blas_int *)
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
void sygvx(const ::types::blas_int *, const char *, const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *, const number3 *, const number4 *, const ::types::blas_int *, const ::types::blas_int *, const number5 *, ::types::blas_int *, number6 *, number7 *, const ::types::blas_int *, number8 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
void syev(const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, const ::types::blas_int *, ::types::blas_int *)
void scale(const double scaling_factor, Triangulation< dim, spacedim > &triangulation)
Definition: grid_tools.cc:2042
double norm(const FEValuesBase< dim > &fe, const ArrayView< const std::vector< Tensor< 1, dim >>> &Du)
Definition: divergence.h:472
void syrk(const char *, const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, const number3 *, number4 *, const ::types::blas_int *)
void gemv(const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, const number3 *, const ::types::blas_int *, const number4 *, number5 *, const ::types::blas_int *)
void pocon(const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, const number2 *, number3 *, number4 *, ::types::blas_int *, ::types::blas_int *)
void geevx(const char *, const char *, const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, number4 *, const ::types::blas_int *, number5 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *, number6 *, number7 *, number8 *, number9 *, number10 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
void gemm(const char *, const char *, const ::types::blas_int *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, const number3 *, const ::types::blas_int *, const number4 *, number5 *, const ::types::blas_int *)
void potri(const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, ::types::blas_int *)
void trtrs(const char *, const char *, const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *, ::types::blas_int *)
void gesvd(const char *, const char *, const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, const ::types::blas_int *, number4 *, const ::types::blas_int *, number5 *, const ::types::blas_int *, ::types::blas_int *)
void potrf(const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, ::types::blas_int *)
void getrs(const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, const ::types::blas_int *, number2 *, const ::types::blas_int *, ::types::blas_int *)
void syr(const char *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, number3 *, const ::types::blas_int *)
void potrs(const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *, ::types::blas_int *)
#define Assert(cond, exc)
Definition: exceptions.h:1465
void sygv(const ::types::blas_int *, const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *, number3 *, number4 *, const ::types::blas_int *, ::types::blas_int *)
void getrf(const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
void getri(const ::types::blas_int *, number1 *, const ::types::blas_int *, const ::types::blas_int *, number2 *, const ::types::blas_int *, ::types::blas_int *)
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:395
static ::ExceptionBase & ExcMissing(std::string arg1)
void orgqr(const ::types::blas_int *, const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, const number2 *, number3 *, const ::types::blas_int *, ::types::blas_int *)
void syevx(const char *, const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, const number2 *, const number3 *, const ::types::blas_int *, const ::types::blas_int *, const number4 *, ::types::blas_int *, number5 *, number6 *, const ::types::blas_int *, number7 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
SymmetricTensor< 2, dim, Number > d(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
void gelsd(const ::types::blas_int *, const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *, number3 *, const number4 *, ::types::blas_int *, number5 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
void lascl(const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, const ::types::blas_int *, number3 *, const ::types::blas_int *, ::types::blas_int *)
Tensor< 2, dim, Number > w(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
void syevr(const char *, const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, const number2 *, const number3 *, const ::types::blas_int *, const ::types::blas_int *, const number4 *, ::types::blas_int *, number5 *, number6 *, const ::types::blas_int *, ::types::blas_int *, number7 *, const ::types::blas_int *, ::types::blas_int *, const ::types::blas_int *, ::types::blas_int *)
number1 lange(const char *, const ::types::blas_int *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *)
int blas_int
#define DEAL_II_FORTRAN_MANGLE(name, NAME)
Definition: config.h:460
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:394
number1 lansy(const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *)
static ::ExceptionBase & ExcNotImplemented()
void geqrf(const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, const ::types::blas_int *, ::types::blas_int *)
void gesdd(const char *, const ::types::blas_int *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, const ::types::blas_int *, number4 *, const ::types::blas_int *, number5 *, const ::types::blas_int *, ::types::blas_int *, ::types::blas_int *)
number1 lamch(const char *)
void geev(const char *, const char *, const ::types::blas_int *, number1 *, const ::types::blas_int *, number2 *, number3 *, number4 *, const ::types::blas_int *, number5 *, const ::types::blas_int *, number6 *, const ::types::blas_int *, ::types::blas_int *)