quairkit.core.state.backend.operator¶
Source file for base class that emulates quantum states.
- class quairkit.core.state.backend.operator.StateOperator(list_operator, sys_dim)¶
The abstract base class for operating quantum state in QuAIRKit, via emulators or quantum devices.
- Parameters:¶
- list_operator : List[OperatorInfoType] | None¶
the operators of the circuit that applies to the state. Defaults to an empty list.
- sys_dim : List[int]¶
a list of dimensions for each system.
Note
This class is designed to be inherited by specific state emulator classes. Such class should emulate quantum computing via OpenQASM 2.0.
- property param : list[Tensor]¶
The parameters stored in the operators in StateOperator.
- apply(list_operator)¶
Record a list of operators that will be applied to the device.
- Parameters:¶
- list_operator : List[OperatorInfoType | List[OperatorInfoType]]¶
the list of operators that applies to the state.
- property qasm2 : str | list[str]¶
The QASM 2.0 string that represents the circuit stored in this state emulator.
- property system_dim : list[int]¶
The list of dimensions for each system
- abstractmethod clone()¶
Return a copy of the quantum state.
-
measure(system_idx=
None, shots=None, measure_op=None)¶ Measure the quantum state
- Parameters:¶
- system_idx : int | List[int] | None¶
the system indices to be measured. Defaults to all systems.
- shots : int | None¶
the number of shots to measure, defaults to 1024.
- measure_op : str | None¶
the measurement operator basis to measure. Here we restrict it to be Pauli, which can be a char or a string composed of ‘i’, ‘x’, ‘y’, or ‘z’. Defaults to ‘z’.
- Returns:¶
A tensor containing the measurement results. Simulator backends return dense probabilities, while
StateOperatorbackends return sparse empirical probabilities over the same outcome space.- Return type:¶
Tensor
-
expec_val(hamiltonian, shots=
None, decompose=False)¶ The expectation value of the observable with respect to the quantum state.
- Parameters:¶
- hamiltonian : Hamiltonian¶
Input observable.
- shots : int | None¶
the total number of shots to measure, defaults to 1024 times the Hamiltonian terms.
- decompose : bool¶
If decompose is
True, it will return the expectation value of each term.
- Returns:¶
The measured expectation value (per term) of the input observable for the quantum state.
- Return type:¶
Tensor
- quairkit.core.state.backend.operator.get_shift_rule(gate_name)¶
Retrieve shift rule for a given quantum gate.
- class quairkit.core.state.backend.operator.SimpleStateOperator(list_operator, sys_dim)¶
A minimal backend built atop the default simulator for quick experimentation.
It executes QASM locally (via the default backend) and returns sparse counts dict. This is primarily for users to try StateOperator without integrating a real device.