estimated_krylov_subspace_dimension_lanczos

Graph.estimated_krylov_subspace_dimension_lanczos(spectral_range, duration, maximum_segment_duration, error_tolerance=1e-06, *, name=None)

Calculate an appropriate Krylov subspace dimension ($k$

Note that you can provide your own estimation of the Hamiltonian spectral range or use the spectral_range operation to perform that calculation.

Parameters

• spectral_range (float or Tensor) – Estimated order of magnitude of Hamiltonian spectral range (difference between largest and smallest eigenvalues).
• duration (float) – The total evolution time.
• maximum_segment_duration (float) – The maximum duration of the piecewise-constant Hamiltonian segments.
• error_tolerance (float , optional) – Tolerance for the error in the integration, defined as the Frobenius norm of the vectorial difference between the exact state and the estimated state. Defaults to 1e-6.
• name (str or None , optional) – The name of the node.

Returns

Recommended value of $k$

Return type

Tensor

Graph.spectral_range : Range of the eigenvalues of a Hermitian operator.

Graph.state_evolution_pwc : Evolve a quantum state.

Notes

To provide the recommended $k$1 2 as an estimate for the error. For a single time step this gives

$\mathrm{error} \leq 12 \exp \left( - \frac{(w\tau)^2}{16 k} \right) \left (\frac{e w \tau}{ 4 k} \right )^{k}$

where $\tau$ is the time step and $w$

As this bound overestimates the error, the actual resulting errors with the recommended parameter are expected to be (a few orders of magnitude) smaller than the requested tolerance.

Examples

>>> graph.estimated_krylov_subspace_dimension_lanczos(
...     spectral_range=30.0,
...     duration=5e-7,
...     maximum_segment_duration=2.5e-8,
...     error_tolerance=1e-5,
...     name="dim",
... )
<Tensor: name="dim", operation_name="estimated_krylov_subspace_dimension_lanczos", shape=()>
>>> result = bo.execute_graph(graph=graph, output_node_names="dim")
>>> result["output"]["dim"]["value"]
2

See more examples in the How to optimize controls on large sparse Hamiltonians user guide.