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:

QMachineType

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:

QMachineType

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