squlearn.observables.SingleProbability
- class squlearn.observables.SingleProbability(num_qubits: int, qubit: int = 0, one_state: bool = False, parameterized: bool = False)
- Observable for measuring the probability of being in state 0 or 1 of a specified qubit. - Equation as the operator is implemented: \[\hat{H} = 0.5(\hat{I}_i+\hat{Z}_i) (= \ket{0}\bra{0}_i) \qquad \text{or} \qquad \hat{H} = 0.5(\hat{I}_i-\hat{Z}_i) (= \ket{1}\bra{1}_i)\]- Operator can be optionally parameterized. - Parameters:
- num_qubits (int) – Number of qubits. 
- qubit (int) – Qubit to measure the probability of. 
- one_state (bool) – If True, measure the probability of being in state 1, otherwise state 0 (default: False). 
- parameterized (bool) – If True, the operator is parameterized (default: false). 
 
 - Attributes:- num_qubits
- Number of qubits. - Type:
- int 
 
 - num_parameters
- Number of trainable parameters in the single Pauli operator. - Type:
- int 
 
 - qubit
- Qubit to measure the probability of. - Type:
- int 
 
 - one_state
- If True, measure the probability of being in state 1, otherwise state 0. - Type:
- bool 
 
 - parameterized
- If True, the operator is parameterized. - Type:
- bool 
 
 - Methods:- generate_initial_parameters(ones: bool = True, seed: int | None = None) ndarray
- Generates random parameters for the observable - Parameters:
- ones (bool) – If True, returns an array of ones (default: True) 
- seed (Union[int,None]) – Seed for the random number generator 
 
- Returns:
- The randomly generated parameters 
 
 - get_operator(parameters: ParameterVector | ndarray) SparsePauliOp
- Returns Operator as a SparsePauliOp expression. - Parameters:
- parameters (Union[ParameterVector, np.ndarray]) – Vector of parameters used in the operator 
- Returns:
- StateFn expression of the observable. 
 
 - get_params(deep: bool = True) dict
- Returns hyper-parameters and their values of the single probability operator. - Parameters:
- deep (bool) – If True, also the parameters for contained objects are returned (default=True). 
- Returns:
- Dictionary with hyper-parameters and values. 
 
 - get_pauli(parameters: ParameterVector | ndarray = None) SparsePauliOp
- Function for generating the SparsePauliOp expression of the single probability operator. - Parameters:
- parameters (Union[ParameterVector, np.ndarray]) – Parameters of the single probability operator. 
- Returns:
- SparsePauliOp expression of the specified single probability operator. 
 
 - get_pauli_mapped(parameters: ParameterVector | ndarray) SparsePauliOp
- Changes the operator to the physical qubits, set by - set_map().- Parameters:
- parameters (Union[ParameterVector, np.ndarray]) – Vector of parameters used in the operator 
- Returns:
- Expectation operator in Qiskit’s SprasePauliOp class with qubits mapped to physical ones 
 
 - set_map(qubit_map: list | dict, num_all_qubits: int)
- Function for setting a qubit mapping from physical qubits to the ones of the operator. - This function is necessary whenever the number of physical qubits are different from the operator definition, as for example when running on a real backend. The number of qubits in the system has to be larger than the number of qubits in the observable. - Parameters:
- qubit_map (Union[list, dict]) – A list or dictionary specifying which of the input qubits are mapped to the output qubits. 
- num_all_qubits (int) – The total number of qubits in the system. 
 
 
 - set_params(**params) None
- Sets value of the operator hyper-parameters. - Parameters:
- params – Hyper-parameters and their values, e.g. - num_qubits=2.