Core

Overview

QPanda2 Core Group. More...

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