qibotn.backends package#
- class qibotn.backends.MetaBackend#
Bases:
object
Meta-backend class which takes care of loading the qibotn backends.
- list_available() dict #
Lists all the available qibotn backends.
- static load(platform: str, runcard: Optional[dict] = None) QibotnBackend #
Loads the backend.
- Parameters:
platform (str) – Name of the backend to load: either cutensornet or qutensornet.
runcard (dict) – Dictionary containing the simulation settings.
- Returns:
The loaded backend.
- Return type:
qibo.backends.abstract.Backend
Submodules#
qibotn.backends.abstract module#
- class qibotn.backends.abstract.QibotnBackend#
Bases:
ABC
- apply_gate(gate, state, nqubits)#
- apply_gate_density_matrix(gate, state, nqubits)#
- assign_measurements(measurement_map, circuit_result)#
- configure_tn_simulation(**config)#
Configure the TN simulation that will be performed.
- set_device(device)#
- set_precision(precision)#
qibotn.backends.cutensornet module#
- class qibotn.backends.cutensornet.CuTensorNet(runcard)#
Bases:
QibotnBackend
,NumpyBackend
Creates CuQuantum backend for QiboTN.
- cuda_type(dtype='complex64')#
Get CUDA Type.
- Parameters:
dtype (str, optional) – Either single (“complex64”) or double (complex128) precision. Defaults to “complex64”.
- Returns:
tuple of cuquantum.cudaDataType and cuquantum.ComputeType
- Return type:
CUDA Type
- execute_circuit(circuit, initial_state=None, nshots=None, return_array=False)#
Executes a quantum circuit using selected TN backend.
- Parameters:
circuit (
qibo.models.circuit.Circuit
) – Circuit to execute.initial_state (
qibo.models.circuit.Circuit
) – Circuit to prepare the initial state. IfNone
the default|00...0>
state is used.
- Returns:
If return_array is False, returns a QuantumState object representing the quantum state. If return_array is True, returns a numpy array representing the quantum state.
- Return type:
QuantumState or numpy.ndarray
qibotn.backends.qmatchatea module#
qibotn.backends.quimb module#
- class qibotn.backends.quimb.QuimbBackend(runcard)#
Bases:
QibotnBackend
,NumpyBackend
- execute_circuit(circuit, initial_state=None, nshots=None, return_array=False)#
Executes a quantum circuit.
- Parameters:
circuit (
qibo.models.circuit.Circuit
) – Circuit to execute.initial_state (
qibo.models.circuit.Circuit
) – Circuit to prepare the initial state. IfNone
the default|00...0>
state is used.
- Returns:
If return_array is False, returns a QuantumState object representing the quantum state. If return_array is True, returns a numpy array representing the quantum state.
- Return type:
QuantumState or numpy.ndarray