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