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.

https://github.com/christopher-k-long/suzuki-trotter-evolver

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

evolution integrator quantum simulation unitary
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 5
  • Watchers: 0
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Topics
evolution integrator quantum simulation unitary
Created 8 months ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License Citation

README.md

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:

bash 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.

Owner

  • Name: Christopher K. Long
  • Login: Christopher-K-Long
  • Kind: user
  • Company: The University of Cambridge

PhD candidate at the University of Cambridge working on quantum algorithms.

Citation (CITATION.cff)

cff-version: 1.2.0
title: Suzuki-Trotter-Evolver
message: >-
  If you use Suzuki-Trotter-Evolver please cite the accompanying paper:

    Long, C. K., Mayhall, N. J., Economou, S. E., Barnes, E., Barnes, C. H. W.,
    Martins, F., … Mertig, N. (2024). Minimal evolution times for fast,
    pulse-based state preparation in silicon spin qubits. arXiv [Quant-Ph].
    Retrieved from http://arxiv.org/abs/2406.10913

  Additionally, you can reference this code base using this CFF file.
type: software
authors:
  - given-names: Christopher K.
    family-names: Long
    email: ckl45@cam.ac.uk
    affiliation: University of Cambridge and Hitachi Cambridge Laboratory
    orcid: 'https://orcid.org/0009-0001-3230-942X'
  - given-names: Crispin H. W.
    family-names: Barnes
    affiliation: University of Cambridge
    orcid: 'https://orcid.org/0000-0001-7337-7245'
  - given-names: Normann
    family-names: Metrig
    affiliation: Hitachi Cambridge Laboratory
    orcid: 'https://orcid.org/0000-0003-3025-7141'
repository-code: 'https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver'
url: 'https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver'
abstract: >-
  A C++ header-only library for evolving states under the Schrödinger equation
  using first-order Suzuki-Trotter and computing switching functions.
keywords:
  - evolver
  - evolution
  - suzuki
  - trotter
  - simulation
  - integrator
  - integration
  - unitary
  - quantum
license: Apache-2.0
version: 1.0.0
date-released: '2025-06-13'

GitHub Events

Total
  • Watch event: 2
  • Delete event: 2
  • Push event: 10
  • Pull request event: 1
  • Create event: 1
Last Year
  • Watch event: 2
  • Delete event: 2
  • Push event: 10
  • Pull request event: 1
  • Create event: 1

Dependencies

.github/workflows/cmake-reusable.yml actions
  • actions/checkout v3 composite
  • lukka/get-cmake latest composite
  • lukka/run-vcpkg v11 composite
.github/workflows/macos-latest.yml actions
.github/workflows/release.yml actions
  • actions/checkout master composite
  • actions/setup-python v5 composite
  • lukka/run-vcpkg v11 composite
  • thedoctor0/zip-release 0.7.5 composite
.github/workflows/ubuntu_latest.yml actions
.github/workflows/windows-latest.yml actions
docs/requirements.txt pypi
  • breathe *
  • cffconvert *
  • exhale *
  • furo *
  • myst-parser *
  • sphinx *
  • sphinx_tabs *
vcpkg.json vcpkg
  • catch2 *
  • eigen3 *