Core¶
Detailed Documentation¶
QPanda2 Core Group.
Global Functions¶
Init the environment.
Use this at the beginning
Parameters:
QMachineType | Quantum machine type |
Returns:
bool
See also:
Finalize the environment.
Use this at the end
Returns:
void
Allocate a qubit.
Call init() before you use this
Returns:
void
Allocate a qubit.
Call init() before you use this
Parameters:
size_t | set qubit address |
Returns:
void
Directly run a quantum program.
Parameters:
QProg& | Quantum program |
Returns:
std::map<std::string, bool> result
Allocate many qubits.
Call init() before you use this
Parameters:
size_t | set qubit number |
Allocate a cbit.
Call init() before you use this
Returns:
ClassicalCondition cbit
Allocate a cbit.
Call init() before you use this
Parameters:
size_t | set cbit address |
Returns:
ClassicalCondition Cbit
Allocate many cbits.
Call init() before you use this
Parameters:
size_t | set cbit number |
Free a cbit.
Parameters:
ClassicalCondition& | a reference to a cbit |
Returns:
void
Free a list of cbits.
Parameters:
std::vector<ClassicalCondition> | a list of cbits |
Returns:
void
Get the status(ptr) of the Quantum machine.
Returns:
QPanda::QMachineStatus * Quantum machine status(ptr)
Get all allocate qubit num.
Returns:
size_t Qubit num
Get pmeasure result as tuple list.
selectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QVec | pmeasure qubits vector |
int | Selectmax:the returned value num |
Returns:
std::vector<std::pair<size_t, double>> result
Get pmeasure result as list.
SelectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QVec | pmeasure qubits vector |
int | Selectmax:the returned value num |
Returns:
prob_vec result
Get pmeasure result as dict.
SelectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QVec | pmeasure qubits vector |
int | Selectmax:the returned value num |
Returns:
std::map<std::string, double> result
Get pmeasure result as dict.
SelectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QProg& | Quantum program |
QVec | pmeasure qubits vector |
int | Selectmax:the returned value num |
Returns:
std::vector<std::pair<size_t, double>> result
Get pmeasure result as list.
SelectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QProg& | Quantum program |
QVec | Pmeasure qubits vector |
int | selectmax:the returned value num |
Returns:
prob_vec result
Get pmeasure result as dict.
SelectMax can not exceed (1ull << the size of qubits vector)
Parameters:
QProg& | Quantum program |
QVec | pmeasure qubits vector |
int | Selectmax:the returned value num |
Returns:
std::map<std::string, double> result
Measure run with configuration.
Parameters:
QProg& | Quantum program |
std::vector<ClassicalCondition>& | cbits vector |
int | Shots:the repeat num of measure operate |
Returns:
std::map<std::string, size_t> result
Quick measure operate.
Parameters:
QVec | qubits vector |
int | Shots:the repeat num of measure operate |
Returns:
std::map<std::string,size_t> result
AccumulateProbability.
Parameters:
prob_vec | & prob_list Abstract Quantum program pointer |
Returns:
prob_vec
Quick measure.
Parameters:
QVec | qubits vector |
int | Shots:the repeat num of measure operate |
prob_vec& | accumulate Probabilites |
Returns:
std::map<std::string,size_t> Results
Get quantum state.
Returns:
qstat Quantum state vector
Init a Quantum machine.
default Quantum machine type :cpu
Parameters:
QMachineType |
Returns:
QPanda::QuantumMachine * Quantum machine pointer
See also:
Destroy Quantum machine.
Parameters:
QuantumMachine* | Quantum machine pointer |
Returns:
void
Measure All ClassicalCondition.
Parameters:
QVec& | qubits vector |
std::vector<ClassicalCondition> | Cbits vector |
Returns:
QPanda::QProg Quantum program
Get allocate cbit number.
Returns:
size_t Cbit number
pMeasure
Parameters:
QVec | qubit vector |
int | Selectmax:the returned value num |
Returns:
std::vector<std::pair<size_t, double>> result
pMeasure only return result with no index
Parameters:
QVec | qubit vector |
Returns:
prob_vec result
QPanda2 basic interface for creating a quantum measure node.
Parameters:
Qubit* | qubit address |
ClassicalCondition | cbit |
Returns:
QPanda::QMeasure quantum measure node
QPanda2 basic interface for creating a quantum measure node.
Parameters:
int | qubit address |
int | cbit address |
Returns:
QPanda::QMeasure quantum measure node