82 std::optional<std::vector<size_t>>
levels;
93 std::optional<std::vector<size_t>>
levels = std::nullopt;
94 std::optional<std::string>
filename = std::nullopt;
103 std::optional<double>
tstart = std::nullopt;
104 std::optional<double>
tstop = std::nullopt;
115 std::optional<double>
phase = std::nullopt;
116 std::optional<std::string>
filename = std::nullopt;
Core type definitions and enumerations for Quandary quantum optimal control.
TargetType
Types of optimization targets for quantum control.
Definition defs.hpp:78
@ NONE
No target specified (no optimization)
RunType
Types of execution modes.
Definition defs.hpp:128
@ SIMULATION
Runs one simulation to compute the objective function (forward)
DecoherenceType
Available Lindblad operator types for open quantum systems, or NONE for closed quantum systems.
Definition defs.hpp:31
@ NONE
No Lindblad operators (closed system)
ObjectiveType
Types of objective functions for quantum control optimization.
Definition defs.hpp:95
@ JTRACE
Weighted Hilbert-Schmidt overlap: , where = purity of .
ControlType
Types of control parameterizations.
Definition defs.hpp:149
@ BSPLINE
Control pulses are parameterized with 2nd order BSpline basis functions with carrier waves.
InitialConditionType
Available types of initial conditions that are propagated through the quantum dynamics.
Definition defs.hpp:51
GateType
Types of quantum gates used in quantum control.
Definition defs.hpp:200
ControlInitializationType
Types of control initializations.
Definition defs.hpp:166
TimeStepperType
Types of time-stepping methods for evolving quantum states.
Definition defs.hpp:183
@ IMR
Implicit Midpoint Rule (2nd order)
LinearSolverType
Available types for solving linear systems at each time step.
Definition defs.hpp:113
@ GMRES
Uses Petsc's GMRES solver (default)
Centralized configuration defaults for Quandary.
Definition config_defaults.hpp:15
const ControlType CONTROL_TYPE
Default control parameterization type.
Definition config_defaults.hpp:28
const size_t OUTPUT_OPTIMIZATION_STRIDE
Default optimization monitoring frequency.
Definition config_defaults.hpp:61
const double DIPOLE_COUPLING
Default dipole-dipole coupling frequency (GHz)
Definition config_defaults.hpp:21
const double OPTIM_PENALTY_ENERGY
Default energy penalty coefficient.
Definition config_defaults.hpp:55
const double DECAY_TIME
Default decay time.
Definition config_defaults.hpp:23
const size_t OUTPUT_TIMESTEP_STRIDE
Default output frequency.
Definition config_defaults.hpp:60
const size_t LINEARSOLVER_MAXITER
Default linear solver max iterations.
Definition config_defaults.hpp:66
const double OPTIM_PENALTY_WEIGHTEDCOST
Default weighted cost penalty coefficient.
Definition config_defaults.hpp:52
const TimeStepperType TIMESTEPPER_TYPE
Default time stepper type.
Definition config_defaults.hpp:67
const double CARRIER_FREQ
Default carrier frequency.
Definition config_defaults.hpp:35
const size_t OPTIM_MAXITER
Default maximum optimization iterations.
Definition config_defaults.hpp:49
const double CROSSKERR_COUPLING
Default cross-kerr frequency (GHz)
Definition config_defaults.hpp:20
const double OPTIM_TOL_FINAL_COST
Default final time cost tolerance.
Definition config_defaults.hpp:47
const bool CONTROL_ZERO_BOUNDARY_CONDITION
Default control pulse boundary conditions enforcement.
Definition config_defaults.hpp:27
const double OPTIM_PENALTY_WEIGHTEDCOST_WIDTH
Default weighted cost penalty width.
Definition config_defaults.hpp:53
const ControlInitializationType CONTROL_INIT_TYPE
Default control initialization amplitude.
Definition config_defaults.hpp:30
const DecoherenceType DECOHERENCE_TYPE
Default decoherence type enum.
Definition config_defaults.hpp:22
const LinearSolverType LINEARSOLVER_TYPE
Default linear solver type.
Definition config_defaults.hpp:65
const std::string OUTPUT_DIRECTORY
Default output directory.
Definition config_defaults.hpp:58
const double OPTIM_TOL_GRAD_ABS
Default absolute gradient tolerance.
Definition config_defaults.hpp:45
const double OPTIM_TOL_GRAD_REL
Default relative gradient tolerance.
Definition config_defaults.hpp:46
const bool OPTIM_TIKHONOV_USE_X0
Default Tikhonov regularization type.
Definition config_defaults.hpp:44
const double DEPHASE_TIME
Default dephase time.
Definition config_defaults.hpp:24
const double GATE_ROT_FREQ
Default gate rotational frequency.
Definition config_defaults.hpp:39
const double CONTROL_INIT_PHASE
Default control initialization phase.
Definition config_defaults.hpp:32
const double CONTROL_AMPLITUDE_BOUND
Default amplitude bound for control pulses.
Definition config_defaults.hpp:34
const double OPTIM_PENALTY_VARIATION
Default amplitude variation penalty coefficient.
Definition config_defaults.hpp:56
const double SELFKERR
Default self-kerr frequency (GHz)
Definition config_defaults.hpp:19
const bool USEMATFREE
Default matrix-free solver setting.
Definition config_defaults.hpp:64
const GateType GATE_TYPE
Default gate type.
Definition config_defaults.hpp:38
const double CONTROL_INIT_AMPLITUDE
Default control initialization amplitude.
Definition config_defaults.hpp:31
const double OPTIM_WEIGHT
Default optimization weight per initial condition.
Definition config_defaults.hpp:41
const RunType RUNTYPE
Default run type.
Definition config_defaults.hpp:63
const double OPTIM_PENALTY_LEAKAGE
Default first integral penalty coefficient.
Definition config_defaults.hpp:51
const TargetType OPTIM_TARGET
Default optimization target: NONE.
Definition config_defaults.hpp:37
const double ROTATION_FREQUENCY
Default rotational wave approximation frequency (GHz)
Definition config_defaults.hpp:18
const int RAND_SEED
Default random seed.
Definition config_defaults.hpp:68
const ObjectiveType OPTIM_OBJECTIVE
Default objective function.
Definition config_defaults.hpp:40
const size_t CONTROL_SPLINE_COUNT
Default number of B-spline basis functions.
Definition config_defaults.hpp:29
const double OPTIM_TOL_INFIDELITY
Default infidelity tolerance.
Definition config_defaults.hpp:48
const double OPTIM_TIKHONOV_COEFF
Default Tikhonov regularization coefficient.
Definition config_defaults.hpp:43
const double OPTIM_PENALTY_DPDM
Default second derivative penalty coefficient.
Definition config_defaults.hpp:54
Settings for control initialization with defaults.
Definition config_defaults.hpp:112
std::optional< double > phase
Initial control pulse phase.
Definition config_defaults.hpp:115
ControlInitializationType type
Initialization type.
Definition config_defaults.hpp:113
std::optional< std::string > filename
Filename for FILE type.
Definition config_defaults.hpp:116
std::optional< double > amplitude
Initial control pulse amplitude.
Definition config_defaults.hpp:114
Settings for control parameterizations with defaults.
Definition config_defaults.hpp:100
std::optional< size_t > nspline
Number of basis functions in this parameterization.
Definition config_defaults.hpp:102
std::optional< double > scaling
Amplitude scaling factor, only for BSPLINEAMP.
Definition config_defaults.hpp:105
std::optional< double > tstart
Start time of the control parameterization.
Definition config_defaults.hpp:103
std::optional< double > tstop
Stop time of the control parameterization.
Definition config_defaults.hpp:104
ControlType type
Type of control parameterization.
Definition config_defaults.hpp:101
Settings for initial conditions. Required, no defaults.
Definition config_defaults.hpp:77
InitialConditionType type
Type of initial condition.
Definition config_defaults.hpp:78
std::optional< std::vector< size_t > > subsystem
For ENSEMBLE, DIAGONAL, BASIS: Oscillator IDs.
Definition config_defaults.hpp:83
std::optional< std::vector< size_t > > levels
For PRODUCT_STATE: Quantum level for each oscillator.
Definition config_defaults.hpp:82
std::optional< std::string > filename
For FROMFILE: File to read initial condition from.
Definition config_defaults.hpp:81
Settings for optimization targets with defaults.
Definition config_defaults.hpp:89
TargetType type
Type of optimization target.
Definition config_defaults.hpp:90
std::optional< std::vector< size_t > > levels
For STATE: Level occupations for each oscillator.
Definition config_defaults.hpp:93
std::optional< std::string > filename
For GATE or STATE: File path to target gate or state.
Definition config_defaults.hpp:94
std::optional< std::vector< double > > gate_rot_freq
For GATE: Gate rotation frequencies for each oscillator.
Definition config_defaults.hpp:92
std::optional< GateType > gate_type
For GATE: Type of the gate.
Definition config_defaults.hpp:91