pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe
Module Contents
Functions
|
construct Hamiltonian based on str,str has molecule information |
|
compute base energy of H2. |
|
get electron number based on Atom_Dict, |
|
fermion_op = ('a',1) or ('c',1) |
|
coupled cluster single model. |
|
coupled cluster single and double model. |
|
coupled cluster single model. |
|
coupled cluster single and double model. |
|
generate Hamiltonian form of unitary coupled cluster based on coupled cluster,H=1j*(T-dagger(T)), |
|
Flatten quantum circuit |
|
choose measurement basis, |
|
get expectation of one paulioperator. |
|
get expectation of Hamitonian. |
|
|
|
|
|
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.convert_operator(str)[源代码]
construct Hamiltonian based on str,str has molecule information
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.H2_energy_from_distance(distance)[源代码]
compute base energy of H2. distance: distance between two atoms of H2
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_electron_count(geometry)[源代码]
get electron number based on Atom_Dict, Atom_Dict={'H':1,'He':2,...,'CI':17}
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_fermion_jordan_wigner(fermion_type, op_qubit)[源代码]
fermion_op = ('a',1) or ('c',1) 'a' is for annihilation 'c' is for creation
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_ccs_n_term(n_qubit, n_electron)[源代码]
coupled cluster single model. e.g. 4 qubits, 2 electrons then 0 and 1 are occupied,just consider 0->2,0->3,1->2,1->3
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_ccsd_n_term(n_qubit, n_electron)[源代码]
coupled cluster single and double model. e.g. 4 qubits, 2 electrons then 0 and 1 are occupied,just consider 0->2,0->3,1->2,1->3,01->23
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_ccs(n_qubit, n_electron, param_list)[源代码]
coupled cluster single model. J-W transform on CCS, get paulioperator
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_ccsd(n_qubit, n_electron, param_list)[源代码]
coupled cluster single and double model. J-W transform on CCSD, get paulioperator
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.cc_to_ucc_hamiltonian(cc_op)[源代码]
generate Hamiltonian form of unitary coupled cluster based on coupled cluster,H=1j*(T-dagger(T)), then exp(-jHt)=exp(T-dagger(T))
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.flatten(pauliOperator)[源代码]
if all coefficients of paulioperator can be written as C+0j, transform coefficients to float style, else, return error
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.transform_base(qubitlist, base)[源代码]
choose measurement basis, it means rotate all axis to z-axis
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.get_expectation(qubit_number, unitaryCC, component, shots_)[源代码]
get expectation of one paulioperator. qubit_number:qubit number unitaryCC: unitary coupled cluster operator component: paolioperator and coefficient,e.g. ('X0 Y1 Z2',0.33)
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.vqe_subroutine(qubit_number_, electron_number, Hamiltonian, unitaryCC_, shots)[源代码]
get expectation of Hamitonian. qubit_number:qubit number electron_number:electron number Hamiltonian:Hamiltonian expressed by paulioperator unitaryCC: unitary coupled cluster operator
- pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.binding(qubit_number, electron_number, Hamiltonian, shots)[源代码]