qutip_qoc._goat module

This module contains functions that implement the GOAT algorithm to calculate optimal parameters for analytical control pulse sequences.

class qutip_qoc._goat._GOAT(objective, time_interval, time_options, control_parameters, alg_kwargs, guess_params, **integrator_kwargs)[source]

Bases: object

Class for storing a control problem and calculating the fidelity error function and its gradient wrt the control parameters, according to the GOAT algorithm.

_prepare_generator_dia()[source]

Combines the scaled and parameterized Hamiltonian elements on the diagonal of the coupled system (X, dX) Hamiltonian, with associated pulses: [[ H, 0, 0, …], [[ X], _[d1H, H, 0, …], [d1X], _[d2H, 0, H, …], [d2X], _[…, ]] […]] Additionlly, if the time is a parameter, the time-dependent parameterized Hamiltonian without scaling

_prepare_generator_off_dia()[source]

Combines the scaled and parameterized Hamiltonian off-diagonal elements for the coupled system (X, dX) with associated pulses: [[ H, 0, 0, …], [[ X], _[d1H, H, 0, …], [d1U], _[d2H, 0, H, …], [d2U], _[…, ]] […]] The off-diagonal elements correspond to the derivative elements

_prepare_state()[source]

inital state (t=0) for coupled system (X, dX): [[ X(0)], -> [[1], _[d1X(0)], -> [0], _[d2X(0)], -> [0], _[ … ]] -> [0]]

_solve_EOM(evo_time, params)[source]

Calculates X, and dX i.e. the derivative of the evolution operator X wrt the control parameters by solving the Schroedinger operator equation returns X as Qobj and dX as list of dense matrices

gradient(params)[source]

Calculates the gradient of the fidelity error function wrt control parameters by solving the Schroedinger operator equation

infidelity(params)[source]

returns the infidelity to be minimized store intermediate results for gradient calculation the normalized overlap, the current unitary and its gradient