Skip to content

Latest commit

 

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TwoBody.jl

Open In Colab Stable Dev Citation License Build Status Coverage ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

TwoBody.jl is a Julia package for solving quantum-mechanical two-body problems. It provides a flexible framework for constructing two-body Hamiltonians and solving the corresponding Schrödinger equation using a variety of numerical methods. It covers approaches ranging from basis-set and grid methods to tensor-network, stochastic, and neural-network methods. Beyond serving as a proof of concept for FewBody.jl, TwoBody.jl is designed to support practical, cross-scale calculations of quantum two-body systems, from hadrons to molecules.

Quick Start

Run the following command in the Julia REPL or a notebook:

import Pkg; Pkg.add("TwoBody")

After installation, load the package and verify it works:

using TwoBody

H = Hamiltonian(
  Kinetic(hbar = 1, m = 1),
  Coulomb(coefficient = -1),
)

BS = BasisSet(
  SimpleGaussianBasis(13.00773),
  SimpleGaussianBasis(1.962079),
  SimpleGaussianBasis(0.444529),
  SimpleGaussianBasis(0.1219492),
)

solve(H, BS)

QTT and variational-neural-network solvers are optional. Load TensorTrainNumerics.jl to activate QTT support, or load Lux.jl, Optimisers.jl, and Zygote.jl to activate VNN support. These packages are not installed with the TwoBody.jl core.

Documentation

About

TwoBody.jl: A Julia package for quantum mechanical two-body problems

Topics

Resources

Stars

39 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages