15template <
typename Scalar>
18template <
typename Scalar>
21template <
typename Scalar>
27template <
typename Scalar>
30template <
typename Scalar>
33template <
typename Scalar>
36template <
typename Scalar>
41 using ketvec_t = std::vector<std::shared_ptr<const ket_t>>;
46template <
typename Scalar>
55 SystemPair(std::shared_ptr<const basis_t> basis);
62 int interaction_order{3};
63 std::array<real_t, 3> distance_vector{0, 0, std::numeric_limits<real_t>::infinity()};
64 std::shared_ptr<const GreenTensor<Scalar>> user_defined_green_tensor;
66 void construct_hamiltonian()
const override;
69extern template class SystemPair<double>;
70extern template class SystemPair<std::complex<double>>;
SystemPair(std::shared_ptr< const basis_t > basis)
typename traits::CrtpTraits< Type >::real_t real_t
typename traits::CrtpTraits< Type >::basis_t basis_t
Type & set_green_tensor(std::shared_ptr< const GreenTensor< Scalar > > &green_tensor)
Type & set_interaction_order(int value)
Type & set_distance_vector(const std::array< real_t, 3 > &vector)
typename traits::NumTraits< Scalar >::real_t real_t
std::vector< std::shared_ptr< const ket_t > > ketvec_t
Helper struct to extract types from a derived basis type. Must be specialized for each derived basis ...
Helper struct to extract types from a numerical type.