pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe

Module Contents

Functions

convert_operator(str)

construct Hamiltonian based on str,str has molecule information

H2_energy_from_distance(distance)

compute base energy of H2.

get_electron_count(geometry)

get electron number based on Atom_Dict,

get_fermion_jordan_wigner(fermion_type, op_qubit)

fermion_op = ('a',1) or ('c',1)

get_ccs_n_term(n_qubit, n_electron)

coupled cluster single model.

get_ccsd_n_term(n_qubit, n_electron)

coupled cluster single and double model.

get_ccs(n_qubit, n_electron, param_list)

coupled cluster single model.

get_ccsd(n_qubit, n_electron, param_list)

coupled cluster single and double model.

cc_to_ucc_hamiltonian(cc_op)

generate Hamiltonian form of unitary coupled cluster based on coupled cluster,H=1j*(T-dagger(T)),

flatten(…)

Flatten quantum circuit

transform_base(qubitlist, base)

choose measurement basis,

get_expectation(qubit_number, unitaryCC, component, shots_)

get expectation of one paulioperator.

vqe_subroutine(qubit_number_, electron_number, ...)

get expectation of Hamitonian.

binding(graph, shots)

vqe_in_list(arguments, qubit_number, electron_number, ...)

H2_vqe(distance_range, initial_guess[, basis, ...])

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)[源代码]
pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.vqe_in_list(arguments, qubit_number, electron_number, Hamiltonian, shots)[源代码]
pyqpanda.Algorithm.VariationalQuantumEigensolver.vqe.H2_vqe(distance_range, initial_guess, basis='sto-3g', multiplicity=1, charge=0, run_mp2=True, run_cisd=True, run_ccsd=True, run_fci=True, method='Powell')[源代码]