---
title: "Единицы и масштабы"
topic: units-scales
order: 1
description: "Натуральные единицы и перевод в СГС; планковские величины; астрофизические единицы; диаграмма масса–размер и шкала времён Вселенной"
---
Космическая эволюция охватывает около 60 порядков по длине — от
планковской длины $10^{-33}$ см до хаббловского радиуса $10^{28}$ см — и
больше 140 порядков по времени: от $10^{-43}$ с до $10^{100}$ лет. На
этом пути литература говорит на трёх языках единиц. Космологи и физики
частиц пишут в **натуральных единицах** ($\hbar = c = k_B = 1$),
астрофизики — в **СГС** с солнечными массами и парсеками, лабораторная
физика — в **СИ**. Нужно свободно переходить между ними и, что важнее,
видеть за каждой величиной её масштаб.
В этой статье мы:
- научимся переводить величины в натуральные единицы и обратно (функции
пакета `cosmevo`);
- найдём планковские величины и поймём, что они означают;
- построим диаграмму «масса–размер», на которой видны все объекты
Вселенной и запрещённые для них области;
- расставим основные эпохи на шкале времени.
## Натуральные единицы
::: {#def-natural-units}
**Натуральные единицы** — система, в которой $\hbar = c = k_B = 1$.
Остаётся одна размерность — энергия (обычно в ГэВ). Масса $m$
отождествляется с энергией покоя $mc^2$, температура $T$ — с энергией
$k_BT$, длина $L$ — с обратной энергией $(L/\hbar c)$, время $t$ — с
обратной энергией $(t/\hbar)$.
:::
Перевод однозначен, потому что каждая из трёх констант убирает ровно одну
размерность: $c$ связывает длину со временем, $\hbar$ — время с энергией,
$k_B$ — температуру с энергией. Функция `natural` из пакета `cosmevo`
раскладывает величину по базовым единицам СИ и выражает её в степени ГэВ;
`from_natural` переводит обратно.
```{python}
import math
import astropy.constants as const
import astropy.units as u
import numpy as np
from cosmevo.units import from_natural, natural
GeV = u.GeV
rows = [("температура", 1 * GeV, u.K), ("масса", 1 * GeV, u.g),
("длина", 1 / GeV, u.cm), ("время", 1 / GeV, u.s)]
for name, q, unit in rows:
print(f"{name:12s} {q:>8} = {from_natural(q, unit):.4e}")
```
Эти четыре числа стоит помнить по порядку величины: 1 ГэВ $\approx
10^{13}$ К $\approx$ масса протона; $\hbar c \approx 0{,}2$ ГэВ·фм.
Проверим аппарат на известной формуле. Томсоновское сечение рассеяния
фотона на электроне в натуральных единицах выглядит предельно просто:
$\sigma_T = 8\pi\alpha^2 / (3 m_e^2)$. Переведём его в см² и сравним с
табличным значением:
```{python}
alpha = const.alpha.value
m_e = natural(const.m_e) # 0.511 МэВ, в ГэВ
sigma_T = 8 * math.pi * alpha**2 / (3 * m_e**2) # ГэВ⁻²
print("σ_T по формуле:", from_natural(sigma_T, u.cm**2))
print("σ_T из таблиц: ", const.sigma_T.cgs)
```
Совпадение полное: формула в натуральных единицах — это та же формула
$\sigma_T = \frac{8\pi}{3}\left(\frac{e^2}{m_ec^2}\right)^2$ в гауссовой
системе, просто константы $\hbar$ и $c$ «спрятаны».
Так же устроены космологические формулы. В теме «Термодинамика
расширяющейся Вселенной» будет выведено, что в эпоху излучения время
связано с температурой как
$$
t = 0{,}301\, g_*^{-1/2}\,\frac{\Mpl}{T^2},
$$
где $g_*$ — эффективное число релятивистских степеней свободы. При
$T = 1$ МэВ (фотоны, электроны, позитроны и три сорта нейтрино,
$g_* = 10{,}75$):
```{python}
M_pl = natural(np.sqrt(const.hbar * const.c / const.G)) # 1.22·10¹⁹ ГэВ
T = 1 * u.MeV
t = 0.301 / math.sqrt(10.75) * M_pl / T**2
print(f"t(T = 1 МэВ) = {from_natural(t.to(1 / GeV), u.s):.2f}")
```
Отсюда правило: **температура в мегаэлектронвольтах — это примерно
обратный квадратный корень из возраста в секундах**. Нуклеосинтез при
$T \sim 0{,}1$ МэВ идёт на третьей минуте [У]{.status}.
## Планковские величины
::: {#def-planck}
**Планковские величины** — комбинации $\hbar$, $c$ и $G$ с размерностью
длины, времени, массы и температуры:
$$
l_P = \sqrt{\frac{\hbar G}{c^3}}, \qquad t_P = \frac{l_P}{c}, \qquad
\Mpl = \sqrt{\frac{\hbar c}{G}}, \qquad T_P = \frac{\Mpl c^2}{k_B}.
$$
В натуральных единицах $G = \Mpl^{-2}$.
:::
```{python}
l_P = np.sqrt(const.hbar * const.G / const.c**3)
t_P = l_P / const.c
m_P = np.sqrt(const.hbar * const.c / const.G)
T_P = m_P * const.c**2 / const.k_B
print(f"l_P = {l_P.cgs:.3e}")
print(f"t_P = {t_P.cgs:.3e}")
print(f"M_Pl = {m_P.cgs:.3e} = {natural(m_P):.4e}")
print(f"приведённая M_P = M_Pl/√(8π) = {natural(m_P) / math.sqrt(8 * math.pi):.4e}")
print(f"T_P = {T_P.to(u.K):.3e}")
```
Смысл планковской массы прост: это масса, у которой комптоновская длина
волны $\hbar/(mc)$ сравнивается с гравитационным радиусом $2Gm/c^2$
(с точностью до множителя $\sqrt2$). На этом масштабе квантовые
флуктуации геометрии становятся порядка единицы, и ни ОТО, ни квантовая
теория поля на фиксированном фоне не применимы. Это размерная оценка
[У]{.status}; какая теория описывает планковский масштаб — открытый
вопрос. Планковская масса $\approx 22$ мкг — макроскопическая величина:
гравитация слаба, поэтому её квантовые эффекты проявляются лишь при
огромных плотностях энергии.
В пособии используются обе массы — $\Mpl = G^{-1/2}$ и приведённая
$\Mpr = (8\pi G)^{-1/2}$; соглашение — на странице
[Конвенции](/conventions.qmd).
## Астрофизические единицы
Астрофизика работает в СГС, а массы, светимости и расстояния измеряет в
естественных для неё эталонах: масса и светимость Солнца
($\Msun \approx 2\cdot10^{33}$ г, $\Lsun \approx 3{,}8\cdot10^{33}$ эрг/с),
парсек ($3{,}1\cdot10^{18}$ см), год ($3{,}16\cdot10^7$ с).
Пример, к которому мы вернёмся в теме «Удельная мощность как мера
сложности»: сколько энергии рассеивает каждый грамм Солнца и каждый
грамм человека (обмен покоя около 100 Вт на 70 кг)?
```{python}
phi_sun = (const.L_sun / const.M_sun).to(u.erg / u.s / u.g)
phi_human = (100 * u.W / (70 * u.kg)).to(u.erg / u.s / u.g)
print(f"Солнце: {phi_sun:.2f}")
print(f"человек: {phi_human:.2e}")
print(f"отношение ≈ {float(phi_human / phi_sun):.0f}")
```
Грамм живого вещества пропускает через себя в 7–8 тысяч раз больше
энергии, чем грамм звезды [У]{.status}. Считать ли это мерой сложности —
вопрос, который в пособии обсуждается отдельно [Г]{.status}.
## Диаграмма масса–размер
Поместим объекты Вселенной на плоскость «масса $M$ — размер $R$» в
логарифмическом масштабе (по идее Карра и Риса, 1979). Две прямые
ограничивают допустимую область:
- **гравитационный радиус** $R = 2GM/c^2$: объект меньшего размера
находится под горизонтом — это чёрная дыра;
- **комптоновская длина** $R = \hbar/(Mc)$: объект меньшего размера нельзя
локализовать, не рождая пар частиц, — классическое понятие размера
теряет смысл.
Прямые пересекаются в окрестности планковской точки. Третья линия —
плотность $\rho = 1$ г/см³: вдоль неё лежат тела, удерживаемые атомными
силами, от песчинки до планеты.
```{python}
#| label: fig-mass-size
#| fig-cap: "Диаграмма масса–размер. Серым — недоступные области: под горизонтом и квантовая; они смыкаются около планковской точки. Пунктир — плотность 1 г/см³. Значения масс и размеров — по порядку величины."
import matplotlib.pyplot as plt
G, c, hbar = (k.cgs.value for k in (const.G, const.c, const.hbar))
msun, kpc = const.M_sun.cgs.value, u.kpc.to(u.cm)
R_H = (const.c / 67.66 / (u.km / u.s / u.Mpc)).to(u.cm).value # хаббловский радиус c/H₀
objects = { # масса, г; размер, см; сдвиг подписи, pt
"протон": (1.67e-24, 8.4e-14, (7, -4)),
"атом водорода": (1.67e-24, 5.3e-9, (7, -4)),
"вирус": (1e-15, 1e-5, (7, -4)),
"человек": (7e4, 1e2, (-12, 6)),
"Земля": (5.97e27, 6.37e8, (-40, 4)),
"Солнце": (msun, 6.96e10, (-50, 4)),
"белый карлик": (msun, 6e8, (7, -2)),
"нейтронная звезда": (1.4 * msun, 1.2e6, (7, -6)),
"Галактика": (1e12 * msun, 30 * kpc, (-72, 0)),
"хаббловский объём": (c**2 * R_H / (2 * G), R_H, (-115, 0)),
}
M = np.logspace(-30, 60, 200)
r_bh, r_c = 2 * G * M / c**2, hbar / (M * c)
fig, ax = plt.subplots(figsize=(7, 5.2))
ax.fill_between(M, 1e-40, np.maximum(r_bh, r_c), color="0.88")
ax.loglog(M, r_bh, "k", lw=1.2)
ax.loglog(M, r_c, "k", lw=1.2)
ax.loglog(M, (3 * M / (4 * np.pi)) ** (1 / 3), "k--", lw=0.8)
for name, (m, r, shift) in objects.items():
ax.plot(m, r, "o", color="tab:red", ms=5)
ax.annotate(name, (m, r), xytext=shift, textcoords="offset points", fontsize=9)
gray = dict(fontsize=9, color="0.35")
ax.text(1e45, 1e-2, "под горизонтом\nR < 2GM/c²", ha="center", **gray)
ax.text(2e-30, 1e-35, "квантовая область\nR < ħ/Mc", **gray)
m_pl = np.sqrt(hbar * c / (2 * G)) # пересечение двух прямых
ax.annotate("планковская точка", (m_pl, hbar / (m_pl * c)), xytext=(1e6, 1e-38),
arrowprops=dict(arrowstyle="->", color="0.35"), **gray)
ax.text(1e8, 1e-2, "пунктир: ρ = 1 г/см³", fontsize=9)
ax.set(xlim=(1e-30, 1e60), ylim=(1e-40, 1e32), xlabel="масса M, г", ylabel="размер R, см")
ax.set_yticks(10.0 ** np.arange(-40, 31, 10))
ax.grid(alpha=0.2)
```
Несколько выводов из одного рисунка.
- Звёзды, планеты и люди лежат в узкой полосе далеко от обеих границ.
Почему именно там, выводится из констант в теме «Как структура мира
зависит от констант».
- Нейтронная звезда всего в несколько раз больше своего гравитационного
радиуса: это самый плотный объект, ещё не ставший чёрной дырой.
- **Хаббловский объём лежит точно на линии чёрных дыр.** Масса вещества
с критической плотностью внутри радиуса $c/H_0$ равна
$M = \frac{4\pi}{3}\rho_c\left(\frac{c}{H_0}\right)^3 = \frac{c^3}{2GH_0}$,
и её гравитационный радиус равен $c/H_0$ тождественно. Это не значит,
что Вселенная — чёрная дыра: в однородной Вселенной нет внешнего
пространства и нет статического горизонта. Совпадение — переписанное
уравнение Фридмана для плоской Вселенной [У]{.status}.
```{python}
H0 = 67.66 * u.km / u.s / u.Mpc
M_H = const.c**3 / (2 * const.G * H0)
print(f"масса хаббловского объёма: {M_H.cgs:.2e} = {float(M_H / const.M_sun):.1e} M☉")
print(f"2GM/c² = {(2 * const.G * M_H / const.c**2).cgs:.4e}, c/H₀ = {(const.c / H0).cgs:.4e}")
```
## Шкала времени
Основные эпохи космической эволюции в логарифмическом масштабе. Значения
округлены; статус — по [конвенциям](/conventions.qmd).
| Событие | Время от начала | Статус |
|---|---|:-:|
| Планковское время | $5\cdot10^{-44}$ с | — (масштаб) |
| Конец инфляции | $\sim10^{-36}$–$10^{-32}$ с | [Г]{.status} |
| Электрослабый переход | $\sim10^{-11}$ с | [У]{.status} |
| КХД-переход: кварки объединяются в адроны | $\sim10^{-5}$ с | [У]{.status} |
| Первичный нуклеосинтез | 1 с – 20 мин | [У]{.status} |
| Рекомбинация, реликтовое излучение | $3{,}7\cdot10^{5}$ лет | [У]{.status} |
| Первые звёзды | $\sim10^{8}$ лет | [Г]{.status} |
| Образование Солнечной системы | $9{,}2\cdot10^{9}$ лет | [У]{.status} |
| Сегодня | $1{,}38\cdot10^{10}$ лет | [У]{.status} |
| Конец звездообразования | $\sim10^{14}$ лет | [Г]{.status} |
| Распад протона (если он есть) | $>10^{34}$ лет | [Г]{.status} |
| Испарение чёрной дыры массой $\Msun$ | $2\cdot10^{67}$ лет | [У]{.status} (теория) |
| Испарение чёрной дыры массой $10^{11}\Msun$ | $2\cdot10^{100}$ лет | [У]{.status} (теория) |
Числа для рекомбинации и сегодняшнего дня даёт опорная космология
Planck 2018, время испарения — формула Хокинга для излучения только
безмассовых частиц $t = 5120\pi G^2M^3/(\hbar c^4)$ (подробно — в теме
«Эффекты Унру и Хокинга»):
```{python}
from astropy.cosmology import Planck18
def hawking_lifetime(M):
"""Время испарения чёрной дыры (только безмассовые частицы)."""
return (5120 * math.pi * const.G**2 * M**3 / (const.hbar * const.c**4)).to(u.yr)
print(f"сегодня: {Planck18.age(0):.3f}")
print(f"рекомбинация: {Planck18.age(1090).to(u.yr):.2e} (z = 1090)")
print(f"Солнце: {(Planck18.age(0) - 4.57 * u.Gyr):.1f} после Большого взрыва")
print(f"испарение M☉: {hawking_lifetime(const.M_sun):.1e}")
print(f"испарение 10¹¹ M☉: {hawking_lifetime(1e11 * const.M_sun):.1e}")
```
Шкала несимметрична: всё, что мы знаем о прошлом, умещается в первые
$10^{10}$ лет, а будущее простирается на десятки порядков дальше.
Большая часть «истории» Вселенной ещё впереди — и именно её пределы
обсуждаются в последних разделах пособия.
## Итоги
- В натуральных единицах $\hbar = c = k_B = 1$ все величины — степени
энергии; перевод однозначен. Полезно помнить: 1 ГэВ $\approx
1{,}16\cdot10^{13}$ К $\approx 1{,}78\cdot10^{-24}$ г, $\hbar c \approx
0{,}197$ ГэВ·фм, $\hbar \approx 6{,}6\cdot10^{-25}$ ГэВ·с.
- В эпоху излучения $T~[\text{МэВ}] \sim t~[\text{с}]^{-1/2}$.
- Планковские величины — масштаб, где квантовые эффекты гравитации
становятся порядка единицы: $l_P \approx 1{,}6\cdot10^{-33}$ см,
$t_P \approx 5{,}4\cdot10^{-44}$ с, $\Mpl \approx 1{,}22\cdot10^{19}$ ГэВ.
- На диаграмме масса–размер все объекты лежат между линией чёрных дыр и
комптоновской линией; хаббловский объём лежит на линии чёрных дыр в
силу уравнения Фридмана.
- Известная история Вселенной занимает $10^{10}$ лет из
$\gtrsim10^{100}$ лет, на которые простирается физически осмысленное
будущее.
## Упражнения
1. Выразите постоянную Хаббла $H_0 = 67{,}66$ км·с⁻¹·Мпк⁻¹ в с⁻¹ и в ГэВ.
Чему равно хаббловское время $1/H_0$ в миллиардах лет и почему оно не
совпадает с возрастом Вселенной?
2. Найдите критическую плотность $\rho_c = 3H_0^2/(8\pi G)$ в г/см³, в
протонах на кубический метр и в виде $\rho_c^{1/4}$ в мэВ (в
натуральных единицах плотность энергии имеет размерность ГэВ⁴).
3. Плотность числа фотонов реликтового излучения
$n_\gamma = 2\zeta(3)T^3/\pi^2$, плотность энергии
$\rho_\gamma = \pi^2T^4/15$. Найдите их при $T_0 = 2{,}7255$ К в см⁻³ и
эВ/см³.
4. Ускоряющаяся Вселенная асимптотически приближается к пространству де
Ситтера с температурой горизонта $T_{dS} = \hbar H_\Lambda/(2\pi k_B)$,
где $H_\Lambda = H_0\sqrt{\Omega_\Lambda}$, $\Omega_\Lambda = 0{,}689$.
Найдите $T_{dS}$ и цену стирания одного бита (предел Ландауэра) при
$T_0$ и при $T_{dS}$.
5. По формуле $t = 5120\pi G^2M^3/(\hbar c^4)$ найдите массу чёрной дыры,
которая испаряется за возраст Вселенной. Почему настоящий ответ больше?
::: {.callout-tip collapse="true"}
## Ответы
1. $H_0 = 2{,}19\cdot10^{-18}$ с⁻¹ $= 1{,}44\cdot10^{-42}$ ГэВ;
$1/H_0 = 14{,}5$ млрд лет. Возраст (13,8 млрд лет) равен $1/H_0$
только при постоянной скорости расширения; в нашей Вселенной оно
сначала замедлялось, затем ускорялось, и интеграл
$\int_0^1 \dd a/(aH)$ даёт несколько меньшее значение.
2. $\rho_c = 8{,}60\cdot10^{-30}$ г/см³ $\approx 5{,}1$ протона на м³;
$\rho_c^{1/4} = 2{,}47$ мэВ. Масштаб энергии тёмной энергии —
миллиэлектронвольты, на 30 порядков ниже планковского: это и есть
проблема космологической постоянной.
3. $n_\gamma = 411$ см⁻³, $\rho_\gamma = 0{,}261$ эВ/см³.
4. $T_{dS} = 2{,}2\cdot10^{-30}$ К. Стирание бита: при $T_0$ —
$2{,}6\cdot10^{-23}$ Дж $= 1{,}6\cdot10^{-4}$ эВ; при $T_{dS}$ —
$2{,}1\cdot10^{-53}$ Дж $= 1{,}3\cdot10^{-34}$ эВ. Нижняя граница
температуры, а значит и цены бита, не нулевая — это важно для
сценариев вычислений в далёком будущем.
5. $M \approx 1{,}7\cdot10^{14}$ г. Формула учитывает только безмассовые
частицы. Лёгкая чёрная дыра горячая ($T \sim 10$ МэВ при
$M \sim 10^{15}$ г) и излучает также электроны, мюоны, кварки и глюоны;
испарение идёт быстрее, поэтому за то же время успевает испариться более
тяжёлая дыра — по расчётам с учётом всех частиц $M \approx 5\cdot10^{14}$ г
(Макгиббон и соавторы, 2008).
:::
## Литература
- Горбунов Д. С., Рубаков В. А. *Введение в теорию ранней Вселенной:
Теория горячего Большого взрыва.* — М.: ЛКИ, 2008. Гл. 1 — единицы и
масштабы.
- Carr B. J., Rees M. J. The anthropic principle and the structure of the
physical world. *Nature* **278**, 605 (1979) — диаграмма масса–размер.
- Hawking S. W. Particle creation by black holes. *Commun. Math. Phys.*
**43**, 199 (1975).
- Page D. N. Particle emission rates from a black hole: Massless particles
from an uncharged, nonrotating hole. *Phys. Rev. D* **13**, 198 (1976).
- MacGibbon J. H., Carr B. J., Page D. N. Do evaporating black holes form
photospheres? *Phys. Rev. D* **78**, 064043 (2008), arXiv:0709.2380.
- Planck Collaboration. Planck 2018 results. VI. Cosmological parameters.
*Astron. Astrophys.* **641**, A6 (2020), arXiv:1807.06209.
```{python}
#| echo: false
#| output: false
# Проверка ответов к упражнениям (не показывается на странице)
from scipy.special import zeta
cosmo = Planck18
assert math.isclose(cosmo.H0.to(1 / u.s).value, 2.19e-18, rel_tol=3e-3)
assert math.isclose(natural(cosmo.H0).value, 1.44e-42, rel_tol=3e-3)
assert round((1 / cosmo.H0).to(u.Gyr).value, 1) == 14.5
rho_c = cosmo.critical_density0
assert math.isclose(rho_c.value, 8.60e-30, rel_tol=3e-3)
assert math.isclose((rho_c / const.m_p).to(u.m**-3).value, 5.1, rel_tol=1e-2)
assert math.isclose((natural(rho_c * const.c**2) ** 0.25).to(u.meV).value, 2.47, rel_tol=3e-3)
T0 = natural(cosmo.Tcmb0)
n_gamma = from_natural((2 * zeta(3) / math.pi**2 * T0**3).to(GeV**3), u.cm**-3)
rho_gamma = from_natural((math.pi**2 / 15 * T0**4).to(GeV**4), u.eV / u.cm**3)
assert round(n_gamma.value) == 411 and math.isclose(rho_gamma.value, 0.261, rel_tol=3e-3)
T_dS = (const.hbar * cosmo.H0 * math.sqrt(0.689) / (2 * math.pi * const.k_B)).to(u.K)
bit = lambda T: const.k_B * T * math.log(2)
assert math.isclose(T_dS.value, 2.2e-30, rel_tol=1e-2)
assert math.isclose(bit(cosmo.Tcmb0).to(u.J).value, 2.6e-23, rel_tol=1e-2)
assert math.isclose(bit(cosmo.Tcmb0).to(u.eV).value, 1.6e-4, rel_tol=2e-2)
assert math.isclose(bit(T_dS).to(u.J).value, 2.1e-53, rel_tol=2e-2)
assert math.isclose(bit(T_dS).to(u.eV).value, 1.3e-34, rel_tol=2e-2)
M_evap = (cosmo.age(0) * const.hbar * const.c**4 / (5120 * math.pi * const.G**2)) ** (1 / 3)
assert math.isclose(M_evap.to(u.g).value, 1.7e14, rel_tol=2e-2)
```