Oscillator¶
- class scqubits.core.oscillator.Oscillator(E_osc, l_osc=None, truncated_dim=6, id_str=None)[source]¶
Class representing a harmonic oscillator/resonator governed by a Hamiltonian \(H=E_\text{osc} a^{\dagger} a\), with \(a\) being the annihilation operator.
- Parameters:
E_osc (
float
) – energy of the oscillatorl_osc (
Optional
[float
]) – oscillator length (required to define phi_operator and n_operator)truncated_dim (
int
) – desired dimension of the truncated quantum system; expected: truncated_dim > 1id_str (
Optional
[str
]) – optional string by which this instance can be referred to in HilbertSpace and ParameterSweep. If not provided, an id is auto-generated.
Methods
Oscillator.__init__
(E_osc[, l_osc, ...])Returns the annihilation operator
Oscillator.broadcast
(event, **kwargs)Request a broadcast from CENTRAL_DISPATCH reporting event.
Use ipywidgets to create a new class instance
Oscillator.create_from_file
(filename)Read initdata and spectral data from file, and use those to create a new SpectrumData object.
Returns the creation operator
Return dictionary with default parameter values for initialization of class instance
Oscillator.deserialize
(io_data)Take the given IOData and return an instance of the described class, initialized with the data stored in io_data.
Oscillator.eigensys
([evals_count])Returns array of eigenvalues and eigenvectors
Oscillator.eigenvals
([evals_count])Returns array of eigenvalues.
Oscillator.filewrite
(filename)Convenience method bound to the class.
Returns dict appropriate for creating/initializing a new Serializable object.
Returns a list of all operator names for the quantum system.
Returns Hilbert space dimension
Oscillator.matrixelement_table
(*args, **kwargs)- rtype:
ndarray
Returns the charge-number n operator defined as \(i (a^{\dagger} - a)/ ( \sqrt{2} l_\text{osc})\), with \(a\) representing an annihilation operator, and \(l_\text{osc}\) the oscillator length.
Returns the phase operator defined as \(l_\text{osc} (a + a^{\dagger})/\sqrt{2}\), with \(a\) representing an annihilation operator, and \(l_\text{osc}\) the oscillator length.
Oscillator.receive
(event, sender, **kwargs)Receive a message from CENTRAL_DISPATCH and initiate action on it.
Convert the content of the current class instance into IOData format.
Oscillator.set_params
(**kwargs)Set new parameters through the provided dictionary.
Oscillator.set_params_from_gui
(change)Set new parameters through the provided dictionary.
Returns a list of noise channels this QuantumSystem supports.
Oscillator.widget
([params])Use ipywidgets to modify parameters of class instance
Attributes
E_osc
Descriptor class for properties that are to be monitored for changes.
id_str
l_osc
Descriptor class for properties that are to be monitored for changes.
truncated_dim
Descriptor class for properties that are to be monitored for changes.
- broadcast(event, **kwargs)¶
Request a broadcast from CENTRAL_DISPATCH reporting event.
- Parameters:
event (
str
) – event name from EVENTS**kwargs
- Return type:
None
- classmethod create()¶
Use ipywidgets to create a new class instance
- Return type:
- classmethod create_from_file(filename)¶
Read initdata and spectral data from file, and use those to create a new SpectrumData object.
- Returns:
new SpectrumData object, initialized with data read from file
- Return type:
- Parameters:
filename (str)
- static default_params()[source]¶
Return dictionary with default parameter values for initialization of class instance
- Return type:
Dict
[str
,Any
]
- classmethod deserialize(io_data)¶
Take the given IOData and return an instance of the described class, initialized with the data stored in io_data.
- Return type:
TypeVar
(SerializableType
, bound= Serializable)- Parameters:
io_data (IOData)
- eigensys(evals_count=6)[source]¶
Returns array of eigenvalues and eigenvectors
- Parameters:
evals_count (
int
) – number of desired eigenvalues (default value = 6)- Return type:
Tuple
[ndarray
,ndarray
]
- eigenvals(evals_count=6)[source]¶
Returns array of eigenvalues.
- Parameters:
evals_count (
int
) – number of desired eigenvalues (default value = 6)- Return type:
ndarray
- filewrite(filename)¶
Convenience method bound to the class. Simply accesses the write function.
- Return type:
None
- Parameters:
filename (str)
- get_initdata()¶
Returns dict appropriate for creating/initializing a new Serializable object.
- Return type:
Dict
[str
,Any
]
- classmethod get_operator_names()¶
Returns a list of all operator names for the quantum system. Note that this list omits any operators that start with “_”.
- Parameters:
subsys – Class instance of quantum system
- Return type:
List
[str
]- Returns:
list of operator names
- n_operator()[source]¶
Returns the charge-number n operator defined as \(i (a^{\dagger} - a)/ ( \sqrt{2} l_\text{osc})\), with \(a\) representing an annihilation operator, and \(l_\text{osc}\) the oscillator length.
- Return type:
ndarray
- phi_operator()[source]¶
Returns the phase operator defined as \(l_\text{osc} (a + a^{\dagger})/\sqrt{2}\), with \(a\) representing an annihilation operator, and \(l_\text{osc}\) the oscillator length.
- Return type:
ndarray
- receive(event, sender, **kwargs)¶
Receive a message from CENTRAL_DISPATCH and initiate action on it.
- Parameters:
event (
str
) – event name from EVENTSsender (
DispatchClient
) – original sender reporting the event**kwargs
- Return type:
None
- serialize()¶
Convert the content of the current class instance into IOData format.
- Return type:
- set_params(**kwargs)¶
Set new parameters through the provided dictionary.
- set_params_from_gui(change)¶
Set new parameters through the provided dictionary.
- supported_noise_channels()¶
Returns a list of noise channels this QuantumSystem supports. If none, return an empty list.
- Return type:
List
- widget(params=None)¶
Use ipywidgets to modify parameters of class instance
- Parameters:
params (Dict[str, Any] | None)