7 #include <unsupported/Eigen/MatrixFunctions> 9 #include "../types.hpp" 10 #include "../math/continuous_sqrt.hpp" 14 namespace wavepackets {
52 , sqrt_detQ_(that.sqrt_detQ_)
67 , sqrt_detQ_(
std::sqrt(Q_.determinant()))
82 , sqrt_detQ_(sqrt_detQ)
164 const double tol = 1e-10;
169 return C1.template lpNorm<1>() < tol && C2.template lpNorm<1>() < tol;
197 std::ostream &operator<<(std::ostream &out, const HaWpParamSet<D> ¶meters)
199 Eigen::IOFormat CleanFmt(4, 0,
", ",
"\n ",
"[",
"]");
201 out <<
"HaWpParamSet {\n";
202 out <<
" q: " << parameters.q().format(CleanFmt) <<
'\n';
203 out <<
" p: " << parameters.p().format(CleanFmt) <<
'\n';
204 out <<
" Q: " << parameters.Q().format(CleanFmt) <<
'\n';
205 out <<
" P: " << parameters.P().format(CleanFmt) <<
'\n';
206 out <<
" S: " << parameters.S() <<
'\n';
207 out <<
" sqrt(detQ): " << parameters.sdQ() <<
'\n';
208 out <<
" compatible(): " << (parameters.compatible() ?
"yes" :
"no") <<
'\n';
209 out <<
"}" << std::endl;
RMatrix< D, 1 > const & p() const
Get the parameter .
Definition: hawp_paramset.hpp:102
complex_t S_
Definition: hawp_paramset.hpp:29
void S(const complex_t &Snew)
Set the parameter .
Definition: hawp_paramset.hpp:132
Definition: coefficients_file_parser.cpp:10
complex_t const & S() const
Get the parameter .
Definition: hawp_paramset.hpp:111
CMatrix< D, D > P_
Definition: hawp_paramset.hpp:28
Eigen::Matrix< real_t, R, C > RMatrix
Definition: types.hpp:22
CMatrix< D, D > Q_
Definition: hawp_paramset.hpp:28
RMatrix< D, 1 > p_
Definition: hawp_paramset.hpp:27
CMatrix< D, D > const & Q() const
Get the parameter .
Definition: hawp_paramset.hpp:105
std::complex< real_t > complex_t
Definition: types.hpp:15
Definition: stdarray2stream.hpp:7
HaWpParamSet()
Definition: hawp_paramset.hpp:35
double real_t
Definition: types.hpp:14
void P(const CMatrix< D, D > &Pnew)
Set the parameter .
Definition: hawp_paramset.hpp:129
std::pair< RMatrix< D, 1 >, RMatrix< D, D > > mix(const HaWpParamSet< D > &ket) const
Definition: hawp_paramset.hpp:181
void updateQ(const CMatrix< D, D > &Qnew)
Update the parameter .
Definition: hawp_paramset.hpp:141
real_t const state() const
Definition: hawp_paramset.hpp:117
This class represents the Hagedorn parameter set .
Definition: hawp_paramset.hpp:24
T get_state(void) const
getter for state state
Definition: continuous_sqrt.hpp:140
RMatrix< D, 1 > q_
Definition: hawp_paramset.hpp:27
CMatrix< D, D > const & P() const
Get the parameter .
Definition: hawp_paramset.hpp:108
RMatrix< D, 1 > const & q() const
Get the parameter .
Definition: hawp_paramset.hpp:99
void updateq(const RMatrix< D, 1 > &qnew)
Update the parameter .
Definition: hawp_paramset.hpp:135
math::ContinuousSqrt< real_t > sqrt_detQ_
Definition: hawp_paramset.hpp:30
void updateP(const CMatrix< D, D > &Pnew)
Update the parameter .
Definition: hawp_paramset.hpp:144
void resync()
Definition: hawp_paramset.hpp:153
HaWpParamSet(const RMatrix< D, 1 > &q, const RMatrix< D, 1 > &p, const CMatrix< D, D > &Q, const CMatrix< D, D > &P, const complex_t &S)
Definition: hawp_paramset.hpp:57
HaWpParamSet & operator=(const HaWpParamSet &that)
Definition: hawp_paramset.hpp:87
Eigen::Matrix< complex_t, R, C > CMatrix
Definition: types.hpp:19
void updatep(const RMatrix< D, 1 > &pnew)
Update the parameter .
Definition: hawp_paramset.hpp:138
void updateS(const complex_t &Snew)
Update the parameter .
Definition: hawp_paramset.hpp:147
complex_t const sdQ() const
Definition: hawp_paramset.hpp:114
HaWpParamSet(const HaWpParamSet &that)
Definition: hawp_paramset.hpp:46
void Q(const CMatrix< D, D > &Qnew)
Set the parameter .
Definition: hawp_paramset.hpp:126
void q(const RMatrix< D, 1 > &qnew)
Set the parameter .
Definition: hawp_paramset.hpp:120
void p(const RMatrix< D, 1 > &pnew)
Set the parameter .
Definition: hawp_paramset.hpp:123
bool compatible() const
Definition: hawp_paramset.hpp:162
HaWpParamSet(const RMatrix< D, 1 > &q, const RMatrix< D, 1 > &p, const CMatrix< D, D > &Q, const CMatrix< D, D > &P, const complex_t &S, math::ContinuousSqrt< real_t > sqrt_detQ)
Definition: hawp_paramset.hpp:71