Advanced Computing Platform for Theoretical Physics

Commit 988ab016 authored by Lei Wang's avatar Lei Wang
Browse files

2nd order derivative w.r.t. h

parent 9a052fe5
......@@ -74,13 +74,16 @@ def main(beta, h=0.):
T = build_tensor(beta, beta*h)
lnZ = model.forward(T, args.use_checkpoint)
lnZ.backward()
m = h.grad/beta # m = 1/beta * dlnZ / dh
lnZ.backward(create_graph=True)
m = (h.grad).item() # dlnZ /d h
h.grad.backward()
m2 = (h.grad).item() -m # second order gradient d^2 lnZ/dh^2
m = torch.sqrt(m2/beta**2/2.0**args.niter)
print ('beta, lnZ, m', beta.item(), lnZ.item(), m.item())
return lnZ, m
return lnZ, m
def scan_beta():
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment