Gravity.jl: fast and accurate gravitational lens modeling in Julia

Marco Lombardi
2024-09-12
Abstract:We present Gravity.jl, a new software for the modeling of gravitational lens systems. Gravity.jl is written in the Julia programming language, and is designed to be fast, accurate, and flexible. It can be used to model gravitational lens systems composed of multiple lensing planes, and to perform Bayesian inference on the lens model parameters. In this paper we present the theoretical and statistical ideas behind the code, and we describe its main features. In this first paper of the series, we focus on the modeling of point-like and small extended sources, for which we can linearize the lens equation. We show a practical use of Gravity.jl on a galaxy-scale lens, and we compare the results with those obtained with other codes. We also show how Gravity.jl can be used to perform Bayesian inference on cosmological parameters.
Instrumentation and Methods for Astrophysics
What problem does this paper attempt to address?
The problem this paper attempts to address is: **How to quickly and accurately model complex gravitational lensing systems and perform Bayesian inference to determine lens model parameters.** Specifically, the paper introduces **Gravity.jl**, a novel proprietary software written in the Julia programming language for modeling gravitational lensing systems. The design goals of Gravity.jl are: 1. **Speed and Accuracy**: Capable of maintaining efficiency and high precision when dealing with multi-plane lensing systems. 2. **Flexibility**: Able to handle various types of measurement data, including modeling of point sources and small extended sources. 3. **Bayesian Inference**: Capable of performing Bayesian inference on lens model parameters to provide more reliable results. The focus of the paper includes: - **Theoretical Background**: Introduction to multi-plane gravitational lensing equations and Bayesian inference techniques. - **Statistical Methods**: Description of how to handle different types of measurement data, including image positions, brightness, ellipticity, and time delays. - **Practical Applications**: Demonstration of Gravity.jl's practical applications in galactic-scale lensing and comparison with results from other codes. - **Technical Details**: Discussion of the main technical and design choices of the code, as well as methods for optimizing computations. Through these methods, Gravity.jl aims to address the computational complexity and statistical uncertainty issues present in current gravitational lensing modeling, especially when dealing with complex systems involving multiple lens planes and extended sources.