SpectrumLookupMixin¶
- class scqubits.core.spec_lookup.SpectrumLookupMixin(*args, **kwargs)[source]¶
SpectrumLookupMixin is used as a mix-in class by ParameterSweep. It makes various spectrum and spectrum lookup related methods directly available at the ParameterSweep level.
Methods
SpectrumLookupMixin.__init__
(*args, **kwargs)Checks whether the indices provided fix all the parameters.
Return ndarray of bare eigenstates for given subsystems and parameter index.
SpectrumLookupMixin.bare_eigenvals
(subsys[, ...])Return NamedSlotsNdarray of bare eigenenergies for given subsystem, usually to be used with preslicing.
SpectrumLookupMixin.bare_index
(dressed_index)For given dressed index, look up the corresponding bare index.
SpectrumLookupMixin.bare_productstate
(bare_index)Return the bare product state specified by bare_index.
SpectrumLookupMixin.dressed_index
(bare_labels)For given bare product state return the corresponding dressed-state index.
SpectrumLookupMixin.eigensys
([param_indices])Return the list of dressed eigenvectors
SpectrumLookupMixin.eigenvals
([param_indices])Return the array of dressed eigenenergies - primarily for running the sweep
Look up dressed energy most closely corresponding to the given bare-state labels
Look up the dressed eigenenergy belonging to the given dressed index, usually to be used with pre-slicing
For each parameter value of the parameter sweep, generate the map between bare states and dressed states.
SpectrumLookupMixin.reset_preslicing
()Convert the NpIndices parameter indices to a tuple of NpIndices.
Attributes
hilbertspace
- all_params_fixed(param_indices)[source]¶
Checks whether the indices provided fix all the parameters.
- Parameters:
param_indices (
Union
[slice
,tuple
]) – Tuple or slice fixing all or a subset of the parameters.- Return type:
bool
- Returns:
True if all parameters are being fixed by param_indices.
- bare_eigenstates(subsys, param_indices=None)[source]¶
Return ndarray of bare eigenstates for given subsystems and parameter index. Eigenstates are expressed in the basis internal to the subsystems. Usually to be used with pre-slicing when part of ParameterSweep.
- Return type:
- Parameters:
subsys (QuantumSys)
param_indices (Tuple[int, ...] | None)
- bare_eigenvals(subsys, param_indices=None)[source]¶
Return NamedSlotsNdarray of bare eigenenergies for given subsystem, usually to be used with preslicing.
- Parameters:
subsys (QuantumSys) – Hilbert space subsystem for which bare eigendata is to be looked up
param_indices (
Optional
[Tuple
[int
,...
]]) – position indices of parameter values in question
- Return type:
- Returns:
bare eigenenergies for the specified subsystem and the external parameter fixed to the value indicated by its index
- bare_index(dressed_index, param_indices=None)[source]¶
For given dressed index, look up the corresponding bare index.
- Return type:
Optional
[Tuple
[int
,...
]]- Returns:
Bare state specification in tuple form. Example: (1,0,3) means subsystem 1 is in bare state 1, subsystem 2 in bare state 0, and subsystem 3 in bare state 3.
- Parameters:
dressed_index (int)
param_indices (Tuple[int, ...] | None)
- bare_productstate(bare_index)[source]¶
Return the bare product state specified by bare_index. Note: no parameter dependence here, since the Hamiltonian is always represented in the bare product eigenbasis.
- Parameters:
bare_index (
Tuple
[int
,...
])- Return type:
Qobj
- Returns:
ket in full Hilbert space
- dressed_index(bare_labels, param_npindices=None)[source]¶
For given bare product state return the corresponding dressed-state index.
- Parameters:
bare_labels (
Tuple
[int
,...
]) – bare_labels = (index, index2, …) Dimension: (self.hilbertspace.subsystem_count,)param_npindices (
Union
[int
,slice
,Tuple
[int
],List
[int
],Tuple
[Union
[int
,slice
,Tuple
[int
],List
[int
]],...
],None
]) – indices of parameter values of interest Depending on the nature of the slice, this can be a single parameter point or multiple ones.
- Return type:
Union
[ndarray
,int
,None
]- Returns:
dressed state index closest to the specified bare state with excitation numbers given by bare_labels. If param_npindices spans multiple parameter points, then this returns a corresponding 1d array of length dictated by the number of parameter points.
- eigensys(param_indices=None)[source]¶
Return the list of dressed eigenvectors
- Parameters:
param_indices (
Optional
[Tuple
[int
,...
]]) – position indices of parameter values in question- Return type:
ndarray
- Returns:
dressed eigensystem for the external parameter fixed to the value indicated by the provided index
- eigenvals(param_indices=None)[source]¶
Return the array of dressed eigenenergies - primarily for running the sweep
- Parameters:
question (position indices of parameter values in)
param_indices (Tuple[int, ...] | None)
- Return type:
ndarray
- Returns:
dressed eigenenergies for the external parameters fixed to the values indicated by the provided indices
- energy_by_bare_index(bare_tuple, subtract_ground=False, param_npindices=None)[source]¶
Look up dressed energy most closely corresponding to the given bare-state labels
- Parameters:
bare_tuple (
Tuple
[int
,...
]) – bare state indicessubtract_ground (
bool
) – whether to subtract the ground state energyparam_npindices (
Union
[int
,slice
,Tuple
[int
],List
[int
],Tuple
[Union
[int
,slice
,Tuple
[int
],List
[int
]],...
],None
]) – indices specifying the set of parameters
- Return type:
Union
[float
,NamedSlotsNdarray
]- Returns:
dressed energies, if lookup successful, otherwise nan;
- energy_by_dressed_index(dressed_index, subtract_ground=False, param_indices=None)[source]¶
Look up the dressed eigenenergy belonging to the given dressed index, usually to be used with pre-slicing
- Parameters:
dressed_index (
int
) – index of dressed state of interestsubtract_ground (
bool
) – whether to subtract the ground state energyparam_indices (
Optional
[Tuple
[int
,...
]]) – specifies the desired choice of parameter values
- Return type:
Union
[float
,NamedSlotsNdarray
]- Returns:
dressed energy
- generate_lookup()[source]¶
For each parameter value of the parameter sweep, generate the map between bare states and dressed states.
- Return type:
- Returns:
each list item is a list of dressed indices whose order corresponds to the ordering of bare indices (as stored in .canonical_bare_labels, thus establishing the mapping)