openqemist.problem_decomposition.dmet package


openqemist.problem_decomposition.dmet.dmet_problem_decomposition module

class openqemist.problem_decomposition.dmet.dmet_problem_decomposition.DMETProblemDecomposition[source]

Bases: openqemist.problem_decomposition.problem_decomposition.ProblemDecomposition

Employ DMET as a problem decomposition technique.

DMET single-shot algorithm is used for problem decomposition technique. By default, CCSD is used as the electronic structure solver, and IAO is used for the localization scheme. Users can define other electronic structure solver such as FCI or VQE as an impurity solver. Meta-Lowdin localization scheme can be used instead of the IAO scheme, which cannot be used for minimal basis set.


A type of electronic structure solver. Default is CCSD.


subclass of ElectronicStructureSolver


A type of localization scheme. Default is IAO.



simulate(molecule, fragment_atoms, mean_field=None, fragment_solvers=None)[source]

Perform DMET single-shot calculation.

If the mean field is not provided it is automatically calculated.

  • molecule (pyscf.gto.Mole) – The molecule to simulate.

  • fragment_atoms (list) – List of number of atoms for each fragment (int).

  • mean_field (pyscf.scf.RHF) – The mean field of the molecule.

  • fragment_solvers (list) – List of ElectronicStructureSolvers with which to solve each fragment. If None is passed here, the solver that is provided for the electronic_structure_solver attribute is used.


The DMET energy (dmet_energy).

Return type


RuntimeError: If the sum of the atoms in the fragments is different

from the number of atoms in the molecule.

RuntimeError: If the number fragments is different from the number

of solvers.

Module contents