qutip_qtrl.termcond

Classes containing termination conditions for the control pulse optimisation i.e. attributes that will be checked during the optimisation, that will determine if the algorithm has completed its task / exceeded limits

Classes

TerminationConditions()

Base class for all termination conditions Used to determine when to stop the optimisation algorithm Note different subclasses should be used to match the type of optimisation being used

class qutip_qtrl.termcond.TerminationConditions[source]

Base class for all termination conditions Used to determine when to stop the optimisation algorithm Note different subclasses should be used to match the type of optimisation being used

Attributes:
fid_err_targfloat

Target fidelity error

fid_goalfloat

goal fidelity, e.g. 1 - self.fid_err_targ It its typical to set this for unitary systems

max_wall_timefloat

# maximum time for optimisation (seconds)

min_gradient_normfloat

Minimum normalised gradient after which optimisation will terminate

max_iterationsinteger

Maximum iterations of the optimisation algorithm

max_fid_func_callsinteger

Maximum number of calls to the fidelity function during the optimisation algorithm

accuracy_factorfloat

Determines the accuracy of the result. Typical values for accuracy_factor are: 1e12 for low accuracy; 1e7 for moderate accuracy; 10.0 for extremely high accuracy scipy.optimize.fmin_l_bfgs_b factr argument. Only set for specific methods (fmin_l_bfgs_b) that uses this Otherwise the same thing is passed as method_option ftol (although the scale is different) Hence it is not defined here, but may be set by the user