1   symlens

https://img.shields.io/pypi/v/symlens.svg https://img.shields.io/travis/simonsobs/symlens.svg Documentation Status

This library allows one to build and evaluate arbitrary separable mode-coupling estimators. In practice, its main purpose is to provide a flat-sky lensing estimator code. More generally, one can build estimators and noise functions for convergence, magnification, shear, mixed estimators (for gradient cleaning), split-based lensing, birefringence, patchy tau, etc. and cross-covariances between these.

Instead of having to calculate by hand the separable forms of the above, one simply provides the mode-coupling and filter expressions, and a sympy-based (Mathematica-like) backend factorizes these expressions into FFT-only form (i.e., no explicit convolutions are required).

Curved sky support does not exist. Adding it is possibly non-trivial, but thoughts and ideas (and PRs!) are highly appreciated. Still, this package can serve as the backend for quick exploration of various kinds of estimators.

1.1   Dependencies

  • Python>=3.6
  • pixell
  • numpy, sympy

1.2   Installing

To install, run:

$ python setup.py install --user

1.3   Usage

See the Usage guide and the API Reference.

An important thing to remember is that by default, the code expects “physical” normalization of FFTs in pixell (not the default normalization in pixell), i.e. you should be passing in Fourier maps that come from something like

kmap = enmap.fft(imap,normalize='phys')

or

kmaps = enmap.map2harm(imaps,normalize='phys')

1.3.1   Contributing

If you have write access to this repository, please:

  1. create a new branch
  2. push your changes to that branch
  3. merge or rebase to get in sync with master
  4. submit a pull request on github

If you do not have write access, create a fork of this repository and proceed as described above.