diff --git a/qctrlopencontrols/__init__.py b/qctrlopencontrols/__init__.py index ea7ff3fb..fa23d99f 100644 --- a/qctrlopencontrols/__init__.py +++ b/qctrlopencontrols/__init__.py @@ -20,8 +20,17 @@ from .driven_controls.driven_control import DrivenControl from .driven_controls.predefined import ( + new_bb1_control, + new_corpse_control, + new_corpse_in_bb1_control, + new_corpse_in_scrofulous_control, + new_corpse_in_sk1_control, new_modulated_gaussian_control, new_predefined_driven_control, + new_primitive_control, + new_scrofulous_control, + new_sk1_control, + new_wamf1_control, ) from .dynamic_decoupling_sequences.dynamic_decoupling_sequence import ( DynamicDecouplingSequence, @@ -30,10 +39,19 @@ from .dynamic_decoupling_sequences.predefined import new_predefined_dds __all__ = [ + "DrivenControl", + "DynamicDecouplingSequence", "convert_dds_to_driven_control", - "new_predefined_dds", + "new_bb1_control", + "new_corpse_control", + "new_corpse_in_bb1_control", + "new_corpse_in_scrofulous_control", + "new_corpse_in_sk1_control", "new_modulated_gaussian_control", + "new_predefined_dds", "new_predefined_driven_control", - "DrivenControl", - "DynamicDecouplingSequence", + "new_primitive_control", + "new_scrofulous_control", + "new_sk1_control", + "new_wamf1_control", ] diff --git a/qctrlopencontrols/driven_controls/predefined.py b/qctrlopencontrols/driven_controls/predefined.py index 99f0fe30..e8e4d409 100644 --- a/qctrlopencontrols/driven_controls/predefined.py +++ b/qctrlopencontrols/driven_controls/predefined.py @@ -43,6 +43,8 @@ def new_predefined_driven_control(scheme: str = PRIMITIVE, **kwargs): """ Creates a new driven control based on the given scheme. + Equivalent to calling the corresponding ``new__control`` function. + Parameters ---------- scheme : string, optional @@ -75,23 +77,23 @@ def new_predefined_driven_control(scheme: str = PRIMITIVE, **kwargs): # Raise error if the input driven_control_type is not known if scheme == PRIMITIVE: - driven_control = _new_primitive_control(**kwargs) + driven_control = new_primitive_control(**kwargs) elif scheme == BB1: - driven_control = _new_bb1_control(**kwargs) + driven_control = new_bb1_control(**kwargs) elif scheme == SK1: - driven_control = _new_sk1_control(**kwargs) + driven_control = new_sk1_control(**kwargs) elif scheme == WAMF1: - driven_control = _new_wamf1_control(**kwargs) + driven_control = new_wamf1_control(**kwargs) elif scheme == CORPSE: - driven_control = _new_corpse_control(**kwargs) + driven_control = new_corpse_control(**kwargs) elif scheme == CORPSE_IN_BB1: - driven_control = _new_corpse_in_bb1_control(**kwargs) + driven_control = new_corpse_in_bb1_control(**kwargs) elif scheme == CORPSE_IN_SK1: - driven_control = _new_corpse_in_sk1_control(**kwargs) + driven_control = new_corpse_in_sk1_control(**kwargs) elif scheme == SCROFULOUS: - driven_control = _new_scrofulous_control(**kwargs) + driven_control = new_scrofulous_control(**kwargs) elif scheme == CORPSE_IN_SCROFULOUS: - driven_control = _new_corpse_in_scrofulous_control(**kwargs) + driven_control = new_corpse_in_scrofulous_control(**kwargs) else: raise ArgumentsValueError( "Unknown predefined pulse type. See help(new_predefined_driven_control) to display all" @@ -208,7 +210,7 @@ def _derive_segments( return segments -def _new_primitive_control( +def new_primitive_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -257,7 +259,7 @@ def _new_primitive_control( ) -def _new_bb1_control( +def new_bb1_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -336,7 +338,7 @@ def _new_bb1_control( ) -def _new_sk1_control( +def new_sk1_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -415,7 +417,7 @@ def _new_sk1_control( ) -def _new_scrofulous_control( +def new_scrofulous_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -539,7 +541,7 @@ def degrees_to_radians(angle_in_degrees): ) -def _new_corpse_control( +def new_corpse_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -621,7 +623,7 @@ def _new_corpse_control( ) -def _new_corpse_in_bb1_control( +def new_corpse_in_bb1_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -652,7 +654,7 @@ def _new_corpse_in_bb1_control( See Also -------- - _new_corpse_control, _new_bb1_control + new_corpse_control, new_bb1_control Notes ----- @@ -727,7 +729,7 @@ def _new_corpse_in_bb1_control( ) -def _new_corpse_in_sk1_control( +def new_corpse_in_sk1_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -758,7 +760,7 @@ def _new_corpse_in_sk1_control( See Also -------- - _new_corpse_control, _new_sk1_control + new_corpse_control, new_sk1_control Notes ----- @@ -828,7 +830,7 @@ def _new_corpse_in_sk1_control( ) -def _new_corpse_in_scrofulous_control( +def new_corpse_in_scrofulous_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi, @@ -865,7 +867,7 @@ def _new_corpse_in_scrofulous_control( See Also -------- - _new_corpse_control, _new_scrofulous_control + new_corpse_control, new_scrofulous_control Notes ----- @@ -992,7 +994,7 @@ def degrees_to_radians(angle_in_degrees): ) -def _new_wamf1_control( +def new_wamf1_control( rabi_rotation: float, azimuthal_angle: float = 0.0, maximum_rabi_rate: float = 2.0 * np.pi,