Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interpolation framework across different grids #5

Open
Datseris opened this issue Jan 24, 2019 · 2 comments
Open

Interpolation framework across different grids #5

Datseris opened this issue Jan 24, 2019 · 2 comments

Comments

@Datseris
Copy link

A robust interpolation framework that interpolates a wavefunction back and forth across different grids could be super useful.

What I mean: For example I want to use FFTs for a graphene wavefunction (and I don't want to use HexFFTs). I need to interpolate a WF from the honeycomb to a square grid. Then do FFT, stuff, IFFT and then interpolate back into the honeycomb grid.

Using Interpolations.jl I can imagine that we can implement such a framework with any grid to any grid (of same dimensionality of course).

Notes:

  1. This could be done very easily in the cost of accuracy by transforming every input grid first to a uniform grid and then transforming to another grid.
  2. In this framework there should be an option to not extrapolate to sites outside a given shape (because these sites do not exist in the original system) and subsequently use the exact value 0.0 + 0.0im to these sites.
@Datseris
Copy link
Author

To add more, this framework should also be able to transform the result to and from linear indexing, where "linear indexing" stands for the indexing used in the Hamiltonian, i.e. the lattice site index.

(this is of course only for the case where the wf is a scalar)

@pablosanjose
Copy link
Owner

pablosanjose commented Apr 15, 2019

I recently came across a related situation, whereby I need a single-electron Green function, computed as 1/(ω-H) evaluated at points between the lattice grid. I also immediately thought about using the great Interpolations.jl package. But like in your situation, this need seemed highly specific to my particular problem.

Is there a common and generic enough electronic-system computation that would warrant including interpolation functionality into Elsa.jl, thereby adding an Interpolations.jl dependency? Wouldn't it make more sense to just have both packages interoperate nicely, so that the user needing interpolations could just move data back and forth Elsa and Interpolations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants