deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40: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
qr.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2020 - 2023 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#include <deal.II/base/config.h>
16
18#include <deal.II/lac/qr.h>
19
20#include <complex>
21
23
24namespace internal
25{
26 namespace QRImplementation
27 {
28 // see the corresponding note in the header
29 template <typename Number>
30 void
31 call_trmv(const char uplo,
32 const char trans,
33 const char diag,
34 const types::blas_int n,
35 const Number *a,
36 const types::blas_int lda,
37 Number *x,
38 const types::blas_int incx)
39 {
40 trmv(&uplo, &trans, &diag, &n, a, &lda, x, &incx);
41 }
42
43 template <typename Number>
44 void
45 call_trtrs(const char uplo,
46 const char trans,
47 const char diag,
48 const types::blas_int n,
49 const types::blas_int nrhs,
50 const Number *a,
51 const types::blas_int lda,
52 Number *b,
53 const types::blas_int ldb,
54 types::blas_int *info)
55 {
56 trtrs(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, info);
57 }
58
59 template void
60 call_trmv(const char,
61 const char,
62 const char,
63 const types::blas_int,
64 const float *,
65 const types::blas_int,
66 float *,
67 const types::blas_int);
68
69 template void
70 call_trmv(const char,
71 const char,
72 const char,
73 const types::blas_int,
74 const double *,
75 const types::blas_int,
76 double *,
77 const types::blas_int);
78
79 template void
80 call_trmv(const char,
81 const char,
82 const char,
83 const types::blas_int,
84 const std::complex<float> *,
85 const types::blas_int,
86 std::complex<float> *,
87 const types::blas_int);
88
89 template void
90 call_trmv(const char,
91 const char,
92 const char,
93 const types::blas_int,
94 const std::complex<double> *,
95 const types::blas_int,
96 std::complex<double> *,
97 const types::blas_int);
98
99 template void
100 call_trtrs(const char,
101 const char,
102 const char,
103 const types::blas_int,
104 const types::blas_int,
105 const float *,
106 const types::blas_int,
107 float *,
108 const types::blas_int,
110
111 template void
112 call_trtrs(const char,
113 const char,
114 const char,
115 const types::blas_int,
116 const types::blas_int,
117 const double *,
118 const types::blas_int,
119 double *,
120 const types::blas_int,
122
123 template void
124 call_trtrs(const char,
125 const char,
126 const char,
127 const types::blas_int,
128 const types::blas_int,
129 const std::complex<float> *,
130 const types::blas_int,
131 std::complex<float> *,
132 const types::blas_int,
134
135 template void
136 call_trtrs(const char,
137 const char,
138 const char,
139 const types::blas_int,
140 const types::blas_int,
141 const std::complex<double> *,
142 const types::blas_int,
143 std::complex<double> *,
144 const types::blas_int,
146 } // namespace QRImplementation
147} // namespace internal
148
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499
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 trmv(const char *, const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, const ::types::blas_int *)
void call_trmv(const char uplo, const char trans, const char diag, const types::blas_int n, const Number *a, const types::blas_int lda, Number *x, const types::blas_int incx)
Definition qr.cc:31
void call_trtrs(const char uplo, const char trans, const char diag, const types::blas_int n, const types::blas_int nrhs, const Number *a, const types::blas_int lda, Number *b, const types::blas_int ldb, types::blas_int *info)
Definition qr.cc:45