quantax.optimizer.ER#
- class quantax.optimizer.ER#
Bases:
QNGDExact reconfiguration, performed by a full summation in the whole Hilbert space. This is only available in small systems.
- __init__(state: Variational, hamiltonian: Operator, imag_time: bool = True, solver: Callable | None = None, symm: Symmetry | None = None)#
- Parameters:
state – Variational state to be optimized.
hamiltonian – The Hamiltonian for the evolution.
imag_time – Whether to use imaginary-time evolution, default to True.
solver – The numerical solver for the matrix inverse, default to
auto_pinv_eig.symm – Symmetry used to construct the Hilbert space, default to be the symmetry of the variational state.
- property holomorphic: bool#
Whether the state is holomorphic.
- property imag_time: bool#
Whether to use imaginary-time evolution.
- save(file: str | Path | BinaryIO) None#
Save the optimizer internal quantities to a file.
- solve(Obar: Array, Ebar: Array) Array#
Solve the equation \(\bar O \dot \theta = \bar \epsilon\) for given \(\bar O\) and \(\bar \epsilon\).
- property state: Variational#
Variational state to be optimized.
- property energy: float | None#
Energy of the current step.
- get_Ebar(psi: Array) Array#
Compute \(\bar \epsilon\) in the full Hilbert space.
- get_Obar(psi: Array) Array#
Compute \(\bar O\) in the full Hilbert space.
- get_step() Array#
Obtain the optimization step by solving the equation \(\bar O \dot \theta = \bar \epsilon\).