Numerov
Compute vibrational levels, wavefunctions, and expectation values using the Numerov-Cooley algorithm.
Install / Use
/learn @bast/NumerovREADME
Numerov
.. image:: https://travis-ci.org/bast/numerov.svg?branch=master :target: https://travis-ci.org/bast/numerov/builds
.. image:: https://coveralls.io/repos/github/bast/numerov/badge.svg?branch=master :target: https://coveralls.io/github/bast/numerov?branch=master
.. image:: https://img.shields.io/badge/license-%20MPL--v2.0-blue.svg :target: https://github.com/bast/numerov/blob/master/LICENSE
.. image:: https://zenodo.org/badge/86935858.svg :target: https://zenodo.org/badge/latestdoi/86935858
Compute vibrational levels, wavefunctions, and expectation values using the Numerov-Cooley algorithm.
Copyright and license
Copyright 2017 Radovan Bast.
Use of this source code is governed by a the Mozilla Public License v2.0 that
can be found in the
LICENSE file <https://github.com/bast/numerov/blob/master/LICENSE>_.
Citation
If you use this tool in a program or publication, please acknowledge its author(s) by adding the following reference:
- Numerov 0.5.0, October 2017, Radovan Bast, UiT The Arctic University of Norway, Norway, https://doi.org/10.5281/zenodo.1000406.
Installation
.. code-block:: bash
pip install numerov
Examples
Please have a look here <https://github.com/bast/numerov/tree/master/examples>_.
Background
This script will calculate the vibrational levels (and wavefunctions) corresponding to a normal mode numerically using the Numerov-Cooley algorithm.
The script will increase the energy and count the nodes of the wave function.
If the number of nodes changes and stepsize is below energy_precision_hartree, it will
accept the solution, integrate the property along q and move on to the next
solution until num_solutions is reached. It will also calculate the transition
frequencies 0 -> n, this is useful to check against the harmonic frequencies.
Advice
energy_precision_hartreeis often more important than number of grid points.- Be careful with the displacement range.
- If the script enters an endless loop probably the reduced mass or the displacement range is wrong.
- Practice first with the harmonic oscillator.
- It is a good idea to play with parameters to check convergence and numerical stability.
- Potential and property are approximated by polynomials that contain coefficients FROM ZEROTH to nth order (that's what polyfit gives) and you might not want that (for instance you might insist that the gradient of the potential is zero at equilibrium) in this case you can provide your own expansion coefficients or program an alternative interpolation scheme.
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
107.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
346.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
