wave_train

A Python package for numerical quantum mechanics of chain-like systems based on tensor trains

https://github.com/pgelss/wave_train

Science Score: 49.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary

Keywords

ehrenfest-dynamics exciton-phonon-coupling excitonic-energy-transport excitons low-rank-tensor-decomposition matrix-product-states phonons quantum-classical-dynamics quantum-dynamics schroedinger-equation slim-decomposition tensor-trains
Last synced: 6 months ago · JSON representation

Repository

A Python package for numerical quantum mechanics of chain-like systems based on tensor trains

Basic Info
  • Host: GitHub
  • Owner: PGelss
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.34 MB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 3
  • Open Issues: 2
  • Releases: 9
Topics
ehrenfest-dynamics exciton-phonon-coupling excitonic-energy-transport excitons low-rank-tensor-decomposition matrix-product-states phonons quantum-classical-dynamics quantum-dynamics schroedinger-equation slim-decomposition tensor-trains
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Codemeta

README.md

WaveTrain

by Jerome Riedel, Patrick Gelß, and Burkhard Schmidt

Freie Universität Berlin, Germany

WaveTrain-Logo

Short description

WaveTrain is an open-source software for numerical simulations of chain-like quantum systems with nearest-neighbor (NN) interactions only (with or without periodic boundary conditions). This Python package is centered around tensor train (TT, or matrix product) representations of quantum-mechanical Hamiltonian operators and (stationary or time-evolving) state vectors. WaveTrain builds on the Python tensor train toolbox scikit_tt, which provides efficient construction methods, storage schemes, as well as solvers for eigenvalue problems and linear differential equations in the TT format.

WaveTrain comprises solvers for time-independent and time-dependent Schrödinger equations employing TT decompositions to construct low-rank representations. Often, the TT ranks of state vectors are found to depend only marginally on the chain length N, which results in the computational effort growing only slightly more than linearly in N, thus mitigating the curse of dimensionality. Thus, WaveTrain complements the existing WavePacket project at SourceForge which does not offer these advantages but which can be used for general Hamiltonians, i.e., without restriction to chain-like systems.

As a complement to the Python classes for full quantum mechanics, WaveTrain also contains classes for fully classical and mixed quantum-classical (Ehrenfest or mean field) dynamics of bipartite ("slow-fast" and/or "heavy-light") systems. Moreover, the graphical capabilities allow visualization of quantum dynamics ‘on the fly’, with a choice of several different graphical representations based on reduced density matrices.

Full description

For a detailed description of the WaveTrain software, see our article that appeared in April 2023 in J. Chem. Phys.[^1].

Installation

After downloading and installing the Python tensor train toolbox scikit_tt, installation of the WaveTrain software package is straightforward pip install git+https://github.com/PGelss/scikit_tt pip install wave_train where pip belongs to a Python installation with minimum version requirement 3.7.0. For a developer installation you can download the latest version of WaveTrain to your local computer by using the 'git clone' command.
git clone https://github.com/PGelss/wave_train.git cd wave_train python setup.py install --user

Applications

see our work on solving the TISE[^2] and TDSE[^3] for coupled excitons and phonons

[^1]: J. Riedel, P. Gelß, R. Klein, and B. Schmidt, "WaveTrain: A Python Package for Numerical Quantum Mechanics of Chain-Like Systems Based on Tensor Trains", J. Chem. Phys. 158 (16), 164801 (2023)

[^2]: P. Gelß, R. Klein, S. Matera, B. Schmidt, "Solving the Time-Independent Schrödinger Equation for Chains of Coupled Excitons and Phonons using Tensor Trains", J. Chem. Phys. 156 (2), 024109 (2022)

[^3]: P. Gelß, R. Klein, S. Matera, and B. Schmidt, "Quantum Dynamics of Coupled Excitons and Phonons in Chain-Like Systems: Tensor Train Approaches and Higher-Order Propagators", arXiv:2302.03725

Owner

  • Name: Patrick Gelß
  • Login: PGelss
  • Kind: user
  • Location: Germany
  • Company: CRC 1114, Freie Universität Berlin

CodeMeta (CodeMeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/GPL-3.0+",
  "codeRepository": "https://github.com/PGelss/wave_train.git",
  "contIntegration": "https://github.com/PGelss/wave_train/actions",
  "dateCreated": "2022-01-01",
  "datePublished": "2022-05-27",
  "dateModified": "2023-10-02",
  "downloadUrl": "https://github.com/PGelss/wave_train/archive/refs/tags/v1.0.11.tar.gz",
  "issueTracker": "https://github.com/PGelss/wave_train/issues",
  "name": "WaveTrain",
  "version": "1.0.11",
  "description": "WaveTrain is an open-source software for numerical simulations of chain-like quantum systems with nearest-neighbor (NN) interactions only (with or without periodic boundary conditions). This Python package is centered around tensor train (TT, or matrix product) representations of quantum-mechanical Hamiltonian operators and (stationary or time-evolving) state vectors. WaveTrain builds on the Python tensor train toolbox scikit_tt, which provides efficient construction methods, storage schemes, as well as solvers for eigenvalue problems and linear differential equations in the TT format.\n\nWaveTrain comprises solvers for time-independent and time-dependent Schrdinger equations employing TT decompositions to construct low-rank representations. Often, the TT ranks of state vectors are found to depend only marginally on the chain length N, which results in the computational effort growing only slightly more than linearly in N, thus mitigating the curse of dimensionality. Thus, WaveTrain complements the existing WavePacket project at SourceForge which does not offer these advantages but which can be used for general Hamiltonians, i.e., without restriction to chain-like systems.\n\nAs a complement to the Python classes for full quantum mechanics, WaveTrain also contains classes for fully classical and mixed quantum-classical (Ehrenfest or mean field) dynamics of bipartite (\"slow-fast\" and/or \"heavy-light\") systems. Moreover, the graphical capabilities allow visualization of quantum dynamics on the fly, with a choice of several different graphical representations based on reduced density matrices.",
  "applicationCategory": "Physics",
  "releaseNotes": "Change log: Time integration now also with Krylov scheme",
  "funding": "MATH+ (EXC-2046/1, Project ID 390685689)",
  "developmentStatus": "active",
  "referencePublication": " https://doi.org/10.1063/5.0147314",
  "funder": {
    "@type": "Organization",
    "name": "Deutsche Forschungsgemeinscaft"
  },
  "keywords": [
    "Quantum Dynamics",
    "Tensor Trains",
    "Matrix Product States",
    "Low Rank Tensor Decomposition"
  ],
  "programmingLanguage": [
    "Python 3"
  ],
  "runtimePlatform": [
    ""
  ],
  "operatingSystem": [
    "Linux",
    "Windows",
    "macOS"
  ],
  "softwareRequirements": [
    "NumPy, SciPy, MatPlotLib, https://github.com/PGelss/scikit_tt/"
  ],
  "relatedLink": [
    "https://sourceforge.net/projects/wavetrain.wavepacket.p/"
  ],
  "author": [
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0003-1361-715X",
      "givenName": "Jerome",
      "familyName": "Riedel",
      "email": "jeror95@zedat.fu-berlin.de",
      "affiliation": {
        "@type": "Organization",
        "name": "Institute of Chemistry,  Freie Universitt Berlin, Germany"
      }
    },
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0002-9658-499X",
      "givenName": "Patrick",
      "familyName": "Gelss",
      "email": "gelss@zib.de",
      "affiliation": {
        "@type": "Organization",
        "name": "Zuse-Institute Berlin, Germany"
      }
    },
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0002-3645-9513",
      "givenName": "Burkhard",
      "familyName": "Schmidt",
      "email": "burkhard.schmidt@wias-berlin.de",
      "affiliation": {
        "@type": "Organization",
        "name": "Weierstrass-Institute Berlin, Germany"
      }
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0003-0120-1413",
      "givenName": "Sebastian",
      "familyName": "Matera",
      "email": "matera@fhi.mpg.de",
      "affiliation": {
        "@type": "Organization",
        "name": "Fritz-Haber-Institut der MPG, Berlin, Germany"
      }
    }
  ]
}

GitHub Events

Total
Last Year

Dependencies

.github/workflows/publish-to-testpypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/pypi-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
setup.py pypi