tensorcircuit.results.readout_mitigation#
readout error mitigation functionalities
- class tensorcircuit.results.readout_mitigation.ReadoutMit(execute: Callable[[...], List[Dict[str, int]]], iter_threshold: int = 4096)[源代码]#
基类:
object
- __init__(execute: Callable[[...], List[Dict[str, int]]], iter_threshold: int = 4096)[源代码]#
The Class for readout error mitigation
- 参数
execute (Callable[..., List[ct]]) -- execute function to run the cirucit
iter_threshold (int, optional) -- iteration threshold, defaults to 4096
- apply_correction(counts: Dict[str, int], qubits: Sequence[int], positional_logical_mapping: Optional[Dict[int, int]] = None, logical_physical_mapping: Optional[Dict[int, int]] = None, distance: Optional[int] = None, method: str = 'constrained_least_square', max_iter: int = 25, tol: float = 1e-05, return_mitigation_overhead: bool = False, details: bool = False) Dict[str, int] [源代码]#
Main readout mitigation program for all methods.
- 参数
counts (ct) -- raw count
qubits (Sequence[int]) -- user-defined logical qubits to show final mitted results
positional_logical_mapping (Optional[Dict[int, int]], optional) -- positional_logical_mapping, defaults to None.
logical_physical_mapping (Optional[Dict[int, int]], optional) -- logical_physical_mapping, defaults to None
distance (int, optional) -- defaults to None
method (str, optional) -- mitigation method, defaults to "square"
max_iter (int, optional) -- defaults to 25
tol (float, optional) -- defaults to 1e-5
:param return_mitigation_overhead:defaults to False :type return_mitigation_overhead: bool, optional :param details: defaults to False :type details: bool, optional :return: mitigated count :rtype: ct
- apply_readout_mitigation(raw_count: Dict[str, int], method: str = 'inverse') Dict[str, int] [源代码]#
Main readout mitigation program for method="inverse" or "square"
- 参数
raw_count (ct) -- the raw count
method (str, optional) -- mitigation method, defaults to "inverse"
- 返回
mitigated count
- 返回类型
ct
- cals_from_api(qubits: Union[int, List[int]], device: Optional[str] = None) None [源代码]#
Get local calibriation matrix from cloud API from tc supported providers
- 参数
qubits (Union[int, List[int]]) -- list of physical qubits to be calibriated
device (Optional[str], optional) -- the device str to qurey for the info, defaults to None
- cals_from_system(qubits: Union[int, List[int]], shots: int = 8192, method: str = 'local', masks: Optional[List[str]] = None) None [源代码]#
Get calibrattion information from system.
- 参数
qubits (Sequence[Any]) -- calibration qubit list (physical qubits on device)
shots (int, optional) -- shots used for runing the circuit, defaults to 8192
method (str, optional) -- calibration method, defaults to "local", it can also be "global"
- expectation(counts: Dict[str, int], z: Optional[Sequence[int]] = None, diagonal_op: Optional[Any] = None, positional_logical_mapping: Optional[Dict[int, int]] = None, logical_physical_mapping: Optional[Dict[int, int]] = None, method: str = 'constrained_least_square') float [源代码]#
Calculate expectation value after readout error mitigation
- 参数
counts (ct) -- raw counts
z (Optional[Sequence[int]]) -- if defaults as None, then
diagonal_op
must be set a list of qubit that we measure Z op ondiagoal_op (Tensor) -- shape [n, 2], explicitly indicate the diagonal op on each qubit eg. [1, -1] for z [1, 1] for I, etc.
positional_logical_mapping (Optional[Dict[int, int]], optional) -- positional_logical_mapping, defaults to None.
logical_physical_mapping (Optional[Dict[int, int]], optional) -- logical_physical_mapping, defaults to None
method (str, optional) -- readout mitigation method, defaults to "constrained_least_square"
- 返回
expectation value after readout error mitigation
- 返回类型
float
- get_matrix(qubits: Optional[Sequence[Any]] = None) Any [源代码]#
Calculate cal_matrix according to use qubit list.
- 参数
qubits (Sequence[Any], optional) -- used qubit list, defaults to None
- 返回
cal_matrix
- 返回类型
Tensor
- global_miti_readout_circ() List[tensorcircuit.circuit.Circuit] [源代码]#
Generate circuits for global calibration.
- 返回
circuit list
- 返回类型
List[Circuit]
- local_miti_readout_circ() List[tensorcircuit.circuit.Circuit] [源代码]#
Generate circuits for local calibration.
- 返回
circuit list
- 返回类型
List[Circuit]
- local_miti_readout_circ_by_mask(bsl: List[str]) List[tensorcircuit.circuit.Circuit] [源代码]#
- mapping_preprocess(counts: Dict[str, int], qubits: Sequence[int], positional_logical_mapping: Optional[Dict[int, int]] = None, logical_physical_mapping: Optional[Dict[int, int]] = None) Dict[str, int] [源代码]#
Preprocessing to deal with qubit mapping, including positional_logical_mapping and logical_physical_mapping. Return self.use_qubits(physical) and corresponding counts.
- 参数
counts (ct) -- raw_counts on positional_qubits
qubits (Sequence[int]) -- user-defined logical qubits to show final mitted results
positional_logical_mapping (Optional[Dict[int, int]], optional) -- positional_logical_mapping, defaults to None.
logical_physical_mapping (Optional[Dict[int, int]], optional) -- logical_physical_mapping, defaults to None
- 返回
counts on self.use_qubit(physical)
- 返回类型
ct
- mitigate_probability(probability_noise: Any, method: str = 'inverse') Any [源代码]#
Get the mitigated probability.
- 参数
probability_noise (Tensor) -- probability of raw count
method (str, optional) -- mitigation methods, defaults to "inverse", it can also be "square"
- 返回
mitigated probability
- 返回类型
Tensor