Skip to content

A C++ header-only library for evolving states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions.

License

Notifications You must be signed in to change notification settings

Crispin-Barnes-QI-Group/Suzuki-Trotter-Evolver

 
 

Repository files navigation

Suzuki-Trotter-Evolver

A C++ header-only library for evolving states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions.

Build and Test Ubuntu-latest Build and Test macOS-latest Build and Test Windows-latest

Installation

Suzuki-Trotter-Evolver can be installed as follows:

git clone https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver
cd Suzuki-Trotter-Evolver
cmake -S . -B build # set optional flags here
sudo cmake --build build --config Release --target install -j $(nproc)

There are several optional flags that can be set:

  • -DSuzuki-Trotter-Evolver_INSTALL_LIBRARY=ON/OFF(Suzuki-Trotter-Evolver is installed if set to ON)
  • -DSuzuki-Trotter-Evolver_BUILD_TESTING=ON/OFF (The unit tests and examples are build and run if set to ON)
  • -DSuzuki-Trotter-Evolver_BUILD_DOCS=ON/OFF (The documentation is build if set to ON)

These optional flags should be appended to cmake -S ../.. -B build. All three default to ON if the project is top level (i.e. if the project is not being build as a dependency of another project).

Requirements

Runs on Linux, macOS, and Windows. Requires:

Additional requirements for testing

Additional requirements for building documentation

Documentation

Documentation including worked examples can be found at: https://Suzuki-Trotter-Evolver.readthedocs.io

Source Code

Source code can be found at: https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver

Version and Changes

The current version is 1.0.0. Please see the Change Log for more details. Suzuki-Trotter-Evolver uses semantic versioning.

About

A C++ header-only library for evolving states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C++ 88.7%
  • CMake 8.4%
  • Shell 2.9%