Include Usage_Example files; work on LiebLin (code, documentation)
This commit is contained in:
+31
-10
@@ -29,6 +29,14 @@ namespace ABACUS {
|
||||
|
||||
//***********************************************************************
|
||||
|
||||
/**
|
||||
Eigenstates of the Lieb-Liniger model in the repulsive \f$(c > 0)\f$ regime.
|
||||
|
||||
For numerical convenience, rapidities are rescaled by the interaction parameter \f$c\f$.
|
||||
In equations throughout this documentation, \f$\tilde{\lambda} \equiv \lambda/c\f$.
|
||||
In the code, these rescaled rapidities are denoted `lambdaoc` (read: "lambda over c").
|
||||
*/
|
||||
|
||||
class LiebLin_Bethe_State {
|
||||
|
||||
public:
|
||||
@@ -104,7 +112,8 @@ namespace ABACUS {
|
||||
};
|
||||
|
||||
inline bool Is_Inner_Skeleton (LiebLin_Bethe_State& State) {
|
||||
return (State.N >= 2 && (State.Ix2[0] == State.Ix2[1] - 2 || State.Ix2[State.N-1] == State.Ix2[State.N-2] + 2));
|
||||
return (State.N >= 2 && (State.Ix2[0] == State.Ix2[1] - 2
|
||||
|| State.Ix2[State.N-1] == State.Ix2[State.N-2] + 2));
|
||||
};
|
||||
inline bool Is_Outer_Skeleton (LiebLin_Bethe_State& State) {
|
||||
return (State.N >= 2 && State.Ix2[0] == LIEBLIN_Ix2_MIN + (State.N % 2) + 1
|
||||
@@ -115,12 +124,14 @@ namespace ABACUS {
|
||||
&& State.Ix2[State.N-1] == LIEBLIN_Ix2_MAX - (State.N % 2) - 1);
|
||||
};
|
||||
|
||||
inline bool Force_Descent (char whichDSF, LiebLin_Bethe_State& ScanState, LiebLin_Bethe_State& RefState,
|
||||
inline bool Force_Descent (char whichDSF, LiebLin_Bethe_State& ScanState,
|
||||
LiebLin_Bethe_State& RefState,
|
||||
int desc_type_required, int iKmod, DP Chem_Pot)
|
||||
{
|
||||
bool forcedesc = false;
|
||||
|
||||
// Force descent if we're computing density-density, we're at zero momentum and we're descending with momentum preserved:
|
||||
// Force descent if we're computing density-density, we're at zero momentum
|
||||
// and we're descending with momentum preserved:
|
||||
if (whichDSF == 'd' && ScanState.iK == RefState.iK && desc_type_required > 8) forcedesc = true;
|
||||
|
||||
// For BEC to c > 0 quench, g2(x=0): force first step
|
||||
@@ -135,7 +146,8 @@ namespace ABACUS {
|
||||
// FUNCTION DECLARATIONS:
|
||||
|
||||
DP Chemical_Potential (LiebLin_Bethe_State& RefState);
|
||||
DP Sumrule_Factor (char whichDSF, LiebLin_Bethe_State& RefState, DP Chem_Pot, int iKmin, int iKmax);
|
||||
DP Sumrule_Factor (char whichDSF, LiebLin_Bethe_State& RefState, DP Chem_Pot,
|
||||
int iKmin, int iKmax);
|
||||
void Evaluate_F_Sumrule (char whichDSF, const LiebLin_Bethe_State& RefState, DP Chem_Pot,
|
||||
int iKmin, int iKmax, const char* RAW_Cstr, const char* FSR_Cstr);
|
||||
void Evaluate_F_Sumrule (std::string prefix, char whichDSF, const LiebLin_Bethe_State& RefState,
|
||||
@@ -157,14 +169,23 @@ namespace ABACUS {
|
||||
std::complex<DP> ln_Psi_ME (LiebLin_Bethe_State& lstate, LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> ln_g2_ME (LiebLin_Bethe_State& mu, LiebLin_Bethe_State& lambda);
|
||||
|
||||
DP Compute_Matrix_Element_Contrib (char whichDSF, int iKmin, int iKmax, LiebLin_Bethe_State& LeftState,
|
||||
LiebLin_Bethe_State& RefState, DP Chem_Pot, std::stringstream& DAT_outfile);
|
||||
DP Compute_Matrix_Element_Contrib (char whichDSF, int iKmin, int iKmax,
|
||||
LiebLin_Bethe_State& LeftState,
|
||||
LiebLin_Bethe_State& RefState, DP Chem_Pot,
|
||||
std::stringstream& DAT_outfile);
|
||||
|
||||
DP LiebLin_Twisted_lnnorm (Vect<std::complex<DP> >& lambdaoc, double cxL);
|
||||
std::complex<DP> LiebLin_Twisted_ln_Overlap (DP expbeta, Vect<DP> lstate_lambdaoc, DP lstate_lnnorm, LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_Twisted_ln_Overlap (std::complex<DP> expbeta, Vect<std::complex<DP> > lstate_lambdaoc, DP lstate_lnnorm, LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_ln_Overlap (Vect<DP> lstate_lambdaoc, DP lstate_lnnorm, LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_ln_Overlap (Vect<std::complex<DP> > lstate_lambdaoc, DP lstate_lnnorm, LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_Twisted_ln_Overlap (DP expbeta, Vect<DP> lstate_lambdaoc,
|
||||
DP lstate_lnnorm,
|
||||
LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_Twisted_ln_Overlap (std::complex<DP> expbeta,
|
||||
Vect<std::complex<DP> > lstate_lambdaoc,
|
||||
DP lstate_lnnorm,
|
||||
LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_ln_Overlap (Vect<DP> lstate_lambdaoc, DP lstate_lnnorm,
|
||||
LiebLin_Bethe_State& rstate);
|
||||
std::complex<DP> LiebLin_ln_Overlap (Vect<std::complex<DP> > lstate_lambdaoc, DP lstate_lnnorm,
|
||||
LiebLin_Bethe_State& rstate);
|
||||
|
||||
// In src/LiebLin_Tgt0.cc:
|
||||
DP Entropy (LiebLin_Bethe_State& RefState);
|
||||
|
||||
Reference in New Issue
Block a user