EinsteinPy - Making Einstein possible in Python =============================================== .. image:: https://einsteinpy.org/img/wordmark.png :target: https://einsteinpy.org/ :alt: EinsteinPy logo :width: 675px :align: center **EinsteinPy** is an open source pure Python package dedicated to problems arising in General Relativity and gravitational physics, such as geodesics plotting for Schwarzschild, Kerr and Kerr Newman space-time model, calculation of Schwarzschild radius, calculation of Event Horizon and Ergosphere for Kerr space-time. Symbolic Manipulations of various tensors like Metric, Riemann, Ricci and Christoffel Symbols is also possible using the library. EinsteinPy also features Hypersurface Embedding of Schwarzschild space-time, which will soon lead to modelling of Gravitational Lensing! It is released under the MIT license. View `source code`_ of EinsteinPy! .. _`source code`: https://github.com/einsteinpy/einsteinpy Key features of EinsteinPy are: * Geometry analysis and trajectory calculation in vacuum solutions of Einstein's field equations * Schwarzschild space-time * Kerr space-time * Kerr-Newman space-time * Various utilities related to above geometry models * Schwarzschild Radius * Event horizon and ergosphere for Kerr black hole * Maxwell Tensor and electromagnetic potential in Kerr-Newman space-time * And much more! * Symbolic Calculation of various quantities * Christoffel Symbols * Riemann Curvature Tensor * Ricci Tensor * Index uppering and lowering! * Simplification of symbolic expressions * Geodesic Plotting * Static Plotting using Matplotlib * Interactive 2D plotting * Environment aware plotting! * Coordinate conversion with unit handling * Spherical/Cartesian Coordinates * Boyer-Lindquist/Cartesian Coordinates * Hypersurface Embedding of Schwarzschild Space-Time * Shadow cast by an thin emission disk around a Schwarzschild Black Hole And more to come! Einsteinpy is developed by an open community. Release announcements and general discussion take place on our `mailing list`_ and `chat`_. .. _`mailing list`: https://groups.io/g/einsteinpy-dev .. _`chat`: https://riot.im/app/#/room/#einsteinpy:matrix.org .. include:: form.rst The `source code`_, `issue tracker`_ and `wiki`_ are hosted on GitHub, and all contributions and feedback are more than welcome. You can test EinsteinPy in your browser using binder, a cloud Jupyter notebook server: .. image:: https://img.shields.io/badge/launch-binder-e66581.svg?style=flat-square :target: https://beta.mybinder.org/v2/gh/einsteinpy/einsteinpy/main?filepath=index.ipynb .. _`source code`: https://github.com/einsteinpy/einsteinpy .. _`issue tracker`: https://github.com/einsteinpy/einsteinpy/issues .. _`wiki`: https://github.com/einsteinpy/einsteinpy/wiki/ EinsteinPy works on recent versions of Python and is released under the MIT license, hence allowing commercial use of the library. .. code-block:: python from einsteinpy.plotting import GeodesicPlotter from einsteinpy.examples import perihelion a = GeodesicPlotter() a.plot(perihelion()) a.show() .. figure:: _static/perihelion.png :align: center :figwidth: 650px :alt: Advancement of perihelion in Schwarzschild space-time Contents -------- .. toctree:: :maxdepth: 2 getting_started user_guide metric jupyter changelog dev_guide api/index codeofconduct