Skip to content

Add LogVal to MCState

Created by: gcarleo

In order to have a complete interface in MCState (and also to easily implement some missing features in 3.0, such as #556 (closed) ) it is important to add a (differentiable) method to MCState that return the logarithm of the variational state in a given basis.

I would like to discuss here about the signature of this. I had in mind something like

def LogVal(x,R=None):
      """Returns Log <x|R|Psi>, where R is an optional rotation operator""" 

Alternatively, a more general interface would be something like that

def LogInnerProduct(phi):
      """Returns Log <Phi|Psi>"""

however I guess the issue is implementing the latter to be aware of cases where Phi is just a state of the computational basis and (or a linear combination of a small number of those) and not a generic VariationalState