History / version TQF4J8DY · saved
Cite this version
@software{black_hole_2026, author = {ScienceHub}, title = {Black hole}, version = {TQF4J8DY}, year = {2026}, publisher = {ScienceHub}, url = {https://sciencehub.sh/sciencehub-team/black-hole/history/ver_01M4SGGSMV4DH4CJMGTQF4J8DY} }
ScienceHub (2026). Black hole (Version TQF4J8DY) [Computer software]. ScienceHub. https://sciencehub.sh/sciencehub-team/black-hole/history/ver_01M4SGGSMV4DH4CJMGTQF4J8DYcff-version: 1.2.0 message: "If you use this version, cite it as below." title: "Black hole" type: software authors: - name: "ScienceHub" version: "TQF4J8DY" date-released: "2026-10-13" url: "https://sciencehub.sh/sciencehub-team/black-hole/history/ver_01M4SGGSMV4DH4CJMGTQF4J8DY"
This address names exactly this version. The project page cites all versions.
black-hole.py
8 cells changed against the version before: +64 −78 lines.
ChangedScript header+1−1
import marimo
__generated_with = "0.25.1"
Removed: app = marimo.App(width="medium")
Added: app = marimo.App()
ChangedCell+13−15
Removed: mo.md(
Removed: r"""
Removed: # What a black hole looks like
Added: mo.md(r"""
Added: # What a black hole looks like
Removed: Light passing a black hole follows the geometry of spacetime around it.
Removed: For a non-rotating black hole of mass $M$ that geometry is the
Removed: Schwarzschild solution, and a light ray in its equatorial plane obeys one
Removed: equation (units with $G = c = 1$, $u = M/r$, angle $\varphi$):
Added: Light passing a black hole follows the geometry of spacetime around it.
Added: For a non-rotating black hole of mass $M$ that geometry is the
Added: Schwarzschild solution, and a light ray in its equatorial plane obeys one
Added: equation (units with $G = c = 1$, $u = M/r$, angle $\varphi$):
Removed: $$\frac{d^2u}{d\varphi^2} + u = 3u^2$$
Added: $$\frac{d^2u}{d\varphi^2} + u = 3u^2$$
Removed: Without the $3u^2$ term this is a straight line. With it, rays bend, some
Removed: circle the hole before escaping, and every ray aimed closer than a
Removed: critical distance falls in. This notebook solves that equation and
Removed: uses it twice: to draw what a camera near the hole would see, and to
Removed: follow single rays.
Removed: """
Removed: )
Added: Without the $3u^2$ term this is a straight line. With it, rays bend, some
Added: circle the hole before escaping, and every ray aimed closer than a
Added: critical distance falls in. This notebook solves that equation and
Added: uses it twice: to draw what a camera near the hole would see, and to
Added: follow single rays.
Added: """)
1 unchanged cell
ChangedCell+12−14
Removed: mo.md(
Removed: r"""
Removed: ## The view from nearby
Added: mo.md(r"""
Added: ## The view from nearby
Removed: Surround the hole with a thin, glowing disc of gas, the way matter
Removed: spirals into real black holes, and trace one ray backwards from each
Removed: pixel of a camera. Every ray lies in a plane through the hole, so the
Removed: same equation decides where it meets the disc. Rays that miss the disc
Removed: and escape show the sky behind, displaced by the same bending.
Added: Surround the hole with a thin, glowing disc of gas, the way matter
Added: spirals into real black holes, and trace one ray backwards from each
Added: pixel of a camera. Every ray lies in a plane through the hole, so the
Added: same equation decides where it meets the disc. Rays that miss the disc
Added: and escape show the sky behind, displaced by the same bending.
Removed: The left side is brighter because the gas there moves towards the
Removed: camera (Doppler beaming); the arch over the top and the ring
Removed: underneath are the far side of the disc, seen around the hole. This is
Removed: the calculation J.-P. Luminet made by hand in 1979.
Removed: """
Removed: )
Added: The left side is brighter because the gas there moves towards the
Added: camera (Doppler beaming); the arch over the top and the ring
Added: underneath are the far side of the disc, seen around the hole. This is
Added: the calculation J.-P. Luminet made by hand in 1979.
Added: """)
4 unchanged cells
ChangedCell+4−6
Removed: mo.md(
Removed: """
Removed: ## Single rays
Added: mo.md("""
Added: ## Single rays
Removed: Move the slider to aim a ray past the hole.
Removed: """
Removed: )
Added: Move the slider to aim a ray past the hole.
Added: """)
3 unchanged cells
ChangedCell+7−9
Removed: mo.md(
Removed: f"""
Removed: The black disc is the event horizon at $r = 2M$. The dashed circle is the
Removed: photon sphere at $r = 3M$, where light can orbit the hole. Rays aimed with
Removed: $b < 3\\sqrt{{3}}\\,M \\approx {B_CRITICAL:.3f}\\,M$ (amber) fall in; rays
Removed: aimed just above it wind around the photon sphere before escaping. Set
Removed: the slider to 5.20 and then to 5.19 to see the boundary.
Removed: """
Removed: )
Added: mo.md(f"""
Added: The black disc is the event horizon at $r = 2M$. The dashed circle is the
Added: photon sphere at $r = 3M$, where light can orbit the hole. Rays aimed with
Added: $b < 3\\sqrt{{3}}\\,M \\approx {B_CRITICAL:.3f}\\,M$ (amber) fall in; rays
Added: aimed just above it wind around the photon sphere before escaping. Set
Added: the slider to 5.20 and then to 5.19 to see the boundary.
Added: """)
ChangedCell+8−10
Removed: mo.md(
Removed: r"""
Removed: ## Deflection angle against Einstein's prediction
Added: mo.md(r"""
Added: ## Deflection angle against Einstein's prediction
Removed: Far from the hole the deflection is small, and Einstein's weak-field
Removed: result $\delta = 4M/b$ holds. That is the figure Eddington's 1919
Removed: eclipse expedition tested for light grazing the Sun. Close to the hole
Removed: the full equation departs from it and the deflection grows without
Removed: bound as $b$ approaches the critical value.
Removed: """
Removed: )
Added: Far from the hole the deflection is small, and Einstein's weak-field
Added: result $\delta = 4M/b$ holds. That is the figure Eddington's 1919
Added: eclipse expedition tested for light grazing the Sun. Close to the hole
Added: the full equation departs from it and the deflection grows without
Added: bound as $b$ approaches the critical value.
Added: """)
1 unchanged cell
ChangedCell+8−10
Removed: mo.md(
Removed: r"""
Removed: ## The shadow of M87*
Added: mo.md(r"""
Added: ## The shadow of M87*
Removed: A distant observer sees a dark disc where rays with $b < 3\sqrt{3}\,M$
Removed: would have come from. Its angular diameter is
Removed: $2 \cdot 3\sqrt{3}\, GM / (c^2 D)$. For the black hole in the galaxy
Removed: M87, with a mass of about 6.5 billion Suns at 16.8 megaparsecs (the
Removed: values the Event Horizon Telescope used in 2019), that gives:
Removed: """
Removed: )
Added: A distant observer sees a dark disc where rays with $b < 3\sqrt{3}\,M$
Added: would have come from. Its angular diameter is
Added: $2 \cdot 3\sqrt{3}\, GM / (c^2 D)$. For the black hole in the galaxy
Added: M87, with a mass of about 6.5 billion Suns at 16.8 megaparsecs (the
Added: values the Event Horizon Telescope used in 2019), that gives:
Added: """)
2 unchanged cells
ChangedCell+11−13
Removed: mo.md(
Removed: """
Removed: ---
Removed: **Method.** Fourth-order Runge-Kutta in the swept angle, step 0.004 rad
Removed: (0.002 for the deflection curve). The pictured rays start at $r = 60M$;
Removed: the deflection curve integrates from and back to infinity ($u = 0$). **References.** K. Schwarzschild (1916); S. Chandrasekhar,
Removed: *The Mathematical Theory of Black Holes* (1983), ch. 3; Event Horizon
Removed: Telescope Collaboration, ApJL 875 L1 (2019); J.-P. Luminet, A&A 75 (1979) 228.
Removed: The disc is thin and Keplerian, emits from $r = 6M$ to $18M$ with a
Removed: Page-Thorne-like profile, and the star field is synthetic.
Removed: Fork it to trace a rotating (Kerr) black hole or a thick, turbulent disc.
Removed: """
Removed: )
Added: mo.md("""
Added: ---
Added: **Method.** Fourth-order Runge-Kutta in the swept angle, step 0.004 rad
Added: (0.002 for the deflection curve). The pictured rays start at $r = 60M$;
Added: the deflection curve integrates from and back to infinity ($u = 0$). **References.** K. Schwarzschild (1916); S. Chandrasekhar,
Added: *The Mathematical Theory of Black Holes* (1983), ch. 3; Event Horizon
Added: Telescope Collaboration, ApJL 875 L1 (2019); J.-P. Luminet, A&A 75 (1979) 228.
Added: The disc is thin and Keplerian, emits from $r = 6M$ to $18M$ with a
Added: Page-Thorne-like profile, and the star field is synthetic.
Added: Fork it to trace a rotating (Kerr) black hole or a thick, turbulent disc.
Added: """)