diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-23 16:53:17 +0100 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-23 16:53:17 +0100 |
commit | 61ee450ddf82c6206ac3e55dd5e064d5002e57fe (patch) | |
tree | 02b51b954b81f0eb8f20f24c4ca657d6ee9c45bc /p-spin.hpp | |
parent | c27ad1c07f28fc39b632144666789331bfc61e51 (diff) | |
download | code-61ee450ddf82c6206ac3e55dd5e064d5002e57fe.tar.gz code-61ee450ddf82c6206ac3e55dd5e064d5002e57fe.tar.bz2 code-61ee450ddf82c6206ac3e55dd5e064d5002e57fe.zip |
Fixed some problems with changing the Real type, and went back to geometric increases in fit.
Diffstat (limited to 'p-spin.hpp')
-rw-r--r-- | p-spin.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -150,7 +150,7 @@ Tensor<Scalar, 3> ddzDot(const Vector<Scalar>& z, const Vector<Scalar>& dH) { return - zT.conjugate().contract(dHT.conjugate(), ei).contract(zT.conjugate(), ei) / pow(z², 2) - dHT.conjugate().contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) / pow(z², 2) - + zT.conjugate().contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) * (2.0 * dH.dot(z) / pow(z², 3)); + + zT.conjugate().contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) * ((Real)2 * dH.dot(z) / pow(z², 3)); } template <class Scalar> @@ -172,7 +172,7 @@ Tensor<Scalar, 3> dcdzDot(const Vector<Scalar>& z, const Vector<Scalar>& dH, con -ddHT.conjugate().contract(zT, ip00).contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) / pow(z², 2) -IT.contract(zT.conjugate(), ei) * (dH.dot(z) / pow(z², 2)) -IT.contract(zT.conjugate(), ei).shuffle((std::array<int, 3>){0,2,1}) * (dH.dot(z) / pow(z², 2)) - +zT.contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) * (2.0 * dH.dot(z) / pow(z², 3)) + +zT.contract(zT.conjugate(), ei).contract(zT.conjugate(), ei) * ((Real)2 * dH.dot(z) / pow(z², 3)) ; } @@ -197,5 +197,5 @@ Tensor<Scalar, 3> ddzDotConjugate(const Vector<Scalar>& z, const Vector<Scalar>& - zT.conjugate().contract(IT, ei) * (z.dot(dH) / pow(z², 2)) - IT.contract(zT.conjugate(), ei).shuffle((std::array<int, 3>){0, 2, 1}) * (z.dot(dH) / pow(z², 2)) - ddHT.contract(zT.conjugate(), ip00).contract(zT.conjugate(), ei).contract(zT, ei) / pow(z², 2) - + zT.conjugate().contract(zT.conjugate(), ei).contract(zT, ei) * (2.0 * z.dot(dH) / pow(z², 3)); + + zT.conjugate().contract(zT.conjugate(), ei).contract(zT, ei) * ((Real)2 * z.dot(dH) / pow(z², 3)); } |