class QPanda::MPSImplQPU¶
Overview¶
QPU implementation by MPS model. More…
Inherited Members¶
Detailed Documentation¶
QPU implementation by MPS model.
Fields¶
the tensor of qubits.
lambdas between tensors.
Methods¶
init state from matrix
Parameters:
size_t |
number of qubits |
cmatrix_t |
matrix |
unitary single qubit gate
Parameters:
size_t |
qubit address |
QStat& |
matrix |
bool |
state of conjugate |
GateType |
gate type |
Returns:
QError
controlunitary single qubit gate
Parameters:
size_t |
qubit address |
Qnum& |
control qubit addresses |
QStat |
& matrix |
bool |
state of conjugate |
GateType |
gate type |
Returns:
QError
unitary double qubit gate
Parameters:
size_t |
first qubit address |
size_t |
second qubit address |
QStat& |
matrix |
bool |
state of conjugate |
GateType |
gate type |
Returns:
QError
controlunitary double qubit gate
Parameters:
size_t |
first qubit address |
size_t |
second qubit address |
Qnum& |
control qubit addresses |
QStat& |
quantum states |
bool |
state of conjugate |
GateType |
gate type |
Returns:
QError
get quantum states
Returns:
QStat quantum states
reset qubit
Parameters:
size_t |
qubit address |
gets the position of the qubits in MPS form
Parameters:
size_t |
qubits index |
Returns:
size_t the position on m_qubits_location
change two qubits
Parameters:
size_t |
src qubit location |
size_t |
dst qubit location |
execute SWAP gate, the state of swapping two qubits
Parameters:
size_t |
A qubit index |
size_t |
B qubit index |
measure one qubit collapsing
Parameters:
size_t |
the qubit position of the measurement |
Returns:
bool the measurement results
measure all qubits collapsing
Parameters:
size_t |
the qubit position of the measurement |
Returns:
std::vector<std::vector<size_t>> the measurement results
after the SVD decomposition , The product of S and V
Parameters:
cmatrix_t |
V matrix |
rvector_t |
S vector |
Returns:
cmatrix_t product
convert to MPS form
Parameters:
size_t |
starting position |
size_t |
end position |
Returns:
MPS_Tensor MPS form tensor
sort qubits location, and centralize qubits locations
Parameters:
Qnum |
original qubits location |
Qnum |
sorted indices |
Qnum |
centralized qubits location |
move all qubits to sorted ordering
move qubits to right_end location
Parameters:
Qnum |
original qubits location |
Qnum |
target qubits location |
actual |
indices |
execute one qubit gate
Parameters:
size_t |
target qubit |
cmatrix_t |
gate matrix |
execute two qubits gate
Parameters:
size_t |
control qubit |
size_t |
target qubit |
cmatrix_t |
gate matrix |
execute multi qubits gate
Parameters:
size_t |
control and target qubits, target qubit in the tail |
cmatrix_t |
gate matrix |