-
Notifications
You must be signed in to change notification settings - Fork 66
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
support for 3d xi(r) and wp(rp) #219
Comments
@jablazek can you link the repo for FFTLog? I am an idiot and haven't located it yet. |
i assume that they were using @slosar version: https://github.com/slosar/FFTLog |
Now that fftlog.c is in the master branch at |
@elisachisari @tmcclintock @sukhdeep1989 Agreed, modulo the modifications made to fftlog to operate on projected statistics. |
Computing w_p is in principle straight forward. It is the same transform as going from Cl->w(\theta). Right now, the ell limits are hard coded which is causing an issue to transform P(k) since k range is very different. |
3D xi(r) will require separate function since the bessel function is different. This is actually easier since FFTlog is coded to compute xi(r) and we had to hack around it. |
w_p is super easy in the limber approx. |
These are now implemented in correlation branch. Code compiles (C part) but output needs to be tested. |
xi(r) was addressed by #306 and merged. |
Note for future ppl. Only wp(rp) remains on this issue. |
Sprinting on this with @Andromedanita. Will try to finish implementation tomorrow. We need a new function similar to ccl_correlation_3d in ccl_correlation.c. The only difference should be the first argument in We may also need to apply the correct prefactor. Also how are k and r corrections applied in this fftlog implementation? (what we call the alpha and beta factors) Pinging @sukhdeep1989 . |
@jablazek I didn't fully understand the question. You mean prefactor for k,rp, similar to those of ell, theta? For w(rp) like things, here's another proposal: Why don't we implement the equations from Baldauf's paper that we once talked about. I wrote a generalized form of those eqs. here. (eq. 14-18). These include the RSD corrections as well and then we may not always need non-limber ;), since RSD is the dominant correction. For wg+ like terms, there is an additional step to convert wg_kappa to wg+. |
@sukhdeep1989 : my question about the prefactor and the k, r scalings was in order to allow the generic bessel tranform using fft-log. (e.g. need additional k factors to convert between integer and half-integer bessel functions). I'm sure this is somewhere in the fft-log implementation. If I understand those equations correctly, it is slightly orthogonal issue. We both want to allow for an anisotropic Pk and to perform e.g. the J2 integral to get wp(rp). But you are saying that these two things should be done at the same time to allow for non-limber? |
@jablazek I had a quick looks at ccl_fftlog_ComputeXi2D and ccl_fftlog_ComputeXi3D in https://github.com/LSSTDESC/CCL/blob/master/src/ccl_fftlog.c ? As far as I can tell, no prefactors are needed. The two functions pass a different number for dimension (2D vs 3D) and ccl_fftlog_ComputeXi3D adds 0.5 to the order of bessel function. They get the respective correlation functions back in return. There are additional beta dependent corrections applied to the correlation function multipoles in ccl_correlation_multipole, inside ccl_correlation.c . On the second point, what I'm trying to say is that we can do wp this way to apply RSD like anisotropic corrections. Remember IA also has such terms (1-mu^2 => beta=-1 in RSD notation). Doing a direct J0, J2 like integrals miss them. It is not full non-limber, it only includes RSD which is the dominant correction (and it is flat sky). To do a J0 equivalent, one can simply pass beta=0. Implementation wise, we can follow the existing xi_multipole functions (ccl_correlation_multipole). wp will require a different set of prefactors on multipoles than what is used inside ccl_correlation_multipole. I guess we can do both types of implementations, since simple J0,J2 should be easy with ccl_fftlog_ComputeXi2D . |
CCL should be able to calculate and output 3d correlation function xi(r) and the projected (physical) w_p(r_p). xi(r) is very straightforward with P(k) and FFTLOG. w_p(r_p) is similarly simple in the Limber approx.
The text was updated successfully, but these errors were encountered: