Loading [MathJax]/extensions/TeX/newcommand.js
deal.II version GIT relicensing-2836-g362046b457 2025-03-13 15: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\}}
Toggle main menu visibility
Main Page
Tutorial
Code gallery
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
v
Enumerations
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
v
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
b
c
d
e
f
g
i
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Related Symbols
:
a
b
c
d
f
g
i
l
m
n
o
p
r
s
t
u
v
Related Pages
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
Variables
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
Typedefs
Enumerations
Enumerator
m
u
Macros
a
b
d
e
f
h
i
m
p
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
source
lac
full_matrix.cc
Go to the documentation of this file.
1
// ------------------------------------------------------------------------
2
//
3
// SPDX-License-Identifier: LGPL-2.1-or-later
4
// Copyright (C) 2007 - 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/logstream.h
>
16
17
#include <deal.II/lac/full_matrix.templates.h>
18
19
DEAL_II_NAMESPACE_OPEN
20
21
#include "lac/full_matrix.inst"
22
23
#ifndef DOXYGEN
24
25
// We use FullMatrix<std::complex<T>> for complex eigenvalues so ignore the
26
// value of DEAL_II_WITH_COMPLEX_VALUES and always instantiate. As a consequence
27
// we cannot use REAL_AND_COMPLEX_SCALARS without getting duplicate
28
// instantiations so do float and double here too.
29
template
class
FullMatrix<float>
;
30
template
class
FullMatrix<double>
;
31
template
class
FullMatrix<std::complex<float>
>;
32
template
class
FullMatrix<std::complex<double>
>;
33
34
// instantiate for long double manually because we use it in a few places
35
// inside the library
36
template
class
FullMatrix<long double>
;
37
template
void
38
FullMatrix<long double>::invert<long double>
(
const
FullMatrix<long double>
&);
39
template
void
40
FullMatrix<long double>::mmult<long double>
(
FullMatrix<long double>
&,
41
const
FullMatrix<long double>
&,
42
const
bool
)
const
;
43
template
void
44
FullMatrix<long double>::Tmmult<long double>
(
FullMatrix<long double>
&,
45
const
FullMatrix<long double>
&,
46
const
bool
)
const
;
47
template
void
48
FullMatrix<long double>::mTmult<long double>
(
FullMatrix<long double>
&,
49
const
FullMatrix<long double>
&,
50
const
bool
)
const
;
51
template
void
52
FullMatrix<long double>::TmTmult<long double>
(
FullMatrix<long double>
&,
53
const
FullMatrix<long double>
&,
54
const
bool
)
const
;
55
template
void
56
FullMatrix<long double>::vmult<long double>
(
Vector<long double>
&,
57
const
Vector<long double>
&,
58
bool
)
const
;
59
template
void
60
FullMatrix<long double>::Tvmult<long double>
(
Vector<long double>
&,
61
const
Vector<long double>
&,
62
bool
)
const
;
63
template
void
64
FullMatrix<long double>::add<long double>
(
const
long
double
,
65
const
FullMatrix<long double>
&);
66
67
68
// do a few functions that currently don't fit the scheme because they have
69
// two template arguments that need to be different (the case of same
70
// arguments is covered by the default copy constructor and copy operator that
71
// is declared separately)
72
73
# define TEMPL_OP_EQ(S1, S2) \
74
template FullMatrix<S1> &FullMatrix<S1>::operator=(const FullMatrix<S2> &)
75
76
TEMPL_OP_EQ(
double
,
float
);
77
TEMPL_OP_EQ(
float
,
double
);
78
79
TEMPL_OP_EQ(std::complex<double>, std::complex<float>);
80
TEMPL_OP_EQ(std::complex<float>, std::complex<double>);
81
TEMPL_OP_EQ(std::complex<double>,
double
);
82
TEMPL_OP_EQ(std::complex<float>,
float
);
83
84
# undef TEMPL_OP_EQ
85
86
#endif
87
88
DEAL_II_NAMESPACE_CLOSE
FullMatrix
Definition
full_matrix.h:79
Vector
Definition
vector.h:119
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:40
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:41
logstream.h
Generated by
1.9.8