Show relative precision of Gaia DR3 parallaxes

Show relative precision of Gaia DR3 parallaxes#

The relative precision is shown as a function of \(G\) for a fixed distance, or as a funcion of distance for fixed \(M_G\).

import numpy as np
import matplotlib.pyplot as plt

from pygaia.errors.astrometric import parallax_uncertainty

plt.style.use("./agab.mplstyle")
gmag = np.linspace(5, 21, 1000)
plx_unc = parallax_uncertainty(gmag, release="dr3")
dists = [500, 1000, 5000, 10000]
rel_plx_unc = np.zeros((len(dists), gmag.size))
for i, d in enumerate(dists):
    rel_plx_unc[i, :] = plx_unc / (1000000 / d) * 100

fig, ax = plt.subplots(1, 1, figsize=(16, 9))

for i, d in enumerate(dists):
    ax.semilogy(gmag, rel_plx_unc[i], "-", label=rf"$d={d}$ pc")
# ax.set_xlabel(r'Schijnbare magnitude $G$')
# ax.set_ylabel(r'Relatieve onzekerheid parallax [procent]')
ax.set_xlabel(r"Apparent magnitude $G$")
ax.set_ylabel(r"Relative uncertainty on parallax [per cent]")
ax.set_yticks([1, 10, 100, 1000], ["1", "10", "100", "1000"])
ax.set_ylim(0.4, 100)
ax.grid(True, which="both")
ax.legend()

# plt.savefig('relatieve_onzekerheid_vs_schijnbare_helderheid.pdf')

plt.show()
../_images/47f2e391c6623d5e8d8e69a0cf24fb2f1e6eca776c2c6d9ec423bff39a1321de.png
gabsmag = [12, 5, 0.5, -3]
afstand = np.logspace(2, 4, 100)
rel_plx_unc_B = np.zeros((len(gabsmag), afstand.size))

for i, gabs in enumerate(gabsmag):
    gmags = gabs + 5 * np.log10(afstand) - 5
    rel_plx_unc_B[i] = (
        parallax_uncertainty(gmags, release="dr3") / (1000000 / afstand) * 100
    )

fig, ax = plt.subplots(1, 1, figsize=(16, 9))

for i, g in enumerate(gabsmag):
    ax.loglog(afstand, rel_plx_unc_B[i], "-", label=rf"$M_G={g}$")
# ax.set_xlabel(r'Afstand [parsec]')
# ax.set_ylabel(r'Relatieve onzekerheid parallax [procent]')
ax.set_xlabel(r"Distance [parsec]")
ax.set_ylabel(r"Relative uncertainty on parallax [per cent]")
ax.set_yticks([1, 10, 100, 1000], ["1", "10", "100", "1000"])
ax.set_xticks([100, 500, 1000, 5000, 10000], ["100", "500", "1000", "5000", "10000"])
ax.set_ylim(0.1, 100)
ax.grid(True, which="both")
ax.legend()

# plt.savefig('relatieve_onzekerheid_vs_afstand.pdf')

plt.show()
../_images/806151c97e2488ae99eea64780a388feae3778edefc34ea5fa91f809fa19bcc4.png