summaryrefslogtreecommitdiff
path: root/langevin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'langevin.cpp')
-rw-r--r--langevin.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/langevin.cpp b/langevin.cpp
index a775774..1181173 100644
--- a/langevin.cpp
+++ b/langevin.cpp
@@ -146,8 +146,13 @@ int main(int argc, char* argv[]) {
Vector<Real> zMin = randomMinimum(ReJ, Red, r, ε);
auto [Hr, dHr, ddHr] = hamGradHess(ReJ, zMin);
- Eigen::EigenSolver<Matrix<Real>> eigenS(ddHr - ((ddHr * zMin) * zMin.transpose()) / (Real)zMin.size());
+ Eigen::EigenSolver<Matrix<Real>> eigenS(ddHr - (dHr * zMin.transpose() + zMin.dot(dHr) * Matrix<Real>::Identity(zMin.size(), zMin.size()) + (ddHr * zMin) * zMin.transpose()) / (Real)zMin.size() + 2.0 * zMin * zMin.transpose());
std::cout << eigenS.eigenvalues().transpose() << std::endl;
+ for (unsigned i = 0; i < N; i++) {
+ Vector<Real> zNew = normalize(zMin + 0.01 * eigenS.eigenvectors().col(i).real());
+ std::cout << getHamiltonian(ReJ, zNew) - Hr << " " << real(eigenS.eigenvectors().col(i).dot(zMin)) << std::endl;
+ }
+ std::cout << std::endl;
getchar();
complex_normal_distribution<Real> d(0, 1, 0);