FewBodyDB.jl

FewBodyDB is a database of reference results for few-body systems. It is intended for validating numerical solvers in JuliaFewBody projects.

Usage

db returns a typed DatabaseEntry, including the result's provenance and state metadata.

julia> using FewBodyDB
julia> entry = db(:Bubin2005Jan, Symbol("HD⁺"), :energy, (J = 0, v = 0))DatabaseEntry{@NamedTuple{J::Int64, v::Int64}, Float64}(:Bubin2005Jan, :HD⁺, :energy, (J = 0, v = 0), -0.5978979685)
julia> entry.value-0.5978979685
julia> entry.state(J = 0, v = 0)
julia> println(bib(entry))@article{Bubin2005Jan, title = {Charge asymmetry in HD+}, volume = {122}, ISSN = {1089-7690}, url = {http://dx.doi.org/10.1063/1.1850905}, DOI = {10.1063/1.1850905}, number = {4}, journal = {The Journal of Chemical Physics}, publisher = {AIP Publishing}, author = {Bubin, Sergiy and Bednarz, Eugeniusz and Adamowicz, Ludwik}, year = {2005}, month = jan }

A slash-separated key returned by dbkeys can also be used directly:

julia> using FewBodyDB
julia> db("Bubin2005Jan/HD⁺/energy/(J = 0, v = 0)").value-0.5978979685

The old @get and @bib macros remain available as compatibility wrappers, but function calls are preferred for new code.

Data

keyvaluereference
Bubin2005Jan/HD⁺/energy/(J = 0, v = 0)-0.5978979685Bubin2005Jan
Bubin2005Jan/HD⁺/energy/(J = 0, v = 1)-0.5891818291Bubin2005Jan
Bubin2005Jan/HD⁺/energy/(J = 0, v = 2)-0.5809037001Bubin2005Jan
Karr2006Apr/HD⁺/energy/(J = 0, v = 0)-0.59789796860903Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 1)-0.58918182955696Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 10)-0.52923363556611Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 11)-0.52451091017174Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 12)-0.52017114777622Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 13)-0.51621870996171Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 14)-0.5126601922527Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 15)-0.50950465133511Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 16)-0.5067638778173Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 17)-0.50445269886425Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 18)-0.50258923378925Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 19)-0.50119479911831Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 2)-0.58090370021837Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 20)-0.50029245420662Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 21)-0.49991036147003Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 22)-0.4998657785Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 3)-0.57305054655187Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 4)-0.56561104207681Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 5)-0.55857552082556Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 6)-0.55193594895682Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 7)-0.54568591529293Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 8)-0.53982064154582Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 0, v = 9)-0.53433701356127Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 0)-0.59769812819221Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 1)-0.58899111199204Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 10)-0.52911665292566Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 11)-0.52440184594275Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 12)-0.52007010037534Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 13)-0.5161258334232Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 14)-0.51257570550594Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 15)-0.50942885109613Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 16)-0.5066971569796Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 17)-0.50439557371086Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 18)-0.50254238629066Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 19)-0.50115914795876Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 2)-0.58072182812093Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 20)-0.50026932312565Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 21)-0.4999027831355Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 22)-0.499864342Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 3)-0.57287727709421Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 4)-0.56544616627757Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 5)-0.55841886325887Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 6)-0.55178736790852Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 7)-0.54554530340943Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 8)-0.53968792704413Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 1, v = 9)-0.53421216210065Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 0)-0.59729964335178Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 1)-0.58861082938979Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 10)-0.52888354391503Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 11)-0.52418455220494Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 12)-0.51986882186127Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 13)-0.51594088194548Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 14)-0.51240752360873Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 15)-0.50927803835031Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 16)-0.50656450765298Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 17)-0.5042821328684Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 18)-0.502449537962Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 19)-0.501088766606Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 2)-0.58035919519988Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 20)-0.5002241584Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 21)-0.499889109Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 3)-0.57253181032597Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 4)-0.56511744976374Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 5)-0.55810654817382Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 6)-0.55149117284Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 7)-0.54526501568956Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 8)-0.53942340521103Karr2006Apr
Karr2006Apr/HD⁺/energy/(J = 2, v = 9)-0.53396333969469Karr2006Apr
Suzuki2003Jul/He/energy/³Fᵒ-2.031255168403Suzuki2003Jul
Suzuki2003Jul/He/energy/³Gᵉ-2.020000710925Suzuki2003Jul
Suzuki2003Jul/He/energy/³Pᵒ-2.123843086498Suzuki2003Jul
Suzuki2003Jul/He/energy/³Sᵉ-2.175293782367Suzuki2003Jul
Suzuki2003Jul/He/energy/¹Dᵉ-2.055620732852Suzuki2003Jul
Suzuki2003Jul/He/energy/¹Fᵒ-2.031255144382Suzuki2003Jul
Suzuki2003Jul/He/energy/¹Gᵉ-2.020000710898Suzuki2003Jul
Suzuki2003Jul/He/energy/¹Sᵉ-2.903724372437Suzuki2003Jul
Suzuki2003Jul/H⁻/energy/³Pᵉ-0.1252865Suzuki2003Jul
Suzuki2003Jul/Ps⁻/energy/¹Sᵉ-0.2620050702328Suzuki2003Jul
Suzuki2003Jul/p̄He⁺/energy/L=31-3.50763486Suzuki2003Jul
Suzuki2003Jul/tdμ/energy/¹Dᵉ-103.408481Suzuki2003Jul
Suzuki2003Jul/tdμ/energy/¹Pᵒ-108.179385Suzuki2003Jul
Suzuki2003Jul/tdμ/energy/¹Sᵉ-111.364511474Suzuki2003Jul
Suzuki2003Jul/ttμ/energy/¹Dᵉ-105.98293Suzuki2003Jul
Suzuki2003Jul/ttμ/energy/¹Fᵒ-101.43Suzuki2003Jul
Suzuki2003Jul/ttμ/energy/¹Pᵒ-110.2621165Suzuki2003Jul
Suzuki2003Jul/ttμ/energy/¹Sᵉ-112.9730179Suzuki2003Jul
Suzuki2003Jul/∞He/energy/³Dᵉ-2.055338993337Suzuki2003Jul
Suzuki2003Jul/∞He/energy/¹Sᵉ-2.903724376984Suzuki2003Jul
Suzuki2003Jul/∞H⁻/energy/¹Sᵉ-0.527751016523Suzuki2003Jul
Suzuki2003Jul/∞Li/energy/¹Sᵉ-7.279913Suzuki2003Jul

Bibliography

@article{Bubin2005Jan,
  title = {Charge asymmetry in HD+},
  volume = {122},
  ISSN = {1089-7690},
  url = {http://dx.doi.org/10.1063/1.1850905},
  DOI = {10.1063/1.1850905},
  number = {4},
  journal = {The Journal of Chemical Physics},
  publisher = {AIP Publishing},
  author = {Bubin,  Sergiy and Bednarz,  Eugeniusz and Adamowicz,  Ludwik},
  year = {2005},
  month = jan
}

@article{Karr2006Apr,
  title = {High accuracy results for the energy levels of the molecular ions H+2,  D+2and HD+,  up toJ= 2},
  volume = {39},
  ISSN = {1361-6455},
  url = {http://dx.doi.org/10.1088/0953-4075/39/8/024},
  DOI = {10.1088/0953-4075/39/8/024},
  number = {8},
  journal = {Journal of Physics B: Atomic,  Molecular and Optical Physics},
  publisher = {IOP Publishing},
  author = {Karr,  J Ph and Hilico,  L},
  year = {2006},
  month = apr,
  pages = {2095–2105}
}

@book{Suzuki2003Jul,
  title={Stochastic variational approach to quantum-mechanical few-body problems},
  volume = {54},
  ISSN = {0940-7677},
  url = {https://doi.org/10.1007/3-540-49541-X},
  DOI = {10.1007/3-540-49541-X},
  author={Suzuki, Yasuyuki and Varga, K{'a}lm{'a}n},
  year={2002},
  month = july,
  publisher={Springer},
}

Citation

Please use CITATION.bib if you need to cite this package.

println(read("../../CITATION.bib", String))
@misc{FewBodyDB.jl,
	author  = {Shuhei Ohno, Martin Mikkelsen},
	title   = {FewBodyDB.jl},
	url     = {https://github.com/JuliaFewBody/FewBodyDB.jl},
	version = {v0.0.3},
	year    = {2025},
	month   = {9}
}

API reference

FewBodyDB.DatabaseEntry — Type
DatabaseEntry(reference, system, observable, state, value)

A benchmark result stored in the database. reference identifies its bibliographic source, while system, observable, and state describe the calculation. value retains the concrete numeric type used by the source.

source
Base.put! — Method
put!(reference, system, observable, state, value) -> DatabaseEntry

Add a benchmark result to the database. The first three arguments may be symbols or strings, reference must already exist in the bundled bibliography, and value must be real. Registering the same result twice throws an ArgumentError.

source
FewBodyDB.bib — Method
bib(key::Union{Symbol,AbstractString}) -> String
bib(entry::DatabaseEntry) -> String

Return the BibTeX source associated with a reference key or database entry.

source
FewBodyDB.db — Method
db(key::Union{Symbol,AbstractString}) -> DatabaseEntry
db(reference, system, observable, state) -> DatabaseEntry

Return a benchmark result. A result can be addressed by its slash-separated key or by its four structured key components. The returned entry is independent of the stored value and can safely be modified if its state is mutable.

Examples

entry = db(:Bubin2005Jan, Symbol("HD⁺"), :energy, (J = 0, v = 0))
entry.value == -0.5978979685

db("Bubin2005Jan/HD⁺/energy/(J = 0, v = 0)").value
source