namespace QPanda

Overview

Detailed Documentation

Typedefs

typedef MetadataValidity_cb that add all functions of metadata validity

Global Variables

Int infinite.

Error identifier.

Global Functions

BravyiKitaev transform from FermionOperator to PauliOperator.

Parameters:

FermionOperator&

fermion operator

std::vector<Eigen::MatrixXi>

BK

Returns:

PauliOperator

See also:

FermionOperator

PauliOperator

Overload operator +.

Parameters:

value

cbit_size_t type left operand

class_cond

ClassicalCondition type right operand

Returns:

ClassicalCondition

Uverload operator +.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator +.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator -.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator -.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator -.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator *.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator *.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator -.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator /.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator /.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator /.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator ==.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator ==.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator ==.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator !=.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator !=.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator !=.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator &&.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator &&.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator &&.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator ||.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator ||.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator ||.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator >

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator >

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator >

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator >=.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator >=.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator >=.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator <.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator <.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator <.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator <=.

Parameters:

left_operand

left operand

right_operand

right operand

Returns:

ClassicalCondition

Overload operator <=.

Parameters:

left_operand

left operand

right_operand

cbit_size_t type right operand

Returns:

ClassicalCondition

Overload operator <=.

Parameters:

value

cbit_size_t type left operand

class_cond

right operand

Returns:

ClassicalCondition

Overload operator !

Parameters:

right_operand

right operand

Returns:

ClassicalCondition

Construct a new quantum iSWAP gate.

Parameters:

Qubit*

control qubit

Qubit*

target qubit

Returns:

QPanda::QGate quantum gate

Construct a new quantum iSWAP gate.

Parameters:

int

qaddr control qubit phy addr

int

qaddr target qubit phy addr

Returns:

QPanda::QGate quantum gate

Get Qubit by physics addr.

Parameters:

int

qaddr target qubit phy addr

Returns:

Qubit*

Get Qubit vector by physics addr vector.

Parameters:

const

std::vector<int>& qubits physical address vector

Returns:

Qubit*

calculate double gate xeb

Parameters:

NoiseQVM*

noise quantum machine

Qubit*

qubit0

Qubit*

qubit1

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

GateType

gate type

Returns:

std::map<int, double> xeb result of each layer

calculate double gate xeb

Parameters:

QCloudMachine*

cloud quantum machine

Qubit*

qubit0

Qubit*

qubit1

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

GateType

gate type

Returns:

std::map<int, double> xeb result of each layer

Judge whether the prog is related to the target qubits.

Parameters:

QProg

the target prog

cir_param&

QCircuit param

std::vector<int>&

the appointed qubits vector

Returns:

if the prog have operated any qubit in qubits_vec return true, or else return false

Verify the validity of double quantum gates.

Parameters:

std::vector<std::string>&

the gates is judged

std::vector<std::string>&

output the valid gates

Returns:

int double quantum gate type

Count quantum program unsupported gate numner.

Parameters:

_Ty&

quantum program, quantum circuit, quantum while or quantum if

const

std::vector<std::vector<std::string>>& support gates

Returns:

size_t Unsupported QGate number

calculate quantum volume

Parameters:

NoiseQVM*

noise quantum machine

std::vector

<std::vector<int>> qubit_lists, eg: {{1,2}, {1,2,3,4,5}}

const

std::vector<int>& number of layer

int

number of random iterations

int

shots

Returns:

size_t quantum volume

calculate quantum volume

Parameters:

QCloudMachine*

real chip

std::vector

<std::vector<int>> qubit_lists, eg: {{1,2}, {1,2,3,4,5}}

const

std::vector<int>& number of layer

int

number of random iterations

int

shots

Returns:

size_t quantum volume

single gate rb experiment

Parameters:

NoiseQVM*

noise quantum machine

Qubit*

qubit

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

const

std::vector<QGate> interleaved gates

Returns:

std::map<int, double> rb result of each layer

single gate rb experiment

Parameters:

NoiseQVM*

noise quantum machine

Qubit*

qubit0

Qubit*

qubit1

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

const

std::vector<QGate> interleaved gates

Returns:

std::map<int, double> rb result of each layer

single gate rb experiment

Parameters:

QCloudMachine*

cloud quantum machine

Qubit*

qubit

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

const

std::vector<QGate> interleaved gates

Returns:

std::map<int, double> rb result of each layer

single gate rb experiment

Parameters:

QCloudMachine*

cloud quantum machine

Qubit*

qubit0

Qubit*

qubit1

const

std::vector<int>& number of layer

int

number of circuit per layer

int

run number

const

std::vector<QGate> interleaved gates

Returns:

std::map<int, double> rb result of each layer

convert unicode string to UTF8 string

Parameters:

std::wstring&

the source wstring encoded by Unicode

Returns:

string Converted String

convert UTF8 string to wide string

Parameters:

std::string&

the source string

Returns:

wstring Converted wide String

convert unsigned long to string

Parameters:

unsigned long

the source val

Returns:

std::string Converted string

set windows console to utf-8 encode