Book contents
- Frontmatter
- Contents
- List of contributors
- List of participants
- Preface
- Acknowledgements
- 1 Lensing basics
- 2 Exoplanet microlensing
- 3 Four case studies of microlensing
- 4 Gravitational (micro)lensing of quasars and AGN
- 5 Dark matter in clusters and large-scale structure
- 6 The future of strong lensing
- 7 Methods for strong lens modelling
- 8 Tutorial on inverse ray shooting
- References
8 - Tutorial on inverse ray shooting
Published online by Cambridge University Press: 05 September 2016
- Frontmatter
- Contents
- List of contributors
- List of participants
- Preface
- Acknowledgements
- 1 Lensing basics
- 2 Exoplanet microlensing
- 3 Four case studies of microlensing
- 4 Gravitational (micro)lensing of quasars and AGN
- 5 Dark matter in clusters and large-scale structure
- 6 The future of strong lensing
- 7 Methods for strong lens modelling
- 8 Tutorial on inverse ray shooting
- References
Summary
Magnification maps are an essential tool in microlensing studies. Their calculation is based on very simple principles and it is therefore quite straightforward to implement. This tutorial is intended to show how these calculations are done by using a basic rayshooting procedure. The tutorial assumes some basic knowledge of any programming language, but no previous knowledge of the specific language used here or experience with gravitational lensing computations is needed. The very basics of gravitational lensing are also implicitly assumed at some points. From the computational point of view, the tutorial covers topics ranging from the simplest ray-shooting program for generating images of an object through a simple lens system to the production of magnification maps for quasar microlensing. Source size effects and how to deal with them are also briefly discussed. We finish by also briefly discussing the main improvements that have been introduced into this technique to make calculations faster.
Introductory remarks
It is particularly difficult to put into writing what was intended as a couple of practical sessions on inverse ray-shooting techniques during the Winter School. Unfortunately, there is not much choice but to illustrate the ideas with some code. At this point, a choice has to be made whether to use pseudocode or to choose a given programming language. I have chosen the latter option here in the hope that the reader may actually use the code snippets presented here straight away and be able to produce some useful programs from it. During the lectures, the Python programming language was used for the tutorial. I chose it for a couple of reasons that are enumerated below. I have therefore also used Python here for presenting the techniques introduced in this tutorial. Nevertheless, the reader is not expected to know any Python in advance as I shall introduce all the required information on Python syntax in Section 8.2. Readers should therefore find no problem in following the explanations and/or in translating the code to their favourite programming language. Finally, these lectures were intended as practical sessions and, as such, the focus is on producing some useful code and on understanding the key steps in that process. Performance will be dealt with at some point in order introduce the necessary Python ingredients to make the programs fast enough to produce results in a reasonable time.
- Type
- Chapter
- Information
- Astrophysical Applications of Gravitational Lensing , pp. 251 - 290Publisher: Cambridge University PressPrint publication year: 2016