peropq.optimizer¶
Attributes¶
Classes¶
Class performing the optimizer. |
Module Contents¶
- peropq.optimizer.EMPTY_ARRAY¶
- class peropq.optimizer.Optimizer¶
Class performing the optimizer.
- optimize(variational_unitary, initial_guess=[])¶
Perform the minimization.
- Parameters:
variational_unitary (peropq.variational_unitary.VariationalUnitary) – ansatz used for optimization
initial_guess (collections.abc.Sequence[float]) – initial guess for the optimization. If not provided, use the parameters of the Trotterization instead
- Returns:
the result of the optimization
- Returns:
the perturbative 2-norm
- Return type:
tuple[scipy.optimize.OptimizeResult, float]
- optimize_arbitrary(variational_unitary, order, initial_guess=[], tol=0, *, unconstrained=False, cache=False, init_variational_norm=None)¶
Perform the minimization.
- Parameters:
variational_unitary (peropq.unconstrained_variational_unitary.UnconstrainedVariationalUnitary) – ansatz used for optimization
initial (initial_guess) – guess for the optimization. If not provided, use the parameters of the Trotterization instead
order (int)
initial_guess (collections.abc.Sequence[float])
tol (float)
unconstrained (bool)
cache (bool)
init_variational_norm (peropq.bch_optimized.VariationalNorm | None)
- Returns:
the result of the optimization
- Returns:
the perturbative 2-norm
- Return type:
scipy.optimize.OptimizeResult | tuple[scipy.optimize.OptimizeResult, peropq.bch_optimized.VariationalNorm]
- optimize_exact(exact_unitary, initial_guess=EMPTY_ARRAY, tol=0)¶
Optimize an instance of ExactUnitary.
- Parameters:
exact_unitary (peropq.exact_norm.ExactUnitary) – to be optimized
initial_guess (numpy.typing.NDArray) – first guess to start the optimization
tol (float) – tolerance passed to the optimization function
- Returns:
the optimization result form scipy.optimize.minimize
- Return type:
scipy.optimize.OptimizeResult