ChemiQ¶
Overview¶
Detailed Documentation¶
Global Functions¶
get the electron number of the atom.
Parameters:
std::string& |
atom |
Returns:
size_t atom’s electorn number
Jordan-Wigner transform of one fermion term, like “3+ 1 2+ 0”.
Parameters:
OrbitalActVec& |
fermion term |
Returns:
PauliOperator
See also:
OrbitalActVec
PauliOperator
Jordan-Wigner transform from FermionOperator to PauliOperator.
Parameters:
FermionOperator& |
fermion operator |
Returns:
PauliOperator
See also:
FermionOperator
PauliOperator
Jordan-Wigner transform from VarFermionOperator to VarPauliOperator.
Parameters:
VarFermionOperator& |
variational fermion operator |
Returns:
VarPauliOperator
See also:
VarFermionOperator
VarPauliOperator
Parity transform of one fermion term, like “3+ 1 2+ 0”.
Parameters:
OrbitalActVec& |
fermion term |
size_t |
maxqubit |
Returns:
PauliOperator
See also:
OrbitalActVec
PauliOperator
Parity transform from FermionOperator to PauliOperator.
Parameters:
FermionOperator& |
fermion operator |
Returns:
PauliOperator
See also:
FermionOperator
PauliOperator
Parity transform from VarFermionOperator to VarPauliOperator.
Parameters:
VarFermionOperator& |
variational fermion operator |
Returns:
VarPauliOperator
See also:
VarFermionOperator
VarPauliOperator
BKMatrix required by BravyiKitaev transform.
Parameters:
size_t |
qn quantum number |
BravyiKitaev transform of one fermion term, like “3+ 1 2+ 0”.
Parameters:
OrbitalActVec& |
fermion term |
size_t |
maxqubit |
std::vector<Eigen::MatrixXi> |
BK |
Returns:
PauliOperator
See also:
OrbitalActVec
PauliOperator
BravyiKitaev transform from VarFermionOperator to VarPauliOperator.
Parameters:
VarFermionOperator& |
variational fermion operator |
std::vector<Eigen::MatrixXi> |
BK |
Returns:
VarPauliOperator
See also:
VarFermionOperator
VarPauliOperator
get CCS term number.
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
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
Returns:
size_t CCS term number
get CCSD term number.
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
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
Returns:
size_t CCSD term number
get Coupled cluster single model.
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. returned FermionOperator like this: {{“2+ 0”:para0},{“3+ 0”:para1},{“2+ 1”:para2},{“3+ 1”:para3}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
vector_d& |
parameters |
Returns:
FermionOperator
get Coupled cluster single model with variational parameters.
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. returned FermionOperator like this: {{“2+ 0”:var[0]},{“3+ 0”:var[1]},{“2+ 1”:var[2]},{“3+ 1”:var[3]}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
var |
parameters |
Returns:
VarFermionOperator
get Coupled cluster single model with variational parameters.
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. returned FermionOperator like this: {{“2+ 0”:var[0]},{“3+ 0”:var[1]},{“2+ 1”:var[2]},{“3+ 1”:var[3]}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
std::vector<var>& |
parameters |
Returns:
VarFermionOperator
get Coupled cluster single and double model.
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. returned FermionOperator like this: {{“2+ 0”:para0},{“3+ 0”:para1},{“2+ 1”:para2},{“3+ 1”:para3}, {“3+ 2+ 1 0”:para5}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
vector_d& |
parameters |
Returns:
FermionOperator
get Coupled cluster single and double model with variational parameters.
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. returned FermionOperator like this: {{“2+ 0”:var[0]},{“3+ 0”:var[1]},{“2+ 1”:var[2]},{“3+ 1”:var[3]}, {“3+ 2+ 1 0”:var[4]}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
var& |
parameters |
Returns:
VarFermionOperator
get Coupled cluster single and double model with variational parameters.
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. returned FermionOperator like this: {{“2+ 0”:var[0]},{“3+ 0”:var[1]},{“2+ 1”:var[2]},{“3+ 1”:var[3]}, {“3+ 2+ 1 0”:var[4]}}
Parameters:
size_t |
quantum number(orbital number) |
size_t |
electron number |
std::vector<var>& |
parameters |
Returns:
VarFermionOperator
Generate Hamiltonian form of unitary coupled cluster based on coupled cluster,H=1j*(T-dagger(T)), then exp(-jHt)=exp(T-dagger(T)).
Parameters:
PauliOperator& |
pauli operator |
Returns:
PauliOperator
See also:
PauliOperator
Generate Hamiltonian form of unitary coupled cluster based on coupled cluster,H=1j*(T-dagger(T)), then exp(-jHt)=exp(T-dagger(T)).
Parameters:
VarPauliOperator& |
pauli operator |
Returns:
VarPauliOperator
See also:
VarPauliOperator
Simulate a general case of hamiltonian by Trotter-Suzuki approximation. U=exp(-iHt)=(exp(-i H1 t/n)*exp(-i H2 t/n))^n.
Parameters:
QVec& |
the qubit needed to simulate the Hamiltonian |
VarPauliOperator& |
Hamiltonian |
double |
time |
size_t |
the approximate slices |
Returns:
VQC
See also:
VarPauliOperator
QPanda::Variational::VQC
Simulate a single term of Hamilonian like “X0 Y1 Z2” with coefficient and time. U=exp(-it*coef*H)
Parameters:
QVec& |
the qubit needed to simulate the Hamiltonian |
QTerm& |
Hamiltonian term, string like “X0 Y1 Z2” |
var& |
the coefficient of hamiltonian |
double |
time |
Returns:
VQC
See also:
QTerm
Simulating z-only term like H=coef * (Z0..Zn-1) U=exp(-iHt)
Parameters:
QVec& |
the qubit needed to simulate the Hamiltonian |
var& |
the coefficient of hamiltonian |
double |
time |
Returns:
VQC
See also:
Parse psi4 data to fermion operator.
Parameters:
std::string& |
fermon str |
Returns:
FermionOperator
See also:
FermionOperator