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