briederer / LatSpec.jl

A Julia Package for Lattice Spectroscopy
https://bernd1995.github.io/LatSpec.jl
MIT License
3 stars 1 forks source link

Where to go next #17

Open briederer opened 3 years ago

briederer commented 3 years ago

What kind of data to parse

We expect time-series of observables, correlation matrices and so on but not datafiles which need to be parsed. Provide functions for calculating observables from full set of configurations but not in one step. (provide Example workflow in docs)

Next steps

@fzierler:

@bernd1995:

Additional possibilities

fzierler commented 3 years ago
* Add support for arbitrary precision (BigFloat.jl, ...)

BigFloats are actually in Base-julia. If we keep the code sufficiently abstract then the code should work out of the box with higher precision datatypes ( e.g. BigFloats, DoubleFloats.jl with it's own Double64 type or Quadmath.jl which provides Float128 through GNU's libquadmath ). In order to achieve that we should usually try to avoid

and use instead

briederer commented 3 years ago

Also the following are the minimally necessary PlotTypes we should provide:

Did I miss something important?

fzierler commented 3 years ago

For the first two I can rewrite some of my plotting scripts into recipes. I assume that in case of the volume dependence we also want functions that that perform a generic finite volume dependence fit and then include the infinite volume limit in these plots. Again, I have some code the can be reworked to be sufficiently generic.

Nothing else comes to the top of my head as of now.

briederer commented 3 years ago

Definitely the fit is important you are right. Also a keyword for plotting additionally the expected states for different momenta and states from other channels (i.e. Scattering-states) would be nice too.

fzierler commented 3 years ago

I am not quote sure if I understood that completely. Is there a generic way that tells you which states are to be expected? However, we definitely should have the option to add in all cases additional data to the final plot with custom labels. But I think the Plots.jl ecosystem does that by itself an there is no extra work for us to be done here. (For 3D Plots the situation might be more difficult)

briederer commented 3 years ago

Is there a generic way that tells you which states are to be expected?

Well at least generic for each theory. Suppose you have a theory with quantum number J^{PC} with the usual meaning J=Spin, P=Parity and C=Charge and there exists a non-zero Groundstate in the 1^{--} channel with a mass m. Then you are expecting further states with finite momentum and also multiparticle states with the same QN. So in the case of the 1^{--}channel you expect states at: m, 3*m, 2*sqrt[(3*m)^2 + (2pi/L)^2]1 and so on. So basically one has to look which scattering states are allowed in this channel and then climb the momentum ladder up.

Another example 0^{++}-channel with Groundstate m0: Allowed scattering state: 1^{--}*1^{--} particle at 2*m, 2 groundstate particles 2*m0 and integer multiples of this states, as well as the corresponding finite momentum states.

Footnotes

1: Note that I've used here the simple lattice momenta. A more sophisticated way would use cosh() and sinh() functions here see e.g Gattringer/Lang, Quantum chromodynamics on the lattice