pairinteraction
A Rydberg Interaction Calculator
OperatorPair.cpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2024 Pairinteraction Developers
2
// SPDX-License-Identifier: LGPL-3.0-or-later
3
4
#include "
pairinteraction/operator/OperatorPair.hpp
"
5
6
#include "
pairinteraction/basis/BasisPair.hpp
"
7
#include "
pairinteraction/enums/OperatorType.hpp
"
8
9
namespace
pairinteraction
{
10
11
template
<
typename
Scalar>
12
OperatorPair<Scalar>::OperatorPair
(std::shared_ptr<const basis_t> basis)
13
:
Operator
<
OperatorPair
<Scalar>>(std::move(basis)) {}
14
15
template
<
typename
Scalar>
16
OperatorPair<Scalar>::OperatorPair
(std::shared_ptr<const basis_t> basis,
OperatorType
type)
17
:
Operator
<
OperatorPair
<Scalar>>(std::move(basis)) {
18
if
(type ==
OperatorType::ENERGY
) {
19
this->
initialize_as_energy_operator
();
20
}
else
{
21
throw
std::invalid_argument(
"Only OperatorType::ENERGY is supported."
);
22
}
23
}
24
25
// Explicit instantiations
26
template
class
OperatorPair<double>
;
27
template
class
OperatorPair<std::complex<double>
>;
28
}
// namespace pairinteraction
BasisPair.hpp
OperatorPair.hpp
OperatorType.hpp
pairinteraction::OperatorPair
Definition:
OperatorPair.hpp:34
pairinteraction::OperatorPair::OperatorPair
OperatorPair(std::shared_ptr< const basis_t > basis)
Definition:
OperatorPair.cpp:12
pairinteraction::Operator
Definition:
Operator.hpp:42
pairinteraction::Operator< OperatorPair< Scalar > >::initialize_as_energy_operator
void initialize_as_energy_operator()
Definition:
Operator.cpp:27
pairinteraction
Definition:
Basis.hpp:18
pairinteraction::OperatorType
OperatorType
Definition:
OperatorType.hpp:7
pairinteraction::OperatorType::ENERGY
@ ENERGY
src
cpp
src
operator
OperatorPair.cpp
Generated on Tue Jun 17 2025 15:24:25 for pairinteraction by
1.9.4