Ротор ∇×F: вихри поля
Ротор измеряет, насколько поле закручивает крошечную вертушку, помещённую в точку.
Ротор $\nabla \times \vec F$ — вектор, характеризующий вращение (завихрённость) поля в точке.
Формула
Ротор — это формальное векторное произведение $\nabla$ на $\vec F$:
$$\nabla \times \vec F = \begin{vmatrix} \vec e_x & \vec e_y & \vec e_z \\ \partial_x & \partial_y & \partial_z \\ P & Q & R \end{vmatrix}$$
В плоском случае ($R=0$, всё зависит от $x,y$) у ротора важна только $z$-компонента:
$$(\nabla \times \vec F)_z = \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y}$$
Физический смысл
Поместите в поток маленькое колесо с лопатками. Если оно начнёт вращаться — ротор не ноль, и он направлен вдоль оси вращения (по правилу правой руки). Поле без вращения ($\nabla \times \vec F = \vec 0$) называют безвихревым (потенциальным).
Сравним два поля
def curl_z(field, p, h=1e-6):
x, y = p
P = lambda x, y: field(x, y)[0]
Q = lambda x, y: field(x, y)[1]
dQdx = (Q(x+h, y) - Q(x-h, y)) / (2*h)
dPdy = (P(x, y+h) - P(x, y-h)) / (2*h)
return dQdx - dPdy
# Поле вращения F = (-y, x): сильный вихрь
rot = lambda x, y: (-y, x)
print("rot вращения =", round(curl_z(rot, (1, 1)), 4))
# Радиальное поле F = (x, y): без вихря
radial = lambda x, y: (x, y)
print("rot радиального =", round(curl_z(radial, (1, 1)), 4))Вывод:
rot вращения = 2.0 rot радиального = 0.0
Поле вращения закручивает вертушку (ротор $2$), радиальное поле — нет (ротор ноль). Сравните с прошлым уроком: там было ровно наоборот для дивергенции. Эти два оператора «видят» разные стороны поля.
Как работает под капотом
Ротор и дивергенция дополняют друг друга. Любое достаточно гладкое поле раскладывается на безвихревую часть (градиент потенциала, ротор $=0$) и соленоидальную часть (дивергенция $=0$) — это теорема Гельмгольца. Радиальное поле — чистый «источник», поле вращения — чистый «вихрь», и они не пересекаются.
Частые ошибки
- Считать ротор скаляром. В 3D это вектор; в 2D от него остаётся одно число — z-компонента.
- Путать порядок в $\partial Q/\partial x - \partial P/\partial y$: перестановка меняет знак.
- Думать, что большая скорость поля = большой ротор. Ротор про закрученность, а не про модуль.
Итог
- $\nabla \times \vec F$ — вектор, мера завихрённости поля.
- В 2D работает $z$-компонента: $\partial Q/\partial x - \partial P/\partial y$.
- Поле вращения вихревое, радиальное безвихревое — зеркально дивергенции.