netket.observable.InfidelityOperator#

class netket.observable.InfidelityOperator[source]#

Bases: AbstractObservable

Infidelity operator computing the infidelity between an input variational state \(|\Psi\rangle\) and a target state \(|\Phi\rangle\).

The target state can be defined in two ways:

  1. as a variational state that is passed as target_state.

  2. as a state obtained by applying an operator \(U\) to a variational state \(|\Phi\rangle\), i.e., \(|\Phi\rangle \equiv U|\Phi\rangle\).

The infidelity \(I\) among two variational states \(|\Psi\rangle\) and \(|\Phi\rangle\) is defined as:

\[I = 1 - \frac{|\langle\Psi|\Phi\rangle|^2}{\langle\Psi|\Psi\rangle \langle\Phi|\Phi\rangle} = 1 - \frac{\langle\Psi|\hat{I}_{op}|\Psi\rangle}{\langle\Psi|\Psi\rangle},\]

where:

\[\hat{I}_{op} = \frac{|\Phi\rangle\langle\Phi|}{\langle\Phi|\Phi\rangle}.\]

The Monte Carlo estimator of \(I\) is:

\[I = \mathbb{E}_{\chi}[ I_{loc}(x,y) ] = \mathbb{E}_{\chi}\left[ \frac{\langle x|\Phi\rangle \langle y|\Psi\rangle}{\langle x|\Psi\rangle \langle y|\Phi\rangle} \right],\]

where \(\chi(x, y) = \frac{|\Psi(x)|^2 |\Phi(y)|^2}{\langle\Psi|\Psi\rangle \langle\Phi|\Phi\rangle}\) is the joint Born distribution. This estimator can be utilized both when \(|\Phi\rangle = |\Phi\rangle\) and when \(|\Phi\rangle = U|\Phi\rangle\), with \(U\) a (unitary or non-unitary) operator. We remark that sampling from \(U|\Phi\rangle\) is more expensive than sampling from an autonomous state.

For details see Sinibaldi et al. and Gravina et al..

Inheritance
Inheritance diagram of netket.observable.InfidelityOperator
__init__(target_state, *, operator=None, cv_coeff=-0.5, dtype=None)[source]#
Parameters:
  • target_state (VariationalState) – The target state \(|\Phi\rangle\) against which to compute the infidelity. This can be any VariationalState (MCState, FullSumState, etc.).

  • operator (AbstractOperator) – Optional operator \(U\) to be applied to the target state, such that \(|\Phi\rangle \equiv U |\Phi\rangle\). If None, the target state is used directly. When provided, the infidelity is computed with respect to the transformed state \(U |\Phi\rangle\).

  • cv_coeff (float | None) –

    Optional control variate coefficient for variance reduction in Monte Carlo estimation (see Sinibaldi et al.). If None, no control variate is used. Default to the optimal value -0.5.

  • dtype (Union[None, str, type[Any], dtype, _SupportsDType]) – Data type for computations.

Attributes
cv_coeff#
hilbert#

The hilbert space associated to this observable.

target_state#

Methods