qdk_chemistry.algorithms.geometry_optimization module

Public entry point for geometry optimizer algorithms.

class qdk_chemistry.algorithms.geometry_optimization.GeometryOptimizer

Bases: pybind11_object

Base class for geometry optimization algorithms.

Optimizers derive active-space electron counts for nuclear derivative calculations and return the optimized energy, optimized structure, optional Hessian, and optional wavefunction.

__init__(self: qdk_chemistry.algorithms.GeometryOptimizer) None

Create a geometry optimizer.

name(self: qdk_chemistry.algorithms.GeometryOptimizer) str

Return the implementation name.

run(self: qdk_chemistry.algorithms.GeometryOptimizer, structure: qdk_chemistry.data.Structure, charge: SupportsInt | SupportsIndex, spin_multiplicity: SupportsInt | SupportsIndex, input: qdk_chemistry.data.Orbitals | qdk_chemistry.data.BasisSet | qdk_chemistry.data.Wavefunction | str, n_inactive_orbitals: SupportsInt | SupportsIndex = 0) tuple[float, qdk_chemistry.data.Structure, qdk_chemistry.data.NuclearHessian | None, qdk_chemistry.data.Wavefunction | None]

Optimize a molecular structure.

Parameters:
  • structure – Initial molecular structure to optimize.

  • charge – Total molecular charge.

  • spin_multiplicity – Spin multiplicity of the molecular system.

  • input – Basis name, basis set, orbitals, or wavefunction input.

  • n_inactive_orbitals – Number of doubly occupied orbitals excluded from the active space.

Returns:

(energy, structure, hessian, wavefunction).

Return type:

tuple

settings(self: qdk_chemistry.algorithms.GeometryOptimizer) qdk_chemistry.data.Settings

Return the optimizer settings.

type_name(self: qdk_chemistry.algorithms.GeometryOptimizer) str

Return the algorithm type name.

class qdk_chemistry.algorithms.geometry_optimization.GeometryOptimizerSettings

Bases: Settings

Settings shared by geometry optimization algorithms.

__init__(self: qdk_chemistry.algorithms.GeometryOptimizerSettings) None

Create geometry optimizer settings with common defaults.