Skip to main content

pymolresponse

Molecular frequency-dependent response properties for arbitrary operators.

build status codecov license pre-commit.ci status

For documentation, go to https://berquist.github.io/pymolresponse/.

Currently, the goal is to provide:

  1. a pedagogical example of a working molecular orbital response program as an almost direct translation from equations to code,
  2. an implementation that gives "exact" results for testing, and
  3. an example of testing and documenting scientific code using modern software development tools.

Installation

To set up a conda environment with all dependencies for running, testing, and building the documentation, look under devtools.

Requirements

  • Python >= 3.9 (because of type annotations)
  • pyscf
  • Psi4

Testing

just test

Caveats

  • RHF and UHF references only; no ROHF yet.
  • Hartree-Fock and DFT only; no post-HF methods yet.
  • Real orbitals only; no complex or generalized orbitals yet.
  • Because the dimensioning of all arrays is based around the ov/vo space, methods that have non-zero contributions from the oo space (specifically derivatives of GIAOs/London orbitals w.r.t. the B-field) are not currently possible.
  • An iterative solver exists for response properties, not transition properties, where only explicit formation and then diagonalization of the orbital Hessian is available.
  • Linear response and single residues only.
  • unrestricted diagonalization-based properties are not implemented/working

Desired features (in no specific order)

  • Non-orthogonal orbitals. Requires switch from using MO energies to full Fock matrices.
  • ROHF reference (compare against DALTON). Requires equations for the ROHF orbital Hessian.
  • Post-HF support: MP2, CCSD, and CIS. Requires constriction of a Lagrangian.
  • Support for GIAOs. Only requires re-dimensioning as long as AO matrix elements are available??
  • At least one iterative method for each property type, for example DIIS for inversion and Davidson for diagonalization. Requires matrix-vector products.
  • Quadratic response and associated single residues (needed for phosphorescence) and double residues (excited state expectation values and transition moments of linear operators). Requires permutation of linear response solution vectors.

Desired features that don't fix the caveats

References

Forthcoming...

Metadata

Release files for pymolresponse 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymolresponse 0.3.2
File Size Uploaded Provenance Actions
pymolresponse-0.3.2.tar.gz 75.5 kB Without provenance Details for pymolresponse-0.3.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pymolresponse 0.3.2
File Interpreter ABI Platform Actions
pymolresponse-0.3.2-py3-none-any.whl Python 3 none any Details for pymolresponse-0.3.2-py3-none-any.whl

Total release size: 170.7 kB

Release files / pymolresponse-0.3.2.tar.gz

Download URL pymolresponse-0.3.2.tar.gz
Size 75.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3f81be9945a5caeffc38631b98030d7d5dcf827e46710aee288ef296116ff64b
BLAKE2b-256 checksum
How to use checksums
54d52116227d7237cdfc336a625eb4a6e80d8ad64741ad9285a203985ab035b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pymolresponse-0.3.2-py3-none-any.whl

Download URL pymolresponse-0.3.2-py3-none-any.whl
Size 95.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc01f1e35b48ed55a78c90f25fa0b4e4dd31ef0cb4df27e20e23d2c004ed263c
BLAKE2b-256 checksum
How to use checksums
685e721030763dae8161cd92464807657e5acaf74a43e981d1cc3ba0a12d02d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Security for pymolresponse 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page