pyqpanda.pyQPanda 源代码

from typing import Any, Callable, ClassVar, Dict, List, Tuple

from typing import Set
from typing import overload
import flags
import numpy
AGT_H: AnsatzGateType
AGT_RX: AnsatzGateType
AGT_RY: AnsatzGateType
AGT_RZ: AnsatzGateType
AGT_X: AnsatzGateType
ARBITRARY_ROTATION: SingleGateTransferType
BACKEND_CALC_ERROR: ErrorCode
BARRIER_GATE: GateType
CLUSTER_BASE: ErrorCode
CLUSTER_SIMULATE_CALC_ERR: ErrorCode
CNOT_GATE: LATEX_GATE_TYPE
CPHASE_GATE: GateType
CPU: BackendType
CPU_SINGLE_THREAD: BackendType
CP_GATE: GateType
CU_GATE: GateType
CZ_GATE: GateType
DATABASE_ERROR: ErrorCode
DOUBLE_BIT_GATE: DoubleGateTransferType
DOUBLE_CONTINUOUS: SingleGateTransferType
DOUBLE_DISCRETE: SingleGateTransferType
DOUBLE_GATE_INVALID: DoubleGateTransferType
ERR_BACKEND_CHIP_TASK_SOCKET_WRONG: ErrorCode
ERR_CHIP_OFFLINE: ErrorCode
ERR_EMPTY_PROG: ErrorCode
ERR_FIDELITY_MATRIX: ErrorCode
ERR_INVALID_URL: ErrorCode
ERR_MATE_GATE_CONFIG: ErrorCode
ERR_NOT_FOUND_APP_ID: ErrorCode
ERR_NOT_FOUND_TASK_ID: ErrorCode
ERR_OPERATOR_DB: ErrorCode
ERR_PARAMETER: ErrorCode
ERR_PARSER_SUB_TASK_RESULT: ErrorCode
ERR_PRE_ESTIMATE: ErrorCode
ERR_QCOMPILER_FAILED: ErrorCode
ERR_QPROG_LENGTH: ErrorCode
ERR_QST_PROG: ErrorCode
ERR_QUANTUM_CHIP_PROG: ErrorCode
ERR_QUBIT_SIZE: ErrorCode
ERR_QUBIT_TOPO: ErrorCode
ERR_QVM_INIT_FAILED: ErrorCode
ERR_REPEAT_MEASURE: ErrorCode
ERR_SCHEDULE_CHIP_TOPOLOGY_SUPPORTED: ErrorCode
ERR_SUB_GRAPH_OUT_OF_RANGE: ErrorCode
ERR_SYS_CALL_TIME_OUT: ErrorCode
ERR_TASK_BUF_OVERFLOW: ErrorCode
ERR_TASK_CONFIG: ErrorCode
ERR_TASK_STATUS_BUF_OVERFLOW: ErrorCode
ERR_TASK_TERMINATED: ErrorCode
ERR_TCP_INIT_FATLT: ErrorCode
ERR_TCP_SERVER_HALT: ErrorCode
ERR_UNKNOW_TASK_TYPE: ErrorCode
ERR_UNSUPPORT_BACKEND_TYPE: ErrorCode
EXCEED_MAX_CLOCK: ErrorCode
EXCEED_MAX_QUBIT: ErrorCode
GATE_NOP: GateType
GATE_UNDEFINED: GateType
GD_DIRECTION: UpdateMode
GD_VALUE: UpdateMode
GENERAL_GATE: LATEX_GATE_TYPE
GPU: BackendType
GRADIENT: OptimizerType
HADAMARD_GATE: GateType
ISWAP_GATE: GateType
ISWAP_THETA_GATE: GateType
I_GATE: GateType
JSON_FIELD_ERROR: ErrorCode
LINEAR: ComplexVertexSplitMethod
METHOD_UNDEFINED: ComplexVertexSplitMethod
MPS: BackendType
MS_GATE: GateType
NELDER_MEAD: OptimizerType
NOISE: BackendType
NO_ERROR_FOUND: ErrorCode
ORACLE_GATE: GateType
ORIGINIR_ERROR: ErrorCode
P00_GATE: GateType
P0_GATE: GateType
P11_GATE: GateType
P1_GATE: GateType
PAULI_X_GATE: GateType
PAULI_Y_GATE: GateType
PAULI_Z_GATE: GateType
PEC: em_method
POWELL: OptimizerType
P_GATE: GateType
READ_OUT: em_method
RING: ComplexVertexSplitMethod
RPHI_GATE: GateType
RXX_GATE: GateType
RX_GATE: GateType
RYY_GATE: GateType
RY_GATE: GateType
RZX_GATE: GateType
RZZ_GATE: GateType
RZ_GATE: GateType
SINGLE_CONTINUOUS_DISCRETE: SingleGateTransferType
SINGLE_GATE_INVALID: SingleGateTransferType
SQISWAP_GATE: GateType
SWAP_GATE: LATEX_GATE_TYPE
S_GATE: GateType
Simulation: ChipID
TOFFOLI_GATE: GateType
TWO_QUBIT_GATE: GateType
T_GATE: GateType
U1_GATE: GateType
U2_GATE: GateType
U3_GATE: GateType
U4_GATE: GateType
UNDEFINED_ERROR: ErrorCode
WUYUAN_1: ChipID
WUYUAN_2: ChipID
WUYUAN_3: ChipID
X_HALF_PI: GateType
Y_HALF_PI: GateType
ZNE: em_method
Z_HALF_PI: GateType
origin_72: real_chip_type
origin_wuyuan_d3: real_chip_type
origin_wuyuan_d4: real_chip_type
origin_wuyuan_d5: real_chip_type

[文档] class AbstractOptimizer: """ quantum AbstractOptimizer class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def exec(self) -> None: """ """ ...
[文档] def getResult(self, *args, **kwargs) -> Any: """ """ ...
[文档] def registerFunc(self, arg0: Callable[[List[float],List[float],int,int],Tuple[str,float]], arg1: List[float]) -> None: """ """ ...
[文档] def setAdaptive(self, arg0: bool) -> None: """ """ ...
[文档] def setCacheFile(self, arg0: str) -> None: """ """ ...
[文档] def setDisp(self, arg0: bool) -> None: """ """ ...
[文档] def setFatol(self, arg0: float) -> None: """ """ ...
[文档] def setMaxFCalls(self, arg0: int) -> None: """ """ ...
[文档] def setMaxIter(self, arg0: int) -> None: """ """ ...
[文档] def setRestoreFromCacheFile(self, arg0: bool) -> None: """ """ ...
[文档] def setXatol(self, arg0: float) -> None: """ """ ...
[文档] class AdaGradOptimizer: """ variational quantum AdaGradOptimizer """ def __init__(self, arg0: var, arg1: float, arg2: float, arg3: float) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def minimize(self, arg0: float, arg1: float, arg2: float) -> Optimizer: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class AdamOptimizer: """ variational quantum AdamOptimizer """ def __init__(self, arg0: var, arg1: float, arg2: float, arg3: float, arg4: float) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def minimize(self, arg0: float, arg1: float, arg2: float, arg3: float) -> Optimizer: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class Ansatz: """ quantum ansatz class """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, arg0: QGate) -> None: """ """ ... @overload def __init__(self, arg0: AnsatzGate) -> None: """ """ ... @overload def __init__(self, ansatz: List[AnsatzGate], thetas: List[float] = []) -> None: """ """ ... @overload def __init__(self, ansatz_circuit: Ansatz, thetas: List[float] = []) -> None: """ """ ... @overload def __init__(self, circuit: QCircuit, thetas: List[float] = []) -> None: """ """ ...
[文档] def get_ansatz_list(self) -> List[AnsatzGate]: """ """ ...
[文档] def get_thetas_list(self) -> List[float]: """ """ ...
@overload
[文档] def insert(self, gate: QGate) -> None: """ """ ...
@overload def insert(self, gate: AnsatzGate) -> None: """ """ ... @overload def insert(self, gate: List[AnsatzGate]) -> None: """ """ ... @overload def insert(self, gate: QCircuit) -> None: """ """ ... @overload def insert(self, gate: Ansatz, thetas: List[float] = []) -> None: """ """ ...
[文档] def set_thetas(self, thetas: List[float]) -> None: """ """ ...
@overload def __lshift__(self, arg0: QGate) -> Ansatz: """ """ ... @overload def __lshift__(self, arg0: List[AnsatzGate]) -> Ansatz: """ """ ... @overload def __lshift__(self, arg0: QCircuit) -> Ansatz: """ """ ... @overload def __lshift__(self, arg0: AnsatzGate) -> Ansatz: """ """ ...
[文档] class AnsatzGate: """ ansatz gate struct """
[文档] control: int
[文档] target: int
[文档] theta: float
[文档] type: AnsatzGateType
@overload def __init__(self, arg0: AnsatzGateType, arg1: int) -> None: """ """ ... @overload def __init__(self, arg0: AnsatzGateType, arg1: int, arg2: float) -> None: """ """ ... @overload def __init__(self, arg0: AnsatzGateType, arg1: int, arg2: float, arg3: int) -> None: """ """ ...
[文档] class AnsatzGateType: """ Quantum ansatz gate type Members: AGT_X AGT_H AGT_RX AGT_RY AGT_RZ """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] AGT_H: ClassVar[AnsatzGateType] = ...
[文档] AGT_RX: ClassVar[AnsatzGateType] = ...
[文档] AGT_RY: ClassVar[AnsatzGateType] = ...
[文档] AGT_RZ: ClassVar[AnsatzGateType] = ...
[文档] AGT_X: ClassVar[AnsatzGateType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class BackendType: """ Quantum machine backend type Members: CPU GPU CPU_SINGLE_THREAD NOISE MPS """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] CPU: ClassVar[BackendType] = ...
[文档] CPU_SINGLE_THREAD: ClassVar[BackendType] = ...
[文档] GPU: ClassVar[BackendType] = ...
[文档] MPS: ClassVar[BackendType] = ...
[文档] NOISE: ClassVar[BackendType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class CBit: """ quantum classical bit """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def getName(self) -> str: """ """ ...
[文档] class CPUQVM(QuantumMachine): """ quantum machine cpu """ def __init__(self) -> None: """ """ ...
[文档] def get_prob_dict(self, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ """ ...
[文档] def get_prob_list(self, qubit_list: QVec, select_max: int = -1) -> List[float]: """ """ ...
[文档] def get_prob_tuple_list(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
@overload
[文档] def init_qvm(self, arg0: bool) -> None: """ """ ...
@overload def init_qvm(self) -> None: """ """ ...
[文档] def pmeasure(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Get the probability distribution over qubits """ ...
[文档] def pmeasure_no_index(self, qubit_list: QVec) -> List[float]: """ Get the probability distribution over qubits """ ...
@overload
[文档] def prob_run_dict(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ """ ...
@overload def prob_run_dict(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> Dict[str,float]: """ """ ... @overload
[文档] def prob_run_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[float]: """ """ ...
@overload def prob_run_list(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> List[float]: """ """ ... @overload
[文档] def prob_run_tuple_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
@overload def prob_run_tuple_list(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
[文档] def quick_measure(self, qubit_list: QVec, shots: int) -> Dict[str,int]: """ """ ...
[文档] def set_max_threads(self, size: int) -> None: """ set CPUQVM max thread size """ ...
[文档] class CPUSingleThreadQVM(QuantumMachine): """ quantum machine class for cpu single thread """ def __init__(self) -> None: """ """ ...
[文档] def get_prob_dict(self, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ """ ...
[文档] def get_prob_list(self, qubit_list: QVec, select_max: int = -1) -> List[float]: """ """ ...
[文档] def get_prob_tuple_list(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
[文档] def pmeasure(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Get the probability distribution over qubits """ ...
[文档] def pmeasure_no_index(self, qubit_list: QVec) -> List[float]: """ Get the probability distribution over qubits """ ...
@overload
[文档] def prob_run_dict(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ """ ...
@overload def prob_run_dict(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> Dict[str,float]: """ """ ... @overload
[文档] def prob_run_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[float]: """ """ ...
@overload def prob_run_list(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> List[float]: """ """ ... @overload
[文档] def prob_run_tuple_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
@overload def prob_run_tuple_list(self, program: QProg, qubit_addr_list: List[int], select_max: int = -1) -> List[Tuple[int,float]]: """ """ ...
[文档] def quick_measure(self, qubit_list: QVec, shots: int) -> Dict[str,int]: """ """ ...
[文档] class ChipID: """ origin quantum real chip type Members: Simulation WUYUAN_1 WUYUAN_2 WUYUAN_3 """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] Simulation: ClassVar[ChipID] = ...
[文档] WUYUAN_1: ClassVar[ChipID] = ...
[文档] WUYUAN_2: ClassVar[ChipID] = ...
[文档] WUYUAN_3: ClassVar[ChipID] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class ClassicalCondition: """ Classical condition class Proxy class of cexpr class """ __hash__: ClassVar[None] = ... def __init__(self, *args, **kwargs) -> None: """ """ ... @overload
[文档] def c_and(self, arg0: int) -> ClassicalCondition: """ """ ...
@overload def c_and(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def c_not(self) -> ClassicalCondition: """ """ ...
@overload
[文档] def c_or(self, arg0: int) -> ClassicalCondition: """ """ ...
@overload def c_or(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def get_val(self) -> int: """ get value """ ...
[文档] def set_val(self, arg0: int) -> None: """ set value """ ...
@overload def __add__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __add__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __eq__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __eq__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __eq__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __ge__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __ge__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __ge__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __gt__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __gt__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __gt__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __le__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __le__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __le__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __lt__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __lt__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __lt__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __mul__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __mul__(self, arg0: int) -> ClassicalCondition: """ """ ... def __radd__(self, arg0: int) -> ClassicalCondition: """ """ ... def __rmul__(self, arg0: int) -> ClassicalCondition: """ """ ... def __rsub__(self, arg0: int) -> ClassicalCondition: """ """ ... def __rtruediv__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __sub__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __sub__(self, arg0: int) -> ClassicalCondition: """ """ ... @overload def __truediv__(self, arg0: ClassicalCondition) -> ClassicalCondition: """ """ ... @overload def __truediv__(self, arg0: int) -> ClassicalCondition: """ """ ...
[文档] class ClassicalProg: """ quantum ClassicalProg """ def __init__(self, arg0: ClassicalCondition) -> None: """ """ ...
[文档] class CommProtocolConfig: """ """
[文档] circuits_num: int
[文档] open_error_mitigation: bool
[文档] open_mapping: bool
[文档] optimization_level: int
[文档] shots: int
def __init__(self) -> None: """ """ ...
[文档] class ComplexVertexSplitMethod: """ quantum complex vertex split method Members: METHOD_UNDEFINED LINEAR RING """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] LINEAR: ClassVar[ComplexVertexSplitMethod] = ...
[文档] METHOD_UNDEFINED: ClassVar[ComplexVertexSplitMethod] = ...
[文档] RING: ClassVar[ComplexVertexSplitMethod] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class DAGNodeType: """ Quantum dag node type Members: NUKNOW_SEQ_NODE_TYPE MAX_GATE_TYPE MEASURE QUBIT RESET """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] MAX_GATE_TYPE: ClassVar[DAGNodeType] = ...
[文档] MEASURE: ClassVar[DAGNodeType] = ...
[文档] NUKNOW_SEQ_NODE_TYPE: ClassVar[DAGNodeType] = ...
[文档] QUBIT: ClassVar[DAGNodeType] = ...
[文档] RESET: ClassVar[DAGNodeType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class DecompositionMode: """ Quantum matrix decomposition mode Members: QR HOUSEHOLDER_QR QSDecomposition CSDecomposition """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] CSDecomposition: ClassVar[DecompositionMode] = ...
[文档] HOUSEHOLDER_QR: ClassVar[DecompositionMode] = ...
[文档] QR: ClassVar[DecompositionMode] = ...
[文档] QSDecomposition: ClassVar[DecompositionMode] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class DensityMatrixSimulator(QuantumMachine): """ simulator for density matrix """ def __init__(self) -> None: """ """ ...
[文档] def get_density_matrix(self, prog: QProg) -> numpy.ndarray[numpy.complex128[m,n]]: """ Run quantum program and get full density matrix Args: prog: quantum program Returns: full density matrix Raises: run_fail: An error occurred in get_density_matrix """ ...
@overload
[文档] def get_expectation(self, prog: QProg, hamiltonian: List[Tuple[Dict[int,str],float]], qubits: QVec) -> float: """ Run quantum program and hamiltonian expection for current qubits Args: prog: quantum program hamiltonian: QHamiltonian qubits: select qubits Returns: hamiltonian expection for current qubits Raises: run_fail: An error occurred in get_expectation """ ...
@overload def get_expectation(self, prog: QProg, hamiltonian: List[Tuple[Dict[int,str],float]], qubits: List[int]) -> float: """ Run quantum program and hamiltonian expection for current qubits Args: prog: quantum program hamiltonian: QHamiltonian qubits: select qubits Returns: hamiltonian expection for current qubits Raises: run_fail: An error occurred in get_expectation """ ... @overload
[文档] def get_probabilities(self, prog: QProg) -> List[float]: """ Run quantum program and get all indices probabilities Args: prog: quantum program Returns: probabilities result of quantum program Raises: run_fail: An error occurred in get_probabilities """ ...
@overload def get_probabilities(self, prog: QProg, qubits: QVec) -> List[float]: """ Run quantum program and get all indices probabilities for current qubits Args: prog: quantum program qubits: select qubits Returns: probabilities result of quantum program Raises: run_fail: An error occurred in get_probabilities """ ... @overload def get_probabilities(self, prog: QProg, qubits: List[int]) -> List[float]: """ Run quantum program and get all indices probabilities for current qubits Args: prog: quantum program qubits: select qubits Returns: probabilities result of quantum program Raises: run_fail: An error occurred in get_probabilities """ ... @overload def get_probabilities(self, prog: QProg, indices: List[str]) -> List[float]: """ Run quantum program and get all indices probabilities for current binary indices Args: prog: quantum program indices: select binary indices Returns: probabilities result of quantum program Raises: run_fail: An error occurred in get_probabilities """ ... @overload
[文档] def get_probability(self, prog: QProg, index: int) -> float: """ Run quantum program and get index probability Args: prog: quantum program index: measure index in [0,2^N - 1] Returns: probability result of quantum program Raises: run_fail: An error occurred in get_probability """ ...
@overload def get_probability(self, prog: QProg, index: str) -> float: """ Run quantum program and get index probability Args: prog: quantum program index: measure index in [0,2^N - 1] Returns: probability result of quantum program Raises: run_fail: An error occurred in get_probability """ ... @overload
[文档] def get_reduced_density_matrix(self, prog: QProg, qubits: QVec) -> numpy.ndarray[numpy.complex128[m,n]]: """ Run quantum program and get density matrix for current qubits Args: prog: quantum program qubits: quantum program select qubits Returns: density matrix Raises: run_fail: An error occurred in get_reduced_density_matrix """ ...
@overload def get_reduced_density_matrix(self, prog: QProg, qubits: List[int]) -> numpy.ndarray[numpy.complex128[m,n]]: """ Run quantum program and get density matrix for current qubits Args: prog: quantum program qubits: quantum program select qubits Returns: density matrix Raises: run_fail: An error occurred in get_reduced_density_matrix """ ...
[文档] def init_qvm(self, is_double_precision: bool = True) -> None: """ """ ...
@overload
[文档] def set_noise_model(self, arg0: numpy.ndarray[numpy.complex128[m,n]]) -> None: """ """ ...
@overload def set_noise_model(self, arg0: numpy.ndarray[numpy.complex128[m,n]], arg1: List[GateType]) -> None: """ """ ... @overload def set_noise_model(self, arg0: List[numpy.ndarray[numpy.complex128[m,n]]]) -> None: """ """ ... @overload def set_noise_model(self, arg0: List[numpy.ndarray[numpy.complex128[m,n]]], arg1: List[GateType]) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: List[QVec]) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: float, arg4: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float, arg5: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: float, arg4: float, arg5: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float, arg5: List[QVec]) -> None: """ """ ...
[文档] class DoubleGateTransferType: """ Quantum double gate transfer type Members: DOUBLE_GATE_INVALID DOUBLE_BIT_GATE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] DOUBLE_BIT_GATE: ClassVar[DoubleGateTransferType] = ...
[文档] DOUBLE_GATE_INVALID: ClassVar[DoubleGateTransferType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class Encode: """ quantum amplitude encode """ def __init__(self) -> None: """ """ ... @overload
[文档] def amplitude_encode(self, qubit: QVec, data: List[float]) -> None: """ """ ...
@overload def amplitude_encode(self, qubit: QVec, data: List[complex]) -> None: """ """ ... @overload
[文档] def amplitude_encode_recursive(self, qubit: QVec, data: List[float]) -> None: """ """ ...
@overload def amplitude_encode_recursive(self, qubit: QVec, data: List[complex]) -> None: """ Encode by amplitude recursive Args: QVec: qubits QStat: amplitude Returns: circuit Raises: run_fail: An error occurred in get amplitude_encode_recursive """ ...
[文档] def angle_encode(self, qubit: QVec, data: List[float], gate_type: GateType = GateType.RY_GATE) -> None: """ Encode by angle Args: QVec: qubits prob_vec: data Returns: circuit Raises: run_fail: An error occurred in get angle_encode """ ...
@overload
[文档] def approx_mps(self, qubit: QVec, data: List[float], layers: int = 3, sweeps: int = 100, double2float: bool = False) -> None: """ """ ...
@overload def approx_mps(self, qubit: QVec, data: List[complex], layers: int = 3, sweeps: int = 100) -> None: """ approx mps encode Args: Qubit: qubits data: std::vector<qcomplex_t> int: layer int: step Returns: circuit Raises: run_fail: An error occurred in approx_mps """ ...
[文档] def basic_encode(self, qubit: QVec, data: str) -> None: """ basic_encode Args: QVec: qubits string: data Returns: circuit Raises: run_fail: An error occurred in basic_encode """ ...
[文档] def bid_amplitude_encode(self, qubit: QVec, data: List[float], split: int = 0) -> None: """ Encode by bid Args: QVec: qubits QStat: amplitude split: int Returns: circuit Raises: run_fail: An error occurred in bid_amplitude_encode """ ...
[文档] def dc_amplitude_encode(self, qubit: QVec, data: List[float]) -> None: """ Encode by dc amplitude Args: QVec: qubits QStat: amplitude Returns: circuit Raises: run_fail: An error occurred in dc_amplitude_encode """ ...
[文档] def dense_angle_encode(self, qubit: QVec, data: List[float]) -> None: """ Encode by dense angle Args: QVec: qubits prob_vec: data Returns: circuit Raises: run_fail: An error occurred in dense_angle_encode """ ...
@overload
[文档] def ds_quantum_state_preparation(self, qubit: QVec, data: Dict[str,float]) -> None: """ """ ...
@overload def ds_quantum_state_preparation(self, qubit: QVec, data: Dict[str,complex]) -> None: """ """ ... @overload def ds_quantum_state_preparation(self, qubit: QVec, data: List[float]) -> None: """ """ ... @overload def ds_quantum_state_preparation(self, qubit: QVec, data: List[complex]) -> None: """ """ ... @overload
[文档] def efficient_sparse(self, qubit: QVec, data: Dict[str,float]) -> None: """ """ ...
@overload def efficient_sparse(self, qubit: QVec, data: Dict[str,complex]) -> None: """ """ ... @overload def efficient_sparse(self, qubit: QVec, data: List[float]) -> None: """ """ ... @overload def efficient_sparse(self, qubit: QVec, data: List[complex]) -> None: """ """ ...
[文档] def get_circuit(self) -> QCircuit: """ """ ...
@overload
[文档] def get_fidelity(self, data: List[float]) -> float: """ """ ...
@overload def get_fidelity(self, data: List[complex]) -> float: """ """ ... @overload def get_fidelity(self, data: List[float]) -> float: """ """ ...
[文档] def get_out_qubits(self) -> QVec: """ """ ...
[文档] def iqp_encode(self, qubit: QVec, data: List[float], control_list: List[Tuple[int,int]] = [], bool_inverse: bool = False, repeats: int = 1) -> None: """ Encode by iqp Args: QVec: qubits prob_vec: data list: control_list bool: bool_inverse int: repeats Returns: circuit Raises: run_fail: An error occurred in iqp_encode """ ...
[文档] def schmidt_encode(self, qubit: QVec, data: List[float], cutoff: float) -> None: """ Encode by schmidt Args: QVec: qubits QStat: amplitude double: cut_off Returns: circuit Raises: run_fail: An error occurred in schmidt_encode """ ...
@overload
[文档] def sparse_isometry(self, qubit: QVec, data: Dict[str,float]) -> None: """ """ ...
@overload def sparse_isometry(self, qubit: QVec, data: Dict[str,complex]) -> None: """ """ ... @overload def sparse_isometry(self, qubit: QVec, data: List[float]) -> None: """ """ ... @overload def sparse_isometry(self, qubit: QVec, data: List[complex]) -> None: """ """ ...
[文档] class ErrorCode: """ pliot error code Members: NO_ERROR_FOUND DATABASE_ERROR ORIGINIR_ERROR JSON_FIELD_ERROR BACKEND_CALC_ERROR ERR_TASK_BUF_OVERFLOW EXCEED_MAX_QUBIT ERR_UNSUPPORT_BACKEND_TYPE EXCEED_MAX_CLOCK ERR_UNKNOW_TASK_TYPE ERR_QVM_INIT_FAILED ERR_QCOMPILER_FAILED ERR_PRE_ESTIMATE ERR_MATE_GATE_CONFIG ERR_FIDELITY_MATRIX ERR_QST_PROG ERR_EMPTY_PROG ERR_QUBIT_SIZE ERR_QUBIT_TOPO ERR_QUANTUM_CHIP_PROG ERR_REPEAT_MEASURE ERR_OPERATOR_DB ERR_TASK_STATUS_BUF_OVERFLOW ERR_BACKEND_CHIP_TASK_SOCKET_WRONG CLUSTER_SIMULATE_CALC_ERR ERR_SCHEDULE_CHIP_TOPOLOGY_SUPPORTED ERR_TASK_CONFIG ERR_NOT_FOUND_APP_ID ERR_NOT_FOUND_TASK_ID ERR_PARSER_SUB_TASK_RESULT ERR_SYS_CALL_TIME_OUT ERR_TASK_TERMINATED ERR_INVALID_URL ERR_PARAMETER ERR_QPROG_LENGTH ERR_CHIP_OFFLINE UNDEFINED_ERROR ERR_SUB_GRAPH_OUT_OF_RANGE ERR_TCP_INIT_FATLT ERR_TCP_SERVER_HALT CLUSTER_BASE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] BACKEND_CALC_ERROR: ClassVar[ErrorCode] = ...
[文档] CLUSTER_BASE: ClassVar[ErrorCode] = ...
[文档] CLUSTER_SIMULATE_CALC_ERR: ClassVar[ErrorCode] = ...
[文档] DATABASE_ERROR: ClassVar[ErrorCode] = ...
[文档] ERR_BACKEND_CHIP_TASK_SOCKET_WRONG: ClassVar[ErrorCode] = ...
[文档] ERR_CHIP_OFFLINE: ClassVar[ErrorCode] = ...
[文档] ERR_EMPTY_PROG: ClassVar[ErrorCode] = ...
[文档] ERR_FIDELITY_MATRIX: ClassVar[ErrorCode] = ...
[文档] ERR_INVALID_URL: ClassVar[ErrorCode] = ...
[文档] ERR_MATE_GATE_CONFIG: ClassVar[ErrorCode] = ...
[文档] ERR_NOT_FOUND_APP_ID: ClassVar[ErrorCode] = ...
[文档] ERR_NOT_FOUND_TASK_ID: ClassVar[ErrorCode] = ...
[文档] ERR_OPERATOR_DB: ClassVar[ErrorCode] = ...
[文档] ERR_PARAMETER: ClassVar[ErrorCode] = ...
[文档] ERR_PARSER_SUB_TASK_RESULT: ClassVar[ErrorCode] = ...
[文档] ERR_PRE_ESTIMATE: ClassVar[ErrorCode] = ...
[文档] ERR_QCOMPILER_FAILED: ClassVar[ErrorCode] = ...
[文档] ERR_QPROG_LENGTH: ClassVar[ErrorCode] = ...
[文档] ERR_QST_PROG: ClassVar[ErrorCode] = ...
[文档] ERR_QUANTUM_CHIP_PROG: ClassVar[ErrorCode] = ...
[文档] ERR_QUBIT_SIZE: ClassVar[ErrorCode] = ...
[文档] ERR_QUBIT_TOPO: ClassVar[ErrorCode] = ...
[文档] ERR_QVM_INIT_FAILED: ClassVar[ErrorCode] = ...
[文档] ERR_REPEAT_MEASURE: ClassVar[ErrorCode] = ...
[文档] ERR_SCHEDULE_CHIP_TOPOLOGY_SUPPORTED: ClassVar[ErrorCode] = ...
[文档] ERR_SUB_GRAPH_OUT_OF_RANGE: ClassVar[ErrorCode] = ...
[文档] ERR_SYS_CALL_TIME_OUT: ClassVar[ErrorCode] = ...
[文档] ERR_TASK_BUF_OVERFLOW: ClassVar[ErrorCode] = ...
[文档] ERR_TASK_CONFIG: ClassVar[ErrorCode] = ...
[文档] ERR_TASK_STATUS_BUF_OVERFLOW: ClassVar[ErrorCode] = ...
[文档] ERR_TASK_TERMINATED: ClassVar[ErrorCode] = ...
[文档] ERR_TCP_INIT_FATLT: ClassVar[ErrorCode] = ...
[文档] ERR_TCP_SERVER_HALT: ClassVar[ErrorCode] = ...
[文档] ERR_UNKNOW_TASK_TYPE: ClassVar[ErrorCode] = ...
[文档] ERR_UNSUPPORT_BACKEND_TYPE: ClassVar[ErrorCode] = ...
[文档] EXCEED_MAX_CLOCK: ClassVar[ErrorCode] = ...
[文档] EXCEED_MAX_QUBIT: ClassVar[ErrorCode] = ...
[文档] JSON_FIELD_ERROR: ClassVar[ErrorCode] = ...
[文档] NO_ERROR_FOUND: ClassVar[ErrorCode] = ...
[文档] ORIGINIR_ERROR: ClassVar[ErrorCode] = ...
[文档] UNDEFINED_ERROR: ClassVar[ErrorCode] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class Fusion: """ quantum fusion operation """ def __init__(self) -> None: """ """ ... @overload
[文档] def aggregate_operations(self, circuit: QCircuit) -> None: """ """ ...
@overload def aggregate_operations(self, qprog: QProg) -> None: """ """ ...
[文档] class GateType: """ quantum gate type Members: GATE_NOP GATE_UNDEFINED P0_GATE P1_GATE PAULI_X_GATE PAULI_Y_GATE PAULI_Z_GATE X_HALF_PI Y_HALF_PI Z_HALF_PI HADAMARD_GATE T_GATE S_GATE P_GATE CP_GATE RX_GATE RY_GATE RZ_GATE RXX_GATE RYY_GATE RZZ_GATE RZX_GATE U1_GATE U2_GATE U3_GATE U4_GATE CU_GATE CNOT_GATE CZ_GATE MS_GATE CPHASE_GATE ISWAP_THETA_GATE ISWAP_GATE SQISWAP_GATE SWAP_GATE TWO_QUBIT_GATE P00_GATE P11_GATE TOFFOLI_GATE ORACLE_GATE I_GATE BARRIER_GATE RPHI_GATE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] BARRIER_GATE: ClassVar[GateType] = ...
[文档] CNOT_GATE: ClassVar[GateType] = ...
[文档] CPHASE_GATE: ClassVar[GateType] = ...
[文档] CP_GATE: ClassVar[GateType] = ...
[文档] CU_GATE: ClassVar[GateType] = ...
[文档] CZ_GATE: ClassVar[GateType] = ...
[文档] GATE_NOP: ClassVar[GateType] = ...
[文档] GATE_UNDEFINED: ClassVar[GateType] = ...
[文档] HADAMARD_GATE: ClassVar[GateType] = ...
[文档] ISWAP_GATE: ClassVar[GateType] = ...
[文档] ISWAP_THETA_GATE: ClassVar[GateType] = ...
[文档] I_GATE: ClassVar[GateType] = ...
[文档] MS_GATE: ClassVar[GateType] = ...
[文档] ORACLE_GATE: ClassVar[GateType] = ...
[文档] P00_GATE: ClassVar[GateType] = ...
[文档] P0_GATE: ClassVar[GateType] = ...
[文档] P11_GATE: ClassVar[GateType] = ...
[文档] P1_GATE: ClassVar[GateType] = ...
[文档] PAULI_X_GATE: ClassVar[GateType] = ...
[文档] PAULI_Y_GATE: ClassVar[GateType] = ...
[文档] PAULI_Z_GATE: ClassVar[GateType] = ...
[文档] P_GATE: ClassVar[GateType] = ...
[文档] RPHI_GATE: ClassVar[GateType] = ...
[文档] RXX_GATE: ClassVar[GateType] = ...
[文档] RX_GATE: ClassVar[GateType] = ...
[文档] RYY_GATE: ClassVar[GateType] = ...
[文档] RY_GATE: ClassVar[GateType] = ...
[文档] RZX_GATE: ClassVar[GateType] = ...
[文档] RZZ_GATE: ClassVar[GateType] = ...
[文档] RZ_GATE: ClassVar[GateType] = ...
[文档] SQISWAP_GATE: ClassVar[GateType] = ...
[文档] SWAP_GATE: ClassVar[GateType] = ...
[文档] S_GATE: ClassVar[GateType] = ...
[文档] TOFFOLI_GATE: ClassVar[GateType] = ...
[文档] TWO_QUBIT_GATE: ClassVar[GateType] = ...
[文档] T_GATE: ClassVar[GateType] = ...
[文档] U1_GATE: ClassVar[GateType] = ...
[文档] U2_GATE: ClassVar[GateType] = ...
[文档] U3_GATE: ClassVar[GateType] = ...
[文档] U4_GATE: ClassVar[GateType] = ...
[文档] X_HALF_PI: ClassVar[GateType] = ...
[文档] Y_HALF_PI: ClassVar[GateType] = ...
[文档] Z_HALF_PI: ClassVar[GateType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class HHLAlg: """ quantum hhl algorithm class """ def __init__(self, arg0: QuantumMachine) -> None: """ """ ...
[文档] def check_QPE_result(self) -> str: """ check QPE result """ ...
[文档] def get_amplification_factor(self) -> float: """ get_amplification_factor """ ...
[文档] def get_ancillary_qubit(self) -> QVec: """ get_ancillary_qubit """ ...
[文档] def get_hhl_circuit(self, matrix_A: List[complex], data_b: List[float], precision_cnt: int = 0) -> QCircuit: """ """ ...
[文档] def get_qubit_for_QFT(self) -> List[Qubit]: """ get_qubit_for_QFT """ ...
[文档] def get_qubit_for_b(self) -> List[Qubit]: """ get_qubit_for_b """ ...
[文档] def query_uesed_qubit_num(self) -> int: """ query_uesed_qubit_num """ ...
[文档] class LATEX_GATE_TYPE: """ Quantum latex gate type Members: GENERAL_GATE CNOT_GATE SWAP_GATE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] CNOT_GATE: ClassVar[LATEX_GATE_TYPE] = ...
[文档] GENERAL_GATE: ClassVar[LATEX_GATE_TYPE] = ...
[文档] SWAP_GATE: ClassVar[LATEX_GATE_TYPE] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class LatexMatrix: """ Generate quantum circuits latex src code can be compiled on latex package 'qcircuit' circuits element treated as matrix element in latex syntax qcircuit package tutorial [https://physics.unm.edu/CQuIC/Qcircuit/Qtutorial.pdf] """ def __init__(self) -> None: """ """ ...
[文档] def insert_barrier(self, rows: List[int], from_col: int) -> int: """ Args: rows: rows need be barriered, may not continus """ ...
[文档] def insert_gate(self, target_rows: List[int], ctrl_rows: List[int], from_col: int, gate_type: LATEX_GATE_TYPE, gate_name: str = '', dagger: bool = False, param: str = '') -> int: """ Insert a gate into circute Args: target_rows: gate targets row of latex matrix ctrl_rows from_col: gate wanted col pos, but there may be not enough zone to put gate gate_type: enum type of LATEX_GATE_TYPE gate_name dagger: dagger flag param: gate param str Returns: int: real col num. if there is no enough zone to put gate at 'from_col', we will find suitable col to put gate after 'from_col' """ ...
[文档] def insert_measure(self, q_row: int, c_row: int, from_col: int) -> int: """ """ ...
[文档] def insert_reset(self, q_row: int, from_col: int) -> int: """ """ ...
[文档] def insert_timeseq(self, t_col: int, time_seq: int) -> None: """ Beware we do not check col num, may cause overwrite. user must take care col num self """ ...
[文档] def set_label(self, qubit_label: Dict[int,str], cbit_label: Dict[int,str] = {}, time_seq_label: str = '', head: bool = True) -> None: """ Set Label at left most head col or right most tail col label can be reseted at any time Args: qubit_label: label for qwire left most head label, at row, in latex syntax. not given row will keep empty eg. {0: 'q_{1}', 2:'q_{2}'} cbit_label: classic label string, support latex str time_seq_label: if given, set time squence lable head: if true, label append head; false, append at tail """ ...
[文档] def str(self, with_time: bool = False) -> str: """ return final latex source code, can be called at any time """ ...
[文档] class MPSQVM(QuantumMachine): """ quantum matrix product state machine class """ def __init__(self) -> None: """ """ ... @overload
[文档] def add_single_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float) -> None: """ """ ...
@overload def add_single_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float) -> None: """ """ ...
[文档] def get_prob_dict(self, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ Get pmeasure result as dict Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_dict """ ...
[文档] def get_prob_list(self, qubit_list: QVec, select_max: int = -1) -> List[float]: """ Get pmeasure result as list Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_list """ ...
[文档] def get_prob_tuple_list(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Get pmeasure result as list Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_tuple_list """ ...
[文档] def pmeasure(self, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Get the probability distribution over qubits Args: qubit_list: qubit list to measure select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine in tuple form """ ...
[文档] def pmeasure_bin_index(self, program: QProg, string: str) -> complex: """ pmeasure bin index quantum state amplitude Args: string : bin string Returns: complex : bin amplitude Raises: run_fail: An error occurred in pmeasure_bin_index """ ...
[文档] def pmeasure_bin_subset(self, program: QProg, string_list: List[str]) -> List[complex]: """ pmeasure quantum state amplitude subset Args: list : bin state string list Returns: list : bin amplitude result list Raises: run_fail: An error occurred in pmeasure_bin_subset """ ...
[文档] def pmeasure_dec_index(self, program: QProg, string: str) -> complex: """ pmeasure dec index quantum state amplitude Args: string : dec string Returns: complex : dec amplitude Raises: run_fail: An error occurred in pmeasure_dec_index """ ...
[文档] def pmeasure_dec_subset(self, program: QProg, string_list: List[str]) -> List[complex]: """ pmeasure quantum state amplitude subset Args: list : dec state string list Returns: list : dec amplitude result list Raises: run_fail: An error occurred in pmeasure_dec_subset """ ...
[文档] def pmeasure_no_index(self, qubit_list: QVec) -> List[float]: """ Get the probability distribution over qubits Args: qubit_list: qubit list to measure Returns: measure result of quantum machine in list form """ ...
[文档] def prob_run_dict(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def prob_run_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[float]: """ Run quantum program and get pmeasure result as list Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def prob_run_tuple_list(self, program: QProg, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Run quantum program and get pmeasure result as tuple list Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in prob_run_tuple_list """ ...
[文档] def quick_measure(self, qubit_list: QVec, shots: int) -> Dict[str,int]: """ Quick measure Args: qubit_list: qubit list to measure shots: the repeat num of measure operate Returns: result of quantum program Raises: run_fail: An error occurred in measure quantum program """ ...
@overload
[文档] def set_measure_error(self, arg0: NoiseModel, arg1: float) -> None: """ """ ...
@overload def set_measure_error(self, arg0: NoiseModel, arg1: float, arg2: float, arg3: float) -> None: """ """ ... @overload
[文档] def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[QVec]) -> None: """ """ ...
@overload def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[float], arg3: List[QVec]) -> None: """ """ ... @overload def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]]) -> None: """ """ ... @overload def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[float]) -> None: """ """ ... @overload
[文档] def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float) -> None: """ """ ...
@overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: List[QVec]) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float, arg5: List[QVec]) -> None: """ """ ...
[文档] def set_readout_error(self, readout_params: List[List[float]], qubits: QVec) -> None: """ """ ...
[文档] def set_reset_error(self, reset_0_param: float, reset_1_param: float) -> None: """ """ ...
[文档] def set_rotation_error(self, param: float) -> None: """ """ ...
[文档] class MomentumOptimizer: """ variational quantum MomentumOptimizer """ def __init__(self, arg0: var, arg1: float, arg2: float) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def minimize(self, arg0: float, arg1: float) -> Optimizer: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class NodeInfo: """ Detailed information of a QProg node """
[文档] m_cbits: List[int]
[文档] m_control_qubits: QVec
[文档] m_gate_type: GateType
[文档] m_is_dagger: bool
[文档] m_iter: NodeIter
[文档] m_name: str
[文档] m_node_type: NodeType
[文档] m_params: List[float]
[文档] m_target_qubits: QVec
@overload def __init__(self) -> None: """ """ ... @overload def __init__(self, iter: NodeIter, target_qubits: QVec, control_qubits: QVec, type: int, dagger: bool) -> None: """ """ ...
[文档] def reset(self) -> None: """ """ ...
[文档] class NodeIter: """ quantum node iter """ __hash__: ClassVar[None] = ... def __init__(self) -> None: """ """ ...
[文档] def get_next(self) -> NodeIter: """ """ ...
[文档] def get_node_type(self) -> NodeType: """ """ ...
[文档] def get_pre(self) -> NodeIter: """ """ ...
def __eq__(self, arg0: NodeIter) -> bool: """ """ ... def __ne__(self, arg0: NodeIter) -> bool: """ """ ...
[文档] class NodeType: """ quantum node type Members: NODE_UNDEFINED GATE_NODE CIRCUIT_NODE PROG_NODE MEASURE_GATE WHILE_START_NODE QIF_START_NODE CLASS_COND_NODE RESET_NODE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] CIRCUIT_NODE: ClassVar[NodeType] = ...
[文档] CLASS_COND_NODE: ClassVar[NodeType] = ...
[文档] GATE_NODE: ClassVar[NodeType] = ...
[文档] MEASURE_GATE: ClassVar[NodeType] = ...
[文档] NODE_UNDEFINED: ClassVar[NodeType] = ...
[文档] PROG_NODE: ClassVar[NodeType] = ...
[文档] QIF_START_NODE: ClassVar[NodeType] = ...
[文档] RESET_NODE: ClassVar[NodeType] = ...
[文档] WHILE_START_NODE: ClassVar[NodeType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class Noise: """ Quantum machine for noise simulation """ def __init__(self) -> None: """ """ ... @overload
[文档] def add_mixed_unitary_error(self, gate_types: GateType, unitary_matrices: List[List[complex]], probs: List[float]) -> None: """ """ ...
@overload def add_mixed_unitary_error(self, gate_types: GateType, unitary_matrices: List[List[complex]], probs: List[float], qubits: QVec) -> None: """ """ ... @overload def add_mixed_unitary_error(self, gate_types: GateType, unitary_matrices: List[List[complex]], probs: List[float], qubits: List[QVec]) -> None: """ """ ... @overload
[文档] def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, prob: float) -> None: """ """ ...
@overload def add_noise_model(self, noise_model: NoiseModel, gate_types: List[GateType], prob: float) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, prob: float, qubits: QVec) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_types: List[GateType], prob: float, qubits: QVec) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, prob: float, qubits: List[QVec]) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, t1: float, t2: float, t_gate: float) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_types: List[GateType], t1: float, t2: float, t_gate: float) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, t1: float, t2: float, t_gate: float, qubits: QVec) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_types: List[GateType], t1: float, t2: float, t_gate: float, qubits: QVec) -> None: """ """ ... @overload def add_noise_model(self, noise_model: NoiseModel, gate_type: GateType, t1: float, t2: float, t_gate: float, qubits: List[QVec]) -> None: """ """ ... @overload
[文档] def set_measure_error(self, noise_model: NoiseModel, prob: float, qubits: QVec = ...) -> None: """ """ ...
@overload def set_measure_error(self, noise_model: NoiseModel, t1: float, t2: float, t_gate: float, qubits: QVec = ...) -> None: """ """ ...
[文档] def set_readout_error(self, prob_list: List[List[float]], qubits: QVec = ...) -> None: """ """ ...
[文档] def set_reset_error(self, p0: float, p1: float, qubits: QVec) -> None: """ """ ...
[文档] def set_rotation_error(self, error: float) -> None: """ """ ...
[文档] class NoiseModel: """ noise model type Members: DAMPING_KRAUS_OPERATOR DECOHERENCE_KRAUS_OPERATOR DEPHASING_KRAUS_OPERATOR PAULI_KRAUS_MAP BITFLIP_KRAUS_OPERATOR DEPOLARIZING_KRAUS_OPERATOR BIT_PHASE_FLIP_OPRATOR PHASE_DAMPING_OPRATOR """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] BITFLIP_KRAUS_OPERATOR: ClassVar[NoiseModel] = ...
[文档] BIT_PHASE_FLIP_OPRATOR: ClassVar[NoiseModel] = ...
[文档] DAMPING_KRAUS_OPERATOR: ClassVar[NoiseModel] = ...
[文档] DECOHERENCE_KRAUS_OPERATOR: ClassVar[NoiseModel] = ...
[文档] DEPHASING_KRAUS_OPERATOR: ClassVar[NoiseModel] = ...
[文档] DEPOLARIZING_KRAUS_OPERATOR: ClassVar[NoiseModel] = ...
[文档] PAULI_KRAUS_MAP: ClassVar[NoiseModel] = ...
[文档] PHASE_DAMPING_OPRATOR: ClassVar[NoiseModel] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class NoiseQVM(QuantumMachine): """ quantum machine class for simulate noise prog """ def __init__(self) -> None: """ """ ...
[文档] def initQVM(self, arg0: dict) -> None: """ init quantum virtual machine """ ...
@overload
[文档] def init_qvm(self, json_config: dict) -> None: """ init quantum virtual machine """ ...
@overload def init_qvm(self) -> None: """ init quantum virtual machine """ ...
[文档] def set_max_threads(self, size: int) -> None: """ set NoiseQVM max thread size """ ...
@overload
[文档] def set_measure_error(self, model: NoiseModel, prob: float, qubits: QVec = ...) -> None: """ """ ...
@overload def set_measure_error(self, model: NoiseModel, T1: float, T2: float, t_gate: float, qubits: QVec = ...) -> None: """ """ ... @overload
[文档] def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[float]) -> None: """ """ ...
@overload def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[float], arg3: QVec) -> None: """ """ ... @overload def set_mixed_unitary_error(self, arg0: GateType, arg1: List[List[complex]], arg2: List[float], arg3: List[QVec]) -> None: """ """ ... @overload
[文档] def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float) -> None: """ """ ...
@overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: List[QVec]) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: float, arg4: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float, arg5: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: float, arg4: float, arg5: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: float, arg4: float, arg5: List[QVec]) -> None: """ """ ...
[文档] def set_readout_error(self, probs_list: List[List[float]], qubits: QVec = ...) -> None: """ """ ...
[文档] def set_reset_error(self, p0: float, p1: float, qubits: QVec = ...) -> None: """ """ ...
[文档] def set_rotation_error(self, arg0: float) -> None: """ """ ...
[文档] class Optimizer: """ variational quantum Optimizer class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class OptimizerFactory: """ quantum OptimizerFactory class """ def __init__(self) -> None: """ """ ... @overload
[文档] def makeOptimizer(self) -> AbstractOptimizer: """ Please input OptimizerType """ ...
@overload def makeOptimizer(self) -> AbstractOptimizer: """ Please input the Optimizer's name(string) """ ...
[文档] class OptimizerMode: """ variational quantum OptimizerMode Members: """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class OptimizerType: """ quantum OptimizerType Members: NELDER_MEAD POWELL GRADIENT """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] GRADIENT: ClassVar[OptimizerType] = ...
[文档] NELDER_MEAD: ClassVar[OptimizerType] = ...
[文档] POWELL: ClassVar[OptimizerType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __ge__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __gt__(self, other: object) -> bool: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __le__(self, other: object) -> bool: """ """ ... def __lt__(self, other: object) -> bool: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class OriginCMem: """ origin quantum cmem """ def __init__(self) -> None: """ """ ... @overload
[文档] def Allocate_CBit(self) -> CBit: """ """ ...
@overload def Allocate_CBit(self, cbit_num: int) -> CBit: """ """ ...
[文档] def Free_CBit(self, cbit: CBit) -> None: """ """ ...
@overload
[文档] def cAlloc(self) -> CBit: """ """ ...
@overload def cAlloc(self, cbit_num: int) -> CBit: """ """ ...
[文档] def cAlloc_many(self, count: int) -> List[ClassicalCondition]: """ """ ...
[文档] def cFree(self, classical_cond: ClassicalCondition) -> None: """ """ ...
@overload
[文档] def cFree_all(self, classical_cond_list: List[ClassicalCondition]) -> None: """ """ ...
@overload def cFree_all(self) -> None: """ """ ...
[文档] def clearAll(self) -> None: """ """ ...
[文档] def getIdleMem(self) -> int: """ """ ...
[文档] def getMaxMem(self) -> int: """ """ ...
[文档] def get_allocate_cbits(self) -> List[ClassicalCondition]: """ Get allocate cbits """ ...
[文档] def get_capacity(self) -> int: """ """ ...
[文档] def get_cbit_by_addr(self, cbit_addr: int) -> CBit: """ """ ...
[文档] def set_capacity(self, arg0: int) -> None: """ """ ...
[文档] class OriginCollection: """ A relatively free data collection class for saving data """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, file_name: str) -> None: """ Construct a new Origin Collection by read a json file """ ... @overload def __init__(self, arg0: OriginCollection) -> None: """ """ ...
[文档] def getFilePath(self) -> str: """ Get file path """ ...
[文档] def getJsonString(self) -> str: """ Get Json String """ ...
[文档] def getKeyVector(self) -> List[str]: """ Get key vector """ ...
[文档] def getValue(self, key_name: str) -> List[str]: """ Get value by Key name """ ...
@overload
[文档] def getValueByKey(self, key_value: str) -> str: """ Get Value by key value """ ...
@overload def getValueByKey(self, key_value: int) -> str: """ Get Value by key value """ ...
[文档] def insertValue(self, key: str, *args) -> None: """ """ ...
[文档] def open(self, file_name: str) -> bool: """ Read the json file of the specified path """ ...
[文档] def setNames(self, *args) -> None: """ """ ...
[文档] def write(self) -> bool: """ write json file """ ...
[文档] class OriginQubitPool: """ quantum qubit pool """ def __init__(self) -> None: """ """ ...
[文档] def allocateQubitThroughPhyAddress(self, qubit_addr: int) -> Qubit: """ """ ...
[文档] def allocateQubitThroughVirAddress(self, qubit_num: int) -> Qubit: """ """ ...
[文档] def clearAll(self) -> None: """ """ ...
[文档] def getIdleQubit(self) -> int: """ """ ...
[文档] def getMaxQubit(self) -> int: """ """ ...
[文档] def getPhysicalQubitAddr(self, qubit: Qubit) -> int: """ """ ...
[文档] def getVirtualQubitAddress(self, qubit: Qubit) -> int: """ """ ...
[文档] def get_allocate_qubits(self) -> QVec: """ get allocate qubits """ ...
[文档] def get_capacity(self) -> int: """ """ ...
[文档] def get_max_usedqubit_addr(self) -> int: """ """ ...
[文档] def get_qubit_by_addr(self, qubit_addr: int) -> Qubit: """ """ ...
[文档] def qAlloc(self) -> Qubit: """ """ ...
[文档] def qAlloc_many(self, qubit_num: int) -> List[Qubit]: """ Allocate a list of qubits """ ...
[文档] def qFree(self, arg0: Qubit) -> None: """ """ ...
@overload
[文档] def qFree_all(self, arg0: QVec) -> None: """ """ ...
@overload def qFree_all(self) -> None: """ """ ...
[文档] def set_capacity(self, arg0: int) -> None: """ """ ...
[文档] class PartialAmpQVM(QuantumMachine): """ quantum partial amplitude machine class """ def __init__(self) -> None: """ """ ...
[文档] def get_prob_dict(self, arg0: QVec) -> Dict[str,float]: """ Get pmeasure result as dict Args: qubit_list: pmeasure qubits list Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_dict """ ...
[文档] def init_qvm(self, backend_type: int = 0) -> None: """ """ ...
[文档] def pmeasure_bin_index(self, bin_index: str) -> complex: """ pmeasure bin index quantum state amplitude Args: string : bin string Returns: complex : bin amplitude Raises: run_fail: An error occurred in pmeasure_bin_index """ ...
[文档] def pmeasure_dec_index(self, dec_index: str) -> complex: """ pmeasure dec index quantum state amplitude Args: string : dec string Returns: complex : dec amplitude Raises: run_fail: An error occurred in pmeasure_dec_index """ ...
[文档] def pmeasure_subset(self, index_list: List[str]) -> Dict[str,complex]: """ pmeasure quantum state amplitude subset Args: list : dec state string list Returns: list : dec amplitude result list Raises: run_fail: An error occurred in pmeasure_dec_index """ ...
[文档] def prob_run_dict(self, arg0: QProg, arg1: QVec) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program qubit_list: pmeasure qubits list Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
@overload
[文档] def run(self, qprog: QProg, noise_model: Noise = NoiseModel()) -> None: """ run the quantum program Args: QProg: quantum prog size_t : NoiseModel Returns: none Raises: run_fail: An error occurred in run """ ...
@overload def run(self, qprog: QCircuit, noise_model: Noise = NoiseModel()) -> None: """ run the quantum program Args: QProg: quantum prog size_t : NoiseModel Returns: none Raises: run_fail: An error occurred in run """ ...
[文档] class PhysicalQubit: """ Physical Qubit abstract class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def getQubitAddr(self) -> int: """ """ ...
[文档] class PilotNoiseParams: """ pliot noise simulate params """
[文档] double_gate_param: float
[文档] double_p2: float
[文档] double_pgate: float
[文档] noise_model: str
[文档] single_gate_param: float
[文档] single_p2: float
[文档] single_pgate: float
def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] class ProgCount: """ """
[文档] double_gate_layer_num: int
[文档] double_gate_num: int
[文档] gate_num: int
[文档] layer_num: int
[文档] multi_control_gate_num: int
[文档] node_num: int
[文档] selected_gate_nums: Dict[GateType,int]
[文档] single_gate_layer_num: int
[文档] single_gate_num: int
def __init__(self) -> None: """ """ ...
[文档] class QCircuit: """ quantum circuit node """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, arg0: NodeIter) -> None: """ """ ...
[文档] def begin(self) -> NodeIter: """ """ ...
[文档] def control(self, control_qubits: QVec) -> QCircuit: """ """ ...
[文档] def dagger(self) -> QCircuit: """ """ ...
[文档] def end(self) -> NodeIter: """ """ ...
[文档] def head(self) -> NodeIter: """ """ ...
@overload
[文档] def insert(self, arg0: QCircuit) -> QCircuit: """ """ ...
@overload def insert(self, arg0: QGate) -> QCircuit: """ """ ...
[文档] def is_empty(self) -> bool: """ """ ...
[文档] def last(self) -> NodeIter: """ """ ...
[文档] def set_control(self, control_qubits: QVec) -> None: """ """ ...
[文档] def set_dagger(self, arg0: bool) -> None: """ """ ...
@overload def __lshift__(self, arg0: QCircuit) -> QCircuit: """ """ ... @overload def __lshift__(self, arg0: QGate) -> QCircuit: """ """ ...
[文档] class QCircuitOPtimizerMode: """ Quantum circuit optimize mode Members: Merge_H_X Merge_U3 Merge_RX Merge_RY Merge_RZ """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] Merge_H_X: ClassVar[QCircuitOPtimizerMode] = ...
[文档] Merge_RX: ClassVar[QCircuitOPtimizerMode] = ...
[文档] Merge_RY: ClassVar[QCircuitOPtimizerMode] = ...
[文档] Merge_RZ: ClassVar[QCircuitOPtimizerMode] = ...
[文档] Merge_U3: ClassVar[QCircuitOPtimizerMode] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __or__(self, arg0: QCircuitOPtimizerMode) -> int: """ bitwise or """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class QCloudService(QuantumMachine): """ origin quantum cloud machine """
[文档] batch_compute_url: str
[文档] batch_inquire_url: str
[文档] big_data_batch_compute_url: str
[文档] compute_url: str
[文档] configuration_header_data: str
[文档] estimate_url: str
[文档] inquire_url: str
[文档] measure_qubits_num: List[int]
[文档] pqc_batch_compute_url: str
[文档] pqc_batch_inquire_url: str
[文档] pqc_compute_url: str
[文档] pqc_init_url: str
[文档] pqc_inquire_url: str
[文档] pqc_keys_url: str
[文档] use_compress_data: bool
[文档] user_token: str
def __init__(self) -> None: """ """ ...
[文档] def batch_cyclic_query(self, arg0: str) -> Tuple[bool,List[str]]: """ """ ...
[文档] def build_error_mitigation(self, shots: int, chip_id: int, expectations: List[str], noise_strength: List[float], qemMethod: em_method) -> str: """ """ ...
[文档] def build_full_amplitude_measure(self, shots: int) -> str: """ """ ...
[文档] def build_full_amplitude_pmeasure(self, qubit_vec: List[int]) -> str: """ """ ...
[文档] def build_get_expectation(self, hamiltonian: List[Tuple[Dict[int,str],float]], qubits: List[int]) -> str: """ """ ...
[文档] def build_get_state_fidelity(self, shot: int, chip_id: int = 2, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True) -> str: """ """ ...
[文档] def build_get_state_tomography_density(self, shot: int, chip_id: int = 2, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True) -> str: """ """ ...
@overload
[文档] def build_init_object(self, prog: QProg, task_name: str = 'QPanda Experiment', task_from: int = 4) -> None: """ """ ...
@overload def build_init_object(self, prog_str: str, task_name: str = 'QPanda Experiment', task_from: int = 4) -> None: """ """ ...
[文档] def build_noise_measure(self, shots: int) -> str: """ """ ...
[文档] def build_partial_amplitude_pmeasure(self, amplitudes: List[str]) -> str: """ """ ...
[文档] def build_read_out_mitigation(self, shots: int, chip_id: int, expectations: List[str], noise_strength: List[float], qem_method: em_method) -> str: """ """ ...
[文档] def build_real_chip_measure(self, shots: int, chip_id: int = 2, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True) -> str: """ """ ...
@overload
[文档] def build_real_chip_measure_batch(self, prog_list: List[str], shots: int, chip_id: int = 2, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, enable_compress_check: bool = False, batch_id: str = '', task_from: int = 4) -> str: """ """ ...
@overload def build_real_chip_measure_batch(self, prog_list: List[QProg], shots: int, chip_id: int = 2, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, enable_compress_check: bool = False, batch_id: str = '', task_from: int = 4) -> str: """ """ ...
[文档] def build_single_amplitude_pmeasure(self, amplitude: str) -> str: """ """ ...
[文档] def cyclic_query(self, arg0: str) -> Tuple[bool,str]: """ """ ...
[文档] def enc_hybrid(self, pk_str: str, rdnum: str) -> tuple: """ Perform hybrid encryption and return a tuple """ ...
[文档] def init(self, user_token: str, is_logged: bool = False) -> None: """ """ ...
[文档] def parse_get_task_id(self, arg0: str) -> str: """ """ ...
[文档] def query_comolex_result(self, arg0: str) -> complex: """ """ ...
[文档] def query_prob_dict_result(self, arg0: str) -> Dict[str,float]: """ """ ...
[文档] def query_prob_dict_result_batch(self, arg0: List[str]) -> List[Dict[str,float]]: """ """ ...
[文档] def query_prob_result(self, arg0: str) -> float: """ """ ...
[文档] def query_prob_vec_result(self, arg0: str) -> List[float]: """ """ ...
[文档] def query_qst_result(self, arg0: str) -> List[List[complex]]: """ """ ...
[文档] def query_state_dict_result(self, arg0: str) -> Dict[str,complex]: """ """ ...
[文档] def set_noise_model(self, arg0: NoiseModel, arg1: List[float], arg2: List[float]) -> None: """ """ ...
[文档] def set_qcloud_url(self, cloud_url: str) -> None: """ """ ...
[文档] def sm4_decode(self, key: str, IV: str, enc_data: str) -> str: """ Decode data using SM4 algorithm """ ...
[文档] def sm4_encode(self, key: str, IV: str, data: str) -> str: """ Encode data using SM4 algorithm """ ...
[文档] class QCloudTaskConfig: """ """
[文档] chip_id: real_chip_type
[文档] cloud_token: str
[文档] open_amend: bool
[文档] open_mapping: bool
[文档] open_optimization: bool
[文档] shots: int
def __init__(self) -> None: """ """ ...
[文档] class QError: """ Quantum QError Type Members: UndefineError qErrorNone qParameterError qubitError loadFileError initStateError destroyStateError setComputeUnitError runProgramError getResultError getQStateError """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] UndefineError: ClassVar[QError] = ...
__entries: ClassVar[dict] = ...
[文档] destroyStateError: ClassVar[QError] = ...
[文档] getQStateError: ClassVar[QError] = ...
[文档] getResultError: ClassVar[QError] = ...
[文档] initStateError: ClassVar[QError] = ...
[文档] loadFileError: ClassVar[QError] = ...
[文档] qErrorNone: ClassVar[QError] = ...
[文档] qParameterError: ClassVar[QError] = ...
[文档] qubitError: ClassVar[QError] = ...
[文档] runProgramError: ClassVar[QError] = ...
[文档] setComputeUnitError: ClassVar[QError] = ...
def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class QGate: """ quantum gate node """ def __init__(self, arg0: NodeIter) -> None: """ """ ...
[文档] def control(self, control_qubits: QVec) -> QGate: """ Get a control quantumgate base on current quantum gate node """ ...
[文档] def dagger(self) -> QGate: """ """ ...
[文档] def gate_matrix(self) -> List[complex]: """ """ ...
[文档] def gate_type(self) -> int: """ """ ...
[文档] def get_control_qubit_num(self) -> int: """ """ ...
[文档] def get_control_qubits(self, control_qubits: QVec) -> int: """ Get control vector fron current quantum gate node Args: qvec: control qubits output Returns: int: size of control qubits """ ...
[文档] def get_qubits(self, qubits: QVec) -> int: """ Get qubit vector inside this quantum gate Args: qvec: qubits output Returns: int: size of qubits """ ...
[文档] def get_target_qubit_num(self) -> int: """ """ ...
[文档] def is_dagger(self) -> bool: """ """ ...
[文档] def set_control(self, arg0: QVec) -> bool: """ """ ...
[文档] def set_dagger(self, arg0: bool) -> bool: """ """ ...
[文档] class QITE: """ quantum imaginary time evolution """ def __init__(self) -> None: """ """ ...
[文档] def exec(self, is_optimization: bool = True) -> int: """ """ ...
[文档] def get_all_exec_result(self, reverse: bool = False, sort: bool = False) -> List[List[Tuple[int,float]]]: """ """ ...
[文档] def get_ansatz_list(self, *args, **kwargs) -> Any: """ """ ...
[文档] def get_ansatz_theta_list(self) -> List[List[float]]: """ """ ...
[文档] def get_arbitary_cofficient(self, arg0: float) -> None: """ """ ...
[文档] def get_exec_result(self, reverse: bool = False, sort: bool = False) -> List[Tuple[int,float]]: """ """ ...
[文档] def get_result(self) -> List[Tuple[int,float]]: """ """ ...
[文档] def set_Hamiltonian(self, arg0) -> None: """ """ ...
[文档] def set_ansatz_gate(self, arg0) -> None: """ """ ...
[文档] def set_convergence_factor_Q(self, arg0: float) -> None: """ """ ...
[文档] def set_delta_tau(self, arg0: float) -> None: """ """ ...
[文档] def set_iter_num(self, arg0: int) -> None: """ """ ...
[文档] def set_log_file(self, arg0: str) -> None: """ """ ...
[文档] def set_para_update_mode(self, arg0: UpdateMode) -> None: """ """ ...
[文档] def set_pauli_matrix(self, arg0: QuantumMachine, arg1: numpy.ndarray[numpy.float64[m,n]]) -> None: """ """ ...
[文档] def set_quantum_machine_type(self, arg0: QMachineType) -> None: """ """ ...
[文档] def set_upthrow_num(self, arg0: int) -> None: """ """ ...
[文档] class QIfProg: """ quantum if prog node """ @overload def __init__(self, arg0: NodeIter) -> None: """ """ ... @overload def __init__(self, classical_cond: ClassicalCondition, true_branch_qprog: QProg) -> None: """ """ ... @overload def __init__(self, classical_cond: ClassicalCondition, true_branch_qprog: QProg, false_branch_qprog: QProg) -> None: """ """ ...
[文档] def get_classical_condition(self) -> ClassicalCondition: """ """ ...
[文档] def get_false_branch(self) -> QProg: """ """ ...
[文档] def get_true_branch(self) -> QProg: """ """ ...
[文档] class QMachineType: """ Quantum machine type Members: CPU GPU CPU_SINGLE_THREAD NOISE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] CPU: ClassVar[QMachineType] = ...
[文档] CPU_SINGLE_THREAD: ClassVar[QMachineType] = ...
[文档] GPU: ClassVar[QMachineType] = ...
[文档] NOISE: ClassVar[QMachineType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class QMeasure: """ quantum measure node """ def __init__(self, arg0: NodeIter) -> None: """ """ ...
[文档] class QOperator: """ quantum operator class """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, arg0: QGate) -> None: """ """ ... @overload def __init__(self, arg0: QCircuit) -> None: """ """ ...
[文档] def get_matrix(self) -> List[complex]: """ """ ...
[文档] def to_instruction(self, arg0: str) -> str: """ """ ...
[文档] class QOptimizationResult: """ quantum QOptimizationResult class """
[文档] fcalls: int
[文档] fun_val: float
[文档] iters: int
[文档] key: str
[文档] message: str
[文档] para: List[float]
def __init__(self, arg0: str, arg1: int, arg2: int, arg3: str, arg4: float, arg5: List[float]) -> None: """ """ ...
[文档] class QPilotMachine: """ pliot machine """ def __init__(self) -> None: """ """ ...
[文档] def build_noise_params(self, nose_model_type: int, single_params: List[float], double_params: List[float]) -> PilotNoiseParams: """ """ ...
[文档] def execute_callback_full_amplitude_expectation(self, prog_str: str, hamiltonian: List[Tuple[Dict[int,str],float]], qubit_vec: List[int], cb_func: Callable[[ErrorCode,float],None], chip_id: int = 33554433) -> ErrorCode: """ """ ...
[文档] def execute_callback_full_amplitude_measure_task(self, prog_str: str, cb_func: Callable[[ErrorCode,Dict[str,float]],None], chip_id: int = 33554433, shots: int = 1000) -> ErrorCode: """ """ ...
[文档] def execute_callback_full_amplitude_pmeasure_task(self, prog_str: str, qubit_vec: List[int], cb_func: Callable[[ErrorCode,Dict[str,float]],None], chip_id: int = 33554433) -> ErrorCode: """ """ ...
[文档] def execute_callback_measure_task(self, prog_str: str, cb_func: Callable[[ErrorCode,Dict[str,float]],None], chip_id: int = 33554432, b_mapping: bool = True, b_optimization: bool = True, shots: int = 1000, specified_block: List[int] = []) -> ErrorCode: """ """ ...
[文档] def execute_callback_noise_measure_task(self, prog_str: str, noise_params: PilotNoiseParams, cb_func: Callable[[ErrorCode,Dict[str,float]],None], chip_id: int = 33554433, shots: int = 1000) -> ErrorCode: """ """ ...
[文档] def execute_callback_partial_amplitude_task(self, prog_str: str, target_amplitude_vec: List[str], cb_func: Callable[[ErrorCode,Dict[str,complex]],None], chip_id: int = 33554433) -> ErrorCode: """ """ ...
[文档] def execute_callback_single_amplitude_task(self, prog_str: str, target_amplitude: str, cb_func: Callable[[ErrorCode,complex],None], chip_id: int = 33554433) -> ErrorCode: """ """ ...
[文档] def execute_full_amplitude_expectation(self, prog_str: str, hamiltonian: List[Tuple[Dict[int,str],float]], qubit_vec: List[int], chip_id: int = 33554433) -> float: """ """ ...
[文档] def execute_full_amplitude_measure_task(self, prog_str: str, chip_id: int = 33554433, shots: int = 1000) -> Dict[str,float]: """ """ ...
[文档] def execute_full_amplitude_pmeasure_task(self, prog_str: str, qubit_vec: List[int], chip_id: int = 33554433) -> Dict[str,float]: """ """ ...
[文档] def execute_measure_task(self, prog_str: str, chip_id: int = 33554432, b_mapping: bool = True, b_optimization: bool = True, shots: int = 1000, specified_block: List[int] = []) -> List[Dict[str,float]]: """ """ ...
[文档] def execute_noise_measure_task(self, prog_str: str, noise_params: PilotNoiseParams, chip_id: int = 33554433, shots: int = 1000) -> Dict[str,float]: """ """ ...
[文档] def execute_partial_amplitude_task(self, prog_str: str, target_amplitude_vec: List[str], chip_id: int = 33554433) -> Dict[str,complex]: """ """ ...
[文档] def execute_single_amplitude_task(self, prog_str: str, target_amplitude: str, chip_id: int = 33554433) -> complex: """ """ ...
[文档] def init(self, pilot_url: str, log_cout: bool = False) -> bool: """ """ ...
[文档] def init_withconfig(self, config_path: str = 'pilotmachine.conf') -> bool: """ """ ...
[文档] class QPilotOSService(QuantumMachine): """ origin quantum pilot OS Machine """ def __init__(self, machine_type: str = 'CPU') -> None: """ """ ... def _get_qst_density_result(self, task_id: str) -> list: """ """ ... def _get_qst_fidelity_result(self, task_id: str) -> list: """ """ ... def _get_qst_result(self, task_id: str) -> list: """ """ ...
[文档] def async_em_compute(self, parameter_json: str) -> str: """ """ ...
[文档] def async_real_chip_expectation(self, prog: QProg, hamiltonian: str, qubits: List[int] = [], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> str: """ deprecated, use request instead. """ ...
@overload
[文档] def async_real_chip_measure(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ...
@overload def async_real_chip_measure(self, ir: str, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ... @overload def async_real_chip_measure(self, prog: List[QProg], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ... @overload def async_real_chip_measure(self, ir: List[str], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ... @overload def async_real_chip_measure(self, prog: List[QProg], config_str: str) -> str: """ """ ... @overload
[文档] def async_real_chip_measure_vec(self, prog: List[QProg], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ...
@overload def async_real_chip_measure_vec(self, ir: List[str], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], is_prob_counts: bool = True, describe: str = '') -> str: """ """ ...
[文档] def async_real_chip_qst(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> str: """ """ ...
[文档] def async_real_chip_qst_density(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> str: """ """ ...
[文档] def async_real_chip_qst_fidelity(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> str: """ """ ...
[文档] def build_expectation_task_msg(self, prog: QProg, hamiltonian: str, qubits: List[int] = [], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], task_describe: str = '') -> str: """ use C++ to build a expectation task body. """ ...
[文档] def build_init_msg(self, api_key: str) -> str: """ """ ...
[文档] def build_qst_task_msg(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], task_describe: str = '') -> str: """ use C++ to build ordinary qst task msg body """ ...
[文档] def build_query_msg(self, task_id: str) -> str: """ """ ...
[文档] def build_task_msg(self, prog: List[QProg], shot: int, chip_id: int, is_amend: bool, is_mapping: bool, is_optimization: bool, specified_block: List[int], task_describe: str) -> str: """ use c++ to build real chip measure task msg body. """ ...
@overload
[文档] def cAlloc(self) -> ClassicalCondition: """ Allocate a cbit """ ...
@overload def cAlloc(self, cbit: int) -> ClassicalCondition: """ Allocate a cbit """ ...
[文档] def cAlloc_many(self, cbit_num: int) -> List[ClassicalCondition]: """ Allocate a list of cbits """ ...
[文档] def cFree(self, arg0: ClassicalCondition) -> None: """ Free a cbit """ ...
@overload
[文档] def cFree_all(self, cbit_list: List[ClassicalCondition]) -> None: """ Free a list of cbits """ ...
@overload def cFree_all(self) -> None: """ Free all of cbits """ ...
[文档] def em_compute(self, parameter_json: str) -> List[float]: """ """ ...
[文档] def finalize(self) -> None: """ finalize """ ...
[文档] def get_expectation_result(self, task_id: str) -> list: """ """ ...
@overload
[文档] def get_measure_result(self, task_id: str) -> list: """ """ ...
@overload def get_measure_result(self, task_id: str) -> list: """ """ ...
[文档] def get_token(self, rep_json: str) -> ErrorCode: """ """ ...
@overload
[文档] def init(self) -> None: """ """ ...
@overload def init(self, url: str, log_cout: bool = False, api_key: str = None) -> None: """ """ ... @overload def init(self, url: str, log_cout: bool = False, username: str = None, password: str = None) -> None: """ """ ...
[文档] def init_config(self, url: str, log_cout: bool) -> None: """ """ ...
[文档] def noise_learning(self, parameter_json: str = True) -> str: """ """ ...
[文档] def output_version(self) -> str: """ """ ...
[文档] def pMeasureBinindex(self, prog: QProg, index: str, backendID: int = 33554433) -> float: """ """ ...
[文档] def pMeasureDecindex(self, prog: QProg, index: str, backendID: int = 33554433) -> float: """ """ ...
[文档] def parse_prob_counts_result(self, result_str: List[str]) -> List[Dict[str,int]]: """ Parse result str to map<string, double> Args: result_str: Taeget result string Returns: array: vector<map<string, double>> Raises: none """ ...
[文档] def parse_probability_result(self, result_str: List[str]) -> List[Dict[str,float]]: """ Parse result str to map<string, double> Args: result_str: Taeget result string Returns: array: vector<map<string, double>> Raises: none """ ...
[文档] def parse_task_result(self, result_str: str) -> Dict[str,float]: """ Parse result str to map<string, double> Args: result_str: Taeget result string Returns: dict: map<string, double> Raises: none """ ...
[文档] def parser_expectation_result(self, json_str: str) -> list: """ deprecated, use Python's json lib. """ ...
[文档] def parser_sync_result(self, json_str: str) -> list: """ """ ...
[文档] def pmeasure_subset(self, prog: QProg, amplitude: List[str], backendID: int = 33554433) -> Dict[str,complex]: """ """ ...
[文档] def probRunDict(self, prog: QProg, qubit_vec: List[int], backendID: int = 33554433) -> Dict[str,float]: """ """ ...
[文档] def qAlloc(self) -> Qubit: """ Allocate a qubit """ ...
[文档] def qAlloc_many(self, qubit_num: int) -> List[Qubit]: """ Allocate a list of qubits """ ...
[文档] def qFree(self, qubit: Qubit) -> None: """ Free a qubit """ ...
@overload
[文档] def qFree_all(self, qubit_list: QVec) -> None: """ Free a list of qubits """ ...
@overload def qFree_all(self, arg0: QVec) -> None: """ Free all of qubits """ ...
[文档] def query_compile_prog(self, task_id: str, without_compensate: bool = True) -> list: """ Query Task compile prog by task_id Args: without_compensate: whether return the prog without angle compensate Returns: bool: whether find compile prog success Raises: none """ ...
@overload
[文档] def query_task_state(self, task_id: str) -> list: """ Query Task State by task_id Args: task_id: Taeget task id, got by async_real_chip_measure Returns: string: task state: 2: Running; 3: Finished; 4: Failed string: task result string Raises: none """ ...
@overload def query_task_state(self, task_id: str, is_save: bool, file_path: str = '') -> list: """ """ ...
[文档] def query_task_state_vec(self, task_id: str) -> list: """ Query Task State by task_id Args: task_id: Taeget task id, got by async_real_chip_measure Returns: string: task state: 2: Running; 3: Finished; 4: Failed array: task result array Raises: none """ ...
[文档] def real_chip_expectation(self, prog: QProg, hamiltonian: str, qubits: List[int] = [], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> float: """ deprecated, use request instead. """ ...
@overload
[文档] def real_chip_measure(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> Dict[str,float]: """ """ ...
@overload def real_chip_measure(self, ir: str, shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> Dict[str,float]: """ """ ... @overload def real_chip_measure(self, prog: List[QProg], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,float]]: """ """ ... @overload def real_chip_measure(self, ir: List[str], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,float]]: """ """ ... @overload def real_chip_measure(self, prog: List[QProg], config_str: str) -> str: """ """ ... @overload
[文档] def real_chip_measure_prob_count(self, ir: str, shot: int = 1000, chip_id: int = 33554432, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> Dict[str,int]: """ """ ...
@overload def real_chip_measure_prob_count(self, prog: QProg, shot: int = 1000, chip_id: int = 33554432, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> Dict[str,int]: """ """ ... @overload def real_chip_measure_prob_count(self, ir: List[str], shot: int = 1000, chip_id: int = 33554432, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,int]]: """ """ ... @overload def real_chip_measure_prob_count(self, prog: List[QProg], shot: int = 1000, chip_id: int = 33554432, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,int]]: """ """ ... @overload
[文档] def real_chip_measure_vec(self, prog: List[QProg], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,float]]: """ """ ...
@overload def real_chip_measure_vec(self, ir: List[str], shot: int = 1000, chip_id: int = 33554432, is_amend: bool = True, is_mapping: bool = True, is_optimization: bool = True, specified_block: List[int] = [], describe: str = '') -> List[Dict[str,float]]: """ """ ...
[文档] def runWithConfiguration(self, prog: QProg, shots: int = 1000, backend_id: int = 33554433, noise_model: Noise = ...) -> Dict[str,int]: """ """ ...
[文档] def set_config(self, max_qubit: int, max_cbit: int) -> None: """ set QVM max qubit and max cbit Args: max_qubit: quantum machine max qubit num max_cbit: quantum machine max cbit num Returns: none Raises: run_fail: An error occurred in set_configure """ ...
[文档] def tcp_recv(self, ip: str, port: int, task_id: str) -> list: """ """ ...
[文档] class QProg: """ Quantum program,can construct quantum circuit,data struct is linked list """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, arg0: QProg) -> None: """ construct a prog node Args: none Returns: a prog node """ ... @overload def __init__(self, arg0: QCircuit) -> None: """ construct a prog node from QCircuit node Args: QCircuit Returns: a prog node """ ... @overload def __init__(self, arg0: QIfProg) -> None: """ construct a prog node from QIfProg node Args: QIfProg Returns: a prog node """ ... @overload def __init__(self, arg0: QWhileProg) -> None: """ construct a prog node from QWhileProg node Args: QWhileProg Returns: a prog node """ ... @overload def __init__(self, arg0: QGate) -> None: """ construct a prog node from QGate node Args: QGate Returns: a prog node """ ... @overload def __init__(self, arg0: QMeasure) -> None: """ construct a prog node from QMeasure node Args: QMeasure Returns: a prog node """ ... @overload def __init__(self, arg0: QReset) -> None: """ construct a prog node from QReset node Args: QReset Returns: a prog node """ ... @overload def __init__(self, arg0: ClassicalCondition) -> None: """ construct a prog node from ClassicalCondition node Args: ClassicalCondition Returns: a prog node """ ... @overload def __init__(self, arg0: NodeIter) -> None: """ construct a prog node from ClassicalCondition node Args: ClassicalCondition Returns: a prog node """ ...
[文档] def begin(self) -> NodeIter: """ """ ...
[文档] def end(self) -> NodeIter: """ """ ...
[文档] def get_max_qubit_addr(self) -> int: """ """ ...
[文档] def get_qgate_num(self) -> int: """ """ ...
[文档] def get_used_cbits(self, cbit_vector: List[ClassicalCondition]) -> List[ClassicalCondition]: """ get a list cbits of prog """ ...
[文档] def get_used_qubits(self, qubit_vector: QVec) -> QVec: """ get a list qubits of prog """ ...
[文档] def head(self) -> NodeIter: """ """ ...
@overload
[文档] def insert(self, arg0: QProg) -> QProg: """ """ ...
@overload def insert(self, arg0: QGate) -> QProg: """ """ ... @overload def insert(self, arg0: QCircuit) -> QProg: """ """ ... @overload def insert(self, arg0: QIfProg) -> QProg: """ """ ... @overload def insert(self, arg0: QWhileProg) -> QProg: """ """ ... @overload def insert(self, arg0: QMeasure) -> QProg: """ """ ... @overload def insert(self, arg0: QReset) -> QProg: """ """ ... @overload def insert(self, arg0: ClassicalCondition) -> QProg: """ """ ...
[文档] def is_empty(self) -> bool: """ """ ...
[文档] def is_measure_last_pos(self) -> bool: """ """ ...
[文档] def last(self) -> NodeIter: """ """ ...
@overload def __lshift__(self, arg0: QProg) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QGate) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QCircuit) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QIfProg) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QWhileProg) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QMeasure) -> QProg: """ """ ... @overload def __lshift__(self, arg0: QReset) -> QProg: """ """ ... @overload def __lshift__(self, arg0: ClassicalCondition) -> QProg: """ """ ...
[文档] class QProgDAG: """ quantum prog dag class """ def __init__(self) -> None: """ """ ...
[文档] def get_edges(self) -> List[QProgDAGEdge]: """ """ ...
[文档] def get_target_vertex(self, vertice_num: int) -> QProgDAGVertex: """ """ ...
[文档] def get_vertex_set(self) -> List[QProgDAGVertex]: """ """ ...
[文档] class QProgDAGEdge: """ quantum prog dag edge """
[文档] m_from: int
[文档] m_qubit: int
[文档] m_to: int
def __init__(self, from_arg: int, to_arg: int, qubit_arg: int) -> None: """ """ ...
[文档] class QProgDAGVertex: """ quantum prog dag vertex node """
[文档] m_id: int
[文档] m_layer: int
[文档] m_pre_node: List[int]
[文档] m_succ_node: List[int]
[文档] m_type: DAGNodeType
def __init__(self) -> None: """ """ ...
[文档] def get_control_vec(self) -> QVec: """ """ ...
[文档] def get_iter(self) -> NodeIter: """ """ ...
[文档] def get_qubits_vec(self) -> QVec: """ """ ...
[文档] def is_dagger(self) -> bool: """ """ ...
[文档] class QReset: """ quantum reset node """ def __init__(self, arg0: NodeIter) -> None: """ """ ...
[文档] class QResult: """ QResult abstract class, this class contains the result of the quantum measurement """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def getResultMap(self) -> Dict[str,bool]: """ """ ...
[文档] class QVec: """ Qubit vector basic class """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, qubit_list: List[Qubit]) -> None: """ """ ... @overload def __init__(self, qvec: QVec) -> None: """ """ ... @overload def __init__(self, qubit: Qubit) -> None: """ """ ...
[文档] def append(self, qubit: Qubit) -> None: """ """ ...
[文档] def pop(self) -> None: """ """ ...
[文档] def to_list(self) -> List[Qubit]: """ """ ...
@overload def __getitem__(self, qubit_addr: int) -> Qubit: """ """ ... @overload def __getitem__(self, classical_cond) -> Qubit: """ """ ... def __len__(self) -> int: """ """ ...
[文档] class QWhileProg: """ quantum while node """ @overload def __init__(self, arg0: NodeIter) -> None: """ """ ... @overload def __init__(self, arg0: ClassicalCondition, arg1: QProg) -> None: """ """ ...
[文档] def get_classical_condition(self) -> ClassicalCondition: """ """ ...
[文档] def get_true_branch(self) -> QProg: """ """ ...
[文档] class QuantumMachine: """ quantum machine base class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def allocate_qubit_through_phy_address(self, address: int) -> Qubit: """ allocate qubits through phy address Args: address: qubit phy address Returns: Qubit Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def allocate_qubit_through_vir_address(self, address: int) -> Qubit: """ allocate qubits through vir address Args: address: qubit vir address Returns: Qubit Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def async_run(self, qprog: QProg, noise_model: Noise = NoiseModel()) -> None: """ Run quantum prog asynchronously at background Use get_processed_qgate_num() to get check the asynchronous process progress Use is_async_finished() check whether asynchronous process finished Use get_async_result() block current code and get asynchronous process result unitll it finished """ ...
@overload
[文档] def cAlloc(self) -> ClassicalCondition: """ Allocate a CBit After init() Args: cbit_addr: cbit address, should in [0,29) Returns: classic result cbit """ ...
@overload def cAlloc(self, cbit: int) -> ClassicalCondition: """ Allocate a CBit After init() Args: cbit_addr: cbit address, should in [0,29) Returns: classic result cbit """ ...
[文档] def cAlloc_many(self, cbit_num: int) -> List[ClassicalCondition]: """ Allocate several CBits After init() Args: cbit_num: numbers of cbit want to be created Returns: list of cbit """ ...
[文档] def cFree(self, arg0: ClassicalCondition) -> None: """ Free a CBit Args: CBit: a CBit Returns: none """ ...
@overload
[文档] def cFree_all(self, cbit_list: List[ClassicalCondition]) -> None: """ Free all cbits Args: none Returns: none """ ...
@overload def cFree_all(self) -> None: """ Free all cbits Args: none Returns: none """ ...
[文档] def directly_run(self, qprog: QProg, noise_model: Noise = NoiseModel()) -> Dict[str,bool]: """ Directly run quantum prog After init() Args: qprog: quantum program noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: Dict[str, bool]: result of quantum program execution one shot. first is the final qubit register state, second is it's measure probability """ ...
[文档] def finalize(self) -> None: """ finalize quantum machine Args: none Returns: none Raises: run_fail: An error occurred in finalize """ ...
[文档] def getAllocateCMem(self) -> int: """ Get allocated cbits of QuantumMachine Args: none Returns: cbit list Raises: run_fail: An error occurred in allocated cbits of QuantumMachine """ ...
[文档] def getAllocateQubitNum(self) -> int: """ Get allocated qubits of QuantumMachine Args: none Returns: qubit list Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def getStatus(self, *args, **kwargs) -> Any: """ Get the status of the Quantum machine Args: none Returns: the status of the Quantum machine, see QMachineStatus Raises: init_fail: An error occurred """ ...
[文档] def get_allocate_cbits(self) -> List[ClassicalCondition]: """ Get allocated cbits of QuantumMachine Args: none Returns: cbit list Raises: run_fail: An error occurred in allocated cbits of QuantumMachine """ ...
[文档] def get_allocate_cmem_num(self) -> int: """ Get allocated cbits of QuantumMachine Args: none Returns: cbit list Raises: run_fail: An error occurred in allocated cbits of QuantumMachine """ ...
[文档] def get_allocate_qubit_num(self) -> int: """ Get allocated qubits of QuantumMachine Args: none Returns: qubit list Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def get_allocate_qubits(self) -> List[Qubit]: """ Get allocated qubits of QuantumMachine Args: none Returns: qubit list Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def get_async_result(self) -> Dict[str,bool]: """ """ ...
@overload
[文档] def get_expectation(self, qprog: QProg, hamiltonian: List[Tuple[Dict[int,str],float]], qubit_list: QVec) -> float: """ get expectation of current hamiltonian Args: qprog : quantum prog hamiltonian: selected hamiltonian qubit_list : measure qubit list Returns: double : expectation of current hamiltonian Raises: run_fail: An error occurred in get_expectation """ ...
@overload def get_expectation(self, qprog: QProg, hamiltonian: List[Tuple[Dict[int,str],float]], qubit_list: QVec, shots: int) -> float: """ get expectation of current hamiltonian Args: qprog : quantum prog hamiltonian: selected hamiltonian qubit_list : measure qubit list shots : measure shots Returns: double : expectation of current hamiltonian Raises: run_fail: An error occurred in get_expectation """ ...
[文档] def get_gate_time_map(self) -> Dict[GateType,int]: """ """ ...
[文档] def get_processed_qgate_num(self) -> int: """ """ ...
[文档] def get_qstate(self) -> List[complex]: """ Get the status of the Quantum machine Args: none Returns: the status of the Quantum machine, see QMachineStatus Raises: init_fail: An error occurred """ ...
[文档] def get_status(self, *args, **kwargs) -> Any: """ Get the status of the Quantum machine Args: none Returns: the status of the Quantum machine, see QMachineStatus Raises: init_fail: An error occurred """ ...
[文档] def initQVM(self) -> None: """ Init the global unique quantum machine at background. Args: machine_type: quantum machine type, see pyQPanda.QMachineType Returns: bool: ture if initialization success """ ...
[文档] def init_qvm(self) -> None: """ Init the global unique quantum machine at background. Args: machine_type: quantum machine type, see pyQPanda.QMachineType Returns: bool: ture if initialization success """ ...
[文档] def init_sparse_state(self, *args, **kwargs) -> Any: """ """ ...
[文档] def init_state(self, state: List[complex] = QStat(), qlist: QVec = QVec()) -> None: """ """ ...
[文档] def is_async_finished(self) -> bool: """ """ ...
[文档] def qAlloc(self) -> Qubit: """ Allocate a qubits After init() Args: qubit_addr: qubit physic address, should in [0,29) Returns: pyQPanda.Qubit: None, if qubit_addr error, or reached max number of allowed qubit """ ...
[文档] def qAlloc_many(self, qubit_num: int) -> List[Qubit]: """ Allocate several qubits After init() Args: qubit_num: numbers of qubit want to be created Returns: list[pyQPanda.Qubit]: list of qubit """ ...
[文档] def qFree(self, qubit: Qubit) -> None: """ Free a CBit Args: CBit: a CBit Returns: none """ ...
@overload
[文档] def qFree_all(self, qubit_list: QVec) -> None: """ Free all cbits Args: none Returns: none """ ...
@overload def qFree_all(self, arg0: QVec) -> None: """ Free all qubits Args: none Returns: none """ ... @overload
[文档] def run_with_configuration(self, qprog: QProg, cbit_list: List[ClassicalCondition], data: dict, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program cbit_list: classic cbits list shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ...
@overload def run_with_configuration(self, qprog: QProg, cbit_list: List[ClassicalCondition], shot: int, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program cbit_list: classic cbits list shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ... @overload def run_with_configuration(self, qprog: QProg, shot: int, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ... @overload def run_with_configuration(self, qprog: QProg, cbit_list: List[int], shot: int, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program cbit_list: classic cbits list shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ...
[文档] def set_configure(self, max_qubit: int, max_cbit: int) -> None: """ set QVM max qubit and max cbit Args: max_qubit: quantum machine max qubit num max_cbit: quantum machine max cbit num Returns: none Raises: run_fail: An error occurred in set_configure """ ...
[文档] class QuantumStateTomography: """ quantum state tomography class """ def __init__(self) -> None: """ """ ...
[文档] def caculate_tomography_density(self) -> List[List[complex]]: """ caculate tomography density """ ...
@overload
[文档] def combine_qprogs(self, circuit: QProg, qlist: QVec) -> List[QProg]: """ Return a list of quantum state tomography quantum programs. """ ...
@overload def combine_qprogs(self, circuit: QCircuit, qlist: QVec) -> List[QProg]: """ Return a list of quantum state tomography quantum programs. """ ... @overload def combine_qprogs(self, circuit: QProg, qlist: List[int]) -> List[QProg]: """ Return a list of quantum state tomography quantum programs. """ ... @overload def combine_qprogs(self, circuit: QCircuit, qlist: List[int]) -> List[QProg]: """ Return a list of quantum state tomography quantum programs. """ ...
[文档] def exec(self, qm, shots: int) -> List[List[complex]]: """ run state tomography QProgs """ ...
[文档] def set_qprog_results(self, qlist: int, results: List[Dict[str,float]]) -> None: """ set combine_qprogs result """ ...
[文档] class Qubit: """ Qubit abstract class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def getPhysicalQubitPtr(self) -> PhysicalQubit: """ """ ...
[文档] def get_phy_addr(self) -> int: """ """ ...
[文档] class RMSPropOptimizer: """ variational quantum RMSPropOptimizer """ def __init__(self, arg0: var, arg1: float, arg2: float, arg3: float) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def minimize(self, arg0: float, arg1: float, arg2: float) -> Optimizer: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class SingleAmpQVM(QuantumMachine): """ quantum single amplitude machine class """ def __init__(self) -> None: """ """ ... @overload
[文档] def get_prob_dict(self, arg0: QVec) -> Dict[str,float]: """ Get pmeasure result as dict Args: qubit_list: pmeasure qubits list Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_dict """ ...
@overload def get_prob_dict(self, arg0: List[int]) -> Dict[str,float]: """ Get pmeasure result as dict Args: qubit_list: pmeasure qubits list Returns: measure result of quantum machineRaises: run_fail: An error occurred in get_prob_dict """ ...
[文档] def get_quick_map_vertice(self, arg0: List[Tuple[int,int]]) -> None: """ get quick map vertice """ ...
[文档] def get_sequence(self, arg0: List[int], arg1: List[List[Tuple[int,bool]]]) -> int: """ get prog sequence """ ...
[文档] def pmeasure_bin_amplitude(self, arg0: str) -> complex: """ pmeasure bin index quantum state amplitude Args: string : bin string Returns: complex : bin amplitude Raises: run_fail: An error occurred in pmeasure_bin_index """ ...
[文档] def pmeasure_bin_index(self, arg0: str) -> float: """ pmeasure bin index quantum state amplitude Args: string : bin string Returns: double : bin amplitude prob Raises: run_fail: An error occurred in pmeasure_bin_index """ ...
[文档] def pmeasure_dec_amplitude(self, arg0: str) -> complex: """ pmeasure dec index quantum state amplitude Args: string : dec string Returns: complex : dec amplitude amplitude Raises: run_fail: An error occurred in pmeasure_dec_index """ ...
[文档] def pmeasure_dec_index(self, arg0: str) -> float: """ pmeasure dec index quantum state amplitude Args: string : dec string Returns: double : dec amplitude prob Raises: run_fail: An error occurred in pmeasure_dec_index """ ...
@overload
[文档] def prob_run_dict(self, arg0: QProg, arg1: QVec) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program qubit_list: pmeasure qubits list Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
@overload def prob_run_dict(self, arg0: QProg, arg1: List[int]) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program qubit_list: pmeasure qubits list Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ... @overload
[文档] def run(self, prog: QProg, qv: QVec, max_rank: int = 30, alloted_time: int = 5) -> None: """ run the quantum program Args: QProg: quantum prog QVec: qubits list size_t: max_rank size_t: alloted_time Returns: none Raises: run_fail: An error occurred in run """ ...
@overload def run(self, arg0: QProg, arg1: QVec, arg2: int, arg3: List[List[Tuple[int,bool]]]) -> None: """ run the quantum program Args: QProg: quantum prog QVec: qubits list size_t: max_rank list: sequences Returns: none Raises: run_fail: An error occurred in run """ ...
[文档] class SingleGateTransferType: """ Quantum single gate transfer type Members: SINGLE_GATE_INVALID ARBITRARY_ROTATION DOUBLE_CONTINUOUS SINGLE_CONTINUOUS_DISCRETE DOUBLE_DISCRETE """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] ARBITRARY_ROTATION: ClassVar[SingleGateTransferType] = ...
[文档] DOUBLE_CONTINUOUS: ClassVar[SingleGateTransferType] = ...
[文档] DOUBLE_DISCRETE: ClassVar[SingleGateTransferType] = ...
[文档] SINGLE_CONTINUOUS_DISCRETE: ClassVar[SingleGateTransferType] = ...
[文档] SINGLE_GATE_INVALID: ClassVar[SingleGateTransferType] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class SparseQVM(QuantumMachine): """ quantum sparse machine class """ def __init__(self) -> None: """ """ ...
[文档] def directlyRun(self, arg0: QProg) -> Dict[str,bool]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program Returns: Dict[str, bool]: result of quantum program execution one shot. Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def directly_run(self, arg0: QProg) -> Dict[str,bool]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def init_qvm(self) -> None: """ init quantum virtual machine """ ...
[文档] def prob_run_dict(self, arg0: QProg) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def run_with_configuration(self, arg0: QProg, arg1: List[ClassicalCondition], arg2: int) -> Dict[str,int]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program Args: cbits: quantum cbits Args: shots: samble shots Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] class Stabilizer(QuantumMachine): """ simulator for basic clifford simulator """ def __init__(self) -> None: """ """ ...
[文档] def init_qvm(self) -> None: """ init quantum virtual machine """ ...
[文档] def prob_run_dict(self, qprog: QProg, qubits: QVec, select_max: int = -1) -> Dict[str,float]: """ Run quantum program and get probabilities Args: prog: quantum program qubits: pmeasure qubits Returns: probabilities result of quantum program Raises: run_fail: An error occurred in prob_run_dict """ ...
[文档] def run_with_configuration(self, qprog: QProg, shot: int) -> Dict[str,int]: """ Run quantum program and get shots result Args: prog: quantum program int: measure shots Returns: shots result of quantum program Raises: run_fail: An error occurred in run_with_configuration """ ...
@overload
[文档] def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float) -> None: """ """ ...
@overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: List[GateType], arg2: float, arg3: QVec) -> None: """ """ ... @overload def set_noise_model(self, arg0: NoiseModel, arg1: GateType, arg2: float, arg3: List[QVec]) -> None: """ """ ...
[文档] class UpdateMode: """ quantum imaginary time evolution update mode Members: GD_VALUE GD_DIRECTION """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] GD_DIRECTION: ClassVar[UpdateMode] = ...
[文档] GD_VALUE: ClassVar[UpdateMode] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __ge__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __gt__(self, other: object) -> bool: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __le__(self, other: object) -> bool: """ """ ... def __lt__(self, other: object) -> bool: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class VanillaGradientDescentOptimizer: """ variational quantum VanillaGradientDescentOptimizer """ def __init__(self, arg0: var, arg1: float, arg2: float, arg3: OptimizerMode) -> None: """ """ ...
[文档] def get_loss(self) -> float: """ """ ...
[文档] def get_variables(self) -> List[var]: """ """ ...
[文档] def minimize(self, arg0: float, arg1: float) -> Optimizer: """ """ ...
[文档] def run(self, arg0: List[var], arg1: int) -> bool: """ """ ...
[文档] class VariationalQuantumCircuit: """ variational quantum CIRCUIT class """ @overload def __init__(self) -> None: """ """ ... @overload def __init__(self, arg0: QCircuit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumCircuit: """ """ ...
[文档] def dagger(self) -> VariationalQuantumCircuit: """ """ ...
@overload
[文档] def feed(self) -> QCircuit: """ """ ...
@overload def feed(self, arg0) -> QCircuit: """ """ ...
[文档] def get_control_qubit(self) -> QVec: """ """ ...
@overload
[文档] def insert(self, arg0: VariationalQuantumGate_I) -> VariationalQuantumCircuit: """ """ ...
@overload def insert(self, arg0: VariationalQuantumGate_H) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_X) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_Y) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_T) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_S) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_Z) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_X1) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_Y1) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_Z1) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_U1) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_U2) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_U3) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_U4) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_RX) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_RY) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_RZ) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CNOT) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CR) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CZ) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CRX) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CRY) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_CRZ) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_SWAP) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_iSWAP) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumGate_SqiSWAP) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: VariationalQuantumCircuit) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: QCircuit) -> VariationalQuantumCircuit: """ """ ... @overload def insert(self, arg0: QGate) -> VariationalQuantumCircuit: """ """ ...
[文档] def is_dagger(self) -> bool: """ """ ...
[文档] def set_control(self, arg0: QVec) -> bool: """ """ ...
[文档] def set_dagger(self, arg0: bool) -> bool: """ """ ...
@overload def __lshift__(self, arg0: VariationalQuantumGate_I) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_H) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_X) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_Y) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_T) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_S) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_Z) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_X1) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_Y1) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_Z1) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_U1) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_U2) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_U3) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_U4) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_RX) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_RY) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_RZ) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CNOT) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CR) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CZ) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CRX) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CRY) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_CRZ) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_SWAP) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_iSWAP) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumGate_SqiSWAP) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: VariationalQuantumCircuit) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: QCircuit) -> VariationalQuantumCircuit: """ """ ... @overload def __lshift__(self, arg0: QGate) -> VariationalQuantumCircuit: """ """ ...
[文档] class VariationalQuantumGate: """ variational quantum gate base class """ def __init__(self, *args, **kwargs) -> None: """ """ ...
[文档] def feed(self, arg0: Dict[int,float]) -> QGate: """ """ ...
[文档] def get_constants(self) -> List[float]: """ """ ...
[文档] def get_control_qubit(self) -> QVec: """ """ ...
[文档] def get_vars(self) -> List[var]: """ """ ...
[文档] def is_dagger(self) -> bool: """ """ ...
[文档] def set_control(self, arg0: QVec) -> bool: """ """ ...
[文档] def set_dagger(self, arg0: bool) -> bool: """ """ ...
[文档] class VariationalQuantumGate_CNOT(VariationalQuantumGate): """ variational quantum CNOT gate class """ def __init__(self, arg0: Qubit, arg1: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CNOT: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CNOT: """ """ ...
[文档] class VariationalQuantumGate_CR(VariationalQuantumGate): """ variational quantum CR gate class """ @overload def __init__(self, arg0: Qubit, arg1: Qubit, arg2: float) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: Qubit, arg2: var) -> None: """ """ ... @overload def __init__(self, arg0: VariationalQuantumGate_CR) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CR: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CR: """ """ ...
[文档] class VariationalQuantumGate_CRX(VariationalQuantumGate): """ variational quantum CRX gate class """ @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: float) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: var) -> None: """ """ ... @overload def __init__(self, arg0: VariationalQuantumGate_CRX) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CRX: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CRX: """ """ ...
[文档] class VariationalQuantumGate_CRY(VariationalQuantumGate): """ variational quantum CRY gate class """ @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: float) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: var) -> None: """ """ ... @overload def __init__(self, arg0: VariationalQuantumGate_CRY) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CRY: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CRY: """ """ ...
[文档] class VariationalQuantumGate_CRZ(VariationalQuantumGate): """ variational quantum CRZ gate class """ @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: float) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: QVec, arg2: var) -> None: """ """ ... @overload def __init__(self, arg0: VariationalQuantumGate_CRZ) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CRZ: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CRZ: """ """ ...
[文档] class VariationalQuantumGate_CU(VariationalQuantumGate): """ variational quantum CU gate class """ @overload def __init__(self, arg0: Qubit, arg1: Qubit, arg2: float, arg3: float, arg4: float, arg5: float) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: Qubit, arg2: var, arg3: var, arg4: var, arg5: var) -> None: """ """ ... @overload def __init__(self, arg0: VariationalQuantumGate_CU) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CU: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CU: """ """ ...
[文档] class VariationalQuantumGate_CZ(VariationalQuantumGate): """ variational quantum CZ gate class """ def __init__(self, arg0: Qubit, arg1: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_CZ: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_CZ: """ """ ...
[文档] class VariationalQuantumGate_H(VariationalQuantumGate): """ variational quantum H gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_H: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_H: """ """ ...
[文档] class VariationalQuantumGate_I(VariationalQuantumGate): """ variational quantum I gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_I: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_I: """ """ ...
[文档] class VariationalQuantumGate_RX(VariationalQuantumGate): """ variational quantum RX gate class """ @overload def __init__(self, arg0: Qubit, arg1: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_RX: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_RX: """ """ ...
[文档] class VariationalQuantumGate_RY(VariationalQuantumGate): """ variational quantum RY gate class """ @overload def __init__(self, arg0: Qubit, arg1: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_RY: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_RY: """ """ ...
[文档] class VariationalQuantumGate_RZ(VariationalQuantumGate): """ variational quantum RZ gate class """ @overload def __init__(self, arg0: Qubit, arg1: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_RZ: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_RZ: """ """ ...
[文档] class VariationalQuantumGate_S(VariationalQuantumGate): """ variational quantum S gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_S: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_S: """ """ ...
[文档] class VariationalQuantumGate_SWAP(VariationalQuantumGate): """ variational quantum SWAP gate class """ def __init__(self, arg0: Qubit, arg1: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_SWAP: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_SWAP: """ """ ...
[文档] class VariationalQuantumGate_SqiSWAP(VariationalQuantumGate): """ variational quantum SqiSWAP gate class """ def __init__(self, arg0: Qubit, arg1: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_SqiSWAP: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_SqiSWAP: """ """ ...
[文档] class VariationalQuantumGate_T(VariationalQuantumGate): """ variational quantum T gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_T: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_T: """ """ ...
[文档] class VariationalQuantumGate_U1(VariationalQuantumGate): """ variational quantum U1 gate class """ @overload def __init__(self, arg0: Qubit, arg1: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_U1: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_U1: """ """ ...
[文档] class VariationalQuantumGate_U2(VariationalQuantumGate): """ variational quantum U2 gate class """ @overload def __init__(self, arg0: Qubit, arg1: var, arg2: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float, arg2: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_U2: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_U2: """ """ ...
[文档] class VariationalQuantumGate_U3(VariationalQuantumGate): """ variational quantum U3 gate class """ @overload def __init__(self, arg0: Qubit, arg1: var, arg2: var, arg3: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float, arg2: float, arg3: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_U3: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_U3: """ """ ...
[文档] class VariationalQuantumGate_U4(VariationalQuantumGate): """ variational quantum U4 gate class """ @overload def __init__(self, arg0: Qubit, arg1: var, arg2: var, arg3: var, arg4: var) -> None: """ """ ... @overload def __init__(self, arg0: Qubit, arg1: float, arg2: float, arg3: float, arg4: float) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_U4: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_U4: """ """ ...
[文档] class VariationalQuantumGate_X(VariationalQuantumGate): """ variational quantum X gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_X: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_X: """ """ ...
[文档] class VariationalQuantumGate_X1(VariationalQuantumGate): """ variational quantum X1 gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_X1: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_X1: """ """ ...
[文档] class VariationalQuantumGate_Y(VariationalQuantumGate): """ variational quantum Y gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_Y: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_Y: """ """ ...
[文档] class VariationalQuantumGate_Y1(VariationalQuantumGate): """ variational quantum Y1 gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_Y1: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_Y1: """ """ ...
[文档] class VariationalQuantumGate_Z(VariationalQuantumGate): """ variational quantum Z gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_Z: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_Z: """ """ ...
[文档] class VariationalQuantumGate_Z1(VariationalQuantumGate): """ variational quantum Z1 gate class """ def __init__(self, arg0: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_Z1: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_Z1: """ """ ...
[文档] class VariationalQuantumGate_iSWAP(VariationalQuantumGate): """ variational quantum iSWAP gate class """ def __init__(self, arg0: Qubit, arg1: Qubit) -> None: """ """ ...
[文档] def control(self, arg0: QVec) -> VariationalQuantumGate_iSWAP: """ """ ...
[文档] def dagger(self) -> VariationalQuantumGate_iSWAP: """ """ ...
[文档] class em_method: """ origin quantum real chip error_mitigation type Members: ZNE PEC READ_OUT """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only
[文档] PEC: ClassVar[em_method] = ...
[文档] READ_OUT: ClassVar[em_method] = ...
[文档] ZNE: ClassVar[em_method] = ...
__entries: ClassVar[dict] = ... def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class expression: """ variational quantum expression class """ def __init__(self, arg0: var) -> None: """ """ ... @overload
[文档] def backprop(self, arg0: Dict[var,numpy.ndarray[numpy.float64[m,n]]]) -> None: """ """ ...
@overload def backprop(self, arg0: Dict[var,numpy.ndarray[numpy.float64[m,n]]], arg1: List[var]) -> None: """ """ ...
[文档] def find_leaves(self) -> List[var]: """ """ ...
[文档] def find_non_consts(self, arg0: List[var]) -> List[var]: """ """ ...
[文档] def get_root(self) -> var: """ """ ...
@overload
[文档] def propagate(self) -> numpy.ndarray[numpy.float64[m,n]]: """ """ ...
@overload def propagate(self, arg0: List[var]) -> numpy.ndarray[numpy.float64[m,n]]: """ """ ...
[文档] class hadamard_circuit(QCircuit): """ hadamard circuit class """ def __init__(self, arg0: QVec) -> None: """ """ ...
[文档] class real_chip_type: """ origin quantum real chip type enum Members: origin_wuyuan_d3 origin_wuyuan_d4 origin_wuyuan_d5 origin_72 """ __doc__: ClassVar[str] = ... # read-only __members__: ClassVar[dict] = ... # read-only __entries: ClassVar[dict] = ...
[文档] origin_72: ClassVar[real_chip_type] = ...
[文档] origin_wuyuan_d3: ClassVar[real_chip_type] = ...
[文档] origin_wuyuan_d4: ClassVar[real_chip_type] = ...
[文档] origin_wuyuan_d5: ClassVar[real_chip_type] = ...
def __init__(self, value: int) -> None: """ """ ... def __eq__(self, other: object) -> bool: """ """ ... def __getstate__(self) -> int: """ """ ... def __hash__(self) -> int: """ """ ... def __index__(self) -> int: """ """ ... def __int__(self) -> int: """ """ ... def __ne__(self, other: object) -> bool: """ """ ... def __setstate__(self, state: int) -> None: """ """ ... @property
[文档] def name(self) -> str: ...
@property
[文档] def value(self) -> int: ...
[文档] class var: """ quantum variational class """ @overload def __init__(self, arg0: float) -> None: """ """ ... @overload def __init__(self, arg0: numpy.ndarray[numpy.float64[m,n],flags.writeable]) -> None: """ """ ... @overload def __init__(self, arg0: float, arg1: bool) -> None: """ """ ... @overload def __init__(self, arg0: numpy.ndarray[numpy.float64[m,n],flags.writeable], arg1: bool) -> None: """ """ ...
[文档] def clone(self) -> var: """ """ ...
[文档] def get_value(self) -> numpy.ndarray[numpy.float64[m,n]]: """ """ ...
@overload
[文档] def set_value(self, arg0: numpy.ndarray[numpy.float64[m,n]]) -> None: """ """ ...
@overload def set_value(self, arg0: float) -> None: """ """ ... @overload def __add__(self, arg0: var) -> var: """ """ ... @overload def __add__(self, arg0: float) -> var: """ """ ... @overload def __eq__(self, arg0: var) -> bool: """ """ ... @overload def __eq__(self, arg0: var) -> bool: """ """ ... def __getitem__(self, arg0: int) -> var: """ """ ... def __hash__(self) -> int: """ """ ... @overload def __mul__(self, arg0: var) -> var: """ """ ... @overload def __mul__(self, arg0: float) -> var: """ """ ... def __radd__(self, arg0: float) -> var: """ """ ... def __rmul__(self, arg0: float) -> var: """ """ ... def __rsub__(self, arg0: float) -> var: """ """ ... def __rtruediv__(self, arg0: float) -> var: """ """ ... @overload def __sub__(self, arg0: var) -> var: """ """ ... @overload def __sub__(self, arg0: float) -> var: """ """ ... @overload def __truediv__(self, arg0: var) -> var: """ """ ... @overload def __truediv__(self, arg0: float) -> var: """ """ ...
@overload
[文档] def BARRIER(qubit: Qubit) -> QGate: """ Create a BARRIER gate Args: qubit : measure qubit Returns: a BARRIER node """ ...
@overload def BARRIER(qubit_list: int) -> QGate: """ Create a BARRIER gate Args: qubit : measure qubit Returns: a BARRIER node """ ... @overload def BARRIER(qubit_list: QVec) -> QGate: """ Create a BARRIER gate Args: qubit_list : measure qubits list Returns: a BARRIER node """ ... @overload def BARRIER(qubit_addr_list: List[int]) -> QGate: """ Create a BARRIER gate Args: qubit_list : measure qubits list Returns: a BARRIER node """ ... @overload
[文档] def CNOT(control_qubit: Qubit, target_qubit: Qubit) -> QGate: """ Returns: a CNOT gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def CNOT(control_qubit_list: QVec, target_qubit_list: QVec) -> QCircuit: """ Returns: a CNOT gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CNOT(control_qubit_addr: int, target_qubit_addr: int) -> QGate: """ """ ... @overload def CNOT(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a CNOT gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def CP(control_qubit: Qubit, target_qubit: Qubit, theta_angle: float) -> QGate: """ Returns: a CP gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def CP(control_qubit_list: QVec, target_qubit_list: QVec, theta_angle: float) -> QCircuit: """ Returns: a CP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CP(control_qubit_addr: int, target_qubit_addr: int, theta_angle: float) -> QGate: """ Returns: a CP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CP(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], theta_angle: float) -> QCircuit: """ Returns: a CP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def CR(control_qubit: Qubit, target_qubit: Qubit, theta_angle: float) -> QGate: """ Returns: a CR gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def CR(control_qubit_list: QVec, target_qubit_list: QVec, theta_angle: float) -> QCircuit: """ Returns: a CR gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CR(control_qubit_addr: int, target_qubit_addr: int, theta_angle: float) -> QGate: """ Returns: a CR gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CR(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], theta_angle: float) -> QCircuit: """ Returns: a CR gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def CU(alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float, control_qubit: Qubit, target_qubit: Qubit) -> QGate: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit : control qubit qubit : target qubit Returns: a CU node """ ...
@overload def CU(alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float, control_qubit_list: QVec, target_qubi_list: QVec) -> QCircuit: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle control_qubit_list : control qubit list target_qubi_list : target qubit list Returns: a CU node """ ... @overload def CU(matrix: List[complex], control_qubit: Qubit, target_qubit: Qubit) -> QGate: """ Create a CU gate Args: matrix : CU gate matrix qubit : control qubit qubit : target qubit Returns: a CU node """ ... @overload def CU(matrix: List[complex], control_qubit_list: QVec, target_qubit_list: QVec) -> QCircuit: """ Create a CU gate Args: matrix : CU gate matrix control_qubit_list : control qubit list target_qubi_list : target qubit list Returns: a CU node """ ... @overload def CU(control_qubit: Qubit, target_qubit: Qubit, alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float) -> QGate: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit : control qubit qubit : target qubit Returns: a CU node """ ... @overload def CU(control_qubit_list: QVec, target_qubit_list: QVec, alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float) -> QCircuit: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle control_qubit_list : control qubit list target_qubi_list : target qubit list Returns: a CU node """ ... @overload def CU(control_qubit_addr: int, target_qubit_addr: int, alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float) -> QGate: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit addr: control qubit addr qubit addr: target qubit addr Returns: a CU node """ ... @overload def CU(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float) -> QCircuit: """ Create a CU gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit addr list: control qubit addr list qubit addr list: target qubit addr list Returns: a CU node """ ... @overload def CU(control_qubit: Qubit, target_qubit: Qubit, matrix: List[complex]) -> QGate: """ Create a CU gate Args: matrix : CU gate matrix qubit : control qubit qubit : target qubit Returns: a CU node """ ... @overload def CU(control_qubit_list: QVec, target_qubit_list: QVec, matrix: List[complex]) -> QCircuit: """ Create a CU gate Args: matrix : CU gate matrix qubit list: control qubit list qubit list: target qubit list Returns: a CU node """ ... @overload def CU(control_qubit_addr: int, target_qubit_addr: int, matrix: List[complex]) -> QGate: """ Create a CU gate Args: matrix : CU gate matrix qubit addr: control qubit addr qubit addr: target qubit addr Returns: a CU node """ ... @overload def CU(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], matrix: List[complex]) -> QCircuit: """ Create a CU gate Args: matrix : CU gate matrix qubit addr list: control qubit addr list qubit addr list: target qubit addr list Returns: a CU node """ ... @overload
[文档] def CZ(control_qubit: Qubit, target_qubit: Qubit) -> QGate: """ Returns: a CZ gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def CZ(control_qubit_list: QVec, target_qubit_list: QVec) -> QCircuit: """ Returns: a CZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def CZ(control_qubit_addr: int, target_qubit_addr: int) -> QGate: """ """ ... @overload def CZ(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a CZ gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def CreateEmptyCircuit() -> QCircuit: """ Create an empty QCircuit Container Args: none Returns: a empty QCircuit """ ...
[文档] def CreateEmptyQProg() -> QProg: """ Create an empty QProg Container Args: none Returns: a empty QProg """ ...
@overload
[文档] def CreateIfProg(classical_condition: ClassicalCondition, true_node: QProg) -> QIfProg: """ Create a classical quantum IfProg Args: classical_condition: quatum cbit true_node: quantum IfProg qnode Returns: a classical quantum IfProg """ ...
@overload def CreateIfProg(classical_condition: ClassicalCondition, true_node: QProg, false_node: QProg) -> QIfProg: """ Create a classical quantum IfProg Args: classical_condition: quatum cbit true_node: quantum IfProg true qnode false_node: quantum IfProg false qnode Returns: a classical quantum IfProg """ ...
[文档] def CreateWhileProg(classical_condition: ClassicalCondition, true_node: QProg) -> QWhileProg: """ Create a WhileProg Args: classical_condition: quatum cbit true_node: quantum QWhile qnode Returns: a WhileProg """ ...
[文档] def Grover(*args, **kwargs) -> Any: """ Quantum grover circuit Args: qvec: qubit list Classical_condition: quantum Classical condition QuantumMachine: quantum machine Returns: result : Grover circuit Raises: run_fail: An error occurred in Grover """ ...
@overload @overload def Grover_search(list: List[str], Classical_condition: str, QuantumMachine: QuantumMachine, data: int = 2) -> list: """ use Grover algorithm to search target data, return QProg and search_result """ ... @overload
[文档] def H(qubit: Qubit) -> QGate: """ Create a H gate Args: qubit : quantum gate operate qubit Returns: a H gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def H(qubit_list: QVec) -> QCircuit: """ Create a H gate Args: qubit_list: quantum gate operate qubits list Returns: a H gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def H(qubit_addr: int) -> QGate: """ Create a H gate Args: qubit_addr: quantum gate operate qubits addr Returns: a H gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def H(qubit_addr_list: List[int]) -> QCircuit: """ Create a H gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a H gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def HHL_solve_linear_equations(matrix_A: List[complex], data_b: List[float], precision_cnt: int = 0) -> List[complex]: """ Use HHL algorithm to solve the target linear systems of equations : Ax = b Args: matrix_A: a unitary matrix or Hermitian N*N matrix with N = 2 ^ n data_b: a given vector precision_cnt: The count of digits after the decimal point default is 0, indicates that there are only integer solutions. Returns: QStat The solution of equation, i.e.x for Ax = b Notes: The higher the precision is, the more qubit number and circuit - depth will be, for example: 1 - bit precision, 4 additional qubits are required, for 2 - bit precision, we need 7 additional qubits, and so on. """ ...
@overload
[文档] def I(qubit: Qubit) -> QGate: """ Create a I gate Args: qubit : quantum gate operate qubit Returns: a I gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def I(qubit_list: QVec) -> QCircuit: """ Create a I gate Args: qubit_list: quantum gate operate qubits list Returns: a I gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def I(qubit_addr: int) -> QGate: """ Create a I gate Args: qubit_addr: quantum gate operate qubits addr Returns: a I gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def I(qubit_addr_list: List[int]) -> QCircuit: """ Create a I gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a I gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def MAJ(arg0: Qubit, arg1: Qubit, arg2: Qubit) -> QCircuit: """ Quantum adder MAJ module """ ...
[文档] def MAJ2(arg0: QVec, arg1: QVec, arg2: Qubit) -> QCircuit: """ Quantum adder MAJ2 module """ ...
@overload
[文档] def MS(first_qubit: Qubit, second_qubit: Qubit) -> QGate: """ Returns: a MS gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def MS(first_qubit_list: QVec, second_qubit_list: QVec) -> QCircuit: """ Returns: a MS gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def MS(first_qubit_addr: int, second_qubit_addr: int) -> QGate: """ """ ... @overload def MS(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a MS gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Measure(qubit: Qubit, cbit: ClassicalCondition) -> QMeasure: """ Create an measure node Args: qubit : measure qubit cbit : cbit stores quantum measure result Returns: a quantum measure node """ ...
@overload def Measure(qubit: Qubit, cbit: CBit) -> QMeasure: """ Create an measure node Args: qubit : measure qubit cbit : cbit stores quantum measure result Returns: a quantum measure node """ ... @overload def Measure(qubit_addr: int, cbit_addr: int) -> QMeasure: """ Create an measure node Args: qubit : measure qubit cbit : cbit stores quantum measure result Returns: a quantum measure node """ ... @overload
[文档] def OBMT_mapping(prog: QProg, quantum_machine: QuantumMachine, b_optimization: bool = False, max_partial: int = 4294967295, max_children: int = 4294967295, config_data: str = 'QPandaConfig.json') -> QProg: """ OPT_BMT mapping Args: prog: the target prog quantum_machine: quantum machine b_optimization: whether open the optimization max_partial: Limits the max number of partial solutions per step, There is no limit by default max_children: Limits the max number of candidate - solutions per double gate, There is no limit by default config_data: config data, @See JsonConfigParam::load_config() Returns: mapped quantum program """ ...
@overload def OBMT_mapping(prog: QProg, quantum_machine: QuantumMachine, b_optimization: bool, arch_matrix: numpy.ndarray[numpy.float64[m,n]]) -> QProg: """ OPT_BMT mapping Args: prog: the target prog quantum_machine: quantum machine b_optimization: whether open the optimization arch_matrix: arch graph matrix Returns: mapped quantum program """ ... @overload
[文档] def P(qubit: Qubit, angle: float) -> QGate: """ Returns: a P gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def P(qubit_list: QVec, angle: float) -> QCircuit: """ Create a P gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a P gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def P(qubit_addr: int, angle: float) -> QGate: """ Create a P gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a P gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def P(qubit_addr_list: List[int], angle: float) -> QCircuit: """ Create a P gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a P gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def PMeasure(arg0: QVec, arg1: int) -> List[Tuple[int,float]]: """ Deprecated, use pmeasure instead Args: QVec : pmeasure qubits list select_num : result select num Returns: result: pmeasure qubits result Raises: run_fail: An error occurred in pmeasure """ ...
[文档] def PMeasure_no_index(arg0: QVec) -> List[float]: """ Deprecated, use pmeasure_no_index instead Args: QVec : pmeasure qubits list Returns: result: pmeasure qubits result Raises: run_fail: An error occurred in pmeasure_no_index """ ...
[文档] def QAdd(arg0: QVec, arg1: QVec, arg2: QVec) -> QCircuit: """ Quantum adder that supports signed operations, but ignore carry """ ...
[文档] def QAdder(arg0: QVec, arg1: QVec, arg2: Qubit, arg3: Qubit) -> QCircuit: """ Quantum adder with carry """ ...
[文档] def QAdderIgnoreCarry(arg0: QVec, arg1: QVec, arg2: Qubit) -> QCircuit: """ Args: QVec: qubits list a QVec: qubits list b QVec: qubits list c Qubit: qubit Returns: result : circuit Raises: run_fail: An error occurred in QAdderIgnoreCarry """ ...
[文档] def QComplement(arg0: QVec, arg1: QVec) -> QCircuit: """ Convert quantum state to binary complement representation """ ...
[文档] def QDiv(arg0: QVec, arg1: QVec, arg2: QVec, arg3: QVec, arg4: ClassicalCondition) -> QProg: """ Quantum division """ ...
[文档] def QDivWithAccuracy(arg0: QVec, arg1: QVec, arg2: QVec, arg3: QVec, arg4: QVec, arg5: List[ClassicalCondition]) -> QProg: """ Args: QVec: qubits list a QVec: qubits list b QVec: qubits list c QVec: qubits list k QVec: qubits list f QVec: qubits list s list: ClassicalCondition list Returns: result : circuit Raises: run_fail: An error occurred in QDivWithAccuracy """ ...
[文档] def QDivider(a: QVec, b: QVec, c: QVec, k: QVec, t: ClassicalCondition) -> QProg: """ Quantum division, only supports positive division, and the highest position of a and b and c is sign bit """ ...
[文档] def QDividerWithAccuracy(a: QVec, b: QVec, c: QVec, k: QVec, f: QVec, s: List[ClassicalCondition]) -> QProg: """ Args: QVec: qubits list a QVec: qubits list b QVec: qubits list c QVec: qubits list k QVec: qubits list f QVec: qubits list s list: ClassicalCondition list Returns: result : circuit Raises: run_fail: An error occurred in QDividerWithAccuracy """ ...
@overload
[文档] def QDouble(first_qubit: Qubit, second_qubit: Qubit, matrix: List[complex]) -> QGate: """ Returns: a QDouble gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def QDouble(first_qubit_list: QVec, second_qubit_list: QVec, matrix: List[complex]) -> QCircuit: """ Returns: a QDouble gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def QDouble(first_qubit_addr: int, second_qubit_addr: int, matrix: List[complex]) -> QGate: """ Returns: a QDouble gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def QDouble(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int], matrix: List[complex]) -> QCircuit: """ Returns: a QDouble gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def QFT(qubits: QVec) -> QCircuit: """ Build QFT quantum circuit Args: qvec: qubit list Returns: result : qft circuit Raises: run_fail: An error occurred in QFT """ ...
[文档] def QMul(arg0: QVec, arg1: QVec, arg2: QVec, arg3: QVec) -> QCircuit: """ Quantum multiplication """ ...
[文档] def QMultiplier(arg0: QVec, arg1: QVec, arg2: QVec, arg3: QVec) -> QCircuit: """ Quantum multiplication, only supports positive multiplication """ ...
[文档] def QOracle(qubit_list: QVec, matrix: numpy.ndarray[numpy.complex128[m,n]], tol: float = 1e-10) -> QGate: """ Generate QOracle Gate Args: qubit_list: gate in qubit list matrix: gate operator matrix Return: Oracle gate """ ...
[文档] def QPE(control_qubits: QVec, target_qubits: QVec, matrix: List[complex], b_estimate_eigenvalue: bool = False) -> QCircuit: """ Quantum phase estimation Args: control_qubits: control qubit list target_qubits: target qubit list matrix: matrix Returns: result : QPE circuit Raises: run_fail: An error occurred in QPE """ ...
[文档] def QSub(arg0: QVec, arg1: QVec, arg2: QVec) -> QCircuit: """ Quantum subtraction """ ...
@overload
[文档] def RX(qubit: Qubit, angle: float) -> QGate: """ Returns: a RX gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RX(qubit_list: QVec, angle: float) -> QCircuit: """ Create a RX gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a RX gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def RX(qubit_addr: int, angle: float) -> QGate: """ Create a RX gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a RX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RX(qubit_addr_list: List[int], angle: float) -> QCircuit: """ Create a RX gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a RX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RXX(control_qubit: Qubit, target_qubit: Qubit, alpha_angle: float) -> QGate: """ Create a RXX gate Args: Qubit : control qubit Qubit : target qubit double: gate rotation angle theta Returns: a RXX gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RXX(control_qubit_list: QVec, target_qubit_list: QVec, alpha_angle: float) -> QCircuit: """ Create a RXX gate Args: control_qubit_list : control qubit list target_qubit_list : target qubit list double: gate rotation angle theta Returns: a RXX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RXX(control_qubit_addr: int, target_qubit_addr: int, alpha_angle: float) -> QGate: """ Create a RXX gate Args: qubit addr : control qubit addr qubit addr : target qubit addr double: gate rotation angle theta Returns: a RXX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RXX(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], alpha_angle: float) -> QCircuit: """ Create a RXX gate Args: qubit addr list : control qubit addr list qubit addr list : target qubit addr list double: gate rotation angle theta Returns: a RXX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RY(qubit: Qubit, angle: float) -> QGate: """ Returns: a RY gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RY(qubit_list: QVec, angle: float) -> QCircuit: """ Create a RY gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a RY gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def RY(qubit_addr: int, angle: float) -> QGate: """ Create a RY gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a RY gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RY(qubit_addr_list: List[int], angle: float) -> QCircuit: """ Create a RY gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a RY gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RYY(control_qubit: Qubit, target_qubit: Qubit, alpha_angle: float) -> QGate: """ Create a RYY gate Args: Qubit : control qubit Qubit : target qubit double: gate rotation angle theta Returns: a RYY gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RYY(control_qubit_list: QVec, target_qubit_list: QVec, alpha_angle: float) -> QCircuit: """ Create a RYY gate Args: control_qubit_list : control qubit list target_qubit_list : target qubit list double: gate rotation angle theta Returns: a RYY gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RYY(control_qubit_addr: int, target_qubit_addr: int, alpha_angle: float) -> QGate: """ Create a RYY gate Args: qubit addr : control qubit addr qubit addr : target qubit addr double: gate rotation angle theta Returns: a RYY gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RYY(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], alpha_angle: float) -> QCircuit: """ Create a RYY gate Args: qubit addr list : control qubit addr list qubit addr list : target qubit addr list double: gate rotation angle theta Returns: a RYY gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RZ(qubit: Qubit, angle: float) -> QGate: """ Returns: a RZ gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RZ(qubit_list: QVec, angle: float) -> QCircuit: """ Create a RZ gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a RZ gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def RZ(qubit_addr: int, angle: float) -> QGate: """ Create a RZ gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a RZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RZ(qubit_addr_list: List[int], angle: float) -> QCircuit: """ Create a RZ gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a RZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RZX(control_qubit: Qubit, target_qubit: Qubit, alpha_angle: float) -> QGate: """ Create a RZX gate Args: Qubit : control qubit Qubit : target qubit double: gate rotation angle theta Returns: a RZX gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RZX(control_qubit_list: QVec, target_qubit_list: QVec, alpha_angle: float) -> QCircuit: """ Create a RZX gate Args: control_qubit_list : control qubit list target_qubit_list : target qubit list double: gate rotation angle theta Returns: a RZX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RZX(control_qubit_addr: int, target_qubit_addr: int, alpha_angle: float) -> QGate: """ Create a RZX gate Args: qubit addr : control qubit addr qubit addr : target qubit addr double: gate rotation angle theta Returns: a RZX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RZX(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], alpha_angle: float) -> QCircuit: """ Create a RZX gate Args: qubit addr list : control qubit addr list qubit addr list : target qubit addr list double: gate rotation angle theta Returns: a RZX gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def RZZ(control_qubit: Qubit, target_qubit: Qubit, alpha_angle: float) -> QGate: """ Create a RZZ gate Args: Qubit : control qubit Qubit : target qubit double: gate rotation angle theta Returns: a RZZ gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def RZZ(control_qubit_list: QVec, target_qubit_list: QVec, alpha_angle: float) -> QCircuit: """ Create a RZZ gate Args: control_qubit_list : control qubit list target_qubit_list : target qubit list double: gate rotation angle theta Returns: a RZZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RZZ(control_qubit_addr: int, target_qubit_addr: int, alpha_angle: float) -> QGate: """ Create a RZZ gate Args: qubit addr : control qubit addr qubit addr : target qubit addr double: gate rotation angle theta Returns: a RZZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def RZZ(control_qubit_addr_list: List[int], target_qubit_addr_list: List[int], alpha_angle: float) -> QCircuit: """ Create a RZZ gate Args: qubit addr list : control qubit addr list qubit addr list : target qubit addr list double: gate rotation angle theta Returns: a RZZ gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Reset(qubit: Qubit) -> QReset: """ Create a Reset node """ ...
@overload def Reset(qubit_addr: int) -> QReset: """ Create a Reset node """ ... @overload
[文档] def S(qubit: Qubit) -> QGate: """ Create a S gate Args: qubit : quantum gate operate qubit Returns: a S gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def S(qubit_list: QVec) -> QCircuit: """ Create a S gate Args: qubit_list: quantum gate operate qubits list Returns: a S gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def S(qubit_addr: int) -> QGate: """ Create a S gate Args: qubit_addr: quantum gate operate qubits addr Returns: a S gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def S(qubit_addr_list: List[int]) -> QCircuit: """ Create a S gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a S gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def SWAP(first_qubit: Qubit, second_qubit: Qubit) -> QGate: """ Returns: a SWAP gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def SWAP(first_qubit_list: QVec, second_qubit_list: QVec) -> QCircuit: """ Returns: a SWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def SWAP(first_qubit_addr: int, second_qubit_addr: int) -> QGate: """ """ ... @overload def SWAP(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a SWAP gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def Shor_factorization(arg0: int) -> Tuple[bool,Tuple[int,int]]: """ Use Shor factorize integer num Args: int: target integer num result: Shor result Returns: result : Shor_factorization search result Raises: run_fail: An error occurred in Shor_factorization """ ...
@overload
[文档] def SqiSWAP(first_qubit: Qubit, second_qubit: Qubit) -> QGate: """ Returns: a SqiSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def SqiSWAP(first_qubit_list: QVec, second_qubit_list: QVec) -> QCircuit: """ Returns: a SqiSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def SqiSWAP(first_qubit_addr: int, second_qubit_addr: int) -> QGate: """ """ ... @overload def SqiSWAP(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a SqiSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def T(qubit: Qubit) -> QGate: """ Create a T gate Args: qubit : quantum gate operate qubit Returns: a T gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def T(qubit_list: QVec) -> QCircuit: """ Create a T gate Args: qubit_list: quantum gate operate qubits list Returns: a T gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def T(qubit_addr: int) -> QGate: """ Create a T gate Args: qubit_addr: quantum gate operate qubits addr Returns: a T gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def T(qubit_addr_list: List[int]) -> QCircuit: """ Create a T gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a T gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Toffoli(control_qubit_first: Qubit, control_qubit_second: Qubit, target_qubit: Qubit) -> QGate: """ Create a Toffoli gate """ ...
@overload def Toffoli(control_qubit_addr_first: int, control_qubit_addr_second: int, target_qubit_addr: int) -> QGate: """ Create a Toffoli gate """ ... @overload
[文档] def U1(qubit: Qubit, angle: float) -> QGate: """ Returns: a U1 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def U1(qubit_list: QVec, angle: float) -> QCircuit: """ Create a U1 gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a U1 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def U1(qubit_addr: int, angle: float) -> QGate: """ Create a U1 gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a U1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def U1(qubit_addr_list: List[int], angle: float) -> QCircuit: """ Create a U1 gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a U1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def U2(qubit: Qubit, phi_angle: float, lambda_angle: float) -> QGate: """ Returns: a U2 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def U2(qubit_list: QVec, phi_angle: float, lambda_angle: float) -> QCircuit: """ Create a U2 gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a U2 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def U2(qubit_addr: int, phi_angle: float, lambda_angle: float) -> QGate: """ Create a U2 gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a U2 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def U2(qubit_addr_list: List[int], phi_angle: float, lambda_angle: float) -> QCircuit: """ Create a U2 gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a U2 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def U3(qubit: Qubit, theta_angle: float, phi_angle: float, lambda_angle: float) -> QGate: """ Returns: a U3 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def U3(qubit_list: QVec, theta_angle: float, phi_angle: float, lambda_angle: float) -> QCircuit: """ Create a U3 gate Args: qubit_list: quantum gate operate qubits list args : quantum gate angles Returns: a U3 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def U3(qubit_addr: int, theta_angle: float, phi_angle: float, lambda_angle: float) -> QGate: """ Create a U3 gate Args: qubit_addr: quantum gate operate qubits addr args : quantum gate angles Returns: a U3 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def U3(qubit_addr_list: List[int], theta_angle: float, phi_angle: float, lambda_angle: float) -> QCircuit: """ Create a U3 gate Args: qubit_list_addr: quantum gate qubits list addr args : quantum gate angles Returns: a U3 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def U4(matrix: List[complex], qubit: Qubit) -> QGate: """ Create a U4 gate Args: matrix : U4 gate matrix qubit : U4 gate target qubit Returns: a U4 node """ ...
@overload def U4(alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float, qubit: Qubit) -> QGate: """ Create a U4 gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit : U4 gate target qubit Returns: a U4 node """ ... @overload def U4(qubit: Qubit, matrix: List[complex]) -> QGate: """ Create a U4 gate Args: matrix : U4 gate matrix qubit : U4 gate target qubit Returns: a U4 node """ ... @overload def U4(qubit_list: QVec, matrix: List[complex]) -> QCircuit: """ Create a U4 gate Args: matrix : U4 gate matrix qubit_list : U4 gate target qubit_list Returns: a U4 node """ ... @overload def U4(qubit_addr: int, matrix: List[complex]) -> QGate: """ Create a U4 gate Args: matrix : U4 gate matrix qubit : U4 gate target qubit Returns: a U4 node """ ... @overload def U4(qubit_addr_list: List[int], matrix: List[complex]) -> QCircuit: """ Create a U4 gate Args: matrix : U4 gate matrix qubit_list : U4 gate target qubit_list Returns: a U4 node """ ... @overload def U4(qubit: Qubit, alpha_anlge: float, beta_anlge: float, gamma_anlge: float, delta_anlge: float) -> QGate: """ Create a U4 gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit : U4 gate target qubit Returns: a U4 node """ ... @overload def U4(qubit_list: QVec, alpha_angle: float, beta_angle: float, gamma_angle: float, delta_angle: float) -> QCircuit: """ Create a U4 gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit_list : U4 gate target qubit_list Returns: a U4 node """ ... @overload def U4(qubit_addr: int, alpha_anlge: float, beta_anlge: float, gamma_anlge: float, delta_anlge: float) -> QGate: """ Create a U4 gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit : U4 gate target qubit Returns: a U4 node """ ... @overload def U4(qubit_addr_list: List[int], alpha_anlge: float, beta_anlge: float, gamma_anlge: float, delta_anlge: float) -> QCircuit: """ Create a U4 gate Args: double : u4 gate alpha angle double : u4 gate beta angle double : u4 gate gamma angle double : u4 gate delta angle qubit_addr_list : U4 gate target qubit_addr_list Returns: a U4 node """ ...
[文档] def UMA(arg0: Qubit, arg1: Qubit, arg2: Qubit) -> QCircuit: """ Quantum adder UMA module """ ...
[文档] def VQG_CNOT_batch(*args, **kwargs) -> Any: """ variational quantum CNOT batch gates """ ...
[文档] def VQG_CU_batch(*args, **kwargs) -> Any: """ variational quantum CU batch gates """ ...
[文档] def VQG_CZ_batch(*args, **kwargs) -> Any: """ variational quantum CZ batch gates """ ...
[文档] def VQG_H_batch(*args, **kwargs) -> Any: """ variational quantum H batch gates """ ...
[文档] def VQG_I_batch(*args, **kwargs) -> Any: """ variational quantum I batch gates """ ...
[文档] def VQG_SWAP_batch(*args, **kwargs) -> Any: """ variational quantum SWAP batch gates """ ...
[文档] def VQG_S_batch(*args, **kwargs) -> Any: """ variational quantum S batch gates """ ...
[文档] def VQG_SqiSWAP_batch(*args, **kwargs) -> Any: """ variational quantum SqiSWAP batch gates """ ...
[文档] def VQG_T_batch(*args, **kwargs) -> Any: """ variational quantum T batch gates """ ...
[文档] def VQG_U1_batch(*args, **kwargs) -> Any: """ variational quantum U1 batch gates """ ...
[文档] def VQG_U2_batch(*args, **kwargs) -> Any: """ variational quantum U2 batch gates """ ...
[文档] def VQG_U3_batch(*args, **kwargs) -> Any: """ variational quantum U3 batch gates """ ...
[文档] def VQG_U4_batch(*args, **kwargs) -> Any: """ variational quantum U4 batch gates """ ...
[文档] def VQG_X1_batch(*args, **kwargs) -> Any: """ variational quantum X1 batch gates """ ...
[文档] def VQG_X_batch(*args, **kwargs) -> Any: """ variational quantum X batch gates """ ...
[文档] def VQG_Y1_batch(*args, **kwargs) -> Any: """ variational quantum Y1 batch gates """ ...
[文档] def VQG_Y_batch(*args, **kwargs) -> Any: """ variational quantum Y batch gates """ ...
[文档] def VQG_Z1_batch(*args, **kwargs) -> Any: """ variational quantum Z1 batch gates """ ...
[文档] def VQG_Z_batch(*args, **kwargs) -> Any: """ variational quantum Z batch gates """ ...
[文档] def VQG_iSWAP_batch(*args, **kwargs) -> Any: """ variational quantum iSWAP batch gates """ ...
@overload
[文档] def X(qubit: Qubit) -> QGate: """ Create a X gate Args: qubit : quantum gate operate qubit Returns: a X gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def X(qubit_list: QVec) -> QCircuit: """ Create a X gate Args: qubit_list: quantum gate operate qubits list Returns: a X gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def X(qubit_addr: int) -> QGate: """ Create a X gate Args: qubit_addr: quantum gate operate qubits addr Returns: a X gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def X(qubit_addr_list: List[int]) -> QCircuit: """ Create a X gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a X gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def X1(qubit: Qubit) -> QGate: """ Create a X1 gate Args: qubit : quantum gate operate qubit Returns: a X1 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def X1(qubit_list: QVec) -> QCircuit: """ Create a X1 gate Args: qubit_list: quantum gate operate qubits list Returns: a X1 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def X1(qubit_addr: int) -> QGate: """ Create a X1 gate Args: qubit_addr: quantum gate operate qubits addr Returns: a X1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def X1(qubit_addr_list: List[int]) -> QCircuit: """ Create a X1 gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a X1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Y(qubit: Qubit) -> QGate: """ Create a Y gate Args: qubit : quantum gate operate qubit Returns: a Y gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def Y(qubit_list: QVec) -> QCircuit: """ Create a Y gate Args: qubit_list: quantum gate operate qubits list Returns: a Y gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def Y(qubit_addr: int) -> QGate: """ Create a Y gate Args: qubit_addr: quantum gate operate qubits addr Returns: a Y gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def Y(qubit_addr_list: List[int]) -> QCircuit: """ Create a Y gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a Y gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Y1(qubit: Qubit) -> QGate: """ Create a Y1 gate Args: qubit : quantum gate operate qubit Returns: a Y1 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def Y1(qubit_list: QVec) -> QCircuit: """ Create a Y1 gate Args: qubit_list: quantum gate operate qubits list Returns: a Y1 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def Y1(qubit_addr: int) -> QGate: """ Create a Y1 gate Args: qubit_addr: quantum gate operate qubits addr Returns: a Y1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def Y1(qubit_addr_list: List[int]) -> QCircuit: """ Create a Y1 gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a Y1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Z(qubit: Qubit) -> QGate: """ Create a Z gate Args: qubit : quantum gate operate qubit Returns: a Z gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def Z(qubit_list: QVec) -> QCircuit: """ Create a Z gate Args: qubit_list: quantum gate operate qubits list Returns: a Z gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def Z(qubit_addr: int) -> QGate: """ Create a Z gate Args: qubit_addr: quantum gate operate qubits addr Returns: a Z gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def Z(qubit_addr_list: List[int]) -> QCircuit: """ Create a Z gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a Z gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload
[文档] def Z1(qubit: Qubit) -> QGate: """ Create a Z1 gate Args: qubit : quantum gate operate qubit Returns: a Z1 gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def Z1(qubit_list: QVec) -> QCircuit: """ Create a Z1 gate Args: qubit_list: quantum gate operate qubits list Returns: a Z1 gate node Raises: run_fail: An error occurred construct in gate node """ ... @overload def Z1(qubit_addr: int) -> QGate: """ Create a Z1 gate Args: qubit_addr: quantum gate operate qubits addr Returns: a Z1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def Z1(qubit_addr_list: List[int]) -> QCircuit: """ Create a Z1 gate Args: qubit_list_addr: quantum gate qubits list addr Returns: a Z1 gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def _back(arg0: expression, arg1: Dict[var,numpy.ndarray[numpy.float64[m,n]]], arg2: List[var]) -> None: """ """ ... @overload def _back(arg0: expression, arg1: Dict[var,numpy.ndarray[numpy.float64[m,n]]]) -> None: """ """ ... @overload def _back(arg0: var, arg1: Dict[var,numpy.ndarray[numpy.float64[m,n]]]) -> None: """ """ ... @overload def _back(arg0: var, arg1: Dict[var,numpy.ndarray[numpy.float64[m,n]]], arg2: List[var]) -> None: """ """ ...
[文档] def accumulateProbability(probability_list: List[float]) -> List[float]: """ Accumulate the probability from a prob list Args: probability_list: measured result in probability list form Returns: accumulated resultRaises: run_fail: An error occurred in accumulateProbability """ ...
[文档] def accumulate_probabilities(probability_list: List[float]) -> List[float]: """ Accumulate the probability from a prob list Args: probability_list: measured result in probability list form Returns: accumulated resultRaises: run_fail: An error occurred in accumulate_probabilities """ ...
[文档] def accumulate_probability(probability_list: List[float]) -> List[float]: """ Accumulate the probability from a prob list Args: probability_list: measured result in probability list form Returns: accumulated resultRaises: run_fail: An error occurred in accumulate_probability """ ...
[文档] def acos(arg0: var) -> var: """ """ ...
@overload
[文档] def add(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def add(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ... @overload def add(arg0: int, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def all_cut_of_graph(adjacent_matrix: List[List[float]], all_cut_list: List[float], target_value_list: List[int]) -> float: """ Generate graph of maxcut problem Args: adjacent_matrix: adjacent_matrix for quantum prog all_cut_list: all cut graph list in quantum prog target_value_list: target cut value list Returns: max value Raises: run_fail: An error occurred in all_cut_of_graph """ ...
@overload
[文档] def amplitude_encode(qubit: QVec, data: List[float], b_need_check_normalization: bool = True) -> QCircuit: """ Encode the input double data to the amplitude of qubits Args: qubit: quantum program qubits data: double data list b_need_check_normalization: is need to check normalization Returns: result circuit Raises: run_fail: An error occurred in amplitude_encode """ ...
@overload def amplitude_encode(qubit: QVec, data: List[complex]) -> QCircuit: """ Encode the input double data to the amplitude of qubits Args: qubit: quantum program qubits data: double data list Returns: result circuit Raises: run_fail: An error occurred in amplitude_encode """ ... @overload
[文档] def apply_QGate(qubit_list: QVec, func_obj: Callable[[Qubit],QGate]) -> QCircuit: """ Apply QGate to qubits Args: qubit_list: qubit list func_obj: QGate(Qubit) like function object accept Qubit as argument Returns: QCircuit contain QGate operation on all qubit """ ...
@overload def apply_QGate(qubit_addr_list: List[int], func_obj: Callable[[int],QGate]) -> QCircuit: """ Apply QGate to qubits Args: qubit_addr_list: qubit address list func_obj: QGate(int) like function object accept Qubit address as argument Returns: QCircuit contain QGate operation on all qubit """ ...
[文档] def asin(arg0: var) -> var: """ """ ...
@overload
[文档] def assign(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def assign(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ...
[文档] def atan(arg0: var) -> var: """ """ ...
@overload
[文档] def average_gate_fidelity(state1: numpy.ndarray[numpy.complex128[m,n]], state2: List[complex]) -> float: """ compare two quantum states , Get the state fidelity Args: state1: quantum state matrix 1 state2: quantum state list 2 Returns: state fidelity bewteen [0,1] """ ...
@overload def average_gate_fidelity(state1: numpy.ndarray[numpy.complex128[m,n]], state2: numpy.ndarray[numpy.complex128[m,n]]) -> float: """ compare two quantum states , Get the state fidelity Args: state1: quantum state matrix 1 state2: quantum state list 2 Returns: state fidelity bewteen [0,1] """ ...
[文档] def bin_to_prog(bin_data: List[int], qubit_list: QVec, cbit_list: List[ClassicalCondition], qprog: QProg) -> bool: """ Parse binary data transfor to quantum program Args: bin_data: binary data stores quantum prog information qubit_list: quantum qubits list cbit_list: quantum cbits list qprog: quantum prog Returns: prog """ ...
[文档] def bind_data(arg0: int, arg1: QVec) -> QCircuit: """ Args: int: classical data QVec: qubits list Returns: result : circuit Raises: run_fail: An error occurred in bind_data """ ...
[文档] def bind_nonnegative_data(arg0: int, arg1: QVec) -> QCircuit: """ Args: int: classical data QVec: qubits list Returns: result : circuit Raises: run_fail: An error occurred in bind_nonnegative_data """ ...
[文档] def build_HHL_circuit(matrix_A: List[complex], data_b: List[float], qvm: QuantumMachine, precision_cnt: int = 0) -> QCircuit: """ build the quantum circuit for HHL algorithm to solve the target linear systems of equations : Ax = b Args: matrix_A: a unitary matrix or Hermitian N*N matrix with N = 2 ^ n data_b: a given vector qvm: quantum machine precision_cnt: The count of digits after the decimal point, default is 0, indicates that there are only integer solutions Returns: QCircuit The whole quantum circuit for HHL algorithm Notes: The higher the precision is, the more qubit number and circuit - depth will be, for example: 1 - bit precision, 4 additional qubits are required, for 2 - bit precision, we need 7 additional qubits, and so on. The final solution = (HHL result) * (normalization factor for b) * (1 << ceil(log2(pow(10, precision_cnt)))) """ ...
@overload
[文档] def cAlloc() -> ClassicalCondition: """ Allocate a CBit After init() Returns: classic result cbit """ ...
@overload def cAlloc(cbit_addr: int) -> ClassicalCondition: """ Allocate a CBit After init() Args: cbit_addr: cbit address, should in [0,29) Returns: classic result cbit """ ...
[文档] def cAlloc_many(cbit_num: int) -> List[ClassicalCondition]: """ Allocate several CBits After init() Args: cbit_num: numbers of cbit want to be created Returns: list of cbit """ ...
[文档] def cFree(cbit: ClassicalCondition) -> None: """ Free a CBit Args: CBit: a CBit Returns: none """ ...
@overload
[文档] def cFree_all() -> None: """ Free all cbits Args: none Returns: none """ ...
@overload def cFree_all(cbit_list: List[ClassicalCondition]) -> None: """ Free all cbits Args: a list of cbits Returns: none """ ... @overload
[文档] def calculate_quantum_volume(noise_qvm: NoiseQVM, qubit_list: List[List[int]], ntrials: int, shots: int = 1000) -> int: """ calculate quantum volume Args: noise_qvm: noise quantum machine qubit_list: qubit list ntrials: ntrials shots: measure shots Returns: result data dict Raises: run_fail: An error occurred in calculate_quantum_volume """ ...
@overload def calculate_quantum_volume(cloud_qvm, qubit_list: List[List[int]], ntrials: int, shots: int = 1000) -> int: """ calculate quantum volume Args: noise_qvm: noise quantum machine qubit_list: qubit list ntrials: ntrials shots: measure shots Returns: result data dict Raises: run_fail: An error occurred in calculate_quantum_volume """ ... @overload def calculate_quantum_volume(config: QCloudTaskConfig, qubit_list: List[List[int]], ntrials: int) -> int: """ calculate quantum volume Args: config: QCloudTaskConfig qubit_list: qubit list ntrials: ntrials Returns: result data dict Raises: run_fail: An error occurred in calculate_quantum_volume """ ...
[文档] def cast_qprog_qcircuit(qprog: QProg) -> QCircuit: """ Cast QProg to QCircuit Args: qprog: quantum prog Returns: none Raises: run_fail: An error occurred in cast_qprog_qcircuit """ ...
[文档] def cast_qprog_qgate(qprog: QProg) -> QGate: """ Cast QProg to QGate Args: qprog: quantum prog Returns: none Raises: run_fail: An error occurred in cast_qprog_qgate """ ...
[文档] def cast_qprog_qmeasure(qprog: QProg) -> QMeasure: """ Cast QProg to QMeasure Args: qprog: quantum prog Returns: none Raises: run_fail: An error occurred in cast_qprog_qmeasure """ ...
[文档] def circuit_layer(qprog: QProg) -> list: """ Quantum circuit layering Args: QProg: quantum prog Returns: result data tuple contains layer info Raises: run_fail: An error occurred in get circuit_layer """ ...
[文档] def circuit_optimizer(qprog: QProg, optimizer_cir_vec: List[Tuple[QCircuit,QCircuit]] = [], mode_list: List[QCircuitOPtimizerMode] = []) -> QProg: """ Optimize QCircuit Args: qprog: quantum program optimizer_cir_vec: quantum circuit list mode_list: optimize mode list Returns: a new prog after optimize """ ...
[文档] def circuit_optimizer_by_config(qprog: QProg, config_file: str = 'QPandaConfig.json', mode_list: List[QCircuitOPtimizerMode] = []) -> QProg: """ QCircuit optimizer Args: qprog: quantum program config_file: optimize config mode_list: optimize mode list Returns: a new prog after optimize """ ...
[文档] def comm_protocol_decode(encode_data: bytes, machine: QuantumMachine) -> Tuple[List[QProg],CommProtocolConfig]: """ decode binary data to comm protocol prog list Args: encode_data: quantum prog_list encode data Returns: result prog list Raises: run_fail: An error occurred in comm_protocol_decode """ ...
@overload
[文档] def comm_protocol_encode(prog: QProg, config: CommProtocolConfig = ...) -> bytes: """ encode comm protocol data to binary data Args: prog: quantum prog config: comm_protocol config Returns: result data list Raises: run_fail: An error occurred in comm_protocol_encode """ ...
@overload def comm_protocol_encode(prog_list: List[QProg], config: CommProtocolConfig = ...) -> bytes: """ encode comm protocol data to binary data Args: prog_list: quantum prog_list config: comm_protocol config Returns: result data list Raises: run_fail: An error occurred in comm_protocol_encode """ ...
[文档] def constModAdd(arg0: QVec, arg1: int, arg2: int, arg3: QVec, arg4: QVec) -> QCircuit: """ Args: QVec qvec int base int module_Num QVec qvec1 QVec qvec2 Returns: result circuit Raises: run_fail: An error occurred in constModAdd """ ...
[文档] def constModExp(arg0: QVec, arg1: QVec, arg2: int, arg3: int, arg4: QVec, arg5: QVec, arg6: QVec) -> QCircuit: """ Args: QVec qvec int base int module_Num QVec qvec1 QVec qvec2 Returns: result circuit Raises: run_fail: An error occurred in constModExp """ ...
[文档] def constModMul(arg0: QVec, arg1: int, arg2: int, arg3: QVec, arg4: QVec, arg5: QVec) -> QCircuit: """ Args: QVec qvec int base int module_Num QVec qvec1 QVec qvec2 Returns: result circuit Raises: run_fail: An error occurred in constModMul """ ...
[文档] def convert_binary_data_to_qprog(machine: QuantumMachine, data: List[int]) -> QProg: """ Parse binary data to quantum program Args: machine: quantum machine data: quantum prog data Returns: quantum prog Raises: run_fail: An error occurred in convert_binary_data_to_qprog """ ...
[文档] def convert_originir_str_to_qprog(originir_str: str, machine: QuantumMachine) -> list: """ Trans OriginIR to QProg Args: originir_str: OriginIR string machine: initialized quantum machine Returns: list cotains QProg, qubit_list, cbit_listRaises: run_fail: An error occurred in convert_originir_str_to_qprog """ ...
[文档] def convert_originir_to_qprog(file_path: str, machine: QuantumMachine) -> list: """ Read OriginIR file and trans to QProg Args: file_path: OriginIR file path machine: initialized quantum machine Returns: list cotains QProg, qubit_list, cbit_listRaises: run_fail: An error occurred in convert_originir_to_qprog """ ...
[文档] def convert_qasm_string_to_qprog(qasm_str: str, machine: QuantumMachine) -> list: """ Trans QASM to QProg Args: qasm_str: QASM string machine: initialized quantum machine Returns: list cotains QProg, qubit_list, cbit_list """ ...
[文档] def convert_qasm_to_qprog(file_path: str, machine: QuantumMachine) -> list: """ Read QASM file and trans to QProg Args: file_path: QASM file path machine: initialized quantum machine Returns: list cotains QProg, qubit_list, cbit_listRaises: run_fail: An error occurred in convert_qasm_to_qprog """ ...
@overload
[文档] def convert_qprog_to_binary(qprog: QProg, machine: QuantumMachine) -> List[int]: """ Trans quantum program to binary data Args: machine: quantum machine qprog: quantum prog Returns: string for binary data """ ...
@overload def convert_qprog_to_binary(qprog: QProg, machine: QuantumMachine, fname: str) -> None: """ Store quantum program in binary file Args: machine: quantum machine qprog: quantum prog fname: binary data file name Returns: none """ ...
[文档] def convert_qprog_to_originir(qprog: QProg, machine: QuantumMachine) -> str: """ Args: qprog: quantum prog machine: quantum machine Returns: originir : originir string , see originir indroduction :https://pyqpanda-toturial.readthedocs.io/zh/latest/QProgToOriginIR.html """ ...
[文档] def convert_qprog_to_qasm(qprog: QProg, machine: QuantumMachine) -> str: """ Convert QProg to QASM instruction string Args: machine: quantum machine qprog: quantum prog Returns: qsm string stores prog Raises: run_fail: An error occurred in convert_qprog_to_qasm """ ...
[文档] def convert_qprog_to_quil(qprog: QProg, machine: QuantumMachine) -> str: """ convert QProg to Quil instruction Args: qprog: QProg machine: quantum machine Returns: Quil instruction string """ ...
[文档] def cos(arg0: var) -> var: """ """ ...
@overload
[文档] def count_gate(quantum_prog: QProg) -> int: """ Count quantum gate num under quantum program, quantum circuit Args: prog : quantum_prog Returns: result: gate count Raises: run_fail: An error occurred in get_qgate_num """ ...
@overload def count_gate(quantum_circuit: QCircuit) -> int: """ Count quantum gate num under quantum program, quantum circuit Args: circuit : quantum_circuit Returns: result: gate count Raises: run_fail: An error occurred in get_qgate_num """ ... @overload
[文档] def count_prog_info(node: QProg, selected_types: List[GateType] = []) -> ProgCount: """ count quantum program info Args: qprog: QProg optimize: whether to enable the optimization circuit switch. Returns: ProgCount struct """ ...
@overload def count_prog_info(node: QCircuit, selected_types: List[GateType] = []) -> ProgCount: """ count quantum program info Args: qprog: QProg optimize: whether to enable the optimization circuit switch. Returns: ProgCount struct """ ... @overload
[文档] def count_qgate_num(prog: QProg, gate_type: int = -1) -> int: """ Count quantum gate num under quantum program Args: quantum_prog: QProg& gtype: const GateType Returns: this GateType quantum gate num """ ...
@overload def count_qgate_num(circuit: QCircuit, gate_type: int = -1) -> int: """ Count quantum gate num under quantum program Args: quantum_circuit: QCircuit& gtype: const GateType Returns: this GateType quantum gate num """ ...
[文档] def create_empty_circuit() -> QCircuit: """ Create an empty QCircuit Container Args: none Returns: a empty QCircuit """ ...
[文档] def create_empty_qprog() -> QProg: """ Create an empty QProg Container Args: none Returns: a empty QProg """ ...
@overload
[文档] def create_if_prog(classical_condition: ClassicalCondition, true_node: QProg) -> QIfProg: """ Create a classical quantum IfProg Args: classical_condition: quatum cbit true_node: quantum IfProg qnode Returns: a classical quantum IfProg """ ...
@overload def create_if_prog(classical_condition: ClassicalCondition, true_node: QProg, false_node: QProg) -> QIfProg: """ Create a classical quantum IfProg Args: classical_condition: quatum cbit true_node: quantum IfProg true qnode false_node: quantum IfProg false qnode Returns: a classical quantum IfProg """ ...
[文档] def create_while_prog(classical_condition: ClassicalCondition, true_node: QProg) -> QWhileProg: """ Create a WhileProg Args: classical_condition: quatum cbit true_node: quantum QWhile qnode Returns: a WhileProg """ ...
[文档] def crossEntropy(arg0: var, arg1: var) -> var: """ """ ...
@overload
[文档] def decompose_multiple_control_qgate(qprog: QProg, machine: QuantumMachine, config_file: str = 'QPandaConfig.json') -> QProg: """ Decompose multiple control QGate Args: qprog: quantum program machine: quantum machine config_file: config file Returns: a new prog after decomposition """ ...
@overload def decompose_multiple_control_qgate(qprog: QProg, machine: QuantumMachine, convert_single_gates: List[str], convert_double_gates: List[str], b_transform_to_base_qgate: bool = True) -> QProg: """ Decompose multiple control QGate Args: qprog: quantum program machine: quantum machine convert_single_gates: quantum single gates sets convert_double_gates: quantum double gates sets transform_to_base_qgate: transform to base qgate sets Returns: a new prog after decomposition """ ... @overload
[文档] def deep_copy(node: QProg) -> QProg: """ """ ...
@overload def deep_copy(node: QCircuit) -> QCircuit: """ """ ... @overload def deep_copy(node: QGate) -> QGate: """ """ ... @overload def deep_copy(node: QMeasure) -> QMeasure: """ """ ... @overload def deep_copy(node: ClassicalProg) -> ClassicalProg: """ """ ... @overload def deep_copy(node: QIfProg) -> QIfProg: """ """ ... @overload def deep_copy(node: QWhileProg) -> QWhileProg: """ """ ...
[文档] def del_weak_edge(topo_data: List[List[int]]) -> None: """ Delete weakly connected edges Args: topo_data: quantum program topo_data Returns: none Raises: run_fail: An error occurred in del_weak_edge """ ...
[文档] def del_weak_edge2(topo_data: List[List[int]], max_connect_degree: int, sub_graph_set: List[int]) -> list: """ Delete weakly connected edges Args: topo_data: quantum program topo_data max_connect_degree: max value of connect degree sub_graph_set: sub graph set list Returns: result data Raises: run_fail: An error occurred in del_weak_edge2 """ ...
[文档] def del_weak_edge3(topo_data: List[List[int]], sub_graph_set: List[int], max_connect_degree: int, lamda1: float, lamda2: float, lamda3: float) -> list: """ Delete weakly connected edges Args: topo_data: quantum program topo_data max_connect_degree: max value of connect degree sub_graph_set: sub graph set list lamda1: lamda1 lamda2: lamda2 lamda3: lamda3 Returns: result data Raises: run_fail: An error occurred in del_weak_edge3 """ ...
[文档] def destroy_quantum_machine(machine: QuantumMachine) -> None: """ Destroy a quantum machine Args: machine: type should be one of CPUQVM, CPUSingleThreadQVM, GPUQVM, NoiseQVM Returns: noneRaises: run_fail: An error occurred in destroy_quantum_machine """ ...
[文档] def directly_run(qprog: QProg, noise_model: Noise = NoiseModel()) -> Dict[str,bool]: """ Directly run quantum prog After init() Args: qprog: quantum program noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: Dict[str, bool]: result of quantum program execution one shot. first is the final qubit register state, second is it's measure probability """ ...
@overload
[文档] def div(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def div(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ... @overload def div(arg0: int, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def dot(arg0: var, arg1: var) -> var: """ """ ...
@overload
[文档] def double_gate_xeb(config: QCloudTaskConfig, qubit0: int, qubit1: int, clifford_range: List[int], num_circuits: int, gate_type: GateType = GateType.CZ_GATE) -> Dict[int,float]: """ double gate xeb Args: qvm: quantum machine qubit0: double qubit 0 qubit1: double qubit 1 clifford_range: clifford range list num_circuits: the num of circuits interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in double_gate_xeb """ ...
@overload def double_gate_xeb(qvm: QuantumMachine, qubit0: Qubit, qubit1: Qubit, clifford_range: List[int], num_circuits: int, shots: int, chip_id: int = 2, gate_type: GateType = GateType.CZ_GATE) -> Dict[int,float]: """ double gate xeb Args: qvm: quantum machine qubit0: double qubit 0 qubit1: double qubit 1 clifford_range: clifford range list num_circuits: the num of circuits shots: measure shots chip type: RealChipType interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in double_gate_xeb """ ... @overload
[文档] def double_qubit_rb(qvm: QuantumMachine, qubit0: Qubit, qubit1: Qubit, clifford_range: List[int], num_circuits: int, shots: int, chip_id: int = 2, interleaved_gates: List[QGate] = []) -> Dict[int,float]: """ double qubit rb with WU YUAN chip Args: qvm: quantum machine qubit0: double qubit 0 qubit1: double qubit 1 clifford_range: clifford range list num_circuits: the num of circuits shots: measure shots chip type: RealChipType interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in double_qubit_rb """ ...
@overload def double_qubit_rb(config: QCloudTaskConfig, qubit0: int, qubit1: int, clifford_range: List[int], num_circuits: int, interleaved_gates: List[QGate] = []) -> Dict[int,float]: """ double qubit rb with origin chip Args: config: QCloudTaskConfig qubit0: double qubit 0 qubit1: double qubit 1 clifford_range: clifford range list num_circuits: the num of circuits interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in double_qubit_rb """ ...
[文档] def draw_qprog_latex(prog: QProg, auto_wrap_len: int = 100, output_file: str = 'QCircuit.tex', with_logo: bool = False, itr_start: NodeIter = NodeIter(), itr_end: NodeIter = NodeIter()) -> str: """ Convert a quantum prog/circuit to latex source code, and save the source code to file in current path with name QCircuit.tex Args: QProg: quantum prog auto_wrap_len: defaut is 100 output_file: result output file name itr_start: nodeiter start itr_end: nodeiter end Returns: result data tuple contains prog info Raises: run_fail: An error occurred in get draw_qprog_text """ ...
[文档] def draw_qprog_latex_with_clock(prog: QProg, config_data: str = 'QPandaConfig.json', auto_wrap_len: bool = 100, output_file: int = 'QCircuit.tex', with_logo: str = False, itr_start: NodeIter = NodeIter(), itr_end: NodeIter = NodeIter()) -> str: """ Convert a quantum prog/circuit to latex source code with time sequence, and save the source code to file in current path with name QCircuit.tex Args: QProg: quantum prog config_data: default config file is QPandaConfig.json auto_wrap_len: defaut is 100 output_file: result output file name itr_start: nodeiter start itr_end: nodeiter end Returns: result data tuple contains prog info Raises: run_fail: An error occurred in get draw_qprog_text """ ...
[文档] def draw_qprog_text(qprog: QProg, auto_wrap_len: int = 100, output_file: str = 'QCircuitTextPic.txt', itr_start: NodeIter = NodeIter(), itr_end: NodeIter = NodeIter()) -> str: """ Convert a quantum prog/circuit to text-pic(UTF-8 code), and will save the text-pic in file named QCircuitTextPic.txt in the same time in current path Args: QProg: quantum prog auto_wrap_len: defaut is 100 output_file: result output file name itr_start: nodeiter start itr_end: nodeiter end Returns: result data tuple contains prog info Raises: run_fail: An error occurred in get draw_qprog_text """ ...
[文档] def draw_qprog_text_with_clock(prog: QProg, config_data: str = 'QPandaConfig.json', auto_wrap_len: int = 100, output_file: str = 'QCircuitTextPic.txt', itr_start: NodeIter = NodeIter(), itr_end: NodeIter = NodeIter()) -> str: """ Convert a quantum prog/circuit to text-pic(UTF-8 code) with time sequence, and will save the text-pic in file named QCircuitTextPic.txt in the same time in current path Args: QProg: quantum prog auto_wrap_len: defaut is 100 output_file: result output file name itr_start: nodeiter start itr_end: nodeiter end Returns: result data tuple contains prog info Raises: run_fail: An error occurred in get draw_qprog_text """ ...
[文档] def dropout(arg0: var, arg1: var) -> var: """ """ ...
@overload
[文档] def equal(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def equal(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ... @overload def equal(arg0: int, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def estimate_topology(topo_data: List[List[int]]) -> float: """ Evaluate topology performance Args: topo_data: quantum program topo data Returns: result data Raises: run_fail: An error occurred in estimate_topology """ ...
@overload
[文档] def eval(arg0: var, arg1: bool) -> numpy.ndarray[numpy.float64[m,n]]: """ """ ...
@overload def eval(arg0: var) -> numpy.ndarray[numpy.float64[m,n]]: """ """ ...
[文档] def exp(arg0: var) -> var: """ """ ...
[文档] def expMat(arg0: complex, arg1: numpy.ndarray[numpy.complex128[m,n]], arg2: float) -> numpy.ndarray[numpy.complex128[m,n]]: """ calculate the matrix power of e """ ...
@overload
[文档] def expand_linear_equations(matrix: List[complex], list: List[float]) -> list: """ Extending linear equations to N dimension, N = 2 ^ n Args: matrix: the source matrix, which will be extend to N*N, N = 2 ^ n list: the source vector b, which will be extend to 2 ^ n """ ...
@overload def expand_linear_equations(matrix: List[complex], list: List[float]) -> list: """ Extending linear equations to N dimension, N = 2 ^ n Args: matrix: the source matrix, which will be extend to N*N, N = 2 ^ n list: the source vector b, which will be extend to 2 ^ n """ ...
[文档] def fill_qprog_by_I(qprog: QProg) -> QProg: """ Fill the input QProg by I gate, return a new quantum program Args: prog: quantum prog Returns: a new quantum program Raises: run_fail: An error occurred in get fill_qprog_by_I """ ...
[文档] def finalize() -> None: """ Finalize the environment and destory global unique quantum machine. Args: none Returns: none """ ...
[文档] def fit_to_gbk(utf8_str: str) -> str: """ Special character conversion Args: utf8_str: string using utf-8 encode Returns: result string Raises: run_fail: An error occurred in get fit_to_gbk """ ...
@overload
[文档] def flatten(qprog: QProg) -> None: """ Flatten quantum program Args: qprog: quantum prog Returns: none """ ...
@overload def flatten(qcircuit: QCircuit) -> None: """ Flatten quantum circuit Args: qprog: quantum circuit Returns: none """ ...
[文档] def getAllocateCMem() -> int: """ Deprecated, use get_allocate_cmem_num instead Args: none Returns: allocate qubit num Raises: run_fail: An error occurred in get_allocate_cmem_num """ ...
[文档] def getAllocateQubitNum() -> int: """ Deprecated, use get_allocate_qubit_num instead Args: none Returns: allocate cbit num Raises: run_fail: An error occurred in get_allocate_qubit_num """ ...
[文档] def get_adjacent_qgate_type(qprog: QProg, node_iter: NodeIter) -> List[NodeInfo]: """ Get the adjacent quantum gates's(the front one and the back one) typeinfo from QProg Args: qprog: target quantum program node_iter: gate node iter in qprog Returns: the front one and back node info of node_iter in qprog """ ...
[文档] def get_all_used_qubits(qprog: QProg) -> List[Qubit]: """ Get all the used quantum bits in the input prog Args: qprog: quantum program Returns: all used qubits """ ...
[文档] def get_all_used_qubits_to_int(qprog: QProg) -> List[int]: """ Get all the used quantum bits addr in the input prog Args: qprog: quantum program Returns: all used qubits """ ...
[文档] def get_allocate_cbits() -> List[ClassicalCondition]: """ Get allocated cbits of QuantumMachine Args: none Returns: cbit list Raises: run_fail: An error occurred in allocated cbits of QuantumMachine """ ...
[文档] def get_allocate_cmem_num() -> int: """ get allocate cmem num Args: none Returns: qubit_num : allocate cbit num Raises: run_fail: An error occurred in get_allocate_cmem_num """ ...
[文档] def get_allocate_qubit_num() -> int: """ get allocate qubit num Args: none Returns: qubit_num : allocate qubit num Raises: run_fail: An error occurred in get_allocate_qubit_num """ ...
[文档] def get_allocate_qubits() -> List[Qubit]: """ Get allocated qubits of QuantumMachine Args: none Returns: qubit list Raises: run_fail: An error occurred in allocated qubits of QuantumMachine """ ...
[文档] def get_bin_data(qprog: QProg) -> List[int]: """ Get quantum program binary data Args: qprog: QProg machine: quantum machine Returns: binary data in list """ ...
[文档] def get_bin_str(qprog: QProg, machine: QuantumMachine) -> str: """ Transfor quantum program to string Args: machine: quantum machine qprog: quantum prog Returns: string for bin_str """ ...
[文档] def get_circuit_optimal_topology(qprog: QProg, machine: QuantumMachine, max_connect_degree: int, config_file: str = 'QPandaConfig.json') -> List[List[int]]: """ Get the optimal topology of the input circuit Args: qprog: quantum program machine: quantum machine max_connect_degree: max value of connect degree config_file: config file Returns: Topology prog DataRaises: run_fail: An error occurred in get_circuit_optimal_topology """ ...
[文档] def get_clock_cycle(qpog: QProg) -> int: """ Get quantum program clock cycle Args: qprog: QProg Returns: clock_cycle """ ...
[文档] def get_complex_points(topo_data: List[List[int]], max_connect_degree: int) -> List[int]: """ Get complex points Args: topo_data: quantum program topo_data max_connect_degree: max value of connect degree Returns: complex points list Raises: run_fail: An error occurred in get_complex_points """ ...
[文档] def get_double_gate_block_topology(qprog: QProg) -> List[List[int]]: """ get double gate block topology Args: qprog: quantum program Returns: Topology prog DataRaises: run_fail: An error occurred in get_double_gate_block_topology """ ...
[文档] def get_matrix(qprog: QProg, positive_seq: bool = False, nodeitr_start: NodeIter = NodeIter(), nodeitr_end: NodeIter = NodeIter()) -> List[complex]: """ Get the target matrix between the input two Nodeiters Args: qprog: quantum program positive_seq: Qubit order of output matrix true for positive sequence(q0q1q2), false for inverted order(q2q1q0), default is false nodeiter_start: the start NodeIter nodeiter_end: the end NodeIter Returns: target matrix include all the QGate's matrix (multiply) """ ...
[文档] def get_prob_dict(qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ Get pmeasure result as dict Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_dict """ ...
[文档] def get_prob_list(qubit_list: QVec, select_max: int = -1) -> List[float]: """ Get pmeasure result as list Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_prob_list """ ...
@overload
[文档] def get_qgate_num(quantum_prog: QProg) -> int: """ Count quantum gate num under quantum program, quantum circuit Args: prog : quantum_prog Returns: result: gate count Raises: run_fail: An error occurred in get_qgate_num """ ...
@overload def get_qgate_num(quantum_circuit: QCircuit) -> int: """ Count quantum gate num under quantum program, quantum circuit Args: circuit : quantum_circuit Returns: result: gate count Raises: run_fail: An error occurred in get_qgate_num """ ... @overload def get_qgate_num(qprog: QProg) -> int: """ Count quantum gate num under quantum program Args: qprog: quantum prog Returns: quantum gate num under quantum program """ ...
[文档] def get_qprog_clock_cycle(qprog: QProg, machine: QuantumMachine, optimize: bool = False) -> int: """ Get Quantum Program Clock Cycle Args: qprog: quantum program machine: quantum machine optimize: optimize qprog Returns: QProg time comsume, no unit, not in seconds """ ...
@overload
[文档] def get_qstate() -> List[complex]: """ """ ...
@overload def get_qstate() -> Any: """ """ ...
[文档] def get_sub_graph(topo_data: List[List[int]]) -> List[int]: """ Get sub graph Args: topo_data: quantum program topo data Returns: sub graph Raises: run_fail: An error occurred in sub graph """ ...
[文档] def get_tuple_list(qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Get pmeasure result as tuple list Args: qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in get_tuple_list """ ...
[文档] def get_unitary(qprog: QProg, positive_seq: bool = False, nodeitr_start: NodeIter = NodeIter(), nodeitr_end: NodeIter = NodeIter()) -> List[complex]: """ Get the target matrix between the input two Nodeiters Args: qprog: quantum program positive_seq: Qubit order of output matrix true for positive sequence(q0q1q2), false for inverted order(q2q1q0), default is false nodeiter_start: the start NodeIter nodeiter_end: the end NodeIter Returns: target matrix include all the QGate's matrix (multiply) """ ...
[文档] def get_unsupport_qgate_num(qprog: QProg, support_gates: List[List[str]]) -> int: """ Count quantum program unsupported gate numner Args: qprog: quantum prog support_gates: support_gates Returns: unsupported gate numner """ ...
[文档] def getstat(*args, **kwargs) -> Any: """ Get the status of the Quantum machine Args: none Returns: the status of the Quantum machine, see QMachineStatus Raises: init_fail: An error occurred """ ...
@overload
[文档] def iSWAP(first_qubit: Qubit, second_qubit: Qubit) -> QGate: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ...
@overload def iSWAP(first_qubit_list: QVec, second_qubit_list: QVec) -> QCircuit: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def iSWAP(first_qubit_addr: int, second_qubit_addr: int) -> QGate: """ """ ... @overload def iSWAP(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int]) -> QCircuit: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def iSWAP(first_qubit: Qubit, second_qubit: Qubit, theta_angle: float) -> QGate: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def iSWAP(first_qubit_list: QVec, second_qubit_list: QVec, theta_angle: float) -> QCircuit: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def iSWAP(first_qubit_addr: int, second_qubit_addr: int, theta_angle: float) -> QGate: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ... @overload def iSWAP(first_qubit_addr_list: List[int], second_qubit_addr_list: List[int], theta_angle: float) -> QCircuit: """ Returns: a iSWAP gate node Raises: run_fail: An error occurred in construct gate node """ ...
[文档] def init(machine_type: QMachineType = QMachineType.CPU) -> bool: """ Init the global unique quantum machine at background. Args: machine_type: quantum machine type, see pyQPanda.QMachineType Returns: bool: ture if initialization success """ ...
[文档] def init_quantum_machine(machine_type: QMachineType = QMachineType.CPU) -> QuantumMachine: """ Create and initialize a new quantum machine, and let it be global unique quantum machine Args: machine_type: quantum machine type, see pyQPanda.QMachineType Returns: the quantum machine, type is depend on machine_type QMachineType.CPU --> pyQPanda.CPUQVM QMachineType.CPU_SINGLE_THREAD --> pyQPanda.CPUSingleThreadQVM QMachineType.GPU --> pyQPanda.GPUQVM (if pyQPanda is build with GPU) QMachineType.NOISE --> pyQPanda.NoiseQVM return None if initial machine faild Raises: init_fail: An error occurred in init_quantum_machine """ ...
[文档] def inverse(arg0: var) -> var: """ """ ...
[文档] def isCarry(arg0: QVec, arg1: QVec, arg2: Qubit, arg3: Qubit) -> QCircuit: """ Construct a circuit to determine if there is a carry """ ...
[文档] def is_match_topology(gate: QGate, topo: List[List[float]]) -> bool: """ Judge the QGate if match the target topologic structure of quantum circuit Args: gate: QGate topo: the target topologic structure of quantum circuit Returns: true if match, else false """ ...
[文档] def is_supported_qgate_type(nodeitr: NodeIter) -> bool: """ Judge if the target node is a QGate type Args: node_iter: node iter in qprog Returns: true ir false if the target node is a QGate type """ ...
[文档] def is_swappable(prog: QProg, nodeitr_1: NodeIter, nodeitr_2: NodeIter) -> bool: """ Judge the specialed two NodeIters in qprog whether can be exchanged Args: qprog: target quantum program node_iter1: node iter 1 in qprog node_iter2: node iter 2 in qprog Returns: true ir false for two NodeIters in qprog whether can be exchanged """ ...
[文档] def iterative_amplitude_estimation(arg0: QCircuit, arg1: QVec, arg2: float, arg3: float) -> float: """ estimate the probability corresponding to the ground state |1> of the last bit Args: QCircuit: quantum circuit qvec: qubit list double: epsilon double: confidence Returns: result iterative amplitude Raises: run_fail: An error occurred in iterative_amplitude_estimation """ ...
[文档] def ldd_decompose(qprog: QProg) -> QProg: """ Decompose multiple control QGate Args: qprog: quantum program Returns: a new prog after decomposition """ ...
[文档] def log(arg0: var) -> var: """ """ ...
@overload
[文档] def matrix_decompose(qubits: QVec, matrix: numpy.ndarray[numpy.complex128[m,n]], mode: DecompositionMode = DecompositionMode.QSD, b_positive_seq: bool = True) -> QCircuit: """ Matrix decomposition Args: qubits: the used qubits matrix: The target matrix mode: DecompositionMode decomposition mode, default is QSD b_positive_seq: true for positive sequence(q0q1q2), false for inverted order(q2q1q0), default is true Returns: QCircuit The quantum circuit for target matrix """ ...
@overload def matrix_decompose(qubits: QVec, matrix: List[complex], mode: DecompositionMode = DecompositionMode.QSD, b_positive_seq: bool = True) -> QCircuit: """ Matrix decomposition Args: qubits: the used qubits matrix: The target matrix mode: DecompositionMode decomposition mode, default is QSD b_positive_seq: true for positive sequence(q0q1q2), false for inverted order(q2q1q0), default is true Returns: QCircuit The quantum circuit for target matrix """ ... @overload
[文档] def matrix_decompose_paulis(arg0: QuantumMachine, arg1: numpy.ndarray[numpy.float64[m,n]]) -> List[Tuple[float,QCircuit]]: """ decompose matrix into paulis combination Args: quantum_machine: quantum machine matrix: 2^N *2^N double matrix Returns: result : linearcom contains pauli circuit """ ...
@overload def matrix_decompose_paulis(arg0: QVec, arg1: numpy.ndarray[numpy.float64[m,n]]) -> List[Tuple[float,QCircuit]]: """ decompose matrix into paulis combination Args: quantum_machine: quantum machine matrix: 2^N *2^N double matrix Returns: result : linearcom contains pauli circuit """ ... @overload
[文档] def measure_all(qubit_list: QVec, cbit_list: List[ClassicalCondition]) -> QProg: """ Create a list of measure node Args: qubit_list : measure qubits cbit_list : cbits stores quantum measure result Returns: a list of measure node """ ...
@overload def measure_all(qubit_addr_list: List[int], cbit_addr_list: List[int]) -> QProg: """ Create a list of measure node Args: qubit_list : measure qubits list cbit_list : cbits stores quantum measure result Returns: a list of measure node """ ... @overload
[文档] def mul(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def mul(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ... @overload def mul(arg0: int, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def originir_to_qprog(file_path: str, machine: QuantumMachine) -> QProg: """ Read OriginIR file and trans to QProg Args: file_path: OriginIR file path machine: initialized quantum machine Returns: Transformed QProgRaises: run_fail: An error occurred in originir_to_qprog """ ...
[文档] def pauli_combination_replace(arg0: List[Tuple[float,QCircuit]], arg1: QuantumMachine, arg2: str, arg3: str) -> List[Tuple[float,QCircuit]]: """ """ ...
[文档] def planarity_testing(topo_data: List[List[int]]) -> bool: """ planarity testing Args: topo_data: quantum program topo data Returns: result data Raises: run_fail: An error occurred in planarity_testing """ ...
[文档] def pmeasure(qubit_list: QVec, select_max: int) -> List[Tuple[int,float]]: """ Get the probability distribution over qubits Args: qubit_list: qubit list to measure select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine in tuple form """ ...
[文档] def pmeasure_no_index(qubit_list: QVec) -> List[float]: """ Get the probability distribution over qubits Args: qubit_list: qubit list to measure Returns: measure result of quantum machine in list form """ ...
[文档] def poly(arg0: var, arg1: var) -> var: """ """ ...
[文档] def prob_run_dict(qprog: QProg, qubit_list: QVec, select_max: int = -1) -> Dict[str,float]: """ Run quantum program and get pmeasure result as dict Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def prob_run_list(qprog: QProg, qubit_list: QVec, select_max: int = -1) -> List[float]: """ Run quantum program and get pmeasure result as list Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in measure quantum program """ ...
[文档] def prob_run_tuple_list(qptog: QProg, qubit_list: QVec, select_max: int = -1) -> List[Tuple[int,float]]: """ Run quantum program and get pmeasure result as tuple list Args: qprog: quantum program qubit_list: pmeasure qubits list select_max: max returned element num in returnd tuple, should in [-1, 1<<len(qubit_list)] default is -1, means no limit Returns: measure result of quantum machine Raises: run_fail: An error occurred in prob_run_tuple_list """ ...
[文档] def prog_layer(*args, **kwargs) -> Any: """ """ ...
[文档] def prog_to_dag(prog: QProg) -> QProgDAG: """ """ ...
@overload
[文档] def qAlloc() -> Qubit: """ Create a qubit After init() Returns: a new qubit. None, if quantum machine had created max number of qubit, which is 29 """ ...
@overload def qAlloc(qubit_addr: int) -> Qubit: """ Allocate a qubits After init() Args: qubit_addr: qubit physic address, should in [0,29) Returns: pyQPanda.Qubit: None, if qubit_addr error, or reached max number of allowed qubit """ ...
[文档] def qAlloc_many(qubit_num: int) -> List[Qubit]: """ Allocate several qubits After init() Args: qubit_num: numbers of qubit want to be created Returns: list[pyQPanda.Qubit]: list of qubit """ ...
[文档] def qFree(qubit: Qubit) -> None: """ Free a qubit Args: Qubit: a qubit Returns: none """ ...
@overload
[文档] def qFree_all() -> None: """ Free all qubits Args: none Returns: none """ ...
@overload def qFree_all(qubit_list: QVec) -> None: """ Free a list of qubits Args: a list of qubits Returns: none """ ... @overload
[文档] def qop(VariationalQuantumCircuit: VariationalQuantumCircuit, Hamiltonian, QuantumMachine: QuantumMachine, qubitList: List[Qubit]) -> var: """ """ ...
@overload def qop(VariationalQuantumCircuit: VariationalQuantumCircuit, Hamiltonian, QuantumMachine: QuantumMachine, qubitList: Dict[int,Qubit]) -> var: """ """ ...
[文档] def qop_pmeasure(arg0: VariationalQuantumCircuit, arg1: List[int], arg2: QuantumMachine, arg3: List[Qubit]) -> var: """ """ ...
[文档] def quantum_chip_adapter(qprog: QProg, machine: QuantumMachine, mapping: bool = True, config_file: str = 'QPandaConfig.json') -> list: """ Quantum chip adaptive conversion Args: qprog: quantum program machine: quantum machine mapping: whether or not perform the mapping operation config_file: config file Returns: list contains qprog and qubit_list after mapping, if mapping is false, the qubit_list may be misoperated """ ...
[文档] def quantum_walk_alg(*args, **kwargs) -> Any: """ Build quantum-walk algorithm quantum circuit """ ...
[文档] def quick_measure(qubit_list: QVec, shots: int) -> Dict[str,int]: """ Quick measure Args: qubit_list: qubit list to measure shots: the repeat num of measure operate Returns: result of quantum programRaises: run_fail: An error occurred in measure quantum program """ ...
[文档] def random_qcircuit(qvec: QVec, depth: int = 100, gate_type: List[str] = []) -> QCircuit: """ Generate random quantum circuit Args: qubit_row: circuit qubit row value qubit_col: circuit qubit col value depth: circuit depth qvm: quantum machine qvec: out put circuits for random circuit Returns: random quantum program Raises: run_fail: An error occurred in generate random circuit """ ...
[文档] def random_qprog(qubit_row: int, qubit_col: int, depth: int, qvm: QuantumMachine, qvec: QVec) -> QProg: """ Generate random quantum program Args: qubit_row: circuit qubit row value qubit_col: circuit qubit col value depth: circuit depth qvm: quantum machine qvec: out put circuits for random qprog Returns: random quantum program Raises: run_fail: An error occurred in generate random qprog """ ...
[文档] def recover_edges(topo_data: List[List[int]], max_connect_degree: int, candidate_edges: List[Tuple[int,List[int]]]) -> List[List[int]]: """ Recover edges from the candidate edges Args: topo_data: quantum program topo_data max_connect_degree: max value of connect degree candidate_edges: candidate edges Returns: topo data Raises: run_fail: An error occurred in recover_edges """ ...
[文档] def remap(prog: QProg, target_qlist: QVec, target_clist: List[ClassicalCondition] = []) -> QProg: """ Source qunatum program is mapped to the target qubits Args: prog: source quantum progprom target_qlist: target qubits target_clist: target cbits Returns: target quantum program """ ...
[文档] def replace_complex_points(src_topo_data: List[List[int]], max_connect_degree: int, sub_topo_vec: List[Tuple[int,List[List[int]]]]) -> None: """ Replacing complex points with subgraphs Args: src_topo_data: quantum program source topo data max_connect_degree: max value of connect degree sub_topo_vec: sub topo list Returns: none Raises: run_fail: An error occurred in replace_complex_points """ ...
@overload
[文档] def run_with_configuration(program: QProg, cbit_list: List[ClassicalCondition], shots: int, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program cbit_list: classic cbits list shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ...
@overload def run_with_configuration(program: QProg, shots: int, noise_model: Noise = NoiseModel()) -> Dict[str,int]: """ Run quantum program with configuration Args: program: quantum program cbit_list: classic cbits list shots: repeate run quantum program times noise_model: noise model, default is no noise. noise model only work on CPUQVM now Returns: result of quantum program execution in shots. first is the final qubit register state, second is it's hit shotRaises: run_fail: An error occurred in measure quantum program """ ... @overload
[文档] def sabre_mapping(prog: QProg, quantum_machine: QuantumMachine, init_map: List[int], max_look_ahead: int = 20, max_iterations: int = 10, config_data: str = 'QPandaConfig.json') -> QProg: """ sabre mapping Args: prog: the target prog quantum_machine: quantum machine init_map: init map max_look_ahead: sabre_mapping max_look_ahead max_iterations: sabre_mapping max_iterations config_data: config data, @See JsonConfigParam::load_config() Returns: mapped quantum program """ ...
@overload def sabre_mapping(prog: QProg, quantum_machine: QuantumMachine, init_map: List[int], max_look_ahead: int, max_iterations: int, arch_matrix: numpy.ndarray[numpy.float64[m,n]]) -> QProg: """ sabre mapping Args: prog: the target prog quantum_machine: quantum machine init_map: init map max_look_ahead: sabre_mapping max_look_ahead, default is 20 max_iterations: sabre_mapping max_iterations, default is 10 arch_matrix: arch matrix Returns: mapped quantum program """ ... @overload def sabre_mapping(prog: QProg, quantum_machine: QuantumMachine, max_look_ahead: int = 20, max_iterations: int = 10, config_data: str = 'QPandaConfig.json') -> QProg: """ sabre mapping Args: prog: the target prog quantum_machine: quantum machine max_look_ahead: sabre_mapping max_look_ahead max_iterations: sabre_mapping max_iterations config_data: config data, @See JsonConfigParam::load_config() Returns: mapped quantum program """ ... @overload def sabre_mapping(prog: QProg, quantum_machine: QuantumMachine, max_look_ahead: int, max_iterations: int, arch_matrix: numpy.ndarray[numpy.float64[m,n]]) -> QProg: """ sabre mapping Args: prog: the target prog quantum_machine: quantum machine max_look_ahead: sabre_mapping max_look_ahead, default is 20 max_iterations: sabre_mapping max_iterations, default is 10 arch_matrix: arch matrix Returns: mapped quantum program """ ...
[文档] def sigmoid(arg0: var) -> var: """ """ ...
[文档] def sin(arg0: var) -> var: """ """ ...
@overload
[文档] def single_qubit_rb(qvm: QuantumMachine, qubit: Qubit, clifford_range: List[int], num_circuits: int, shots: int, chip_id: int = 2, interleaved_gates: List[QGate] = []) -> Dict[int,float]: """ Single qubit rb with WU YUAN chip Args: qvm: quantum machine qubit: single qubit clifford_range: clifford range list num_circuits: the num of circuits shots: measure shots chip type: RealChipType interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in single_qubit_rb """ ...
@overload def single_qubit_rb(config: QCloudTaskConfig, qubit: int, clifford_range: List[int], num_circuits: int, interleaved_gates: List[QGate] = []) -> Dict[int,float]: """ Single qubit rb with origin chip Args: config: quantum QCloudTaskConfig qubit: single qubit clifford_range: clifford range list num_circuits: the num of circuits interleaved_gates: interleaved gates list Returns: result data dict Raises: run_fail: An error occurred in single_qubit_rb """ ...
[文档] def softmax(arg0: var) -> var: """ """ ...
[文档] def split_complex_points(complex_points: List[int], max_connect_degree: int, topo_data: List[List[int]], split_method: ComplexVertexSplitMethod = ComplexVertexSplitMethod.LINEAR) -> List[Tuple[int,List[List[int]]]]: """ Splitting complex points into multiple points Args: topo_data: quantum program topo_data max_connect_degree: max value of connect degree complex_points: complex points list split_method: see ComplexVertexSplitMethod, default is ComplexVertexSplitMethod.LINEAR Returns: none Raises: run_fail: An error occurred in split_complex_points """ ...
[文档] def stack(arg0: int, *args) -> var: """ """ ...
@overload
[文档] def state_fidelity(state1: List[complex], state2: List[complex]) -> float: """ compare two quantum states , Get the state fidelity Args: state1: quantum state list 1 state2: quantum state list 2 Returns: state fidelity bewteen [0,1] """ ...
@overload def state_fidelity(matrix1: List[List[complex]], matrix2: List[List[complex]]) -> float: """ compare two quantum states matrix, Get the state fidelity Args: state1: quantum state matrix 1 state2: quantum state matrix 2 Returns: state fidelity bewteen [0,1] """ ... @overload def state_fidelity(state1: List[complex], state2: List[List[complex]]) -> float: """ compare two quantum states , Get the state fidelity Args: state1: quantum state list 1 state2: quantum state matrix 2 Returns: state fidelity bewteen [0,1] """ ... @overload def state_fidelity(state1: List[List[complex]], state2: List[complex]) -> float: """ compare two quantum states , Get the state fidelity Args: state1: quantum state matrix 1 state2: quantum state list 2 Returns: state fidelity bewteen [0,1] """ ... @overload
[文档] def sub(arg0: ClassicalCondition, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
@overload def sub(arg0: ClassicalCondition, arg1: int) -> ClassicalCondition: """ """ ... @overload def sub(arg0: int, arg1: ClassicalCondition) -> ClassicalCondition: """ """ ...
[文档] def sum(arg0: var) -> var: """ """ ...
[文档] def tan(arg0: var) -> var: """ """ ...
[文档] def to_Quil(qprog: QProg, machine: QuantumMachine) -> str: """ Transform QProg to Quil instruction Args: qprog: QProg machine: quantum machine Returns: Quil instruction string """ ...
@overload
[文档] def to_originir(qprog: QProg, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ...
@overload def to_originir(qprog: QCircuit, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ... @overload def to_originir(qprog: QGate, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ... @overload def to_originir(qprog: QIfProg, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ... @overload def to_originir(qprog: QWhileProg, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ... @overload def to_originir(qprog: QMeasure, machine: QuantumMachine) -> str: """ Transform QProg to OriginIR string Args: qprog: QProg or QCircute machine: quantum machine Returns: QriginIR string """ ...
[文档] def topology_match(qprog: QProg, qubit_list: QVec, machine: QuantumMachine, confing_file: str = 'QPandaConfig.json') -> list: """ Judge QProg/QCircuit matches the topology of the physical qubits Args: qprog: quantum prog qubit_list: qubits list in quantum prog machine: quantum machine confing_file: match configfilepath, default is QPandaConfig.json Returns: result data Raises: run_fail: An error occurred in topology_match """ ...
[文档] def transform_binary_data_to_qprog(machine: QuantumMachine, data: List[int]) -> QProg: """ Parse binary data trans to quantum program Args: machine: quantum machine data: list contains binary data from transform_qprog_to_binary() Returns: QProg """ ...
[文档] def transform_originir_to_qprog(fname: str, machine: QuantumMachine) -> QProg: """ Transform OriginIR to QProg Args: fname: file sotred OriginIR instruction machine: quantum machine Returns: QProg """ ...
@overload
[文档] def transform_qprog_to_binary(qprog: QProg, machine: QuantumMachine) -> List[int]: """ Get quantum program binary data Args: qprog: QProg machine: quantum machine Returns: binary data in list """ ...
@overload def transform_qprog_to_binary(qprog: QProg, machine: QuantumMachine, fname: str) -> None: """ Save quantum program to file as binary data Args: qprog: QProg machine: quantum machine fname: save to file name """ ...
[文档] def transform_qprog_to_originir(qprog: QProg, machine: QuantumMachine) -> str: """ Quantum program transform to OriginIR string Args: qprog: QProg machine: quantum machine Returns: OriginIR instruction string """ ...
[文档] def transform_qprog_to_quil(qprog: QProg, machine: QuantumMachine) -> str: """ Transform QProg to Quil instruction Args: qprog: QProg machine: quantum machine Returns: Quil instruction string """ ...
@overload
[文档] def transform_to_base_qgate(qprog: QProg, machine: QuantumMachine, config_file: str = 'QPandaConfig.json') -> QProg: """ Basic quantum - gate conversion Args: qprog: quantum program machine: quantum machine config_file: config file Returns: a new prog after transform_to_base_qgate """ ...
@overload def transform_to_base_qgate(qprog: QProg, machine: QuantumMachine, convert_single_gates: List[str], convert_double_gates: List[str]) -> QProg: """ Basic quantum - gate conversion Args: qprog: quantum program machine: quantum machine convert_single_gates: quantum single gates sets convert_double_gates: quantum double gates sets Returns: a new prog after transform_to_base_qgate """ ...
[文档] def transfrom_pauli_operator_to_matrix(arg0) -> List[complex]: """ transfrom pauli operator to matrix Args: matrix: 2^N *2^N double matrix Returns: result : hamiltonian """ ...
[文档] def transpose(arg0: var) -> var: """ """ ...
[文档] def validate_double_qgate_type(gate_str_list: List[str]) -> list: """ Get valid QGates and valid double bit QGate type Args: double_gates: double gates list Returns: result list """ ...
[文档] def validate_single_qgate_type(gate_str_list: List[str]) -> list: """ Get valid QGates and valid single bit QGate type Args: single_gates: single gates list Returns: result list """ ...
[文档] def vector_dot(x: List[float], y: List[float]) -> float: """ Inner product of vector x and y Args: x: list x y: list y Returns: dot result Raises: run_fail: An error occurred in vector_dot """ ...
[文档] def virtual_z_transform(prog: QProg, quantum_machine: QuantumMachine, b_del_rz_gate: bool = False, config_data: str = 'QPandaConfig.json') -> QProg: """ virtual z transform Args: prog: the target prog quantum_machine: quantum machine b_del_rz_gate: whether delete the rz gate config_data: config data, @See JsonConfigParam::load_config() Returns: mapped quantum program """ ...