SpM-lab / sparse-ir

On-the-fly computation of IR basis functions
https://sparse-ir.readthedocs.io
MIT License
21 stars 4 forks source link

Implementation is tied to piecewise Legendre polynomials #28

Open mwallerb opened 2 years ago

mwallerb commented 2 years ago

One thing that bugs me slightly as the 1.0 release is coming up is the PiecewiseLegendrePoly and PiecewiseLegendreFT classes.

If, at any point in the future, we want to switch to a different set of functions, for instance, if we manage to find something that is close in analytic structure to the IR functions, then we will have to increment the major version.

So, the question is whether we should introduce abstract TauFunction and MatsubaraFunction types that forms base types for PiecewiseLegendrePoly and PiecewiseLegendreFT, respectively, have the documentation/type hints refer to those types and then rename poly to _poly?

What do you think? Not hugely important, but maybe something to think about ... @Samuel3008 this of course would be something that would need mirroring in the SparseIR.jl repo...

SamuelBadr commented 2 years ago

I agree! The exact function basis used should be an implementation detail a user doesn't have to concern themselves with.