Model Hamiltonians ================== QDK/Chemistry provides functionality to construct and manipulate model Hamiltonians used in quantum chemistry and condensed matter physics. These model Hamiltonians serve as simplified representations of complex quantum systems, allowing researchers to study their properties and behaviors using quantum computing techniques. The definition of model Hamiltonians differs from that of regular Hamiltonians in that they do not need to link to a specific molecular structure. Hence, they also do not require the use of integrals derived from quantum chemistry calculations. Instead, model Hamiltonians are defined directly in terms of their parameters. Creating model Hamiltonians ---------------------------- To define a model Hamiltonian in QDK/Chemistry, users can utilize the :class:`~qdk_chemistry.data.ModelOrbitals` class, which is a simplified version of the :doc:`Orbitals ` class that doesn't require basis set information or molecular orbital coefficients. This is particularly useful for studying model systems like Hubbard models, Heisenberg models, or other phenomenological Hamiltonians. Example: Hubbard model Hamiltonian ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following example demonstrates how to create a simple Hubbard model Hamiltonian using :class:`~qdk_chemistry.data.ModelOrbitals` and the :class:`~qdk_chemistry.data.Hamiltonian` class: .. tab:: Python API .. literalinclude:: ../../_static/examples/python/model_hamiltonians.py :language: python :start-after: # start-cell-create-hubbard :end-before: # end-cell-create-hubbard Using model Hamiltonians with algorithms ----------------------------------------- Model Hamiltonians created with :class:`~qdk_chemistry.data.ModelOrbitals` can be used with any QDK/Chemistry algorithm that accepts :doc:`Hamiltonian ` objects, including: * :doc:`Multi-configuration calculators ` (:term:`FCI`, :term:`ASCI`, etc.) * Quantum algorithm interfaces (:term:`VQE`, :term:`QPE`, etc.) Example with multi-configuration calculator: .. tab:: Python API .. literalinclude:: ../../_static/examples/python/model_hamiltonians.py :language: python :start-after: # start-cell-solve-hubbard :end-before: # end-cell-solve-hubbard Further reading --------------- * The above examples can be downloaded as a complete `Python <../../_static/examples/python/model_hamiltonians.py>`_ script. * :doc:`data/orbitals` - Full Orbitals class documentation * :doc:`data/hamiltonian` - Hamiltonian class documentation * :doc:`algorithms/mc_calculator` - Multi-configuration calculator usage