diff --git a/docs/installation/conda.rst b/docs/installation/conda.rst index 8a765e348..88c68ef18 100644 --- a/docs/installation/conda.rst +++ b/docs/installation/conda.rst @@ -105,7 +105,6 @@ For interferometer analysis there are two optional dependencies that must be ins .. code-block:: bash pip install pynufft - pip install pylops==2.3.1 **PyAutoLens** will run without these libraries and it is recommended that you only install them if you intend to do interferometer analysis. diff --git a/docs/installation/overview.rst b/docs/installation/overview.rst index 1915ca12b..c5917fc7c 100644 --- a/docs/installation/overview.rst +++ b/docs/installation/overview.rst @@ -66,6 +66,4 @@ Dependencies And the following optional dependencies: -**pynufft**: https://github.com/jyhmiinlin/pynufft - -**PyLops**: https://github.com/PyLops/pylops \ No newline at end of file +**pynufft**: https://github.com/jyhmiinlin/pynufft \ No newline at end of file diff --git a/docs/installation/pip.rst b/docs/installation/pip.rst index 05a9cf968..dbb168b3f 100644 --- a/docs/installation/pip.rst +++ b/docs/installation/pip.rst @@ -86,7 +86,6 @@ For interferometer analysis there are two optional dependencies that must be ins .. code-block:: bash pip install pynufft - pip install pylops==2.3.1 **PyAutoLens** will run without these libraries and it is recommended that you only install them if you intend to do interferometer analysis. diff --git a/docs/installation/source.rst b/docs/installation/source.rst index 5af7b5692..cf0c85d7c 100644 --- a/docs/installation/source.rst +++ b/docs/installation/source.rst @@ -59,7 +59,6 @@ For unit tests to pass you will also need the following optional requirements: .. code-block:: bash pip install pynufft - pip install pylops==2.3.1 If you are using a ``conda`` environment, add the source repository as follows: diff --git a/files/citations.bib b/files/citations.bib index 195c498d7..162021d3a 100644 --- a/files/citations.bib +++ b/files/citations.bib @@ -33,17 +33,6 @@ @article{astropy2 Bdsk-Url-1 = {https://doi.org/10.3847/1538-3881/aabc4f} } -@article{PyLops, -abstract = {Linear operators and optimisation are at the core of many algorithms used in signal and image processing, remote sensing, and inverse problems. For small to medium-scale problems, existing software packages (e.g., MATLAB, Python numpy and scipy) allow for explicitly building dense (or sparse) matrices and performing algebraic operations (e.g., computation of matrix-vector products and manipulation of matrices) with syntax that closely represents their corresponding analytical forms. However, many real application, large-scale operators do not lend themselves to explicit matrix representations, usually forcing practitioners to forego of the convenient linear-algebra syntax available for their explicit-matrix counterparts. PyLops is an open-source Python library providing a flexible and scalable framework for the creation and combination of so-called linear operators, class-based entities that represent matrices and inherit their associated syntax convenience, but do not rely on the creation of explicit matrices. We show that PyLops operators can dramatically reduce the memory load and CPU computations compared to explicit-matrix calculations, while still allowing users to seamlessly use their existing knowledge of compact matrix-based syntax that scales to any problem size because no explicit matrices are required.}, -archivePrefix = {arXiv}, -arxivId = {1907.12349}, -author = {Ravasi, Matteo and Vasconcelos, Ivan}, -eprint = {1907.12349}, -file = {:home/jammy/Documents/Papers/Software/PyLops.pdf:pdf}, -title = {{PyLops -- A Linear-Operator Python Library for large scale optimization}}, -url = {http://arxiv.org/abs/1907.12349}, -year = {2019} -} @article{colossus, abstract = {This paper introduces Colossus, a public, open-source python package for calculations related to cosmology, the large-scale structure (LSS) of matter in the universe, and the properties of dark matter halos. The code is designed to be fast and easy to use, with a coherent, well-documented user interface. The cosmology module implements Friedman-Lemaitre-Robertson-Walker cosmologies including curvature, relativistic species, and different dark energy equations of state, and provides fast computations of the linear matter power spectrum, variance, and correlation function. The LSS module is concerned with the properties of peaks in Gaussian random fields and halos in a statistical sense, including their peak height, peak curvature, halo bias, and mass function. The halo module deals with spherical overdensity radii and masses, density profiles, concentration, and the splashback radius. To facilitate the rapid exploration of these quantities, Colossus implements more than 40 different fitting functions from the literature. I discuss the core routines in detail, with particular emphasis on their accuracy. Colossus is available at bitbucket.org/bdiemer/colossus.}, diff --git a/files/citations.md b/files/citations.md index 36589cbb5..cf914917c 100644 --- a/files/citations.md +++ b/files/citations.md @@ -19,7 +19,6 @@ This work uses the following software packages: - `PyAutoFit` https://github.com/rhayes777/PyAutoFit [@pyautofit] - `PyAutoGalaxy` https://github.com/Jammy2211/PyAutoGalaxy [@Nightingale2018] [@pyautogalaxy] - `PyAutoLens` https://github.com/Jammy2211/PyAutoLens [@Nightingale2015] [@Nightingale2018] [@pyautolens] -- `PyLops` https://github.com/equinor/pylops [@pylops] - `PyNUFFT` https://github.com/jyhmiinlin/pynufft [@pynufft] - `PySwarms` https://github.com/ljvmiranda921/pyswarms [@pyswarms] - `Python` https://www.python.org/ [@python] diff --git a/files/citations.tex b/files/citations.tex index f500eb271..fd9b4bb1e 100644 --- a/files/citations.tex +++ b/files/citations.tex @@ -54,9 +54,6 @@ \section*{Software Citations} \href{https://github.com/Jammy2211/PyAutoLens}{\textt{PyAutoLens}} \citep{Nightingale2015, Nightingale2018, pyautolens} -\item -\href{https://github.com/equinor/pylops}{\textt{PyLops}} -\citep{pylops} \item \href{https://github.com/jyhmiinlin/pynufft}{\textt{PyNUFFT}} diff --git a/optional_requirements.txt b/optional_requirements.txt index 7f924b895..0d3df0113 100644 --- a/optional_requirements.txt +++ b/optional_requirements.txt @@ -1,5 +1,4 @@ numba -pylops>=1.10.0,<=2.3.1 pynufft zeus-mcmc==2.5.4 getdist==1.4 diff --git a/paper/paper.bib b/paper/paper.bib index fe46fc04f..eba78d1bf 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -30,17 +30,7 @@ @article{astropy2 Volume = {156}, Year = 2018, Bdsk-Url-1 = {https://doi.org/10.3847/1538-3881/aabc4f}} -@article{PyLops, -abstract = {Linear operators and optimisation are at the core of many algorithms used in signal and image processing, remote sensing, and inverse problems. For small to medium-scale problems, existing software packages (e.g., MATLAB, Python numpy and scipy) allow for explicitly building dense (or sparse) matrices and performing algebraic operations (e.g., computation of matrix-vector products and manipulation of matrices) with syntax that closely represents their corresponding analytical forms. However, many real application, large-scale operators do not lend themselves to explicit matrix representations, usually forcing practitioners to forego of the convenient linear-algebra syntax available for their explicit-matrix counterparts. PyLops is an open-source Python library providing a flexible and scalable framework for the creation and combination of so-called linear operators, class-based entities that represent matrices and inherit their associated syntax convenience, but do not rely on the creation of explicit matrices. We show that PyLops operators can dramatically reduce the memory load and CPU computations compared to explicit-matrix calculations, while still allowing users to seamlessly use their existing knowledge of compact matrix-based syntax that scales to any problem size because no explicit matrices are required.}, -archivePrefix = {arXiv}, -arxivId = {1907.12349}, -author = {Ravasi, Matteo and Vasconcelos, Ivan}, -eprint = {1907.12349}, -file = {:home/jammy/Documents/Papers/Software/PyLops.pdf:pdf}, -title = {{PyLops -- A Linear-Operator Python Library for large scale optimization}}, -url = {http://arxiv.org/abs/1907.12349}, -year = {2019} -} + @article{colossus, abstract = {This paper introduces Colossus, a public, open-source python package for calculations related to cosmology, the large-scale structure (LSS) of matter in the universe, and the properties of dark matter halos. The code is designed to be fast and easy to use, with a coherent, well-documented user interface. The cosmology module implements Friedman-Lemaitre-Robertson-Walker cosmologies including curvature, relativistic species, and different dark energy equations of state, and provides fast computations of the linear matter power spectrum, variance, and correlation function. The LSS module is concerned with the properties of peaks in Gaussian random fields and halos in a statistical sense, including their peak height, peak curvature, halo bias, and mass function. The halo module deals with spherical overdensity radii and masses, density profiles, concentration, and the splashback radius. To facilitate the rapid exploration of these quantities, Colossus implements more than 40 different fitting functions from the literature. I discuss the core routines in detail, with particular emphasis on their accuracy. Colossus is available at bitbucket.org/bdiemer/colossus.}, archivePrefix = {arXiv}, diff --git a/paper/paper.md b/paper/paper.md index 77ea3412a..fe72c079f 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -160,8 +160,7 @@ effects like the telescope optics and background sky subtraction in the model-fi performed directly on the observed visibilities in their native Fourier space, circumventing issues associated with the incomplete sampling of the uv-plane that give rise to artefacts that can bias the inferred mass model and source reconstruction in real-space. To make feasible the analysis of millions of visibilities, `PyAutoLens` -uses `PyNUFFT` [@pynufft] to fit the visibilities via a non-uniform fast Fourier transform and `PyLops` [@PyLops] to -express the memory-intensive linear algebra calculations as efficient linear operators [@Powell2020]. Creating +uses `PyNUFFT` [@pynufft] to fit the visibilities via a non-uniform fast Fourier transform. Creating realistic simulations of imaging and interferometer strong lensing datasets is possible, as performed by [@Alexander2019] [@Hermans2019] who used `PyAutoLens` to train neural networks to detect strong lenses. @@ -198,7 +197,6 @@ taken without a local `PyAutoLens` installation. - `numba` [@numba] - `NumPy` [@numpy] - `PyAutoFit` [@pyautofit] -- `PyLops` [@PyLops] - `PyMultiNest` [@pymultinest] [@multinest] - `PyNUFFT` [@pynufft] - `pyprojroot` (https://github.com/chendaniely/pyprojroot) diff --git a/test_autolens/config/grids.yaml b/test_autolens/config/grids.yaml deleted file mode 100644 index 06d81535e..000000000 --- a/test_autolens/config/grids.yaml +++ /dev/null @@ -1,65 +0,0 @@ -interpolate: - convergence_2d_from: - Isothermal: false - IsothermalInitialize: false - IsothermalSph: true - deflections_yx_2d_from: - Isothermal: false - IsothermalInitialize: false - IsothermalSph: true - image_2d_from: - Sersic: false - SersicInitialize: false - SersicSph: true - potential_2d_from: - Isothermal: false - IsothermalInitialize: false - IsothermalSph: true -# Certain light and mass profile calculations become ill defined at (0.0, 0.0) or close to this value. This can lead -# to numerical issues in the calculation of the profile, for example a np.nan may arise, crashing the code. - -# To avoid this, we set a minimum value for the radial coordinate of the profile. If the radial coordinate is below -# this value, it is rounded up to this value. This ensures that the profile cannot receive a radial coordinate of 0.0. - -# For example, if an input grid coordinate has a radial coordinate of 1e-12, for most profiles this will be rounded up -# to radial_minimum=1e-08. This is a small enough value that it should not impact the results of the profile calculation. - -radial_minimum: - radial_minimum: - DevVaucouleurs: 1.0e-08 - DevVaucouleursSph: 1.0e-08 - EllMassProfile: 1.0e-08 - EllProfile: 1.0e-08 - Exponential: 1.0e-08 - ExponentialSph: 1.0e-08 - ExternalShear: 1.0e-08 - Gaussian: 1.0e-08 - GaussianGradient: 1.0e-08 - GaussianSph: 1.0e-08 - Isothermal: 1.0e-08 - IsothermalCore: 1.0e-08 - IsothermalCoreSph: 1.0e-08 - IsothermalInitialize: 1.0e-08 - IsothermalSph: 1.0e-08 - MassSheet: 1.0e-08 - MockGridRadialMinimum: 2.5 - NFW: 1.0e-08 - NFWSph: 1.0e-08 - NFWTruncatedSph: 1.0e-08 - PointMass: 0.0 - PowerLaw: 1.0e-08 - PowerLawBroken: 1.0e-08 - PowerLawBrokenSph: 1.0e-08 - PowerLawCore: 1.0e-08 - PowerLawCoreSph: 1.0e-08 - PowerLawSph: 1.0e-08 - Sersic: 1.0e-08 - SersicCore: 1.0e-08 - SersicCoreSph: 1.0e-08 - SersicGradient: 1.0e-08 - SersicGradientSph: 1.0e-08 - SersicSph: 1.0e-08 - SphNFWTruncatedMCR: 1.0e-08 - gNFW: 1.0e-08 - gNFWSph: 1.0e-08 - diff --git a/test_autolens/config/notation.yaml b/test_autolens/config/notation.yaml index 2d19ca16d..92a53b924 100644 --- a/test_autolens/config/notation.yaml +++ b/test_autolens/config/notation.yaml @@ -62,7 +62,6 @@ label: weight_power: W_{\rm p} superscript: ExternalShear: ext - InputDeflections: defl Pixelization: pix Point: point Redshift: ''