quantax.optimizer.TDVP_exact#

class quantax.optimizer.TDVP_exact#

Bases: QNGD

Exact TDVP evolution, 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 hamiltonian: Operator#

The Hamiltonian for the evolution.

property energy: float | None#

Energy of the current step.

get_Ebar(wave_function: Array) Array#

Compute \(\bar \epsilon\) in the full Hilbert space.

get_Obar(wave_function: 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\).

property holomorphic: bool#

Whether the state is holomorphic.

property imag_time: bool#

Whether to use imaginary-time evolution.

property kazcmarz_mu: float#

Whether to use the kazcmarz scheme.

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 vs_type: int#

The vs_type of the state.