openqemist.quantum_solvers.rigetti package¶
Submodules¶
openqemist.quantum_solvers.rigetti.rigetti_parametric_solver module¶
Perform quantum simulation using Rigetti’s stack, using packages such as pyquil and forestopenfermion.
-
class
openqemist.quantum_solvers.rigetti.rigetti_parametric_solver.
RigettiParametricSolver
(ansatz, molecule, mean_field=None, backend_options={'backend': 'wavefunction_simulator'})[source]¶ Bases:
openqemist.quantum_solvers.parametric_quantum_solver.ParametricQuantumSolver
Performs an energy estimation for a molecule with a parametric circuit.
Performs energy estimations for a given molecule and a choice of ansatz circuit that is supported.
Uses the CCSD method to solve the electronic structure problem. PySCF program will be utilized. Users can also provide a function that takes a pyscf.gto.Mole as its first argument and pyscf.scf.RHF as its second.
-
optimized_amplitudes
¶ The optimized UCCSD amplitudes.
- Type
list
-
of_mole
¶ Molecular Data in Openfermion.
- Type
openfermion.hamiltonian.MolecularData
-
f_hamiltonian
¶ Fermionic Hamiltonian.
- Type
openfermion.ops.InteractionOperator
-
qubit_hamiltonian
¶ Qubit Hamiltonian.
- Type
openfermion.transforms.jordan_wigner
-
n_qubits
¶ Number of qubits.
- Type
int
-
class
Ansatze
[source]¶ Bases:
enum.Enum
Enumeration of the ansatz circuits that are supported.
-
UCCSD
= 0¶
-
-
default_initial_var_parameters
()[source]¶ Returns initial variational parameters for a VQE simulation.
Returns initial variational parameters for the circuit that is generated for a given ansatz.
- Returns
Initial parameters.
- Return type
list
-
get_rdm
()[source]¶ Obtain the RDMs from the optimized amplitudes.
Obtain the RDMs from the optimized amplitudes by using the same function for energy evaluation. The RDMs are computed by using each fermionic Hamiltonian term, transforming them and computing the elements one-by-one. Note that the Hamiltonian coefficients will not be multiplied as in the energy evaluation. The first element of the Hamiltonian is the nuclear repulsion energy term, not the Hamiltonian term.
- Returns
One & two-particle RDMs (rdm1_np & rdm2_np, float64).
- Return type
(numpy.array, numpy.array)
- Raises
RuntimeError – If no simulation has been run.
-