Reference documentation for deal.II version Git d2d482dcec 2020-10-26 10:29:03 -0400
\(\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\}}\)
qr.cc
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2020 - 2020 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #include <deal.II/base/config.h>
17 
19 #include <deal.II/lac/qr.h>
20 
21 #include <complex>
22 
24 
25 namespace internal
26 {
27  namespace QRImplementation
28  {
29  // see the corresponding note in the header
30  template <typename Number>
31  void
32  call_trmv(const char uplo,
33  const char trans,
34  const char diag,
35  const types::blas_int n,
36  const Number * a,
37  const types::blas_int lda,
38  Number * x,
39  const types::blas_int incx)
40  {
41  trmv(&uplo, &trans, &diag, &n, a, &lda, x, &incx);
42  }
43 
44  template <typename Number>
45  void
46  call_trtrs(const char uplo,
47  const char trans,
48  const char diag,
49  const types::blas_int n,
50  const types::blas_int nrhs,
51  const Number * a,
52  const types::blas_int lda,
53  Number * b,
54  const types::blas_int ldb,
55  types::blas_int * info)
56  {
57  trtrs(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, info);
58  }
59 
60  template void
61  call_trmv(const char,
62  const char,
63  const char,
64  const types::blas_int,
65  const float *,
66  const types::blas_int,
67  float *,
68  const types::blas_int);
69 
70  template void
71  call_trmv(const char,
72  const char,
73  const char,
74  const types::blas_int,
75  const double *,
76  const types::blas_int,
77  double *,
78  const types::blas_int);
79 
80  template void
81  call_trmv(const char,
82  const char,
83  const char,
84  const types::blas_int,
85  const std::complex<float> *,
86  const types::blas_int,
87  std::complex<float> *,
88  const types::blas_int);
89 
90  template void
91  call_trmv(const char,
92  const char,
93  const char,
94  const types::blas_int,
95  const std::complex<double> *,
96  const types::blas_int,
97  std::complex<double> *,
98  const types::blas_int);
99 
100  template void
101  call_trtrs(const char,
102  const char,
103  const char,
104  const types::blas_int,
105  const types::blas_int,
106  const float *,
107  const types::blas_int,
108  float *,
109  const types::blas_int,
110  types::blas_int *);
111 
112  template void
113  call_trtrs(const char,
114  const char,
115  const char,
116  const types::blas_int,
117  const types::blas_int,
118  const double *,
119  const types::blas_int,
120  double *,
121  const types::blas_int,
122  types::blas_int *);
123 
124  template void
125  call_trtrs(const char,
126  const char,
127  const char,
128  const types::blas_int,
129  const types::blas_int,
130  const std::complex<float> *,
131  const types::blas_int,
132  std::complex<float> *,
133  const types::blas_int,
134  types::blas_int *);
135 
136  template void
137  call_trtrs(const char,
138  const char,
139  const char,
140  const types::blas_int,
141  const types::blas_int,
142  const std::complex<double> *,
143  const types::blas_int,
144  std::complex<double> *,
145  const types::blas_int,
146  types::blas_int *);
147  } // namespace QRImplementation
148 } // namespace internal
149 
void trmv(const char *, const char *, const char *, const ::types::blas_int *, const number1 *, const ::types::blas_int *, number2 *, 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 *)
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:369
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:368
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:46
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:32