deal.II version GIT relicensing-2659-g040196caa3 2025-02-18 14:20:01+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
lapack_templates.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2012 - 2024 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15
16#ifndef dealii_lapack_templates_h
17#define dealii_lapack_templates_h
18
19#include <deal.II/base/config.h>
20
21#include <deal.II/base/types.h>
22
24
25#ifdef DEAL_II_HAVE_FP_EXCEPTIONS
26# include <cfenv>
27#endif
28
29// DEAL_II_FORTRAN_MANGLE confuses doxygen a lot and these functions aren't part
30// of our public API anyway, so don't generate any doxygen for them
31#ifndef DOXYGEN
32extern "C"
33{
35 SAXPY)(const ::types::blas_int *n,
36 const float *sa,
37 const float *sx,
38 const ::types::blas_int *incx,
39 float *sy,
40 const ::types::blas_int *incy);
41
43 DAXPY)(const ::types::blas_int *n,
44 const double *da,
45 const double *dx,
46 const ::types::blas_int *incx,
47 double *dy,
48 const ::types::blas_int *incy);
49
51 CAXPY)(const ::types::blas_int *n,
52 const std::complex<float> *ca,
53 const std::complex<float> *cx,
54 const ::types::blas_int *incx,
55 std::complex<float> *cy,
56 const ::types::blas_int *incy);
57
59 ZAXPY)(const ::types::blas_int *n,
60 const std::complex<double> *za,
61 const std::complex<double> *zx,
62 const ::types::blas_int *incx,
63 std::complex<double> *zy,
64 const ::types::blas_int *incy);
65
67 SGEEV)(const char *jobvl,
68 const char *jobvr,
69 const ::types::blas_int *n,
70 float *a,
71 const ::types::blas_int *lda,
72 float *wr,
73 float *wi,
74 float *vl,
75 const ::types::blas_int *ldvl,
76 float *vr,
77 const ::types::blas_int *ldvr,
78 float *work,
79 const ::types::blas_int *lwork,
81
83 DGEEV)(const char *jobvl,
84 const char *jobvr,
85 const ::types::blas_int *n,
86 double *a,
87 const ::types::blas_int *lda,
88 double *wr,
89 double *wi,
90 double *vl,
91 const ::types::blas_int *ldvl,
92 double *vr,
93 const ::types::blas_int *ldvr,
94 double *work,
95 const ::types::blas_int *lwork,
97
99 CGEEV)(const char *jobvl,
100 const char *jobvr,
101 const ::types::blas_int *n,
102 std::complex<float> *a,
103 const ::types::blas_int *lda,
104 std::complex<float> *w,
105 std::complex<float> *vl,
106 const ::types::blas_int *ldvl,
107 std::complex<float> *vr,
108 const ::types::blas_int *ldvr,
109 std::complex<float> *work,
110 const ::types::blas_int *lwork,
111 float *rwork,
113
115 ZGEEV)(const char *jobvl,
116 const char *jobvr,
117 const ::types::blas_int *n,
118 std::complex<double> *a,
119 const ::types::blas_int *lda,
120 std::complex<double> *w,
121 std::complex<double> *vl,
122 const ::types::blas_int *ldvl,
123 std::complex<double> *vr,
124 const ::types::blas_int *ldvr,
125 std::complex<double> *work,
126 const ::types::blas_int *lwork,
127 double *rwork,
129
131 SGEEVX)(const char *balanc,
132 const char *jobvl,
133 const char *jobvr,
134 const char *sense,
135 const ::types::blas_int *n,
136 float *a,
137 const ::types::blas_int *lda,
138 float *wr,
139 float *wi,
140 float *vl,
141 const ::types::blas_int *ldvl,
142 float *vr,
143 const ::types::blas_int *ldvr,
146 float *scale,
147 float *abnrm,
148 float *rconde,
149 float *rcondv,
150 float *work,
151 const ::types::blas_int *lwork,
152 ::types::blas_int *iwork,
154
156 DGEEVX)(const char *balanc,
157 const char *jobvl,
158 const char *jobvr,
159 const char *sense,
160 const ::types::blas_int *n,
161 double *a,
162 const ::types::blas_int *lda,
163 double *wr,
164 double *wi,
165 double *vl,
166 const ::types::blas_int *ldvl,
167 double *vr,
168 const ::types::blas_int *ldvr,
171 double *scale,
172 double *abnrm,
173 double *rconde,
174 double *rcondv,
175 double *work,
176 const ::types::blas_int *lwork,
177 ::types::blas_int *iwork,
179
181 CGEEVX)(const char *balanc,
182 const char *jobvl,
183 const char *jobvr,
184 const char *sense,
185 const ::types::blas_int *n,
186 std::complex<float> *a,
187 const ::types::blas_int *lda,
188 std::complex<float> *w,
189 std::complex<float> *vl,
190 const ::types::blas_int *ldvl,
191 std::complex<float> *vr,
192 const ::types::blas_int *ldvr,
195 float *scale,
196 float *abnrm,
197 float *rconde,
198 float *rcondv,
199 std::complex<float> *work,
200 const ::types::blas_int *lwork,
201 float *rwork,
203
205 ZGEEVX)(const char *balanc,
206 const char *jobvl,
207 const char *jobvr,
208 const char *sense,
209 const ::types::blas_int *n,
210 std::complex<double> *a,
211 const ::types::blas_int *lda,
212 std::complex<double> *w,
213 std::complex<double> *vl,
214 const ::types::blas_int *ldvl,
215 std::complex<double> *vr,
216 const ::types::blas_int *ldvr,
219 double *scale,
220 double *abnrm,
221 double *rconde,
222 double *rcondv,
223 std::complex<double> *work,
224 const ::types::blas_int *lwork,
225 double *rwork,
227
229 SGELSD)(const ::types::blas_int *m,
230 const ::types::blas_int *n,
231 const ::types::blas_int *nrhs,
232 float *a,
233 const ::types::blas_int *lda,
234 float *b,
235 const ::types::blas_int *ldb,
236 float *s,
237 const float *rcond,
238 ::types::blas_int *rank,
239 float *work,
240 const ::types::blas_int *lwork,
241 ::types::blas_int *iwork,
243
245 DGELSD)(const ::types::blas_int *m,
246 const ::types::blas_int *n,
247 const ::types::blas_int *nrhs,
248 double *a,
249 const ::types::blas_int *lda,
250 double *b,
251 const ::types::blas_int *ldb,
252 double *s,
253 const double *rcond,
254 ::types::blas_int *rank,
255 double *work,
256 const ::types::blas_int *lwork,
257 ::types::blas_int *iwork,
259
261 CGELSD)(const ::types::blas_int *m,
262 const ::types::blas_int *n,
263 const ::types::blas_int *nrhs,
264 std::complex<float> *a,
265 const ::types::blas_int *lda,
266 std::complex<float> *b,
267 const ::types::blas_int *ldb,
268 float *s,
269 const float *rcond,
270 ::types::blas_int *rank,
271 std::complex<float> *work,
272 const ::types::blas_int *lwork,
273 float *rwork,
274 ::types::blas_int *iwork,
276
278 ZGELSD)(const ::types::blas_int *m,
279 const ::types::blas_int *n,
280 const ::types::blas_int *nrhs,
281 std::complex<double> *a,
282 const ::types::blas_int *lda,
283 std::complex<double> *b,
284 const ::types::blas_int *ldb,
285 double *s,
286 const double *rcond,
287 ::types::blas_int *rank,
288 std::complex<double> *work,
289 const ::types::blas_int *lwork,
290 double *rwork,
291 ::types::blas_int *iwork,
293
294 void DEAL_II_FORTRAN_MANGLE(sgemm, SGEMM)(const char *transa,
295 const char *transb,
296 const ::types::blas_int *m,
297 const ::types::blas_int *n,
298 const ::types::blas_int *k,
299 const float *alpha,
300 const float *a,
301 const ::types::blas_int *lda,
302 const float *b,
303 const ::types::blas_int *ldb,
304 const float *beta,
305 float *c,
306 const ::types::blas_int *ldc);
307
308 void DEAL_II_FORTRAN_MANGLE(dgemm, DGEMM)(const char *transa,
309 const char *transb,
310 const ::types::blas_int *m,
311 const ::types::blas_int *n,
312 const ::types::blas_int *k,
313 const double *alpha,
314 const double *a,
315 const ::types::blas_int *lda,
316 const double *b,
317 const ::types::blas_int *ldb,
318 const double *beta,
319 double *c,
320 const ::types::blas_int *ldc);
321
322 void DEAL_II_FORTRAN_MANGLE(cgemm, CGEMM)(const char *transa,
323 const char *transb,
324 const ::types::blas_int *m,
325 const ::types::blas_int *n,
326 const ::types::blas_int *k,
327 const std::complex<float> *alpha,
328 const std::complex<float> *a,
329 const ::types::blas_int *lda,
330 const std::complex<float> *b,
331 const ::types::blas_int *ldb,
332 const std::complex<float> *beta,
333 std::complex<float> *c,
334 const ::types::blas_int *ldc);
335
336 void DEAL_II_FORTRAN_MANGLE(zgemm, ZGEMM)(const char *transa,
337 const char *transb,
338 const ::types::blas_int *m,
339 const ::types::blas_int *n,
340 const ::types::blas_int *k,
341 const std::complex<double> *alpha,
342 const std::complex<double> *a,
343 const ::types::blas_int *lda,
344 const std::complex<double> *b,
345 const ::types::blas_int *ldb,
346 const std::complex<double> *beta,
347 std::complex<double> *c,
348 const ::types::blas_int *ldc);
349
351 SGEMV)(const char *trans,
352 const ::types::blas_int *m,
353 const ::types::blas_int *n,
354 const float *alpha,
355 const float *a,
356 const ::types::blas_int *lda,
357 const float *x,
358 const ::types::blas_int *incx,
359 const float *beta,
360 float *y,
361 const ::types::blas_int *incy);
362
364 DGEMV)(const char *trans,
365 const ::types::blas_int *m,
366 const ::types::blas_int *n,
367 const double *alpha,
368 const double *a,
369 const ::types::blas_int *lda,
370 const double *x,
371 const ::types::blas_int *incx,
372 const double *beta,
373 double *y,
374 const ::types::blas_int *incy);
375
377 CGEMV)(const char *trans,
378 const ::types::blas_int *m,
379 const ::types::blas_int *n,
380 const std::complex<float> *alpha,
381 const std::complex<float> *a,
382 const ::types::blas_int *lda,
383 const std::complex<float> *x,
384 const ::types::blas_int *incx,
385 const std::complex<float> *beta,
386 std::complex<float> *y,
387 const ::types::blas_int *incy);
388
390 ZGEMV)(const char *trans,
391 const ::types::blas_int *m,
392 const ::types::blas_int *n,
393 const std::complex<double> *alpha,
394 const std::complex<double> *a,
395 const ::types::blas_int *lda,
396 const std::complex<double> *x,
397 const ::types::blas_int *incx,
398 const std::complex<double> *beta,
399 std::complex<double> *y,
400 const ::types::blas_int *incy);
401
403 SGEQRF)(const ::types::blas_int *m,
404 const ::types::blas_int *n,
405 float *a,
406 const ::types::blas_int *lda,
407 float *tau,
408 float *work,
409 const ::types::blas_int *lwork,
411
413 DGEQRF)(const ::types::blas_int *m,
414 const ::types::blas_int *n,
415 double *a,
416 const ::types::blas_int *lda,
417 double *tau,
418 double *work,
419 const ::types::blas_int *lwork,
421
423 CGEQRF)(const ::types::blas_int *m,
424 const ::types::blas_int *n,
425 std::complex<float> *a,
426 const ::types::blas_int *lda,
427 std::complex<float> *tau,
428 std::complex<float> *work,
429 const ::types::blas_int *lwork,
431
433 ZGEQRF)(const ::types::blas_int *m,
434 const ::types::blas_int *n,
435 std::complex<double> *a,
436 const ::types::blas_int *lda,
437 std::complex<double> *tau,
438 std::complex<double> *work,
439 const ::types::blas_int *lwork,
441
443 SGESDD)(const char *jobz,
444 const ::types::blas_int *m,
445 const ::types::blas_int *n,
446 float *a,
447 const ::types::blas_int *lda,
448 float *s,
449 float *u,
450 const ::types::blas_int *ldu,
451 float *vt,
452 const ::types::blas_int *ldvt,
453 float *work,
454 const ::types::blas_int *lwork,
455 ::types::blas_int *iwork,
457
459 DGESDD)(const char *jobz,
460 const ::types::blas_int *m,
461 const ::types::blas_int *n,
462 double *a,
463 const ::types::blas_int *lda,
464 double *s,
465 double *u,
466 const ::types::blas_int *ldu,
467 double *vt,
468 const ::types::blas_int *ldvt,
469 double *work,
470 const ::types::blas_int *lwork,
471 ::types::blas_int *iwork,
473
475 CGESDD)(const char *jobz,
476 const ::types::blas_int *m,
477 const ::types::blas_int *n,
478 std::complex<float> *a,
479 const ::types::blas_int *lda,
480 float *s,
481 std::complex<float> *u,
482 const ::types::blas_int *ldu,
483 std::complex<float> *vt,
484 const ::types::blas_int *ldvt,
485 std::complex<float> *work,
486 const ::types::blas_int *lwork,
487 float *rwork,
488 ::types::blas_int *iwork,
490
492 ZGESDD)(const char *jobz,
493 const ::types::blas_int *m,
494 const ::types::blas_int *n,
495 std::complex<double> *a,
496 const ::types::blas_int *lda,
497 double *s,
498 std::complex<double> *u,
499 const ::types::blas_int *ldu,
500 std::complex<double> *vt,
501 const ::types::blas_int *ldvt,
502 std::complex<double> *work,
503 const ::types::blas_int *lwork,
504 double *rwork,
505 ::types::blas_int *iwork,
507
509 SGESVD)(const char *jobu,
510 const char *jobvt,
511 const ::types::blas_int *m,
512 const ::types::blas_int *n,
513 float *a,
514 const ::types::blas_int *lda,
515 float *s,
516 float *u,
517 const ::types::blas_int *ldu,
518 float *vt,
519 const ::types::blas_int *ldvt,
520 float *work,
521 const ::types::blas_int *lwork,
523
525 DGESVD)(const char *jobu,
526 const char *jobvt,
527 const ::types::blas_int *m,
528 const ::types::blas_int *n,
529 double *a,
530 const ::types::blas_int *lda,
531 double *s,
532 double *u,
533 const ::types::blas_int *ldu,
534 double *vt,
535 const ::types::blas_int *ldvt,
536 double *work,
537 const ::types::blas_int *lwork,
539
541 CGESVD)(const char *jobu,
542 const char *jobvt,
543 const ::types::blas_int *m,
544 const ::types::blas_int *n,
545 std::complex<float> *a,
546 const ::types::blas_int *lda,
547 float *s,
548 std::complex<float> *u,
549 const ::types::blas_int *ldu,
550 std::complex<float> *vt,
551 const ::types::blas_int *ldvt,
552 std::complex<float> *work,
553 const ::types::blas_int *lwork,
554 float *rwork,
556
558 ZGESVD)(const char *jobu,
559 const char *jobvt,
560 const ::types::blas_int *m,
561 const ::types::blas_int *n,
562 std::complex<double> *a,
563 const ::types::blas_int *lda,
564 double *s,
565 std::complex<double> *u,
566 const ::types::blas_int *ldu,
567 std::complex<double> *vt,
568 const ::types::blas_int *ldvt,
569 std::complex<double> *work,
570 const ::types::blas_int *lwork,
571 double *rwork,
573
575 SGETRF)(const ::types::blas_int *m,
576 const ::types::blas_int *n,
577 float *a,
578 const ::types::blas_int *lda,
579 ::types::blas_int *ipiv,
581
583 DGETRF)(const ::types::blas_int *m,
584 const ::types::blas_int *n,
585 double *a,
586 const ::types::blas_int *lda,
587 ::types::blas_int *ipiv,
589
591 CGETRF)(const ::types::blas_int *m,
592 const ::types::blas_int *n,
593 std::complex<float> *a,
594 const ::types::blas_int *lda,
595 ::types::blas_int *ipiv,
597
599 ZGETRF)(const ::types::blas_int *m,
600 const ::types::blas_int *n,
601 std::complex<double> *a,
602 const ::types::blas_int *lda,
603 ::types::blas_int *ipiv,
605
607 SGETRI)(const ::types::blas_int *n,
608 float *a,
609 const ::types::blas_int *lda,
610 const ::types::blas_int *ipiv,
611 float *work,
612 const ::types::blas_int *lwork,
614
616 DGETRI)(const ::types::blas_int *n,
617 double *a,
618 const ::types::blas_int *lda,
619 const ::types::blas_int *ipiv,
620 double *work,
621 const ::types::blas_int *lwork,
623
625 CGETRI)(const ::types::blas_int *n,
626 std::complex<float> *a,
627 const ::types::blas_int *lda,
628 const ::types::blas_int *ipiv,
629 std::complex<float> *work,
630 const ::types::blas_int *lwork,
632
634 ZGETRI)(const ::types::blas_int *n,
635 std::complex<double> *a,
636 const ::types::blas_int *lda,
637 const ::types::blas_int *ipiv,
638 std::complex<double> *work,
639 const ::types::blas_int *lwork,
641
643 SGETRS)(const char *trans,
644 const ::types::blas_int *n,
645 const ::types::blas_int *nrhs,
646 const float *a,
647 const ::types::blas_int *lda,
648 const ::types::blas_int *ipiv,
649 float *b,
650 const ::types::blas_int *ldb,
652
654 DGETRS)(const char *trans,
655 const ::types::blas_int *n,
656 const ::types::blas_int *nrhs,
657 const double *a,
658 const ::types::blas_int *lda,
659 const ::types::blas_int *ipiv,
660 double *b,
661 const ::types::blas_int *ldb,
663
665 CGETRS)(const char *trans,
666 const ::types::blas_int *n,
667 const ::types::blas_int *nrhs,
668 const std::complex<float> *a,
669 const ::types::blas_int *lda,
670 const ::types::blas_int *ipiv,
671 std::complex<float> *b,
672 const ::types::blas_int *ldb,
674
676 ZGETRS)(const char *trans,
677 const ::types::blas_int *n,
678 const ::types::blas_int *nrhs,
679 const std::complex<double> *a,
680 const ::types::blas_int *lda,
681 const ::types::blas_int *ipiv,
682 std::complex<double> *b,
683 const ::types::blas_int *ldb,
685
686 float DEAL_II_FORTRAN_MANGLE(slamch, SLAMCH)(const char *cmach);
687
688 double DEAL_II_FORTRAN_MANGLE(dlamch, DLAMCH)(const char *cmach);
689
691 SLANGE)(const char *norm,
692 const ::types::blas_int *m,
693 const ::types::blas_int *n,
694 const float *a,
695 const ::types::blas_int *lda,
696 float *work);
697
699 DLANGE)(const char *norm,
700 const ::types::blas_int *m,
701 const ::types::blas_int *n,
702 const double *a,
703 const ::types::blas_int *lda,
704 double *work);
705
707 CLANGE)(const char *norm,
708 const ::types::blas_int *m,
709 const ::types::blas_int *n,
710 const std::complex<float> *a,
711 const ::types::blas_int *lda,
712 float *work);
713
715 ZLANGE)(const char *norm,
716 const ::types::blas_int *m,
717 const ::types::blas_int *n,
718 const std::complex<double> *a,
719 const ::types::blas_int *lda,
720 double *work);
721
723 SLANSY)(const char *norm,
724 const char *uplo,
725 const ::types::blas_int *n,
726 const float *a,
727 const ::types::blas_int *lda,
728 float *work);
729
731 DLANSY)(const char *norm,
732 const char *uplo,
733 const ::types::blas_int *n,
734 const double *a,
735 const ::types::blas_int *lda,
736 double *work);
737
739 CLANSY)(const char *norm,
740 const char *uplo,
741 const ::types::blas_int *n,
742 const std::complex<float> *a,
743 const ::types::blas_int *lda,
744 float *work);
745
747 ZLANSY)(const char *norm,
748 const char *uplo,
749 const ::types::blas_int *n,
750 const std::complex<double> *a,
751 const ::types::blas_int *lda,
752 double *work);
753
755 SLASCL)(const char *type,
756 const ::types::blas_int *kl,
757 const ::types::blas_int *ku,
758 const float *cfrom,
759 const float *cto,
760 const ::types::blas_int *m,
761 const ::types::blas_int *n,
762 float *a,
763 const ::types::blas_int *lda,
765
767 DLASCL)(const char *type,
768 const ::types::blas_int *kl,
769 const ::types::blas_int *ku,
770 const double *cfrom,
771 const double *cto,
772 const ::types::blas_int *m,
773 const ::types::blas_int *n,
774 double *a,
775 const ::types::blas_int *lda,
777
779 CLASCL)(const char *type,
780 const ::types::blas_int *kl,
781 const ::types::blas_int *ku,
782 const float *cfrom,
783 const float *cto,
784 const ::types::blas_int *m,
785 const ::types::blas_int *n,
786 std::complex<float> *a,
787 const ::types::blas_int *lda,
789
791 ZLASCL)(const char *type,
792 const ::types::blas_int *kl,
793 const ::types::blas_int *ku,
794 const double *cfrom,
795 const double *cto,
796 const ::types::blas_int *m,
797 const ::types::blas_int *n,
798 std::complex<double> *a,
799 const ::types::blas_int *lda,
801
803 SORGQR)(const ::types::blas_int *m,
804 const ::types::blas_int *n,
805 const ::types::blas_int *k,
806 float *a,
807 const ::types::blas_int *lda,
808 const float *tau,
809 float *work,
810 const ::types::blas_int *lwork,
812
814 DORGQR)(const ::types::blas_int *m,
815 const ::types::blas_int *n,
816 const ::types::blas_int *k,
817 double *a,
818 const ::types::blas_int *lda,
819 const double *tau,
820 double *work,
821 const ::types::blas_int *lwork,
823
825 SORMQR)(const char *side,
826 const char *trans,
827 const ::types::blas_int *m,
828 const ::types::blas_int *n,
829 const ::types::blas_int *k,
830 const float *a,
831 const ::types::blas_int *lda,
832 const float *tau,
833 float *c,
834 const ::types::blas_int *ldc,
835 float *work,
836 const ::types::blas_int *lwork,
838
840 DORMQR)(const char *side,
841 const char *trans,
842 const ::types::blas_int *m,
843 const ::types::blas_int *n,
844 const ::types::blas_int *k,
845 const double *a,
846 const ::types::blas_int *lda,
847 const double *tau,
848 double *c,
849 const ::types::blas_int *ldc,
850 double *work,
851 const ::types::blas_int *lwork,
853
855 SPOCON)(const char *uplo,
856 const ::types::blas_int *n,
857 const float *a,
858 const ::types::blas_int *lda,
859 const float *anorm,
860 float *rcond,
861 float *work,
862 ::types::blas_int *iwork,
864
866 DPOCON)(const char *uplo,
867 const ::types::blas_int *n,
868 const double *a,
869 const ::types::blas_int *lda,
870 const double *anorm,
871 double *rcond,
872 double *work,
873 ::types::blas_int *iwork,
875
877 CPOCON)(const char *uplo,
878 const ::types::blas_int *n,
879 const std::complex<float> *a,
880 const ::types::blas_int *lda,
881 const float *anorm,
882 float *rcond,
883 std::complex<float> *work,
884 float *rwork,
886
888 ZPOCON)(const char *uplo,
889 const ::types::blas_int *n,
890 const std::complex<double> *a,
891 const ::types::blas_int *lda,
892 const double *anorm,
893 double *rcond,
894 std::complex<double> *work,
895 double *rwork,
897
899 SPOTRF)(const char *uplo,
900 const ::types::blas_int *n,
901 float *a,
902 const ::types::blas_int *lda,
904
906 DPOTRF)(const char *uplo,
907 const ::types::blas_int *n,
908 double *a,
909 const ::types::blas_int *lda,
911
913 CPOTRF)(const char *uplo,
914 const ::types::blas_int *n,
915 std::complex<float> *a,
916 const ::types::blas_int *lda,
918
920 ZPOTRF)(const char *uplo,
921 const ::types::blas_int *n,
922 std::complex<double> *a,
923 const ::types::blas_int *lda,
925
927 SPOTRI)(const char *uplo,
928 const ::types::blas_int *n,
929 float *a,
930 const ::types::blas_int *lda,
932
934 DPOTRI)(const char *uplo,
935 const ::types::blas_int *n,
936 double *a,
937 const ::types::blas_int *lda,
939
941 CPOTRI)(const char *uplo,
942 const ::types::blas_int *n,
943 std::complex<float> *a,
944 const ::types::blas_int *lda,
946
948 ZPOTRI)(const char *uplo,
949 const ::types::blas_int *n,
950 std::complex<double> *a,
951 const ::types::blas_int *lda,
953
955 SPOTRS)(const char *uplo,
956 const ::types::blas_int *n,
957 const ::types::blas_int *nrhs,
958 const float *a,
959 const ::types::blas_int *lda,
960 float *b,
961 const ::types::blas_int *ldb,
963
965 DPOTRS)(const char *uplo,
966 const ::types::blas_int *n,
967 const ::types::blas_int *nrhs,
968 const double *a,
969 const ::types::blas_int *lda,
970 double *b,
971 const ::types::blas_int *ldb,
973
975 CPOTRS)(const char *uplo,
976 const ::types::blas_int *n,
977 const ::types::blas_int *nrhs,
978 const std::complex<float> *a,
979 const ::types::blas_int *lda,
980 std::complex<float> *b,
981 const ::types::blas_int *ldb,
983
985 ZPOTRS)(const char *uplo,
986 const ::types::blas_int *n,
987 const ::types::blas_int *nrhs,
988 const std::complex<double> *a,
989 const ::types::blas_int *lda,
990 std::complex<double> *b,
991 const ::types::blas_int *ldb,
993
994 void DEAL_II_FORTRAN_MANGLE(sstev, SSTEV)(const char *jobz,
995 const ::types::blas_int *n,
996 float *d,
997 float *e,
998 float *z,
999 const ::types::blas_int *ldz,
1000 float *work,
1002
1003 void DEAL_II_FORTRAN_MANGLE(dstev, DSTEV)(const char *jobz,
1004 const ::types::blas_int *n,
1005 double *d,
1006 double *e,
1007 double *z,
1008 const ::types::blas_int *ldz,
1009 double *work,
1011
1013 SSYEV)(const char *jobz,
1014 const char *uplo,
1015 const ::types::blas_int *n,
1016 float *a,
1017 const ::types::blas_int *lda,
1018 float *w,
1019 float *work,
1020 const ::types::blas_int *lwork,
1022
1024 DSYEV)(const char *jobz,
1025 const char *uplo,
1026 const ::types::blas_int *n,
1027 double *a,
1028 const ::types::blas_int *lda,
1029 double *w,
1030 double *work,
1031 const ::types::blas_int *lwork,
1033
1035 SSYEVR)(const char *jobz,
1036 const char *range,
1037 const char *uplo,
1038 const ::types::blas_int *n,
1039 float *a,
1040 const ::types::blas_int *lda,
1041 const float *vl,
1042 const float *vu,
1043 const ::types::blas_int *il,
1044 const ::types::blas_int *iu,
1045 const float *abstol,
1047 float *w,
1048 float *z,
1049 const ::types::blas_int *ldz,
1051 float *work,
1052 const ::types::blas_int *lwork,
1053 ::types::blas_int *iwork,
1054 const ::types::blas_int *liwork,
1056
1058 DSYEVR)(const char *jobz,
1059 const char *range,
1060 const char *uplo,
1061 const ::types::blas_int *n,
1062 double *a,
1063 const ::types::blas_int *lda,
1064 const double *vl,
1065 const double *vu,
1066 const ::types::blas_int *il,
1067 const ::types::blas_int *iu,
1068 const double *abstol,
1070 double *w,
1071 double *z,
1072 const ::types::blas_int *ldz,
1074 double *work,
1075 const ::types::blas_int *lwork,
1076 ::types::blas_int *iwork,
1077 const ::types::blas_int *liwork,
1079
1081 SSYEVX)(const char *jobz,
1082 const char *range,
1083 const char *uplo,
1084 const ::types::blas_int *n,
1085 float *a,
1086 const ::types::blas_int *lda,
1087 const float *vl,
1088 const float *vu,
1089 const ::types::blas_int *il,
1090 const ::types::blas_int *iu,
1091 const float *abstol,
1093 float *w,
1094 float *z,
1095 const ::types::blas_int *ldz,
1096 float *work,
1097 const ::types::blas_int *lwork,
1098 ::types::blas_int *iwork,
1101
1103 DSYEVX)(const char *jobz,
1104 const char *range,
1105 const char *uplo,
1106 const ::types::blas_int *n,
1107 double *a,
1108 const ::types::blas_int *lda,
1109 const double *vl,
1110 const double *vu,
1111 const ::types::blas_int *il,
1112 const ::types::blas_int *iu,
1113 const double *abstol,
1115 double *w,
1116 double *z,
1117 const ::types::blas_int *ldz,
1118 double *work,
1119 const ::types::blas_int *lwork,
1120 ::types::blas_int *iwork,
1123
1125 SSYGV)(const ::types::blas_int *itype,
1126 const char *jobz,
1127 const char *uplo,
1128 const ::types::blas_int *n,
1129 float *a,
1130 const ::types::blas_int *lda,
1131 float *b,
1132 const ::types::blas_int *ldb,
1133 float *w,
1134 float *work,
1135 const ::types::blas_int *lwork,
1137
1139 DSYGV)(const ::types::blas_int *itype,
1140 const char *jobz,
1141 const char *uplo,
1142 const ::types::blas_int *n,
1143 double *a,
1144 const ::types::blas_int *lda,
1145 double *b,
1146 const ::types::blas_int *ldb,
1147 double *w,
1148 double *work,
1149 const ::types::blas_int *lwork,
1151
1153 SSYGVX)(const ::types::blas_int *itype,
1154 const char *jobz,
1155 const char *range,
1156 const char *uplo,
1157 const ::types::blas_int *n,
1158 float *a,
1159 const ::types::blas_int *lda,
1160 float *b,
1161 const ::types::blas_int *ldb,
1162 const float *vl,
1163 const float *vu,
1164 const ::types::blas_int *il,
1165 const ::types::blas_int *iu,
1166 const float *abstol,
1168 float *w,
1169 float *z,
1170 const ::types::blas_int *ldz,
1171 float *work,
1172 const ::types::blas_int *lwork,
1173 ::types::blas_int *iwork,
1176
1178 DSYGVX)(const ::types::blas_int *itype,
1179 const char *jobz,
1180 const char *range,
1181 const char *uplo,
1182 const ::types::blas_int *n,
1183 double *a,
1184 const ::types::blas_int *lda,
1185 double *b,
1186 const ::types::blas_int *ldb,
1187 const double *vl,
1188 const double *vu,
1189 const ::types::blas_int *il,
1190 const ::types::blas_int *iu,
1191 const double *abstol,
1193 double *w,
1194 double *z,
1195 const ::types::blas_int *ldz,
1196 double *work,
1197 const ::types::blas_int *lwork,
1198 ::types::blas_int *iwork,
1201
1202 void DEAL_II_FORTRAN_MANGLE(ssyr, SSYR)(const char *uplo,
1203 const ::types::blas_int *n,
1204 const float *alpha,
1205 const float *x,
1206 const ::types::blas_int *incx,
1207 float *a,
1208 const ::types::blas_int *lda);
1209
1210 void DEAL_II_FORTRAN_MANGLE(dsyr, DSYR)(const char *uplo,
1211 const ::types::blas_int *n,
1212 const double *alpha,
1213 const double *x,
1214 const ::types::blas_int *incx,
1215 double *a,
1216 const ::types::blas_int *lda);
1217
1218 void DEAL_II_FORTRAN_MANGLE(ssyrk, SSYRK)(const char *uplo,
1219 const char *trans,
1220 const ::types::blas_int *n,
1221 const ::types::blas_int *k,
1222 const float *alpha,
1223 const float *a,
1224 const ::types::blas_int *lda,
1225 const float *beta,
1226 float *c,
1227 const ::types::blas_int *ldc);
1228
1229 void DEAL_II_FORTRAN_MANGLE(dsyrk, DSYRK)(const char *uplo,
1230 const char *trans,
1231 const ::types::blas_int *n,
1232 const ::types::blas_int *k,
1233 const double *alpha,
1234 const double *a,
1235 const ::types::blas_int *lda,
1236 const double *beta,
1237 double *c,
1238 const ::types::blas_int *ldc);
1239
1240 void DEAL_II_FORTRAN_MANGLE(csyrk, CSYRK)(const char *uplo,
1241 const char *trans,
1242 const ::types::blas_int *n,
1243 const ::types::blas_int *k,
1244 const std::complex<float> *alpha,
1245 const std::complex<float> *a,
1246 const ::types::blas_int *lda,
1247 const std::complex<float> *beta,
1248 std::complex<float> *c,
1249 const ::types::blas_int *ldc);
1250
1251 void DEAL_II_FORTRAN_MANGLE(zsyrk, ZSYRK)(const char *uplo,
1252 const char *trans,
1253 const ::types::blas_int *n,
1254 const ::types::blas_int *k,
1255 const std::complex<double> *alpha,
1256 const std::complex<double> *a,
1257 const ::types::blas_int *lda,
1258 const std::complex<double> *beta,
1259 std::complex<double> *c,
1260 const ::types::blas_int *ldc);
1261
1263 STRCON)(const char *norm,
1264 const char *uplo,
1265 const char *diag,
1266 const ::types::blas_int *n,
1267 const float *a,
1268 const ::types::blas_int *lda,
1269 float *rcond,
1270 float *work,
1271 ::types::blas_int *iwork,
1273
1275 DTRCON)(const char *norm,
1276 const char *uplo,
1277 const char *diag,
1278 const ::types::blas_int *n,
1279 const double *a,
1280 const ::types::blas_int *lda,
1281 double *rcond,
1282 double *work,
1283 ::types::blas_int *iwork,
1285
1287 CTRCON)(const char *norm,
1288 const char *uplo,
1289 const char *diag,
1290 const ::types::blas_int *n,
1291 const std::complex<float> *a,
1292 const ::types::blas_int *lda,
1293 float *rcond,
1294 std::complex<float> *work,
1295 float *rwork,
1297
1299 ZTRCON)(const char *norm,
1300 const char *uplo,
1301 const char *diag,
1302 const ::types::blas_int *n,
1303 const std::complex<double> *a,
1304 const ::types::blas_int *lda,
1305 double *rcond,
1306 std::complex<double> *work,
1307 double *rwork,
1309
1311 STRMV)(const char *uplo,
1312 const char *trans,
1313 const char *diag,
1314 const ::types::blas_int *n,
1315 const float *a,
1316 const ::types::blas_int *lda,
1317 float *x,
1318 const ::types::blas_int *incx);
1319
1321 DTRMV)(const char *uplo,
1322 const char *trans,
1323 const char *diag,
1324 const ::types::blas_int *n,
1325 const double *a,
1326 const ::types::blas_int *lda,
1327 double *x,
1328 const ::types::blas_int *incx);
1329
1331 CTRMV)(const char *uplo,
1332 const char *trans,
1333 const char *diag,
1334 const ::types::blas_int *n,
1335 const std::complex<float> *a,
1336 const ::types::blas_int *lda,
1337 std::complex<float> *x,
1338 const ::types::blas_int *incx);
1339
1341 ZTRMV)(const char *uplo,
1342 const char *trans,
1343 const char *diag,
1344 const ::types::blas_int *n,
1345 const std::complex<double> *a,
1346 const ::types::blas_int *lda,
1347 std::complex<double> *x,
1348 const ::types::blas_int *incx);
1349
1351 STRTRS)(const char *uplo,
1352 const char *trans,
1353 const char *diag,
1354 const ::types::blas_int *n,
1355 const ::types::blas_int *nrhs,
1356 const float *a,
1357 const ::types::blas_int *lda,
1358 float *b,
1359 const ::types::blas_int *ldb,
1361
1363 DTRTRS)(const char *uplo,
1364 const char *trans,
1365 const char *diag,
1366 const ::types::blas_int *n,
1367 const ::types::blas_int *nrhs,
1368 const double *a,
1369 const ::types::blas_int *lda,
1370 double *b,
1371 const ::types::blas_int *ldb,
1373
1375 CTRTRS)(const char *uplo,
1376 const char *trans,
1377 const char *diag,
1378 const ::types::blas_int *n,
1379 const ::types::blas_int *nrhs,
1380 const std::complex<float> *a,
1381 const ::types::blas_int *lda,
1382 std::complex<float> *b,
1383 const ::types::blas_int *ldb,
1385
1387 ZTRTRS)(const char *uplo,
1388 const char *trans,
1389 const char *diag,
1390 const ::types::blas_int *n,
1391 const ::types::blas_int *nrhs,
1392 const std::complex<double> *a,
1393 const ::types::blas_int *lda,
1394 std::complex<double> *b,
1395 const ::types::blas_int *ldb,
1397}
1398#endif
1399
1401
1402
1403
1404template <typename number1, typename number2, typename number3>
1405inline void
1406axpy(const ::types::blas_int *,
1407 const number1 *,
1408 const number2 *,
1409 const ::types::blas_int *,
1410 number3 *,
1411 const ::types::blas_int *)
1412{
1414}
1415
1416
1417
1418inline void
1419axpy(const ::types::blas_int *n,
1420 const float *sa,
1421 const float *sx,
1422 const ::types::blas_int *incx,
1423 float *sy,
1424 const ::types::blas_int *incy)
1425{
1426#ifdef DEAL_II_WITH_LAPACK
1428#else
1429 (void)n;
1430 (void)sa;
1431 (void)sx;
1432 (void)incx;
1433 (void)sy;
1434 (void)incy;
1435 Assert(false, LAPACKSupport::ExcMissing("saxpy"));
1436#endif // DEAL_II_WITH_LAPACK
1437}
1438
1439
1440
1441inline void
1442axpy(const ::types::blas_int *n,
1443 const double *da,
1444 const double *dx,
1445 const ::types::blas_int *incx,
1446 double *dy,
1447 const ::types::blas_int *incy)
1448{
1449#ifdef DEAL_II_WITH_LAPACK
1450 DEAL_II_FORTRAN_MANGLE(daxpy, DAXPY)(n, da, dx, incx, dy, incy);
1451#else
1452 (void)n;
1453 (void)da;
1454 (void)dx;
1455 (void)incx;
1456 (void)dy;
1457 (void)incy;
1458 Assert(false, LAPACKSupport::ExcMissing("daxpy"));
1459#endif // DEAL_II_WITH_LAPACK
1460}
1461
1462
1463
1464inline void
1465axpy(const ::types::blas_int *n,
1466 const std::complex<float> *ca,
1467 const std::complex<float> *cx,
1468 const ::types::blas_int *incx,
1469 std::complex<float> *cy,
1470 const ::types::blas_int *incy)
1471{
1472#ifdef DEAL_II_WITH_LAPACK
1474#else
1475 (void)n;
1476 (void)ca;
1477 (void)cx;
1478 (void)incx;
1479 (void)cy;
1480 (void)incy;
1481 Assert(false, LAPACKSupport::ExcMissing("caxpy"));
1482#endif // DEAL_II_WITH_LAPACK
1483}
1484
1485
1486
1487inline void
1488axpy(const ::types::blas_int *n,
1489 const std::complex<double> *za,
1490 const std::complex<double> *zx,
1491 const ::types::blas_int *incx,
1492 std::complex<double> *zy,
1493 const ::types::blas_int *incy)
1494{
1495#ifdef DEAL_II_WITH_LAPACK
1497#else
1498 (void)n;
1499 (void)za;
1500 (void)zx;
1501 (void)incx;
1502 (void)zy;
1503 (void)incy;
1504 Assert(false, LAPACKSupport::ExcMissing("zaxpy"));
1505#endif // DEAL_II_WITH_LAPACK
1506}
1507
1508
1509
1510template <typename number1,
1511 typename number2,
1512 typename number3,
1513 typename number4,
1514 typename number5,
1515 typename number6>
1516inline void
1517geev(const char *,
1518 const char *,
1519 const ::types::blas_int *,
1520 number1 *,
1521 const ::types::blas_int *,
1522 number2 *,
1523 number3 *,
1524 number4 *,
1525 const ::types::blas_int *,
1526 number5 *,
1527 const ::types::blas_int *,
1528 number6 *,
1529 const ::types::blas_int *,
1531{
1533}
1534
1535
1536
1537inline void
1538geev(const char *jobvl,
1539 const char *jobvr,
1540 const ::types::blas_int *n,
1541 float *a,
1542 const ::types::blas_int *lda,
1543 float *wr,
1544 float *wi,
1545 float *vl,
1546 const ::types::blas_int *ldvl,
1547 float *vr,
1548 const ::types::blas_int *ldvr,
1549 float *work,
1550 const ::types::blas_int *lwork,
1552{
1553#ifdef DEAL_II_WITH_LAPACK
1555 (jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
1556#else
1557 (void)jobvl;
1558 (void)jobvr;
1559 (void)n;
1560 (void)a;
1561 (void)lda;
1562 (void)wr;
1563 (void)wi;
1564 (void)vl;
1565 (void)ldvl;
1566 (void)vr;
1567 (void)ldvr;
1568 (void)work;
1569 (void)lwork;
1570 (void)info;
1571 Assert(false, LAPACKSupport::ExcMissing("sgeev"));
1572#endif // DEAL_II_WITH_LAPACK
1573}
1574
1575
1576
1577inline void
1578geev(const char *jobvl,
1579 const char *jobvr,
1580 const ::types::blas_int *n,
1581 double *a,
1582 const ::types::blas_int *lda,
1583 double *wr,
1584 double *wi,
1585 double *vl,
1586 const ::types::blas_int *ldvl,
1587 double *vr,
1588 const ::types::blas_int *ldvr,
1589 double *work,
1590 const ::types::blas_int *lwork,
1592{
1593#ifdef DEAL_II_WITH_LAPACK
1595 (jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, info);
1596#else
1597 (void)jobvl;
1598 (void)jobvr;
1599 (void)n;
1600 (void)a;
1601 (void)lda;
1602 (void)wr;
1603 (void)wi;
1604 (void)vl;
1605 (void)ldvl;
1606 (void)vr;
1607 (void)ldvr;
1608 (void)work;
1609 (void)lwork;
1610 (void)info;
1611 Assert(false, LAPACKSupport::ExcMissing("dgeev"));
1612#endif // DEAL_II_WITH_LAPACK
1613}
1614
1615
1616
1617inline void
1618geev(const char *jobvl,
1619 const char *jobvr,
1620 const ::types::blas_int *n,
1621 std::complex<float> *a,
1622 const ::types::blas_int *lda,
1623 std::complex<float> *w,
1624 std::complex<float> *vl,
1625 const ::types::blas_int *ldvl,
1626 std::complex<float> *vr,
1627 const ::types::blas_int *ldvr,
1628 std::complex<float> *work,
1629 const ::types::blas_int *lwork,
1630 float *rwork,
1632{
1633#ifdef DEAL_II_WITH_LAPACK
1635 (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
1636#else
1637 (void)jobvl;
1638 (void)jobvr;
1639 (void)n;
1640 (void)a;
1641 (void)lda;
1642 (void)w;
1643 (void)vl;
1644 (void)ldvl;
1645 (void)vr;
1646 (void)ldvr;
1647 (void)work;
1648 (void)lwork;
1649 (void)rwork;
1650 (void)info;
1651 Assert(false, LAPACKSupport::ExcMissing("cgeev"));
1652#endif // DEAL_II_WITH_LAPACK
1653}
1654
1655
1656
1657inline void
1658geev(const char *jobvl,
1659 const char *jobvr,
1660 const ::types::blas_int *n,
1661 std::complex<double> *a,
1662 const ::types::blas_int *lda,
1663 std::complex<double> *w,
1664 std::complex<double> *vl,
1665 const ::types::blas_int *ldvl,
1666 std::complex<double> *vr,
1667 const ::types::blas_int *ldvr,
1668 std::complex<double> *work,
1669 const ::types::blas_int *lwork,
1670 double *rwork,
1672{
1673#ifdef DEAL_II_WITH_LAPACK
1675 (jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
1676#else
1677 (void)jobvl;
1678 (void)jobvr;
1679 (void)n;
1680 (void)a;
1681 (void)lda;
1682 (void)w;
1683 (void)vl;
1684 (void)ldvl;
1685 (void)vr;
1686 (void)ldvr;
1687 (void)work;
1688 (void)lwork;
1689 (void)rwork;
1690 (void)info;
1691 Assert(false, LAPACKSupport::ExcMissing("zgeev"));
1692#endif // DEAL_II_WITH_LAPACK
1693}
1694
1695
1696
1697template <typename number1,
1698 typename number2,
1699 typename number3,
1700 typename number4,
1701 typename number5,
1702 typename number6,
1703 typename number7,
1704 typename number8,
1705 typename number9,
1706 typename number10>
1707inline void
1708geevx(const char *,
1709 const char *,
1710 const char *,
1711 const char *,
1712 const ::types::blas_int *,
1713 number1 *,
1714 const ::types::blas_int *,
1715 number2 *,
1716 number3 *,
1717 number4 *,
1718 const ::types::blas_int *,
1719 number5 *,
1720 const ::types::blas_int *,
1723 number6 *,
1724 number7 *,
1725 number8 *,
1726 number9 *,
1727 number10 *,
1728 const ::types::blas_int *,
1731{
1733}
1734
1735
1736
1737inline void
1738geevx(const char *balanc,
1739 const char *jobvl,
1740 const char *jobvr,
1741 const char *sense,
1742 const ::types::blas_int *n,
1743 float *a,
1744 const ::types::blas_int *lda,
1745 float *wr,
1746 float *wi,
1747 float *vl,
1748 const ::types::blas_int *ldvl,
1749 float *vr,
1750 const ::types::blas_int *ldvr,
1753 float *scale,
1754 float *abnrm,
1755 float *rconde,
1756 float *rcondv,
1757 float *work,
1758 const ::types::blas_int *lwork,
1759 ::types::blas_int *iwork,
1761{
1762#ifdef DEAL_II_WITH_LAPACK
1764 (balanc,
1765 jobvl,
1766 jobvr,
1767 sense,
1768 n,
1769 a,
1770 lda,
1771 wr,
1772 wi,
1773 vl,
1774 ldvl,
1775 vr,
1776 ldvr,
1777 ilo,
1778 ihi,
1779 scale,
1780 abnrm,
1781 rconde,
1782 rcondv,
1783 work,
1784 lwork,
1785 iwork,
1786 info);
1787#else
1788 (void)balanc;
1789 (void)jobvl;
1790 (void)jobvr;
1791 (void)sense;
1792 (void)n;
1793 (void)a;
1794 (void)lda;
1795 (void)wr;
1796 (void)wi;
1797 (void)vl;
1798 (void)ldvl;
1799 (void)vr;
1800 (void)ldvr;
1801 (void)ilo;
1802 (void)ihi;
1803 (void)scale;
1804 (void)abnrm;
1805 (void)rconde;
1806 (void)rcondv;
1807 (void)work;
1808 (void)lwork;
1809 (void)iwork;
1810 (void)info;
1811 Assert(false, LAPACKSupport::ExcMissing("sgeevx"));
1812#endif // DEAL_II_WITH_LAPACK
1813}
1814
1815
1816
1817inline void
1818geevx(const char *balanc,
1819 const char *jobvl,
1820 const char *jobvr,
1821 const char *sense,
1822 const ::types::blas_int *n,
1823 double *a,
1824 const ::types::blas_int *lda,
1825 double *wr,
1826 double *wi,
1827 double *vl,
1828 const ::types::blas_int *ldvl,
1829 double *vr,
1830 const ::types::blas_int *ldvr,
1833 double *scale,
1834 double *abnrm,
1835 double *rconde,
1836 double *rcondv,
1837 double *work,
1838 const ::types::blas_int *lwork,
1839 ::types::blas_int *iwork,
1841{
1842#ifdef DEAL_II_WITH_LAPACK
1844 (balanc,
1845 jobvl,
1846 jobvr,
1847 sense,
1848 n,
1849 a,
1850 lda,
1851 wr,
1852 wi,
1853 vl,
1854 ldvl,
1855 vr,
1856 ldvr,
1857 ilo,
1858 ihi,
1859 scale,
1860 abnrm,
1861 rconde,
1862 rcondv,
1863 work,
1864 lwork,
1865 iwork,
1866 info);
1867#else
1868 (void)balanc;
1869 (void)jobvl;
1870 (void)jobvr;
1871 (void)sense;
1872 (void)n;
1873 (void)a;
1874 (void)lda;
1875 (void)wr;
1876 (void)wi;
1877 (void)vl;
1878 (void)ldvl;
1879 (void)vr;
1880 (void)ldvr;
1881 (void)ilo;
1882 (void)ihi;
1883 (void)scale;
1884 (void)abnrm;
1885 (void)rconde;
1886 (void)rcondv;
1887 (void)work;
1888 (void)lwork;
1889 (void)iwork;
1890 (void)info;
1891 Assert(false, LAPACKSupport::ExcMissing("dgeevx"));
1892#endif // DEAL_II_WITH_LAPACK
1893}
1894
1895
1896
1897inline void
1898geevx(const char *balanc,
1899 const char *jobvl,
1900 const char *jobvr,
1901 const char *sense,
1902 const ::types::blas_int *n,
1903 std::complex<float> *a,
1904 const ::types::blas_int *lda,
1905 std::complex<float> *w,
1906 std::complex<float> *vl,
1907 const ::types::blas_int *ldvl,
1908 std::complex<float> *vr,
1909 const ::types::blas_int *ldvr,
1912 float *scale,
1913 float *abnrm,
1914 float *rconde,
1915 float *rcondv,
1916 std::complex<float> *work,
1917 const ::types::blas_int *lwork,
1918 float *rwork,
1920{
1921#ifdef DEAL_II_WITH_LAPACK
1923 (balanc,
1924 jobvl,
1925 jobvr,
1926 sense,
1927 n,
1928 a,
1929 lda,
1930 w,
1931 vl,
1932 ldvl,
1933 vr,
1934 ldvr,
1935 ilo,
1936 ihi,
1937 scale,
1938 abnrm,
1939 rconde,
1940 rcondv,
1941 work,
1942 lwork,
1943 rwork,
1944 info);
1945#else
1946 (void)balanc;
1947 (void)jobvl;
1948 (void)jobvr;
1949 (void)sense;
1950 (void)n;
1951 (void)a;
1952 (void)lda;
1953 (void)w;
1954 (void)vl;
1955 (void)ldvl;
1956 (void)vr;
1957 (void)ldvr;
1958 (void)ilo;
1959 (void)ihi;
1960 (void)scale;
1961 (void)abnrm;
1962 (void)rconde;
1963 (void)rcondv;
1964 (void)work;
1965 (void)lwork;
1966 (void)rwork;
1967 (void)info;
1968 Assert(false, LAPACKSupport::ExcMissing("cgeevx"));
1969#endif // DEAL_II_WITH_LAPACK
1970}
1971
1972
1973
1974inline void
1975geevx(const char *balanc,
1976 const char *jobvl,
1977 const char *jobvr,
1978 const char *sense,
1979 const ::types::blas_int *n,
1980 std::complex<double> *a,
1981 const ::types::blas_int *lda,
1982 std::complex<double> *w,
1983 std::complex<double> *vl,
1984 const ::types::blas_int *ldvl,
1985 std::complex<double> *vr,
1986 const ::types::blas_int *ldvr,
1989 double *scale,
1990 double *abnrm,
1991 double *rconde,
1992 double *rcondv,
1993 std::complex<double> *work,
1994 const ::types::blas_int *lwork,
1995 double *rwork,
1997{
1998#ifdef DEAL_II_WITH_LAPACK
2000 (balanc,
2001 jobvl,
2002 jobvr,
2003 sense,
2004 n,
2005 a,
2006 lda,
2007 w,
2008 vl,
2009 ldvl,
2010 vr,
2011 ldvr,
2012 ilo,
2013 ihi,
2014 scale,
2015 abnrm,
2016 rconde,
2017 rcondv,
2018 work,
2019 lwork,
2020 rwork,
2021 info);
2022#else
2023 (void)balanc;
2024 (void)jobvl;
2025 (void)jobvr;
2026 (void)sense;
2027 (void)n;
2028 (void)a;
2029 (void)lda;
2030 (void)w;
2031 (void)vl;
2032 (void)ldvl;
2033 (void)vr;
2034 (void)ldvr;
2035 (void)ilo;
2036 (void)ihi;
2037 (void)scale;
2038 (void)abnrm;
2039 (void)rconde;
2040 (void)rcondv;
2041 (void)work;
2042 (void)lwork;
2043 (void)rwork;
2044 (void)info;
2045 Assert(false, LAPACKSupport::ExcMissing("zgeevx"));
2046#endif // DEAL_II_WITH_LAPACK
2047}
2048
2049
2050
2051template <typename number1,
2052 typename number2,
2053 typename number3,
2054 typename number4,
2055 typename number5>
2056inline void
2057gelsd(const ::types::blas_int *,
2058 const ::types::blas_int *,
2059 const ::types::blas_int *,
2060 number1 *,
2061 const ::types::blas_int *,
2062 number2 *,
2063 const ::types::blas_int *,
2064 number3 *,
2065 const number4 *,
2067 number5 *,
2068 const ::types::blas_int *,
2071{
2073}
2074
2075
2076
2077inline void
2078gelsd(const ::types::blas_int *m,
2079 const ::types::blas_int *n,
2080 const ::types::blas_int *nrhs,
2081 float *a,
2082 const ::types::blas_int *lda,
2083 float *b,
2084 const ::types::blas_int *ldb,
2085 float *s,
2086 const float *rcond,
2087 ::types::blas_int *rank,
2088 float *work,
2089 const ::types::blas_int *lwork,
2090 ::types::blas_int *iwork,
2092{
2093#ifdef DEAL_II_WITH_LAPACK
2095 (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info);
2096#else
2097 (void)m;
2098 (void)n;
2099 (void)nrhs;
2100 (void)a;
2101 (void)lda;
2102 (void)b;
2103 (void)ldb;
2104 (void)s;
2105 (void)rcond;
2106 (void)rank;
2107 (void)work;
2108 (void)lwork;
2109 (void)iwork;
2110 (void)info;
2111 Assert(false, LAPACKSupport::ExcMissing("sgelsd"));
2112#endif // DEAL_II_WITH_LAPACK
2113}
2114
2115
2116
2117inline void
2118gelsd(const ::types::blas_int *m,
2119 const ::types::blas_int *n,
2120 const ::types::blas_int *nrhs,
2121 double *a,
2122 const ::types::blas_int *lda,
2123 double *b,
2124 const ::types::blas_int *ldb,
2125 double *s,
2126 const double *rcond,
2127 ::types::blas_int *rank,
2128 double *work,
2129 const ::types::blas_int *lwork,
2130 ::types::blas_int *iwork,
2132{
2133#ifdef DEAL_II_WITH_LAPACK
2135 (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, iwork, info);
2136#else
2137 (void)m;
2138 (void)n;
2139 (void)nrhs;
2140 (void)a;
2141 (void)lda;
2142 (void)b;
2143 (void)ldb;
2144 (void)s;
2145 (void)rcond;
2146 (void)rank;
2147 (void)work;
2148 (void)lwork;
2149 (void)iwork;
2150 (void)info;
2151 Assert(false, LAPACKSupport::ExcMissing("dgelsd"));
2152#endif // DEAL_II_WITH_LAPACK
2153}
2154
2155
2156
2157inline void
2158gelsd(const ::types::blas_int *m,
2159 const ::types::blas_int *n,
2160 const ::types::blas_int *nrhs,
2161 std::complex<float> *a,
2162 const ::types::blas_int *lda,
2163 std::complex<float> *b,
2164 const ::types::blas_int *ldb,
2165 float *s,
2166 const float *rcond,
2167 ::types::blas_int *rank,
2168 std::complex<float> *work,
2169 const ::types::blas_int *lwork,
2170 float *rwork,
2171 ::types::blas_int *iwork,
2173{
2174#ifdef DEAL_II_WITH_LAPACK
2176 (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info);
2177#else
2178 (void)m;
2179 (void)n;
2180 (void)nrhs;
2181 (void)a;
2182 (void)lda;
2183 (void)b;
2184 (void)ldb;
2185 (void)s;
2186 (void)rcond;
2187 (void)rank;
2188 (void)work;
2189 (void)lwork;
2190 (void)rwork;
2191 (void)iwork;
2192 (void)info;
2193 Assert(false, LAPACKSupport::ExcMissing("cgelsd"));
2194#endif // DEAL_II_WITH_LAPACK
2195}
2196
2197
2198
2199inline void
2200gelsd(const ::types::blas_int *m,
2201 const ::types::blas_int *n,
2202 const ::types::blas_int *nrhs,
2203 std::complex<double> *a,
2204 const ::types::blas_int *lda,
2205 std::complex<double> *b,
2206 const ::types::blas_int *ldb,
2207 double *s,
2208 const double *rcond,
2209 ::types::blas_int *rank,
2210 std::complex<double> *work,
2211 const ::types::blas_int *lwork,
2212 double *rwork,
2213 ::types::blas_int *iwork,
2215{
2216#ifdef DEAL_II_WITH_LAPACK
2218 (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work, lwork, rwork, iwork, info);
2219#else
2220 (void)m;
2221 (void)n;
2222 (void)nrhs;
2223 (void)a;
2224 (void)lda;
2225 (void)b;
2226 (void)ldb;
2227 (void)s;
2228 (void)rcond;
2229 (void)rank;
2230 (void)work;
2231 (void)lwork;
2232 (void)rwork;
2233 (void)iwork;
2234 (void)info;
2235 Assert(false, LAPACKSupport::ExcMissing("zgelsd"));
2236#endif // DEAL_II_WITH_LAPACK
2237}
2238
2239
2240
2241template <typename number1,
2242 typename number2,
2243 typename number3,
2244 typename number4,
2245 typename number5>
2246inline void
2247gemm(const char *,
2248 const char *,
2249 const ::types::blas_int *,
2250 const ::types::blas_int *,
2251 const ::types::blas_int *,
2252 const number1 *,
2253 const number2 *,
2254 const ::types::blas_int *,
2255 const number3 *,
2256 const ::types::blas_int *,
2257 const number4 *,
2258 number5 *,
2259 const ::types::blas_int *)
2260{
2262}
2263
2264
2265
2266inline void
2267gemm(const char *transa,
2268 const char *transb,
2269 const ::types::blas_int *m,
2270 const ::types::blas_int *n,
2271 const ::types::blas_int *k,
2272 const float *alpha,
2273 const float *a,
2274 const ::types::blas_int *lda,
2275 const float *b,
2276 const ::types::blas_int *ldb,
2277 const float *beta,
2278 float *c,
2279 const ::types::blas_int *ldc)
2280{
2281#ifdef DEAL_II_WITH_LAPACK
2283 (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2284#else
2285 (void)transa;
2286 (void)transb;
2287 (void)m;
2288 (void)n;
2289 (void)k;
2290 (void)alpha;
2291 (void)a;
2292 (void)lda;
2293 (void)b;
2294 (void)ldb;
2295 (void)beta;
2296 (void)c;
2297 (void)ldc;
2298 Assert(false, LAPACKSupport::ExcMissing("sgemm"));
2299#endif // DEAL_II_WITH_LAPACK
2300}
2301
2302
2303
2304inline void
2305gemm(const char *transa,
2306 const char *transb,
2307 const ::types::blas_int *m,
2308 const ::types::blas_int *n,
2309 const ::types::blas_int *k,
2310 const double *alpha,
2311 const double *a,
2312 const ::types::blas_int *lda,
2313 const double *b,
2314 const ::types::blas_int *ldb,
2315 const double *beta,
2316 double *c,
2317 const ::types::blas_int *ldc)
2318{
2319#ifdef DEAL_II_WITH_LAPACK
2321 (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2322#else
2323 (void)transa;
2324 (void)transb;
2325 (void)m;
2326 (void)n;
2327 (void)k;
2328 (void)alpha;
2329 (void)a;
2330 (void)lda;
2331 (void)b;
2332 (void)ldb;
2333 (void)beta;
2334 (void)c;
2335 (void)ldc;
2336 Assert(false, LAPACKSupport::ExcMissing("dgemm"));
2337#endif // DEAL_II_WITH_LAPACK
2338}
2339
2340
2341
2342inline void
2343gemm(const char *transa,
2344 const char *transb,
2345 const ::types::blas_int *m,
2346 const ::types::blas_int *n,
2347 const ::types::blas_int *k,
2348 const std::complex<float> *alpha,
2349 const std::complex<float> *a,
2350 const ::types::blas_int *lda,
2351 const std::complex<float> *b,
2352 const ::types::blas_int *ldb,
2353 const std::complex<float> *beta,
2354 std::complex<float> *c,
2355 const ::types::blas_int *ldc)
2356{
2357#ifdef DEAL_II_WITH_LAPACK
2359 (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2360#else
2361 (void)transa;
2362 (void)transb;
2363 (void)m;
2364 (void)n;
2365 (void)k;
2366 (void)alpha;
2367 (void)a;
2368 (void)lda;
2369 (void)b;
2370 (void)ldb;
2371 (void)beta;
2372 (void)c;
2373 (void)ldc;
2374 Assert(false, LAPACKSupport::ExcMissing("cgemm"));
2375#endif // DEAL_II_WITH_LAPACK
2376}
2377
2378
2379
2380inline void
2381gemm(const char *transa,
2382 const char *transb,
2383 const ::types::blas_int *m,
2384 const ::types::blas_int *n,
2385 const ::types::blas_int *k,
2386 const std::complex<double> *alpha,
2387 const std::complex<double> *a,
2388 const ::types::blas_int *lda,
2389 const std::complex<double> *b,
2390 const ::types::blas_int *ldb,
2391 const std::complex<double> *beta,
2392 std::complex<double> *c,
2393 const ::types::blas_int *ldc)
2394{
2395#ifdef DEAL_II_WITH_LAPACK
2397 (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc);
2398#else
2399 (void)transa;
2400 (void)transb;
2401 (void)m;
2402 (void)n;
2403 (void)k;
2404 (void)alpha;
2405 (void)a;
2406 (void)lda;
2407 (void)b;
2408 (void)ldb;
2409 (void)beta;
2410 (void)c;
2411 (void)ldc;
2412 Assert(false, LAPACKSupport::ExcMissing("zgemm"));
2413#endif // DEAL_II_WITH_LAPACK
2414}
2415
2416
2417
2418template <typename number1,
2419 typename number2,
2420 typename number3,
2421 typename number4,
2422 typename number5>
2423inline void
2424gemv(const char *,
2425 const ::types::blas_int *,
2426 const ::types::blas_int *,
2427 const number1 *,
2428 const number2 *,
2429 const ::types::blas_int *,
2430 const number3 *,
2431 const ::types::blas_int *,
2432 const number4 *,
2433 number5 *,
2434 const ::types::blas_int *)
2435{
2437}
2438
2439
2440
2441inline void
2442gemv(const char *trans,
2443 const ::types::blas_int *m,
2444 const ::types::blas_int *n,
2445 const float *alpha,
2446 const float *a,
2447 const ::types::blas_int *lda,
2448 const float *x,
2449 const ::types::blas_int *incx,
2450 const float *beta,
2451 float *y,
2452 const ::types::blas_int *incy)
2453{
2454#ifdef DEAL_II_WITH_LAPACK
2456 (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2457#else
2458 (void)trans;
2459 (void)m;
2460 (void)n;
2461 (void)alpha;
2462 (void)a;
2463 (void)lda;
2464 (void)x;
2465 (void)incx;
2466 (void)beta;
2467 (void)y;
2468 (void)incy;
2469 Assert(false, LAPACKSupport::ExcMissing("sgemv"));
2470#endif // DEAL_II_WITH_LAPACK
2471}
2472
2473
2474
2475inline void
2476gemv(const char *trans,
2477 const ::types::blas_int *m,
2478 const ::types::blas_int *n,
2479 const double *alpha,
2480 const double *a,
2481 const ::types::blas_int *lda,
2482 const double *x,
2483 const ::types::blas_int *incx,
2484 const double *beta,
2485 double *y,
2486 const ::types::blas_int *incy)
2487{
2488#ifdef DEAL_II_WITH_LAPACK
2490 (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2491#else
2492 (void)trans;
2493 (void)m;
2494 (void)n;
2495 (void)alpha;
2496 (void)a;
2497 (void)lda;
2498 (void)x;
2499 (void)incx;
2500 (void)beta;
2501 (void)y;
2502 (void)incy;
2503 Assert(false, LAPACKSupport::ExcMissing("dgemv"));
2504#endif // DEAL_II_WITH_LAPACK
2505}
2506
2507
2508
2509inline void
2510gemv(const char *trans,
2511 const ::types::blas_int *m,
2512 const ::types::blas_int *n,
2513 const std::complex<float> *alpha,
2514 const std::complex<float> *a,
2515 const ::types::blas_int *lda,
2516 const std::complex<float> *x,
2517 const ::types::blas_int *incx,
2518 const std::complex<float> *beta,
2519 std::complex<float> *y,
2520 const ::types::blas_int *incy)
2521{
2522#ifdef DEAL_II_WITH_LAPACK
2524 (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2525#else
2526 (void)trans;
2527 (void)m;
2528 (void)n;
2529 (void)alpha;
2530 (void)a;
2531 (void)lda;
2532 (void)x;
2533 (void)incx;
2534 (void)beta;
2535 (void)y;
2536 (void)incy;
2537 Assert(false, LAPACKSupport::ExcMissing("cgemv"));
2538#endif // DEAL_II_WITH_LAPACK
2539}
2540
2541
2542
2543inline void
2544gemv(const char *trans,
2545 const ::types::blas_int *m,
2546 const ::types::blas_int *n,
2547 const std::complex<double> *alpha,
2548 const std::complex<double> *a,
2549 const ::types::blas_int *lda,
2550 const std::complex<double> *x,
2551 const ::types::blas_int *incx,
2552 const std::complex<double> *beta,
2553 std::complex<double> *y,
2554 const ::types::blas_int *incy)
2555{
2556#ifdef DEAL_II_WITH_LAPACK
2558 (trans, m, n, alpha, a, lda, x, incx, beta, y, incy);
2559#else
2560 (void)trans;
2561 (void)m;
2562 (void)n;
2563 (void)alpha;
2564 (void)a;
2565 (void)lda;
2566 (void)x;
2567 (void)incx;
2568 (void)beta;
2569 (void)y;
2570 (void)incy;
2571 Assert(false, LAPACKSupport::ExcMissing("zgemv"));
2572#endif // DEAL_II_WITH_LAPACK
2573}
2574
2575
2576
2577template <typename number1, typename number2, typename number3>
2578inline void
2579geqrf(const ::types::blas_int *,
2580 const ::types::blas_int *,
2581 number1 *,
2582 const ::types::blas_int *,
2583 number2 *,
2584 number3 *,
2585 const ::types::blas_int *,
2587{
2589}
2590
2591
2592
2593inline void
2594geqrf(const ::types::blas_int *m,
2595 const ::types::blas_int *n,
2596 float *a,
2597 const ::types::blas_int *lda,
2598 float *tau,
2599 float *work,
2600 const ::types::blas_int *lwork,
2602{
2603#ifdef DEAL_II_WITH_LAPACK
2604 DEAL_II_FORTRAN_MANGLE(sgeqrf, SGEQRF)(m, n, a, lda, tau, work, lwork, info);
2605#else
2606 (void)m;
2607 (void)n;
2608 (void)a;
2609 (void)lda;
2610 (void)tau;
2611 (void)work;
2612 (void)lwork;
2613 (void)info;
2614 Assert(false, LAPACKSupport::ExcMissing("sgeqrf"));
2615#endif // DEAL_II_WITH_LAPACK
2616}
2617
2618
2619
2620inline void
2621geqrf(const ::types::blas_int *m,
2622 const ::types::blas_int *n,
2623 double *a,
2624 const ::types::blas_int *lda,
2625 double *tau,
2626 double *work,
2627 const ::types::blas_int *lwork,
2629{
2630#ifdef DEAL_II_WITH_LAPACK
2631 DEAL_II_FORTRAN_MANGLE(dgeqrf, DGEQRF)(m, n, a, lda, tau, work, lwork, info);
2632#else
2633 (void)m;
2634 (void)n;
2635 (void)a;
2636 (void)lda;
2637 (void)tau;
2638 (void)work;
2639 (void)lwork;
2640 (void)info;
2641 Assert(false, LAPACKSupport::ExcMissing("dgeqrf"));
2642#endif // DEAL_II_WITH_LAPACK
2643}
2644
2645
2646
2647inline void
2648geqrf(const ::types::blas_int *m,
2649 const ::types::blas_int *n,
2650 std::complex<float> *a,
2651 const ::types::blas_int *lda,
2652 std::complex<float> *tau,
2653 std::complex<float> *work,
2654 const ::types::blas_int *lwork,
2656{
2657#ifdef DEAL_II_WITH_LAPACK
2658 DEAL_II_FORTRAN_MANGLE(cgeqrf, CGEQRF)(m, n, a, lda, tau, work, lwork, info);
2659#else
2660 (void)m;
2661 (void)n;
2662 (void)a;
2663 (void)lda;
2664 (void)tau;
2665 (void)work;
2666 (void)lwork;
2667 (void)info;
2668 Assert(false, LAPACKSupport::ExcMissing("cgeqrf"));
2669#endif // DEAL_II_WITH_LAPACK
2670}
2671
2672
2673
2674inline void
2675geqrf(const ::types::blas_int *m,
2676 const ::types::blas_int *n,
2677 std::complex<double> *a,
2678 const ::types::blas_int *lda,
2679 std::complex<double> *tau,
2680 std::complex<double> *work,
2681 const ::types::blas_int *lwork,
2683{
2684#ifdef DEAL_II_WITH_LAPACK
2685 DEAL_II_FORTRAN_MANGLE(zgeqrf, ZGEQRF)(m, n, a, lda, tau, work, lwork, info);
2686#else
2687 (void)m;
2688 (void)n;
2689 (void)a;
2690 (void)lda;
2691 (void)tau;
2692 (void)work;
2693 (void)lwork;
2694 (void)info;
2695 Assert(false, LAPACKSupport::ExcMissing("zgeqrf"));
2696#endif // DEAL_II_WITH_LAPACK
2697}
2698
2699
2700
2701template <typename number1,
2702 typename number2,
2703 typename number3,
2704 typename number4,
2705 typename number5>
2706inline void
2707gesdd(const char *,
2708 const ::types::blas_int *,
2709 const ::types::blas_int *,
2710 number1 *,
2711 const ::types::blas_int *,
2712 number2 *,
2713 number3 *,
2714 const ::types::blas_int *,
2715 number4 *,
2716 const ::types::blas_int *,
2717 number5 *,
2718 const ::types::blas_int *,
2721{
2723}
2724
2725
2726
2727inline void
2728gesdd(const char *jobz,
2729 const ::types::blas_int *m,
2730 const ::types::blas_int *n,
2731 float *a,
2732 const ::types::blas_int *lda,
2733 float *s,
2734 float *u,
2735 const ::types::blas_int *ldu,
2736 float *vt,
2737 const ::types::blas_int *ldvt,
2738 float *work,
2739 const ::types::blas_int *lwork,
2740 ::types::blas_int *iwork,
2742{
2743#ifdef DEAL_II_WITH_LAPACK
2745 (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
2746#else
2747 (void)jobz;
2748 (void)m;
2749 (void)n;
2750 (void)a;
2751 (void)lda;
2752 (void)s;
2753 (void)u;
2754 (void)ldu;
2755 (void)vt;
2756 (void)ldvt;
2757 (void)work;
2758 (void)lwork;
2759 (void)iwork;
2760 (void)info;
2761 Assert(false, LAPACKSupport::ExcMissing("sgesdd"));
2762#endif // DEAL_II_WITH_LAPACK
2763}
2764
2765
2766
2767inline void
2768gesdd(const char *jobz,
2769 const ::types::blas_int *m,
2770 const ::types::blas_int *n,
2771 double *a,
2772 const ::types::blas_int *lda,
2773 double *s,
2774 double *u,
2775 const ::types::blas_int *ldu,
2776 double *vt,
2777 const ::types::blas_int *ldvt,
2778 double *work,
2779 const ::types::blas_int *lwork,
2780 ::types::blas_int *iwork,
2782{
2783#ifdef DEAL_II_WITH_LAPACK
2785 (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, iwork, info);
2786#else
2787 (void)jobz;
2788 (void)m;
2789 (void)n;
2790 (void)a;
2791 (void)lda;
2792 (void)s;
2793 (void)u;
2794 (void)ldu;
2795 (void)vt;
2796 (void)ldvt;
2797 (void)work;
2798 (void)lwork;
2799 (void)iwork;
2800 (void)info;
2801 Assert(false, LAPACKSupport::ExcMissing("dgesdd"));
2802#endif // DEAL_II_WITH_LAPACK
2803}
2804
2805
2806
2807inline void
2808gesdd(const char *jobz,
2809 const ::types::blas_int *m,
2810 const ::types::blas_int *n,
2811 std::complex<float> *a,
2812 const ::types::blas_int *lda,
2813 float *s,
2814 std::complex<float> *u,
2815 const ::types::blas_int *ldu,
2816 std::complex<float> *vt,
2817 const ::types::blas_int *ldvt,
2818 std::complex<float> *work,
2819 const ::types::blas_int *lwork,
2820 float *rwork,
2821 ::types::blas_int *iwork,
2823{
2824#ifdef DEAL_II_WITH_LAPACK
2826 (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
2827#else
2828 (void)jobz;
2829 (void)m;
2830 (void)n;
2831 (void)a;
2832 (void)lda;
2833 (void)s;
2834 (void)u;
2835 (void)ldu;
2836 (void)vt;
2837 (void)ldvt;
2838 (void)work;
2839 (void)lwork;
2840 (void)rwork;
2841 (void)iwork;
2842 (void)info;
2843 Assert(false, LAPACKSupport::ExcMissing("cgesdd"));
2844#endif // DEAL_II_WITH_LAPACK
2845}
2846
2847
2848
2849inline void
2850gesdd(const char *jobz,
2851 const ::types::blas_int *m,
2852 const ::types::blas_int *n,
2853 std::complex<double> *a,
2854 const ::types::blas_int *lda,
2855 double *s,
2856 std::complex<double> *u,
2857 const ::types::blas_int *ldu,
2858 std::complex<double> *vt,
2859 const ::types::blas_int *ldvt,
2860 std::complex<double> *work,
2861 const ::types::blas_int *lwork,
2862 double *rwork,
2863 ::types::blas_int *iwork,
2865{
2866#ifdef DEAL_II_WITH_LAPACK
2868 (jobz, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, iwork, info);
2869#else
2870 (void)jobz;
2871 (void)m;
2872 (void)n;
2873 (void)a;
2874 (void)lda;
2875 (void)s;
2876 (void)u;
2877 (void)ldu;
2878 (void)vt;
2879 (void)ldvt;
2880 (void)work;
2881 (void)lwork;
2882 (void)rwork;
2883 (void)iwork;
2884 (void)info;
2885 Assert(false, LAPACKSupport::ExcMissing("zgesdd"));
2886#endif // DEAL_II_WITH_LAPACK
2887}
2888
2889
2890
2891template <typename number1,
2892 typename number2,
2893 typename number3,
2894 typename number4,
2895 typename number5>
2896inline void
2897gesvd(const char *,
2898 const char *,
2899 const ::types::blas_int *,
2900 const ::types::blas_int *,
2901 number1 *,
2902 const ::types::blas_int *,
2903 number2 *,
2904 number3 *,
2905 const ::types::blas_int *,
2906 number4 *,
2907 const ::types::blas_int *,
2908 number5 *,
2909 const ::types::blas_int *,
2911{
2913}
2914
2915
2916
2917inline void
2918gesvd(const char *jobu,
2919 const char *jobvt,
2920 const ::types::blas_int *m,
2921 const ::types::blas_int *n,
2922 float *a,
2923 const ::types::blas_int *lda,
2924 float *s,
2925 float *u,
2926 const ::types::blas_int *ldu,
2927 float *vt,
2928 const ::types::blas_int *ldvt,
2929 float *work,
2930 const ::types::blas_int *lwork,
2932{
2933#ifdef DEAL_II_WITH_LAPACK
2935 (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
2936#else
2937 (void)jobu;
2938 (void)jobvt;
2939 (void)m;
2940 (void)n;
2941 (void)a;
2942 (void)lda;
2943 (void)s;
2944 (void)u;
2945 (void)ldu;
2946 (void)vt;
2947 (void)ldvt;
2948 (void)work;
2949 (void)lwork;
2950 (void)info;
2951 Assert(false, LAPACKSupport::ExcMissing("sgesvd"));
2952#endif // DEAL_II_WITH_LAPACK
2953}
2954
2955
2956
2957inline void
2958gesvd(const char *jobu,
2959 const char *jobvt,
2960 const ::types::blas_int *m,
2961 const ::types::blas_int *n,
2962 double *a,
2963 const ::types::blas_int *lda,
2964 double *s,
2965 double *u,
2966 const ::types::blas_int *ldu,
2967 double *vt,
2968 const ::types::blas_int *ldvt,
2969 double *work,
2970 const ::types::blas_int *lwork,
2972{
2973#ifdef DEAL_II_WITH_LAPACK
2975 (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
2976#else
2977 (void)jobu;
2978 (void)jobvt;
2979 (void)m;
2980 (void)n;
2981 (void)a;
2982 (void)lda;
2983 (void)s;
2984 (void)u;
2985 (void)ldu;
2986 (void)vt;
2987 (void)ldvt;
2988 (void)work;
2989 (void)lwork;
2990 (void)info;
2991 Assert(false, LAPACKSupport::ExcMissing("dgesvd"));
2992#endif // DEAL_II_WITH_LAPACK
2993}
2994
2995
2996
2997inline void
2998gesvd(const char *jobu,
2999 const char *jobvt,
3000 const ::types::blas_int *m,
3001 const ::types::blas_int *n,
3002 std::complex<float> *a,
3003 const ::types::blas_int *lda,
3004 float *s,
3005 std::complex<float> *u,
3006 const ::types::blas_int *ldu,
3007 std::complex<float> *vt,
3008 const ::types::blas_int *ldvt,
3009 std::complex<float> *work,
3010 const ::types::blas_int *lwork,
3011 float *rwork,
3013{
3014#ifdef DEAL_II_WITH_LAPACK
3016 (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
3017#else
3018 (void)jobu;
3019 (void)jobvt;
3020 (void)m;
3021 (void)n;
3022 (void)a;
3023 (void)lda;
3024 (void)s;
3025 (void)u;
3026 (void)ldu;
3027 (void)vt;
3028 (void)ldvt;
3029 (void)work;
3030 (void)lwork;
3031 (void)rwork;
3032 (void)info;
3033 Assert(false, LAPACKSupport::ExcMissing("cgesvd"));
3034#endif // DEAL_II_WITH_LAPACK
3035}
3036
3037
3038
3039inline void
3040gesvd(const char *jobu,
3041 const char *jobvt,
3042 const ::types::blas_int *m,
3043 const ::types::blas_int *n,
3044 std::complex<double> *a,
3045 const ::types::blas_int *lda,
3046 double *s,
3047 std::complex<double> *u,
3048 const ::types::blas_int *ldu,
3049 std::complex<double> *vt,
3050 const ::types::blas_int *ldvt,
3051 std::complex<double> *work,
3052 const ::types::blas_int *lwork,
3053 double *rwork,
3055{
3056#ifdef DEAL_II_WITH_LAPACK
3058 (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
3059#else
3060 (void)jobu;
3061 (void)jobvt;
3062 (void)m;
3063 (void)n;
3064 (void)a;
3065 (void)lda;
3066 (void)s;
3067 (void)u;
3068 (void)ldu;
3069 (void)vt;
3070 (void)ldvt;
3071 (void)work;
3072 (void)lwork;
3073 (void)rwork;
3074 (void)info;
3075 Assert(false, LAPACKSupport::ExcMissing("zgesvd"));
3076#endif // DEAL_II_WITH_LAPACK
3077}
3078
3079
3080
3081template <typename number1>
3082inline void
3083getrf(const ::types::blas_int *,
3084 const ::types::blas_int *,
3085 number1 *,
3086 const ::types::blas_int *,
3089{
3091}
3092
3093
3094
3095inline void
3096getrf(const ::types::blas_int *m,
3097 const ::types::blas_int *n,
3098 float *a,
3099 const ::types::blas_int *lda,
3100 ::types::blas_int *ipiv,
3102{
3103#ifdef DEAL_II_WITH_LAPACK
3104 DEAL_II_FORTRAN_MANGLE(sgetrf, SGETRF)(m, n, a, lda, ipiv, info);
3105#else
3106 (void)m;
3107 (void)n;
3108 (void)a;
3109 (void)lda;
3110 (void)ipiv;
3111 (void)info;
3112 Assert(false, LAPACKSupport::ExcMissing("sgetrf"));
3113#endif // DEAL_II_WITH_LAPACK
3114}
3115
3116
3117
3118inline void
3119getrf(const ::types::blas_int *m,
3120 const ::types::blas_int *n,
3121 double *a,
3122 const ::types::blas_int *lda,
3123 ::types::blas_int *ipiv,
3125{
3126#ifdef DEAL_II_WITH_LAPACK
3127 DEAL_II_FORTRAN_MANGLE(dgetrf, DGETRF)(m, n, a, lda, ipiv, info);
3128#else
3129 (void)m;
3130 (void)n;
3131 (void)a;
3132 (void)lda;
3133 (void)ipiv;
3134 (void)info;
3135 Assert(false, LAPACKSupport::ExcMissing("dgetrf"));
3136#endif // DEAL_II_WITH_LAPACK
3137}
3138
3139
3140
3141inline void
3142getrf(const ::types::blas_int *m,
3143 const ::types::blas_int *n,
3144 std::complex<float> *a,
3145 const ::types::blas_int *lda,
3146 ::types::blas_int *ipiv,
3148{
3149#ifdef DEAL_II_WITH_LAPACK
3150 DEAL_II_FORTRAN_MANGLE(cgetrf, CGETRF)(m, n, a, lda, ipiv, info);
3151#else
3152 (void)m;
3153 (void)n;
3154 (void)a;
3155 (void)lda;
3156 (void)ipiv;
3157 (void)info;
3158 Assert(false, LAPACKSupport::ExcMissing("cgetrf"));
3159#endif // DEAL_II_WITH_LAPACK
3160}
3161
3162
3163
3164inline void
3165getrf(const ::types::blas_int *m,
3166 const ::types::blas_int *n,
3167 std::complex<double> *a,
3168 const ::types::blas_int *lda,
3169 ::types::blas_int *ipiv,
3171{
3172#ifdef DEAL_II_WITH_LAPACK
3173 DEAL_II_FORTRAN_MANGLE(zgetrf, ZGETRF)(m, n, a, lda, ipiv, info);
3174#else
3175 (void)m;
3176 (void)n;
3177 (void)a;
3178 (void)lda;
3179 (void)ipiv;
3180 (void)info;
3181 Assert(false, LAPACKSupport::ExcMissing("zgetrf"));
3182#endif // DEAL_II_WITH_LAPACK
3183}
3184
3185
3186
3187template <typename number1, typename number2>
3188inline void
3189getri(const ::types::blas_int *,
3190 number1 *,
3191 const ::types::blas_int *,
3192 const ::types::blas_int *,
3193 number2 *,
3194 const ::types::blas_int *,
3196{
3198}
3199
3200
3201
3202inline void
3203getri(const ::types::blas_int *n,
3204 float *a,
3205 const ::types::blas_int *lda,
3206 const ::types::blas_int *ipiv,
3207 float *work,
3208 const ::types::blas_int *lwork,
3210{
3211#ifdef DEAL_II_WITH_LAPACK
3212 DEAL_II_FORTRAN_MANGLE(sgetri, SGETRI)(n, a, lda, ipiv, work, lwork, info);
3213#else
3214 (void)n;
3215 (void)a;
3216 (void)lda;
3217 (void)ipiv;
3218 (void)work;
3219 (void)lwork;
3220 (void)info;
3221 Assert(false, LAPACKSupport::ExcMissing("sgetri"));
3222#endif // DEAL_II_WITH_LAPACK
3223}
3224
3225
3226
3227inline void
3228getri(const ::types::blas_int *n,
3229 double *a,
3230 const ::types::blas_int *lda,
3231 const ::types::blas_int *ipiv,
3232 double *work,
3233 const ::types::blas_int *lwork,
3235{
3236#ifdef DEAL_II_WITH_LAPACK
3237 DEAL_II_FORTRAN_MANGLE(dgetri, DGETRI)(n, a, lda, ipiv, work, lwork, info);
3238#else
3239 (void)n;
3240 (void)a;
3241 (void)lda;
3242 (void)ipiv;
3243 (void)work;
3244 (void)lwork;
3245 (void)info;
3246 Assert(false, LAPACKSupport::ExcMissing("dgetri"));
3247#endif // DEAL_II_WITH_LAPACK
3248}
3249
3250
3251
3252inline void
3253getri(const ::types::blas_int *n,
3254 std::complex<float> *a,
3255 const ::types::blas_int *lda,
3256 const ::types::blas_int *ipiv,
3257 std::complex<float> *work,
3258 const ::types::blas_int *lwork,
3260{
3261#ifdef DEAL_II_WITH_LAPACK
3262 DEAL_II_FORTRAN_MANGLE(cgetri, CGETRI)(n, a, lda, ipiv, work, lwork, info);
3263#else
3264 (void)n;
3265 (void)a;
3266 (void)lda;
3267 (void)ipiv;
3268 (void)work;
3269 (void)lwork;
3270 (void)info;
3271 Assert(false, LAPACKSupport::ExcMissing("cgetri"));
3272#endif // DEAL_II_WITH_LAPACK
3273}
3274
3275
3276
3277inline void
3278getri(const ::types::blas_int *n,
3279 std::complex<double> *a,
3280 const ::types::blas_int *lda,
3281 const ::types::blas_int *ipiv,
3282 std::complex<double> *work,
3283 const ::types::blas_int *lwork,
3285{
3286#ifdef DEAL_II_WITH_LAPACK
3287 DEAL_II_FORTRAN_MANGLE(zgetri, ZGETRI)(n, a, lda, ipiv, work, lwork, info);
3288#else
3289 (void)n;
3290 (void)a;
3291 (void)lda;
3292 (void)ipiv;
3293 (void)work;
3294 (void)lwork;
3295 (void)info;
3296 Assert(false, LAPACKSupport::ExcMissing("zgetri"));
3297#endif // DEAL_II_WITH_LAPACK
3298}
3299
3300
3301
3302template <typename number1, typename number2>
3303inline void
3304getrs(const char *,
3305 const ::types::blas_int *,
3306 const ::types::blas_int *,
3307 const number1 *,
3308 const ::types::blas_int *,
3309 const ::types::blas_int *,
3310 number2 *,
3311 const ::types::blas_int *,
3313{
3315}
3316
3317
3318
3319inline void
3320getrs(const char *trans,
3321 const ::types::blas_int *n,
3322 const ::types::blas_int *nrhs,
3323 const float *a,
3324 const ::types::blas_int *lda,
3325 const ::types::blas_int *ipiv,
3326 float *b,
3327 const ::types::blas_int *ldb,
3329{
3330#ifdef DEAL_II_WITH_LAPACK
3332 (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3333#else
3334 (void)trans;
3335 (void)n;
3336 (void)nrhs;
3337 (void)a;
3338 (void)lda;
3339 (void)ipiv;
3340 (void)b;
3341 (void)ldb;
3342 (void)info;
3343 Assert(false, LAPACKSupport::ExcMissing("sgetrs"));
3344#endif // DEAL_II_WITH_LAPACK
3345}
3346
3347
3348
3349inline void
3350getrs(const char *trans,
3351 const ::types::blas_int *n,
3352 const ::types::blas_int *nrhs,
3353 const double *a,
3354 const ::types::blas_int *lda,
3355 const ::types::blas_int *ipiv,
3356 double *b,
3357 const ::types::blas_int *ldb,
3359{
3360#ifdef DEAL_II_WITH_LAPACK
3362 (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3363#else
3364 (void)trans;
3365 (void)n;
3366 (void)nrhs;
3367 (void)a;
3368 (void)lda;
3369 (void)ipiv;
3370 (void)b;
3371 (void)ldb;
3372 (void)info;
3373 Assert(false, LAPACKSupport::ExcMissing("dgetrs"));
3374#endif // DEAL_II_WITH_LAPACK
3375}
3376
3377
3378
3379inline void
3380getrs(const char *trans,
3381 const ::types::blas_int *n,
3382 const ::types::blas_int *nrhs,
3383 const std::complex<float> *a,
3384 const ::types::blas_int *lda,
3385 const ::types::blas_int *ipiv,
3386 std::complex<float> *b,
3387 const ::types::blas_int *ldb,
3389{
3390#ifdef DEAL_II_WITH_LAPACK
3392 (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3393#else
3394 (void)trans;
3395 (void)n;
3396 (void)nrhs;
3397 (void)a;
3398 (void)lda;
3399 (void)ipiv;
3400 (void)b;
3401 (void)ldb;
3402 (void)info;
3403 Assert(false, LAPACKSupport::ExcMissing("cgetrs"));
3404#endif // DEAL_II_WITH_LAPACK
3405}
3406
3407
3408
3409inline void
3410getrs(const char *trans,
3411 const ::types::blas_int *n,
3412 const ::types::blas_int *nrhs,
3413 const std::complex<double> *a,
3414 const ::types::blas_int *lda,
3415 const ::types::blas_int *ipiv,
3416 std::complex<double> *b,
3417 const ::types::blas_int *ldb,
3419{
3420#ifdef DEAL_II_WITH_LAPACK
3422 (trans, n, nrhs, a, lda, ipiv, b, ldb, info);
3423#else
3424 (void)trans;
3425 (void)n;
3426 (void)nrhs;
3427 (void)a;
3428 (void)lda;
3429 (void)ipiv;
3430 (void)b;
3431 (void)ldb;
3432 (void)info;
3433 Assert(false, LAPACKSupport::ExcMissing("zgetrs"));
3434#endif // DEAL_II_WITH_LAPACK
3435}
3436
3437
3438
3439template <typename number1>
3440inline number1
3441lamch(const char *)
3442{
3444 return number1();
3445}
3446
3447
3448
3449template <>
3450inline float
3451lamch(const char *cmach)
3452{
3453#ifdef DEAL_II_WITH_LAPACK
3455#else
3456 (void)cmach;
3457 Assert(false, LAPACKSupport::ExcMissing("slamch"));
3458 return float();
3459#endif // DEAL_II_WITH_LAPACK
3460}
3461
3462
3463
3464template <>
3465inline double
3466lamch(const char *cmach)
3467{
3468#ifdef DEAL_II_WITH_LAPACK
3470#else
3471 (void)cmach;
3472 Assert(false, LAPACKSupport::ExcMissing("dlamch"));
3473 return double();
3474#endif // DEAL_II_WITH_LAPACK
3475}
3476
3477
3478
3479template <typename number1, typename number2>
3480inline number1
3481lange(const char *,
3482 const ::types::blas_int *,
3483 const ::types::blas_int *,
3484 const number1 *,
3485 const ::types::blas_int *,
3486 number2 *)
3487{
3489 return number1();
3490}
3491
3492
3493
3494inline float
3495lange(const char *norm,
3496 const ::types::blas_int *m,
3497 const ::types::blas_int *n,
3498 const float *a,
3499 const ::types::blas_int *lda,
3500 float *work)
3501{
3502#ifdef DEAL_II_WITH_LAPACK
3503 return DEAL_II_FORTRAN_MANGLE(slange, SLANGE)(norm, m, n, a, lda, work);
3504#else
3505 (void)norm;
3506 (void)m;
3507 (void)n;
3508 (void)a;
3509 (void)lda;
3510 (void)work;
3511 Assert(false, LAPACKSupport::ExcMissing("slange"));
3512 return float();
3513#endif // DEAL_II_WITH_LAPACK
3514}
3515
3516
3517
3518inline double
3519lange(const char *norm,
3520 const ::types::blas_int *m,
3521 const ::types::blas_int *n,
3522 const double *a,
3523 const ::types::blas_int *lda,
3524 double *work)
3525{
3526#ifdef DEAL_II_WITH_LAPACK
3527 return DEAL_II_FORTRAN_MANGLE(dlange, DLANGE)(norm, m, n, a, lda, work);
3528#else
3529 (void)norm;
3530 (void)m;
3531 (void)n;
3532 (void)a;
3533 (void)lda;
3534 (void)work;
3535 Assert(false, LAPACKSupport::ExcMissing("dlange"));
3536 return double();
3537#endif // DEAL_II_WITH_LAPACK
3538}
3539
3540
3541
3542inline float
3543lange(const char *norm,
3544 const ::types::blas_int *m,
3545 const ::types::blas_int *n,
3546 const std::complex<float> *a,
3547 const ::types::blas_int *lda,
3548 float *work)
3549{
3550#ifdef DEAL_II_WITH_LAPACK
3551 return DEAL_II_FORTRAN_MANGLE(clange, CLANGE)(norm, m, n, a, lda, work);
3552#else
3553 (void)norm;
3554 (void)m;
3555 (void)n;
3556 (void)a;
3557 (void)lda;
3558 (void)work;
3559 Assert(false, LAPACKSupport::ExcMissing("clange"));
3560 return float();
3561#endif // DEAL_II_WITH_LAPACK
3562}
3563
3564
3565
3566inline double
3567lange(const char *norm,
3568 const ::types::blas_int *m,
3569 const ::types::blas_int *n,
3570 const std::complex<double> *a,
3571 const ::types::blas_int *lda,
3572 double *work)
3573{
3574#ifdef DEAL_II_WITH_LAPACK
3575 return DEAL_II_FORTRAN_MANGLE(zlange, ZLANGE)(norm, m, n, a, lda, work);
3576#else
3577 (void)norm;
3578 (void)m;
3579 (void)n;
3580 (void)a;
3581 (void)lda;
3582 (void)work;
3583 Assert(false, LAPACKSupport::ExcMissing("zlange"));
3584 return double();
3585#endif // DEAL_II_WITH_LAPACK
3586}
3587
3588
3589
3590template <typename number1, typename number2>
3591inline number1
3592lansy(const char *,
3593 const char *,
3594 const ::types::blas_int *,
3595 const number1 *,
3596 const ::types::blas_int *,
3597 number2 *)
3598{
3600 return number1();
3601}
3602
3603
3604
3605inline float
3606lansy(const char *norm,
3607 const char *uplo,
3608 const ::types::blas_int *n,
3609 const float *a,
3610 const ::types::blas_int *lda,
3611 float *work)
3612{
3613#ifdef DEAL_II_WITH_LAPACK
3614 return DEAL_II_FORTRAN_MANGLE(slansy, SLANSY)(norm, uplo, n, a, lda, work);
3615#else
3616 (void)norm;
3617 (void)uplo;
3618 (void)n;
3619 (void)a;
3620 (void)lda;
3621 (void)work;
3622 Assert(false, LAPACKSupport::ExcMissing("slansy"));
3623 return float();
3624#endif // DEAL_II_WITH_LAPACK
3625}
3626
3627
3628
3629inline double
3630lansy(const char *norm,
3631 const char *uplo,
3632 const ::types::blas_int *n,
3633 const double *a,
3634 const ::types::blas_int *lda,
3635 double *work)
3636{
3637#ifdef DEAL_II_WITH_LAPACK
3638 return DEAL_II_FORTRAN_MANGLE(dlansy, DLANSY)(norm, uplo, n, a, lda, work);
3639#else
3640 (void)norm;
3641 (void)uplo;
3642 (void)n;
3643 (void)a;
3644 (void)lda;
3645 (void)work;
3646 Assert(false, LAPACKSupport::ExcMissing("dlansy"));
3647 return double();
3648#endif // DEAL_II_WITH_LAPACK
3649}
3650
3651
3652
3653inline float
3654lansy(const char *norm,
3655 const char *uplo,
3656 const ::types::blas_int *n,
3657 const std::complex<float> *a,
3658 const ::types::blas_int *lda,
3659 float *work)
3660{
3661#ifdef DEAL_II_WITH_LAPACK
3662 return DEAL_II_FORTRAN_MANGLE(clansy, CLANSY)(norm, uplo, n, a, lda, work);
3663#else
3664 (void)norm;
3665 (void)uplo;
3666 (void)n;
3667 (void)a;
3668 (void)lda;
3669 (void)work;
3670 Assert(false, LAPACKSupport::ExcMissing("clansy"));
3671 return float();
3672#endif // DEAL_II_WITH_LAPACK
3673}
3674
3675
3676
3677inline double
3678lansy(const char *norm,
3679 const char *uplo,
3680 const ::types::blas_int *n,
3681 const std::complex<double> *a,
3682 const ::types::blas_int *lda,
3683 double *work)
3684{
3685#ifdef DEAL_II_WITH_LAPACK
3686 return DEAL_II_FORTRAN_MANGLE(zlansy, ZLANSY)(norm, uplo, n, a, lda, work);
3687#else
3688 (void)norm;
3689 (void)uplo;
3690 (void)n;
3691 (void)a;
3692 (void)lda;
3693 (void)work;
3694 Assert(false, LAPACKSupport::ExcMissing("zlansy"));
3695 return double();
3696#endif // DEAL_II_WITH_LAPACK
3697}
3698
3699
3700
3701template <typename number1, typename number2, typename number3>
3702inline void
3703lascl(const char *,
3704 const ::types::blas_int *,
3705 const ::types::blas_int *,
3706 const number1 *,
3707 const number2 *,
3708 const ::types::blas_int *,
3709 const ::types::blas_int *,
3710 number3 *,
3711 const ::types::blas_int *,
3713{
3715}
3716
3717
3718
3719inline void
3720lascl(const char *type,
3721 const ::types::blas_int *kl,
3722 const ::types::blas_int *ku,
3723 const float *cfrom,
3724 const float *cto,
3725 const ::types::blas_int *m,
3726 const ::types::blas_int *n,
3727 float *a,
3728 const ::types::blas_int *lda,
3730{
3731#ifdef DEAL_II_WITH_LAPACK
3733 (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3734#else
3735 (void)type;
3736 (void)kl;
3737 (void)ku;
3738 (void)cfrom;
3739 (void)cto;
3740 (void)m;
3741 (void)n;
3742 (void)a;
3743 (void)lda;
3744 (void)info;
3745 Assert(false, LAPACKSupport::ExcMissing("slascl"));
3746#endif // DEAL_II_WITH_LAPACK
3747}
3748
3749
3750
3751inline void
3752lascl(const char *type,
3753 const ::types::blas_int *kl,
3754 const ::types::blas_int *ku,
3755 const double *cfrom,
3756 const double *cto,
3757 const ::types::blas_int *m,
3758 const ::types::blas_int *n,
3759 double *a,
3760 const ::types::blas_int *lda,
3762{
3763#ifdef DEAL_II_WITH_LAPACK
3765 (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3766#else
3767 (void)type;
3768 (void)kl;
3769 (void)ku;
3770 (void)cfrom;
3771 (void)cto;
3772 (void)m;
3773 (void)n;
3774 (void)a;
3775 (void)lda;
3776 (void)info;
3777 Assert(false, LAPACKSupport::ExcMissing("dlascl"));
3778#endif // DEAL_II_WITH_LAPACK
3779}
3780
3781
3782
3783inline void
3784lascl(const char *type,
3785 const ::types::blas_int *kl,
3786 const ::types::blas_int *ku,
3787 const float *cfrom,
3788 const float *cto,
3789 const ::types::blas_int *m,
3790 const ::types::blas_int *n,
3791 std::complex<float> *a,
3792 const ::types::blas_int *lda,
3794{
3795#ifdef DEAL_II_WITH_LAPACK
3797 (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3798#else
3799 (void)type;
3800 (void)kl;
3801 (void)ku;
3802 (void)cfrom;
3803 (void)cto;
3804 (void)m;
3805 (void)n;
3806 (void)a;
3807 (void)lda;
3808 (void)info;
3809 Assert(false, LAPACKSupport::ExcMissing("clascl"));
3810#endif // DEAL_II_WITH_LAPACK
3811}
3812
3813
3814
3815inline void
3816lascl(const char *type,
3817 const ::types::blas_int *kl,
3818 const ::types::blas_int *ku,
3819 const double *cfrom,
3820 const double *cto,
3821 const ::types::blas_int *m,
3822 const ::types::blas_int *n,
3823 std::complex<double> *a,
3824 const ::types::blas_int *lda,
3826{
3827#ifdef DEAL_II_WITH_LAPACK
3829 (type, kl, ku, cfrom, cto, m, n, a, lda, info);
3830#else
3831 (void)type;
3832 (void)kl;
3833 (void)ku;
3834 (void)cfrom;
3835 (void)cto;
3836 (void)m;
3837 (void)n;
3838 (void)a;
3839 (void)lda;
3840 (void)info;
3841 Assert(false, LAPACKSupport::ExcMissing("zlascl"));
3842#endif // DEAL_II_WITH_LAPACK
3843}
3844
3845
3846
3847template <typename number1, typename number2, typename number3>
3848inline void
3849orgqr(const ::types::blas_int *,
3850 const ::types::blas_int *,
3851 const ::types::blas_int *,
3852 number1 *,
3853 const ::types::blas_int *,
3854 const number2 *,
3855 number3 *,
3856 const ::types::blas_int *,
3858{
3860}
3861
3862
3863
3864inline void
3865orgqr(const ::types::blas_int *m,
3866 const ::types::blas_int *n,
3867 const ::types::blas_int *k,
3868 float *a,
3869 const ::types::blas_int *lda,
3870 const float *tau,
3871 float *work,
3872 const ::types::blas_int *lwork,
3874{
3875#ifdef DEAL_II_WITH_LAPACK
3877 (m, n, k, a, lda, tau, work, lwork, info);
3878#else
3879 (void)m;
3880 (void)n;
3881 (void)k;
3882 (void)a;
3883 (void)lda;
3884 (void)tau;
3885 (void)work;
3886 (void)lwork;
3887 (void)info;
3888 Assert(false, LAPACKSupport::ExcMissing("sorgqr"));
3889#endif // DEAL_II_WITH_LAPACK
3890}
3891
3892
3893
3894inline void
3895orgqr(const ::types::blas_int *m,
3896 const ::types::blas_int *n,
3897 const ::types::blas_int *k,
3898 double *a,
3899 const ::types::blas_int *lda,
3900 const double *tau,
3901 double *work,
3902 const ::types::blas_int *lwork,
3904{
3905#ifdef DEAL_II_WITH_LAPACK
3907 (m, n, k, a, lda, tau, work, lwork, info);
3908#else
3909 (void)m;
3910 (void)n;
3911 (void)k;
3912 (void)a;
3913 (void)lda;
3914 (void)tau;
3915 (void)work;
3916 (void)lwork;
3917 (void)info;
3918 Assert(false, LAPACKSupport::ExcMissing("dorgqr"));
3919#endif // DEAL_II_WITH_LAPACK
3920}
3921
3922
3923
3924template <typename number1,
3925 typename number2,
3926 typename number3,
3927 typename number4>
3928inline void
3929ormqr(const char *,
3930 const char *,
3931 const ::types::blas_int *,
3932 const ::types::blas_int *,
3933 const ::types::blas_int *,
3934 const number1 *,
3935 const ::types::blas_int *,
3936 const number2 *,
3937 number3 *,
3938 const ::types::blas_int *,
3939 number4 *,
3940 const ::types::blas_int *,
3942{
3944}
3945
3946
3947
3948inline void
3949ormqr(const char *side,
3950 const char *trans,
3951 const ::types::blas_int *m,
3952 const ::types::blas_int *n,
3953 const ::types::blas_int *k,
3954 const float *a,
3955 const ::types::blas_int *lda,
3956 const float *tau,
3957 float *c,
3958 const ::types::blas_int *ldc,
3959 float *work,
3960 const ::types::blas_int *lwork,
3962{
3963#ifdef DEAL_II_WITH_LAPACK
3965 (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info);
3966#else
3967 (void)side;
3968 (void)trans;
3969 (void)m;
3970 (void)n;
3971 (void)k;
3972 (void)a;
3973 (void)lda;
3974 (void)tau;
3975 (void)c;
3976 (void)ldc;
3977 (void)work;
3978 (void)lwork;
3979 (void)info;
3980 Assert(false, LAPACKSupport::ExcMissing("sormqr"));
3981#endif // DEAL_II_WITH_LAPACK
3982}
3983
3984
3985
3986inline void
3987ormqr(const char *side,
3988 const char *trans,
3989 const ::types::blas_int *m,
3990 const ::types::blas_int *n,
3991 const ::types::blas_int *k,
3992 const double *a,
3993 const ::types::blas_int *lda,
3994 const double *tau,
3995 double *c,
3996 const ::types::blas_int *ldc,
3997 double *work,
3998 const ::types::blas_int *lwork,
4000{
4001#ifdef DEAL_II_WITH_LAPACK
4003 (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info);
4004#else
4005 (void)side;
4006 (void)trans;
4007 (void)m;
4008 (void)n;
4009 (void)k;
4010 (void)a;
4011 (void)lda;
4012 (void)tau;
4013 (void)c;
4014 (void)ldc;
4015 (void)work;
4016 (void)lwork;
4017 (void)info;
4018 Assert(false, LAPACKSupport::ExcMissing("dormqr"));
4019#endif // DEAL_II_WITH_LAPACK
4020}
4021
4022
4023
4024template <typename number1,
4025 typename number2,
4026 typename number3,
4027 typename number4>
4028inline void
4029pocon(const char *,
4030 const ::types::blas_int *,
4031 const number1 *,
4032 const ::types::blas_int *,
4033 const number2 *,
4034 number3 *,
4035 number4 *,
4038{
4040}
4041
4042
4043
4044inline void
4045pocon(const char *uplo,
4046 const ::types::blas_int *n,
4047 const float *a,
4048 const ::types::blas_int *lda,
4049 const float *anorm,
4050 float *rcond,
4051 float *work,
4052 ::types::blas_int *iwork,
4054{
4055#ifdef DEAL_II_WITH_LAPACK
4057 (uplo, n, a, lda, anorm, rcond, work, iwork, info);
4058#else
4059 (void)uplo;
4060 (void)n;
4061 (void)a;
4062 (void)lda;
4063 (void)anorm;
4064 (void)rcond;
4065 (void)work;
4066 (void)iwork;
4067 (void)info;
4068 Assert(false, LAPACKSupport::ExcMissing("spocon"));
4069#endif // DEAL_II_WITH_LAPACK
4070}
4071
4072
4073
4074inline void
4075pocon(const char *uplo,
4076 const ::types::blas_int *n,
4077 const double *a,
4078 const ::types::blas_int *lda,
4079 const double *anorm,
4080 double *rcond,
4081 double *work,
4082 ::types::blas_int *iwork,
4084{
4085#ifdef DEAL_II_WITH_LAPACK
4087 (uplo, n, a, lda, anorm, rcond, work, iwork, info);
4088#else
4089 (void)uplo;
4090 (void)n;
4091 (void)a;
4092 (void)lda;
4093 (void)anorm;
4094 (void)rcond;
4095 (void)work;
4096 (void)iwork;
4097 (void)info;
4098 Assert(false, LAPACKSupport::ExcMissing("dpocon"));
4099#endif // DEAL_II_WITH_LAPACK
4100}
4101
4102
4103
4104inline void
4105pocon(const char *uplo,
4106 const ::types::blas_int *n,
4107 const std::complex<float> *a,
4108 const ::types::blas_int *lda,
4109 const float *anorm,
4110 float *rcond,
4111 std::complex<float> *work,
4112 float *rwork,
4114{
4115#ifdef DEAL_II_WITH_LAPACK
4117 (uplo, n, a, lda, anorm, rcond, work, rwork, info);
4118#else
4119 (void)uplo;
4120 (void)n;
4121 (void)a;
4122 (void)lda;
4123 (void)anorm;
4124 (void)rcond;
4125 (void)work;
4126 (void)rwork;
4127 (void)info;
4128 Assert(false, LAPACKSupport::ExcMissing("cpocon"));
4129#endif // DEAL_II_WITH_LAPACK
4130}
4131
4132
4133
4134inline void
4135pocon(const char *uplo,
4136 const ::types::blas_int *n,
4137 const std::complex<double> *a,
4138 const ::types::blas_int *lda,
4139 const double *anorm,
4140 double *rcond,
4141 std::complex<double> *work,
4142 double *rwork,
4144{
4145#ifdef DEAL_II_WITH_LAPACK
4147 (uplo, n, a, lda, anorm, rcond, work, rwork, info);
4148#else
4149 (void)uplo;
4150 (void)n;
4151 (void)a;
4152 (void)lda;
4153 (void)anorm;
4154 (void)rcond;
4155 (void)work;
4156 (void)rwork;
4157 (void)info;
4158 Assert(false, LAPACKSupport::ExcMissing("zpocon"));
4159#endif // DEAL_II_WITH_LAPACK
4160}
4161
4162
4163
4164template <typename number1>
4165inline void
4166potrf(const char *,
4167 const ::types::blas_int *,
4168 number1 *,
4169 const ::types::blas_int *,
4171{
4173}
4174
4175
4176
4177inline void
4178potrf(const char *uplo,
4179 const ::types::blas_int *n,
4180 float *a,
4181 const ::types::blas_int *lda,
4183{
4184#ifdef DEAL_II_WITH_LAPACK
4186#else
4187 (void)uplo;
4188 (void)n;
4189 (void)a;
4190 (void)lda;
4191 (void)info;
4192 Assert(false, LAPACKSupport::ExcMissing("spotrf"));
4193#endif // DEAL_II_WITH_LAPACK
4194}
4195
4196
4197
4198inline void
4199potrf(const char *uplo,
4200 const ::types::blas_int *n,
4201 double *a,
4202 const ::types::blas_int *lda,
4204{
4205#ifdef DEAL_II_WITH_LAPACK
4207#else
4208 (void)uplo;
4209 (void)n;
4210 (void)a;
4211 (void)lda;
4212 (void)info;
4213 Assert(false, LAPACKSupport::ExcMissing("dpotrf"));
4214#endif // DEAL_II_WITH_LAPACK
4215}
4216
4217
4218
4219inline void
4220potrf(const char *uplo,
4221 const ::types::blas_int *n,
4222 std::complex<float> *a,
4223 const ::types::blas_int *lda,
4225{
4226#ifdef DEAL_II_WITH_LAPACK
4228#else
4229 (void)uplo;
4230 (void)n;
4231 (void)a;
4232 (void)lda;
4233 (void)info;
4234 Assert(false, LAPACKSupport::ExcMissing("cpotrf"));
4235#endif // DEAL_II_WITH_LAPACK
4236}
4237
4238
4239
4240inline void
4241potrf(const char *uplo,
4242 const ::types::blas_int *n,
4243 std::complex<double> *a,
4244 const ::types::blas_int *lda,
4246{
4247#ifdef DEAL_II_WITH_LAPACK
4249#else
4250 (void)uplo;
4251 (void)n;
4252 (void)a;
4253 (void)lda;
4254 (void)info;
4255 Assert(false, LAPACKSupport::ExcMissing("zpotrf"));
4256#endif // DEAL_II_WITH_LAPACK
4257}
4258
4259
4260
4261template <typename number1>
4262inline void
4263potri(const char *,
4264 const ::types::blas_int *,
4265 number1 *,
4266 const ::types::blas_int *,
4268{
4270}
4271
4272
4273
4274inline void
4275potri(const char *uplo,
4276 const ::types::blas_int *n,
4277 float *a,
4278 const ::types::blas_int *lda,
4280{
4281#ifdef DEAL_II_WITH_LAPACK
4283#else
4284 (void)uplo;
4285 (void)n;
4286 (void)a;
4287 (void)lda;
4288 (void)info;
4289 Assert(false, LAPACKSupport::ExcMissing("spotri"));
4290#endif // DEAL_II_WITH_LAPACK
4291}
4292
4293
4294
4295inline void
4296potri(const char *uplo,
4297 const ::types::blas_int *n,
4298 double *a,
4299 const ::types::blas_int *lda,
4301{
4302#ifdef DEAL_II_WITH_LAPACK
4304#else
4305 (void)uplo;
4306 (void)n;
4307 (void)a;
4308 (void)lda;
4309 (void)info;
4310 Assert(false, LAPACKSupport::ExcMissing("dpotri"));
4311#endif // DEAL_II_WITH_LAPACK
4312}
4313
4314
4315
4316inline void
4317potri(const char *uplo,
4318 const ::types::blas_int *n,
4319 std::complex<float> *a,
4320 const ::types::blas_int *lda,
4322{
4323#ifdef DEAL_II_WITH_LAPACK
4325#else
4326 (void)uplo;
4327 (void)n;
4328 (void)a;
4329 (void)lda;
4330 (void)info;
4331 Assert(false, LAPACKSupport::ExcMissing("cpotri"));
4332#endif // DEAL_II_WITH_LAPACK
4333}
4334
4335
4336
4337inline void
4338potri(const char *uplo,
4339 const ::types::blas_int *n,
4340 std::complex<double> *a,
4341 const ::types::blas_int *lda,
4343{
4344#ifdef DEAL_II_WITH_LAPACK
4346#else
4347 (void)uplo;
4348 (void)n;
4349 (void)a;
4350 (void)lda;
4351 (void)info;
4352 Assert(false, LAPACKSupport::ExcMissing("zpotri"));
4353#endif // DEAL_II_WITH_LAPACK
4354}
4355
4356
4357
4358template <typename number1, typename number2>
4359inline void
4360potrs(const char *,
4361 const ::types::blas_int *,
4362 const ::types::blas_int *,
4363 const number1 *,
4364 const ::types::blas_int *,
4365 number2 *,
4366 const ::types::blas_int *,
4368{
4370}
4371
4372
4373
4374inline void
4375potrs(const char *uplo,
4376 const ::types::blas_int *n,
4377 const ::types::blas_int *nrhs,
4378 const float *a,
4379 const ::types::blas_int *lda,
4380 float *b,
4381 const ::types::blas_int *ldb,
4383{
4384#ifdef DEAL_II_WITH_LAPACK
4385 DEAL_II_FORTRAN_MANGLE(spotrs, SPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4386#else
4387 (void)uplo;
4388 (void)n;
4389 (void)nrhs;
4390 (void)a;
4391 (void)lda;
4392 (void)b;
4393 (void)ldb;
4394 (void)info;
4395 Assert(false, LAPACKSupport::ExcMissing("spotrs"));
4396#endif // DEAL_II_WITH_LAPACK
4397}
4398
4399
4400
4401inline void
4402potrs(const char *uplo,
4403 const ::types::blas_int *n,
4404 const ::types::blas_int *nrhs,
4405 const double *a,
4406 const ::types::blas_int *lda,
4407 double *b,
4408 const ::types::blas_int *ldb,
4410{
4411#ifdef DEAL_II_WITH_LAPACK
4412 DEAL_II_FORTRAN_MANGLE(dpotrs, DPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4413#else
4414 (void)uplo;
4415 (void)n;
4416 (void)nrhs;
4417 (void)a;
4418 (void)lda;
4419 (void)b;
4420 (void)ldb;
4421 (void)info;
4422 Assert(false, LAPACKSupport::ExcMissing("dpotrs"));
4423#endif // DEAL_II_WITH_LAPACK
4424}
4425
4426
4427
4428inline void
4429potrs(const char *uplo,
4430 const ::types::blas_int *n,
4431 const ::types::blas_int *nrhs,
4432 const std::complex<float> *a,
4433 const ::types::blas_int *lda,
4434 std::complex<float> *b,
4435 const ::types::blas_int *ldb,
4437{
4438#ifdef DEAL_II_WITH_LAPACK
4439 DEAL_II_FORTRAN_MANGLE(cpotrs, CPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4440#else
4441 (void)uplo;
4442 (void)n;
4443 (void)nrhs;
4444 (void)a;
4445 (void)lda;
4446 (void)b;
4447 (void)ldb;
4448 (void)info;
4449 Assert(false, LAPACKSupport::ExcMissing("cpotrs"));
4450#endif // DEAL_II_WITH_LAPACK
4451}
4452
4453
4454
4455inline void
4456potrs(const char *uplo,
4457 const ::types::blas_int *n,
4458 const ::types::blas_int *nrhs,
4459 const std::complex<double> *a,
4460 const ::types::blas_int *lda,
4461 std::complex<double> *b,
4462 const ::types::blas_int *ldb,
4464{
4465#ifdef DEAL_II_WITH_LAPACK
4466 DEAL_II_FORTRAN_MANGLE(zpotrs, ZPOTRS)(uplo, n, nrhs, a, lda, b, ldb, info);
4467#else
4468 (void)uplo;
4469 (void)n;
4470 (void)nrhs;
4471 (void)a;
4472 (void)lda;
4473 (void)b;
4474 (void)ldb;
4475 (void)info;
4476 Assert(false, LAPACKSupport::ExcMissing("zpotrs"));
4477#endif // DEAL_II_WITH_LAPACK
4478}
4479
4480
4481
4482template <typename number1,
4483 typename number2,
4484 typename number3,
4485 typename number4>
4486inline void
4487stev(const char *,
4488 const ::types::blas_int *,
4489 number1 *,
4490 number2 *,
4491 number3 *,
4492 const ::types::blas_int *,
4493 number4 *,
4495{
4497}
4498
4499
4500
4501inline void
4502stev(const char *jobz,
4503 const ::types::blas_int *n,
4504 float *d,
4505 float *e,
4506 float *z,
4507 const ::types::blas_int *ldz,
4508 float *work,
4510{
4511#ifdef DEAL_II_WITH_LAPACK
4512 DEAL_II_FORTRAN_MANGLE(sstev, SSTEV)(jobz, n, d, e, z, ldz, work, info);
4513#else
4514 (void)jobz;
4515 (void)n;
4516 (void)d;
4517 (void)e;
4518 (void)z;
4519 (void)ldz;
4520 (void)work;
4521 (void)info;
4522 Assert(false, LAPACKSupport::ExcMissing("sstev"));
4523#endif // DEAL_II_WITH_LAPACK
4524}
4525
4526
4527
4528inline void
4529stev(const char *jobz,
4530 const ::types::blas_int *n,
4531 double *d,
4532 double *e,
4533 double *z,
4534 const ::types::blas_int *ldz,
4535 double *work,
4537{
4538#ifdef DEAL_II_WITH_LAPACK
4539 DEAL_II_FORTRAN_MANGLE(dstev, DSTEV)(jobz, n, d, e, z, ldz, work, info);
4540#else
4541 (void)jobz;
4542 (void)n;
4543 (void)d;
4544 (void)e;
4545 (void)z;
4546 (void)ldz;
4547 (void)work;
4548 (void)info;
4549 Assert(false, LAPACKSupport::ExcMissing("dstev"));
4550#endif // DEAL_II_WITH_LAPACK
4551}
4552
4553
4554
4555template <typename number1, typename number2, typename number3>
4556inline void
4557syev(const char *,
4558 const char *,
4559 const ::types::blas_int *,
4560 number1 *,
4561 const ::types::blas_int *,
4562 number2 *,
4563 number3 *,
4564 const ::types::blas_int *,
4566{
4568}
4569
4570
4571
4572inline void
4573syev(const char *jobz,
4574 const char *uplo,
4575 const ::types::blas_int *n,
4576 float *a,
4577 const ::types::blas_int *lda,
4578 float *w,
4579 float *work,
4580 const ::types::blas_int *lwork,
4582{
4583#ifdef DEAL_II_WITH_LAPACK
4585 (jobz, uplo, n, a, lda, w, work, lwork, info);
4586#else
4587 (void)jobz;
4588 (void)uplo;
4589 (void)n;
4590 (void)a;
4591 (void)lda;
4592 (void)w;
4593 (void)work;
4594 (void)lwork;
4595 (void)info;
4596 Assert(false, LAPACKSupport::ExcMissing("ssyev"));
4597#endif // DEAL_II_WITH_LAPACK
4598}
4599
4600
4601
4602inline void
4603syev(const char *jobz,
4604 const char *uplo,
4605 const ::types::blas_int *n,
4606 double *a,
4607 const ::types::blas_int *lda,
4608 double *w,
4609 double *work,
4610 const ::types::blas_int *lwork,
4612{
4613#ifdef DEAL_II_WITH_LAPACK
4615 (jobz, uplo, n, a, lda, w, work, lwork, info);
4616#else
4617 (void)jobz;
4618 (void)uplo;
4619 (void)n;
4620 (void)a;
4621 (void)lda;
4622 (void)w;
4623 (void)work;
4624 (void)lwork;
4625 (void)info;
4626 Assert(false, LAPACKSupport::ExcMissing("dsyev"));
4627#endif // DEAL_II_WITH_LAPACK
4628}
4629
4630
4631
4632template <typename number1,
4633 typename number2,
4634 typename number3,
4635 typename number4,
4636 typename number5,
4637 typename number6,
4638 typename number7>
4639inline void
4640syevr(const char *,
4641 const char *,
4642 const char *,
4643 const ::types::blas_int *,
4644 number1 *,
4645 const ::types::blas_int *,
4646 const number2 *,
4647 const number3 *,
4648 const ::types::blas_int *,
4649 const ::types::blas_int *,
4650 const number4 *,
4652 number5 *,
4653 number6 *,
4654 const ::types::blas_int *,
4656 number7 *,
4657 const ::types::blas_int *,
4659 const ::types::blas_int *,
4661{
4663}
4664
4665
4666
4667inline void
4668syevr(const char *jobz,
4669 const char *range,
4670 const char *uplo,
4671 const ::types::blas_int *n,
4672 float *a,
4673 const ::types::blas_int *lda,
4674 const float *vl,
4675 const float *vu,
4676 const ::types::blas_int *il,
4677 const ::types::blas_int *iu,
4678 const float *abstol,
4680 float *w,
4681 float *z,
4682 const ::types::blas_int *ldz,
4684 float *work,
4685 const ::types::blas_int *lwork,
4686 ::types::blas_int *iwork,
4687 const ::types::blas_int *liwork,
4689{
4690#ifdef DEAL_II_WITH_LAPACK
4691 // Netlib and Atlas Lapack perform floating point tests (e.g. divide-by-zero)
4692 // within calls to some functions, which cause floating point exceptions to be
4693 // thrown (at least in debug mode). Therefore, we wrap the calls into the
4694 // following code to suppress the exception.
4695# ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4698# endif // DEAL_II_HAVE_FP_EXCEPTIONS
4700 (jobz,
4701 range,
4702 uplo,
4703 n,
4704 a,
4705 lda,
4706 vl,
4707 vu,
4708 il,
4709 iu,
4710 abstol,
4711 m,
4712 w,
4713 z,
4714 ldz,
4715 isuppz,
4716 work,
4717 lwork,
4718 iwork,
4719 liwork,
4720 info);
4721# ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4723# endif // DEAL_II_HAVE_FP_EXCEPTIONS
4724#else
4725 (void)jobz;
4726 (void)range;
4727 (void)uplo;
4728 (void)n;
4729 (void)a;
4730 (void)lda;
4731 (void)vl;
4732 (void)vu;
4733 (void)il;
4734 (void)iu;
4735 (void)abstol;
4736 (void)m;
4737 (void)w;
4738 (void)z;
4739 (void)ldz;
4740 (void)isuppz;
4741 (void)work;
4742 (void)lwork;
4743 (void)iwork;
4744 (void)liwork;
4745 (void)info;
4746 Assert(false, LAPACKSupport::ExcMissing("ssyevr"));
4747#endif // DEAL_II_WITH_LAPACK
4748}
4749
4750
4751
4752inline void
4753syevr(const char *jobz,
4754 const char *range,
4755 const char *uplo,
4756 const ::types::blas_int *n,
4757 double *a,
4758 const ::types::blas_int *lda,
4759 const double *vl,
4760 const double *vu,
4761 const ::types::blas_int *il,
4762 const ::types::blas_int *iu,
4763 const double *abstol,
4765 double *w,
4766 double *z,
4767 const ::types::blas_int *ldz,
4769 double *work,
4770 const ::types::blas_int *lwork,
4771 ::types::blas_int *iwork,
4772 const ::types::blas_int *liwork,
4774{
4775#ifdef DEAL_II_WITH_LAPACK
4776 // Netlib and Atlas Lapack perform floating point tests (e.g. divide-by-zero)
4777 // within calls to some functions, which cause floating point exceptions to be
4778 // thrown (at least in debug mode). Therefore, we wrap the calls into the
4779 // following code to suppress the exception.
4780# ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4783# endif // DEAL_II_HAVE_FP_EXCEPTIONS
4785 (jobz,
4786 range,
4787 uplo,
4788 n,
4789 a,
4790 lda,
4791 vl,
4792 vu,
4793 il,
4794 iu,
4795 abstol,
4796 m,
4797 w,
4798 z,
4799 ldz,
4800 isuppz,
4801 work,
4802 lwork,
4803 iwork,
4804 liwork,
4805 info);
4806# ifdef DEAL_II_HAVE_FP_EXCEPTIONS
4808# endif // DEAL_II_HAVE_FP_EXCEPTIONS
4809#else
4810 (void)jobz;
4811 (void)range;
4812 (void)uplo;
4813 (void)n;
4814 (void)a;
4815 (void)lda;
4816 (void)vl;
4817 (void)vu;
4818 (void)il;
4819 (void)iu;
4820 (void)abstol;
4821 (void)m;
4822 (void)w;
4823 (void)z;
4824 (void)ldz;
4825 (void)isuppz;
4826 (void)work;
4827 (void)lwork;
4828 (void)iwork;
4829 (void)liwork;
4830 (void)info;
4831 Assert(false, LAPACKSupport::ExcMissing("dsyevr"));
4832#endif // DEAL_II_WITH_LAPACK
4833}
4834
4835
4836
4837template <typename number1,
4838 typename number2,
4839 typename number3,
4840 typename number4,
4841 typename number5,
4842 typename number6,
4843 typename number7>
4844inline void
4845syevx(const char *,
4846 const char *,
4847 const char *,
4848 const ::types::blas_int *,
4849 number1 *,
4850 const ::types::blas_int *,
4851 const number2 *,
4852 const number3 *,
4853 const ::types::blas_int *,
4854 const ::types::blas_int *,
4855 const number4 *,
4857 number5 *,
4858 number6 *,
4859 const ::types::blas_int *,
4860 number7 *,
4861 const ::types::blas_int *,
4865{
4867}
4868
4869
4870
4871inline void
4872syevx(const char *jobz,
4873 const char *range,
4874 const char *uplo,
4875 const ::types::blas_int *n,
4876 float *a,
4877 const ::types::blas_int *lda,
4878 const float *vl,
4879 const float *vu,
4880 const ::types::blas_int *il,
4881 const ::types::blas_int *iu,
4882 const float *abstol,
4884 float *w,
4885 float *z,
4886 const ::types::blas_int *ldz,
4887 float *work,
4888 const ::types::blas_int *lwork,
4889 ::types::blas_int *iwork,
4892{
4893#ifdef DEAL_II_WITH_LAPACK
4895 (jobz,
4896 range,
4897 uplo,
4898 n,
4899 a,
4900 lda,
4901 vl,
4902 vu,
4903 il,
4904 iu,
4905 abstol,
4906 m,
4907 w,
4908 z,
4909 ldz,
4910 work,
4911 lwork,
4912 iwork,
4913 ifail,
4914 info);
4915#else
4916 (void)jobz;
4917 (void)range;
4918 (void)uplo;
4919 (void)n;
4920 (void)a;
4921 (void)lda;
4922 (void)vl;
4923 (void)vu;
4924 (void)il;
4925 (void)iu;
4926 (void)abstol;
4927 (void)m;
4928 (void)w;
4929 (void)z;
4930 (void)ldz;
4931 (void)work;
4932 (void)lwork;
4933 (void)iwork;
4934 (void)ifail;
4935 (void)info;
4936 Assert(false, LAPACKSupport::ExcMissing("ssyevx"));
4937#endif // DEAL_II_WITH_LAPACK
4938}
4939
4940
4941
4942inline void
4943syevx(const char *jobz,
4944 const char *range,
4945 const char *uplo,
4946 const ::types::blas_int *n,
4947 double *a,
4948 const ::types::blas_int *lda,
4949 const double *vl,
4950 const double *vu,
4951 const ::types::blas_int *il,
4952 const ::types::blas_int *iu,
4953 const double *abstol,
4955 double *w,
4956 double *z,
4957 const ::types::blas_int *ldz,
4958 double *work,
4959 const ::types::blas_int *lwork,
4960 ::types::blas_int *iwork,
4963{
4964#ifdef DEAL_II_WITH_LAPACK
4966 (jobz,
4967 range,
4968 uplo,
4969 n,
4970 a,
4971 lda,
4972 vl,
4973 vu,
4974 il,
4975 iu,
4976 abstol,
4977 m,
4978 w,
4979 z,
4980 ldz,
4981 work,
4982 lwork,
4983 iwork,
4984 ifail,
4985 info);
4986#else
4987 (void)jobz;
4988 (void)range;
4989 (void)uplo;
4990 (void)n;
4991 (void)a;
4992 (void)lda;
4993 (void)vl;
4994 (void)vu;
4995 (void)il;
4996 (void)iu;
4997 (void)abstol;
4998 (void)m;
4999 (void)w;
5000 (void)z;
5001 (void)ldz;
5002 (void)work;
5003 (void)lwork;
5004 (void)iwork;
5005 (void)ifail;
5006 (void)info;
5007 Assert(false, LAPACKSupport::ExcMissing("dsyevx"));
5008#endif // DEAL_II_WITH_LAPACK
5009}
5010
5011
5012
5013template <typename number1,
5014 typename number2,
5015 typename number3,
5016 typename number4>
5017inline void
5018sygv(const ::types::blas_int *,
5019 const char *,
5020 const char *,
5021 const ::types::blas_int *,
5022 number1 *,
5023 const ::types::blas_int *,
5024 number2 *,
5025 const ::types::blas_int *,
5026 number3 *,
5027 number4 *,
5028 const ::types::blas_int *,
5030{
5032}
5033
5034
5035
5036inline void
5037sygv(const ::types::blas_int *itype,
5038 const char *jobz,
5039 const char *uplo,
5040 const ::types::blas_int *n,
5041 float *a,
5042 const ::types::blas_int *lda,
5043 float *b,
5044 const ::types::blas_int *ldb,
5045 float *w,
5046 float *work,
5047 const ::types::blas_int *lwork,
5049{
5050#ifdef DEAL_II_WITH_LAPACK
5052 (itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info);
5053#else
5054 (void)itype;
5055 (void)jobz;
5056 (void)uplo;
5057 (void)n;
5058 (void)a;
5059 (void)lda;
5060 (void)b;
5061 (void)ldb;
5062 (void)w;
5063 (void)work;
5064 (void)lwork;
5065 (void)info;
5066 Assert(false, LAPACKSupport::ExcMissing("ssygv"));
5067#endif // DEAL_II_WITH_LAPACK
5068}
5069
5070
5071
5072inline void
5073sygv(const ::types::blas_int *itype,
5074 const char *jobz,
5075 const char *uplo,
5076 const ::types::blas_int *n,
5077 double *a,
5078 const ::types::blas_int *lda,
5079 double *b,
5080 const ::types::blas_int *ldb,
5081 double *w,
5082 double *work,
5083 const ::types::blas_int *lwork,
5085{
5086#ifdef DEAL_II_WITH_LAPACK
5088 (itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, info);
5089#else
5090 (void)itype;
5091 (void)jobz;
5092 (void)uplo;
5093 (void)n;
5094 (void)a;
5095 (void)lda;
5096 (void)b;
5097 (void)ldb;
5098 (void)w;
5099 (void)work;
5100 (void)lwork;
5101 (void)info;
5102 Assert(false, LAPACKSupport::ExcMissing("dsygv"));
5103#endif // DEAL_II_WITH_LAPACK
5104}
5105
5106
5107
5108template <typename number1,
5109 typename number2,
5110 typename number3,
5111 typename number4,
5112 typename number5,
5113 typename number6,
5114 typename number7,
5115 typename number8>
5116inline void
5117sygvx(const ::types::blas_int *,
5118 const char *,
5119 const char *,
5120 const char *,
5121 const ::types::blas_int *,
5122 number1 *,
5123 const ::types::blas_int *,
5124 number2 *,
5125 const ::types::blas_int *,
5126 const number3 *,
5127 const number4 *,
5128 const ::types::blas_int *,
5129 const ::types::blas_int *,
5130 const number5 *,
5132 number6 *,
5133 number7 *,
5134 const ::types::blas_int *,
5135 number8 *,
5136 const ::types::blas_int *,
5140{
5142}
5143
5144
5145
5146inline void
5147sygvx(const ::types::blas_int *itype,
5148 const char *jobz,
5149 const char *range,
5150 const char *uplo,
5151 const ::types::blas_int *n,
5152 float *a,
5153 const ::types::blas_int *lda,
5154 float *b,
5155 const ::types::blas_int *ldb,
5156 const float *vl,
5157 const float *vu,
5158 const ::types::blas_int *il,
5159 const ::types::blas_int *iu,
5160 const float *abstol,
5162 float *w,
5163 float *z,
5164 const ::types::blas_int *ldz,
5165 float *work,
5166 const ::types::blas_int *lwork,
5167 ::types::blas_int *iwork,
5170{
5171#ifdef DEAL_II_WITH_LAPACK
5173 (itype,
5174 jobz,
5175 range,
5176 uplo,
5177 n,
5178 a,
5179 lda,
5180 b,
5181 ldb,
5182 vl,
5183 vu,
5184 il,
5185 iu,
5186 abstol,
5187 m,
5188 w,
5189 z,
5190 ldz,
5191 work,
5192 lwork,
5193 iwork,
5194 ifail,
5195 info);
5196#else
5197 (void)itype;
5198 (void)jobz;
5199 (void)range;
5200 (void)uplo;
5201 (void)n;
5202 (void)a;
5203 (void)lda;
5204 (void)b;
5205 (void)ldb;
5206 (void)vl;
5207 (void)vu;
5208 (void)il;
5209 (void)iu;
5210 (void)abstol;
5211 (void)m;
5212 (void)w;
5213 (void)z;
5214 (void)ldz;
5215 (void)work;
5216 (void)lwork;
5217 (void)iwork;
5218 (void)ifail;
5219 (void)info;
5220 Assert(false, LAPACKSupport::ExcMissing("ssygvx"));
5221#endif // DEAL_II_WITH_LAPACK
5222}
5223
5224
5225
5226inline void
5227sygvx(const ::types::blas_int *itype,
5228 const char *jobz,
5229 const char *range,
5230 const char *uplo,
5231 const ::types::blas_int *n,
5232 double *a,
5233 const ::types::blas_int *lda,
5234 double *b,
5235 const ::types::blas_int *ldb,
5236 const double *vl,
5237 const double *vu,
5238 const ::types::blas_int *il,
5239 const ::types::blas_int *iu,
5240 const double *abstol,
5242 double *w,
5243 double *z,
5244 const ::types::blas_int *ldz,
5245 double *work,
5246 const ::types::blas_int *lwork,
5247 ::types::blas_int *iwork,
5250{
5251#ifdef DEAL_II_WITH_LAPACK
5253 (itype,
5254 jobz,
5255 range,
5256 uplo,
5257 n,
5258 a,
5259 lda,
5260 b,
5261 ldb,
5262 vl,
5263 vu,
5264 il,
5265 iu,
5266 abstol,
5267 m,
5268 w,
5269 z,
5270 ldz,
5271 work,
5272 lwork,
5273 iwork,
5274 ifail,
5275 info);
5276#else
5277 (void)itype;
5278 (void)jobz;
5279 (void)range;
5280 (void)uplo;
5281 (void)n;
5282 (void)a;
5283 (void)lda;
5284 (void)b;
5285 (void)ldb;
5286 (void)vl;
5287 (void)vu;
5288 (void)il;
5289 (void)iu;
5290 (void)abstol;
5291 (void)m;
5292 (void)w;
5293 (void)z;
5294 (void)ldz;
5295 (void)work;
5296 (void)lwork;
5297 (void)iwork;
5298 (void)ifail;
5299 (void)info;
5300 Assert(false, LAPACKSupport::ExcMissing("dsygvx"));
5301#endif // DEAL_II_WITH_LAPACK
5302}
5303
5304
5305
5306template <typename number1, typename number2, typename number3>
5307inline void
5308syr(const char *,
5309 const ::types::blas_int *,
5310 const number1 *,
5311 const number2 *,
5312 const ::types::blas_int *,
5313 number3 *,
5314 const ::types::blas_int *)
5315{
5317}
5318
5319
5320
5321inline void
5322syr(const char *uplo,
5323 const ::types::blas_int *n,
5324 const float *alpha,
5325 const float *x,
5326 const ::types::blas_int *incx,
5327 float *a,
5328 const ::types::blas_int *lda)
5329{
5330#ifdef DEAL_II_WITH_LAPACK
5331 DEAL_II_FORTRAN_MANGLE(ssyr, SSYR)(uplo, n, alpha, x, incx, a, lda);
5332#else
5333 (void)uplo;
5334 (void)n;
5335 (void)alpha;
5336 (void)x;
5337 (void)incx;
5338 (void)a;
5339 (void)lda;
5340 Assert(false, LAPACKSupport::ExcMissing("ssyr"));
5341#endif // DEAL_II_WITH_LAPACK
5342}
5343
5344
5345
5346inline void
5347syr(const char *uplo,
5348 const ::types::blas_int *n,
5349 const double *alpha,
5350 const double *x,
5351 const ::types::blas_int *incx,
5352 double *a,
5353 const ::types::blas_int *lda)
5354{
5355#ifdef DEAL_II_WITH_LAPACK
5356 DEAL_II_FORTRAN_MANGLE(dsyr, DSYR)(uplo, n, alpha, x, incx, a, lda);
5357#else
5358 (void)uplo;
5359 (void)n;
5360 (void)alpha;
5361 (void)x;
5362 (void)incx;
5363 (void)a;
5364 (void)lda;
5365 Assert(false, LAPACKSupport::ExcMissing("dsyr"));
5366#endif // DEAL_II_WITH_LAPACK
5367}
5368
5369
5370
5371template <typename number1,
5372 typename number2,
5373 typename number3,
5374 typename number4>
5375inline void
5376syrk(const char *,
5377 const char *,
5378 const ::types::blas_int *,
5379 const ::types::blas_int *,
5380 const number1 *,
5381 const number2 *,
5382 const ::types::blas_int *,
5383 const number3 *,
5384 number4 *,
5385 const ::types::blas_int *)
5386{
5388}
5389
5390
5391
5392inline void
5393syrk(const char *uplo,
5394 const char *trans,
5395 const ::types::blas_int *n,
5396 const ::types::blas_int *k,
5397 const float *alpha,
5398 const float *a,
5399 const ::types::blas_int *lda,
5400 const float *beta,
5401 float *c,
5402 const ::types::blas_int *ldc)
5403{
5404#ifdef DEAL_II_WITH_LAPACK
5406 (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5407#else
5408 (void)uplo;
5409 (void)trans;
5410 (void)n;
5411 (void)k;
5412 (void)alpha;
5413 (void)a;
5414 (void)lda;
5415 (void)beta;
5416 (void)c;
5417 (void)ldc;
5418 Assert(false, LAPACKSupport::ExcMissing("ssyrk"));
5419#endif // DEAL_II_WITH_LAPACK
5420}
5421
5422
5423
5424inline void
5425syrk(const char *uplo,
5426 const char *trans,
5427 const ::types::blas_int *n,
5428 const ::types::blas_int *k,
5429 const double *alpha,
5430 const double *a,
5431 const ::types::blas_int *lda,
5432 const double *beta,
5433 double *c,
5434 const ::types::blas_int *ldc)
5435{
5436#ifdef DEAL_II_WITH_LAPACK
5438 (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5439#else
5440 (void)uplo;
5441 (void)trans;
5442 (void)n;
5443 (void)k;
5444 (void)alpha;
5445 (void)a;
5446 (void)lda;
5447 (void)beta;
5448 (void)c;
5449 (void)ldc;
5450 Assert(false, LAPACKSupport::ExcMissing("dsyrk"));
5451#endif // DEAL_II_WITH_LAPACK
5452}
5453
5454
5455
5456inline void
5457syrk(const char *uplo,
5458 const char *trans,
5459 const ::types::blas_int *n,
5460 const ::types::blas_int *k,
5461 const std::complex<float> *alpha,
5462 const std::complex<float> *a,
5463 const ::types::blas_int *lda,
5464 const std::complex<float> *beta,
5465 std::complex<float> *c,
5466 const ::types::blas_int *ldc)
5467{
5468#ifdef DEAL_II_WITH_LAPACK
5470 (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5471#else
5472 (void)uplo;
5473 (void)trans;
5474 (void)n;
5475 (void)k;
5476 (void)alpha;
5477 (void)a;
5478 (void)lda;
5479 (void)beta;
5480 (void)c;
5481 (void)ldc;
5482 Assert(false, LAPACKSupport::ExcMissing("csyrk"));
5483#endif // DEAL_II_WITH_LAPACK
5484}
5485
5486
5487
5488inline void
5489syrk(const char *uplo,
5490 const char *trans,
5491 const ::types::blas_int *n,
5492 const ::types::blas_int *k,
5493 const std::complex<double> *alpha,
5494 const std::complex<double> *a,
5495 const ::types::blas_int *lda,
5496 const std::complex<double> *beta,
5497 std::complex<double> *c,
5498 const ::types::blas_int *ldc)
5499{
5500#ifdef DEAL_II_WITH_LAPACK
5502 (uplo, trans, n, k, alpha, a, lda, beta, c, ldc);
5503#else
5504 (void)uplo;
5505 (void)trans;
5506 (void)n;
5507 (void)k;
5508 (void)alpha;
5509 (void)a;
5510 (void)lda;
5511 (void)beta;
5512 (void)c;
5513 (void)ldc;
5514 Assert(false, LAPACKSupport::ExcMissing("zsyrk"));
5515#endif // DEAL_II_WITH_LAPACK
5516}
5517
5518
5519
5520template <typename number1, typename number2, typename number3>
5521inline void
5522trcon(const char *,
5523 const char *,
5524 const char *,
5525 const ::types::blas_int *,
5526 const number1 *,
5527 const ::types::blas_int *,
5528 number2 *,
5529 number3 *,
5532{
5534}
5535
5536
5537
5538inline void
5539trcon(const char *norm,
5540 const char *uplo,
5541 const char *diag,
5542 const ::types::blas_int *n,
5543 const float *a,
5544 const ::types::blas_int *lda,
5545 float *rcond,
5546 float *work,
5547 ::types::blas_int *iwork,
5549{
5550#ifdef DEAL_II_WITH_LAPACK
5552 (norm, uplo, diag, n, a, lda, rcond, work, iwork, info);
5553#else
5554 (void)norm;
5555 (void)uplo;
5556 (void)diag;
5557 (void)n;
5558 (void)a;
5559 (void)lda;
5560 (void)rcond;
5561 (void)work;
5562 (void)iwork;
5563 (void)info;
5564 Assert(false, LAPACKSupport::ExcMissing("strcon"));
5565#endif // DEAL_II_WITH_LAPACK
5566}
5567
5568
5569
5570inline void
5571trcon(const char *norm,
5572 const char *uplo,
5573 const char *diag,
5574 const ::types::blas_int *n,
5575 const double *a,
5576 const ::types::blas_int *lda,
5577 double *rcond,
5578 double *work,
5579 ::types::blas_int *iwork,
5581{
5582#ifdef DEAL_II_WITH_LAPACK
5584 (norm, uplo, diag, n, a, lda, rcond, work, iwork, info);
5585#else
5586 (void)norm;
5587 (void)uplo;
5588 (void)diag;
5589 (void)n;
5590 (void)a;
5591 (void)lda;
5592 (void)rcond;
5593 (void)work;
5594 (void)iwork;
5595 (void)info;
5596 Assert(false, LAPACKSupport::ExcMissing("dtrcon"));
5597#endif // DEAL_II_WITH_LAPACK
5598}
5599
5600
5601
5602inline void
5603trcon(const char *norm,
5604 const char *uplo,
5605 const char *diag,
5606 const ::types::blas_int *n,
5607 const std::complex<float> *a,
5608 const ::types::blas_int *lda,
5609 float *rcond,
5610 std::complex<float> *work,
5611 float *rwork,
5613{
5614#ifdef DEAL_II_WITH_LAPACK
5616 (norm, uplo, diag, n, a, lda, rcond, work, rwork, info);
5617#else
5618 (void)norm;
5619 (void)uplo;
5620 (void)diag;
5621 (void)n;
5622 (void)a;
5623 (void)lda;
5624 (void)rcond;
5625 (void)work;
5626 (void)rwork;
5627 (void)info;
5628 Assert(false, LAPACKSupport::ExcMissing("ctrcon"));
5629#endif // DEAL_II_WITH_LAPACK
5630}
5631
5632
5633
5634inline void
5635trcon(const char *norm,
5636 const char *uplo,
5637 const char *diag,
5638 const ::types::blas_int *n,
5639 const std::complex<double> *a,
5640 const ::types::blas_int *lda,
5641 double *rcond,
5642 std::complex<double> *work,
5643 double *rwork,
5645{
5646#ifdef DEAL_II_WITH_LAPACK
5648 (norm, uplo, diag, n, a, lda, rcond, work, rwork, info);
5649#else
5650 (void)norm;
5651 (void)uplo;
5652 (void)diag;
5653 (void)n;
5654 (void)a;
5655 (void)lda;
5656 (void)rcond;
5657 (void)work;
5658 (void)rwork;
5659 (void)info;
5660 Assert(false, LAPACKSupport::ExcMissing("ztrcon"));
5661#endif // DEAL_II_WITH_LAPACK
5662}
5663
5664
5665
5666template <typename number1, typename number2>
5667inline void
5668trmv(const char *,
5669 const char *,
5670 const char *,
5671 const ::types::blas_int *,
5672 const number1 *,
5673 const ::types::blas_int *,
5674 number2 *,
5675 const ::types::blas_int *)
5676{
5678}
5679
5680
5681
5682inline void
5683trmv(const char *uplo,
5684 const char *trans,
5685 const char *diag,
5686 const ::types::blas_int *n,
5687 const float *a,
5688 const ::types::blas_int *lda,
5689 float *x,
5690 const ::types::blas_int *incx)
5691{
5692#ifdef DEAL_II_WITH_LAPACK
5693 DEAL_II_FORTRAN_MANGLE(strmv, STRMV)(uplo, trans, diag, n, a, lda, x, incx);
5694#else
5695 (void)uplo;
5696 (void)trans;
5697 (void)diag;
5698 (void)n;
5699 (void)a;
5700 (void)lda;
5701 (void)x;
5702 (void)incx;
5703 Assert(false, LAPACKSupport::ExcMissing("strmv"));
5704#endif // DEAL_II_WITH_LAPACK
5705}
5706
5707
5708
5709inline void
5710trmv(const char *uplo,
5711 const char *trans,
5712 const char *diag,
5713 const ::types::blas_int *n,
5714 const double *a,
5715 const ::types::blas_int *lda,
5716 double *x,
5717 const ::types::blas_int *incx)
5718{
5719#ifdef DEAL_II_WITH_LAPACK
5720 DEAL_II_FORTRAN_MANGLE(dtrmv, DTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5721#else
5722 (void)uplo;
5723 (void)trans;
5724 (void)diag;
5725 (void)n;
5726 (void)a;
5727 (void)lda;
5728 (void)x;
5729 (void)incx;
5730 Assert(false, LAPACKSupport::ExcMissing("dtrmv"));
5731#endif // DEAL_II_WITH_LAPACK
5732}
5733
5734
5735
5736inline void
5737trmv(const char *uplo,
5738 const char *trans,
5739 const char *diag,
5740 const ::types::blas_int *n,
5741 const std::complex<float> *a,
5742 const ::types::blas_int *lda,
5743 std::complex<float> *x,
5744 const ::types::blas_int *incx)
5745{
5746#ifdef DEAL_II_WITH_LAPACK
5747 DEAL_II_FORTRAN_MANGLE(ctrmv, CTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5748#else
5749 (void)uplo;
5750 (void)trans;
5751 (void)diag;
5752 (void)n;
5753 (void)a;
5754 (void)lda;
5755 (void)x;
5756 (void)incx;
5757 Assert(false, LAPACKSupport::ExcMissing("ctrmv"));
5758#endif // DEAL_II_WITH_LAPACK
5759}
5760
5761
5762
5763inline void
5764trmv(const char *uplo,
5765 const char *trans,
5766 const char *diag,
5767 const ::types::blas_int *n,
5768 const std::complex<double> *a,
5769 const ::types::blas_int *lda,
5770 std::complex<double> *x,
5771 const ::types::blas_int *incx)
5772{
5773#ifdef DEAL_II_WITH_LAPACK
5774 DEAL_II_FORTRAN_MANGLE(ztrmv, ZTRMV)(uplo, trans, diag, n, a, lda, x, incx);
5775#else
5776 (void)uplo;
5777 (void)trans;
5778 (void)diag;
5779 (void)n;
5780 (void)a;
5781 (void)lda;
5782 (void)x;
5783 (void)incx;
5784 Assert(false, LAPACKSupport::ExcMissing("ztrmv"));
5785#endif // DEAL_II_WITH_LAPACK
5786}
5787
5788
5789
5790template <typename number1, typename number2>
5791inline void
5792trtrs(const char *,
5793 const char *,
5794 const char *,
5795 const ::types::blas_int *,
5796 const ::types::blas_int *,
5797 const number1 *,
5798 const ::types::blas_int *,
5799 number2 *,
5800 const ::types::blas_int *,
5802{
5804}
5805
5806
5807
5808inline void
5809trtrs(const char *uplo,
5810 const char *trans,
5811 const char *diag,
5812 const ::types::blas_int *n,
5813 const ::types::blas_int *nrhs,
5814 const float *a,
5815 const ::types::blas_int *lda,
5816 float *b,
5817 const ::types::blas_int *ldb,
5819{
5820#ifdef DEAL_II_WITH_LAPACK
5822 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5823#else
5824 (void)uplo;
5825 (void)trans;
5826 (void)diag;
5827 (void)n;
5828 (void)nrhs;
5829 (void)a;
5830 (void)lda;
5831 (void)b;
5832 (void)ldb;
5833 (void)info;
5834 Assert(false, LAPACKSupport::ExcMissing("strtrs"));
5835#endif // DEAL_II_WITH_LAPACK
5836}
5837
5838
5839
5840inline void
5841trtrs(const char *uplo,
5842 const char *trans,
5843 const char *diag,
5844 const ::types::blas_int *n,
5845 const ::types::blas_int *nrhs,
5846 const double *a,
5847 const ::types::blas_int *lda,
5848 double *b,
5849 const ::types::blas_int *ldb,
5851{
5852#ifdef DEAL_II_WITH_LAPACK
5854 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5855#else
5856 (void)uplo;
5857 (void)trans;
5858 (void)diag;
5859 (void)n;
5860 (void)nrhs;
5861 (void)a;
5862 (void)lda;
5863 (void)b;
5864 (void)ldb;
5865 (void)info;
5866 Assert(false, LAPACKSupport::ExcMissing("dtrtrs"));
5867#endif // DEAL_II_WITH_LAPACK
5868}
5869
5870
5871
5872inline void
5873trtrs(const char *uplo,
5874 const char *trans,
5875 const char *diag,
5876 const ::types::blas_int *n,
5877 const ::types::blas_int *nrhs,
5878 const std::complex<float> *a,
5879 const ::types::blas_int *lda,
5880 std::complex<float> *b,
5881 const ::types::blas_int *ldb,
5883{
5884#ifdef DEAL_II_WITH_LAPACK
5886 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5887#else
5888 (void)uplo;
5889 (void)trans;
5890 (void)diag;
5891 (void)n;
5892 (void)nrhs;
5893 (void)a;
5894 (void)lda;
5895 (void)b;
5896 (void)ldb;
5897 (void)info;
5898 Assert(false, LAPACKSupport::ExcMissing("ctrtrs"));
5899#endif // DEAL_II_WITH_LAPACK
5900}
5901
5902
5903
5904inline void
5905trtrs(const char *uplo,
5906 const char *trans,
5907 const char *diag,
5908 const ::types::blas_int *n,
5909 const ::types::blas_int *nrhs,
5910 const std::complex<double> *a,
5911 const ::types::blas_int *lda,
5912 std::complex<double> *b,
5913 const ::types::blas_int *ldb,
5915{
5916#ifdef DEAL_II_WITH_LAPACK
5918 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
5919#else
5920 (void)uplo;
5921 (void)trans;
5922 (void)diag;
5923 (void)n;
5924 (void)nrhs;
5925 (void)a;
5926 (void)lda;
5927 (void)b;
5928 (void)ldb;
5929 (void)info;
5930 Assert(false, LAPACKSupport::ExcMissing("ztrtrs"));
5931#endif // DEAL_II_WITH_LAPACK
5932}
5934
5935#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:518
#define DEAL_II_FORTRAN_MANGLE(name, NAME)
Definition config.h:590
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:519
static ::ExceptionBase & ExcMissing(std::string arg1)
#define Assert(cond, exc)
#define DEAL_II_NOT_IMPLEMENTED()
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 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 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 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 *)
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 *)
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 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 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 pocon(const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, const number2 *, number3 *, number4 *, ::types::blas_int *, ::types::blas_int *)
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 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 *)
void syr(const char *, const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, number3 *, const ::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 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 *)
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 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 *)
void axpy(const ::types::blas_int *, const number1 *, const number2 *, const ::types::blas_int *, number3 *, const ::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 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 stev(const char *, const ::types::blas_int *, number1 *, number2 *, number3 *, const ::types::blas_int *, number4 *, ::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 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 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 *)
number1 lamch(const char *)
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 *)
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 potri(const char *, const ::types::blas_int *, number1 *, const ::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 *)
number1 lansy(const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *)
void potrf(const char *, const ::types::blas_int *, number1 *, 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 *)
void scale(const double scaling_factor, Triangulation< dim, spacedim > &triangulation)
double norm(const FEValuesBase< dim > &fe, const ArrayView< const std::vector< Tensor< 1, dim > > > &Du)
Definition divergence.h:471
Tensor< 2, dim, Number > w(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
SymmetricTensor< 2, dim, Number > d(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)