quri_parts.chem.properties package#

quri_parts.chem.properties.EnergyGradientEstimator#

EnergyGradientEstimator represents a function that estimates the energy gradient of a given parametric state w.r.t. the Hamiltonian parameters at given circuit parameters. This is a generic type and you need to specify what kind of state classes it is applicable to.

alias of Callable[[_ParametricStateT, Sequence[float]], Sequence[float]]

quri_parts.chem.properties.create_energy_gradient_estimator(estimator: ~typing.Callable[[~collections.abc.Sequence[~quri_parts.core.operator.operator.Operator | ~quri_parts.core.operator.pauli.PauliLabel], ~collections.abc.Sequence[~quri_parts.core.state.state.GeneralCircuitQuantumState | ~quri_parts.core.state.state_vector.QuantumStateVector]], ~collections.abc.Iterable[~quri_parts.core.estimator.Estimate[complex]]], h_params: ~typing.Sequence[float], h_generator: ~typing.Callable[[~typing.Sequence[float]], ~quri_parts.core.operator.operator.Operator], h_gradient_calculator: ~typing.Callable[[~typing.Sequence[float], ~typing.Callable[[~typing.Sequence[float]], ~quri_parts.core.operator.operator.Operator]], ~typing.Sequence[~quri_parts.core.operator.operator.Operator]] = <function numerical_operator_gradient>) Callable[[_ParametricStateT, Sequence[float]], Sequence[float]]#

Create a EnergyGradientEstimator that calculates the energy gradients with respect to the hamiltonian parameters at the given circuit parameters.