summaryrefslogtreecommitdiff
path: root/p-spin.hpp
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2021-11-23 16:53:17 +0100
committerJaron Kent-Dobias <jaron@kent-dobias.com>2021-11-23 16:53:17 +0100
commit61ee450ddf82c6206ac3e55dd5e064d5002e57fe (patch)
tree02b51b954b81f0eb8f20f24c4ca657d6ee9c45bc /p-spin.hpp
parentc27ad1c07f28fc39b632144666789331bfc61e51 (diff)
downloadcode-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.hpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/p-spin.hpp b/p-spin.hpp
index 544abf1..dee6273 100644
--- a/p-spin.hpp
+++ b/p-spin.hpp
@@ -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));
}