惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
H
Help Net Security
小众软件
小众软件
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
爱范儿
爱范儿
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
博客园 - 【当耐特】
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
博客园_首页
Jina AI
Jina AI
D
Docker
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Теорема Фробениуса
Олег Зубелевич · 2026-06-14 · via Все публикации подряд на Хабре

Эта заметка является продолжением статьи: «Выпрямление векторных полей и коммутирование потоков».

Возьмем гладкую функцию трех переменных f:\mathbb{R}^3\to\mathbb{R} (предположим, что её градиент нигде не обращается в ноль). Рассмотрим её поверхности уровня:

f(x, y, z) = C

При различных значениях константы C мы получаем набор непересекающихся двумерных поверхностей. Пространство расслаивается на них, как слои в луковице. Если теперь в каждой точке пространства взять касательную плоскость к проходящей через неё поверхности уровня, мы получим поле двумерных плоскостей.

По определению это распределение интегрируемо, а поверхности уровня f(x,y,z)=C являются его интегральными поверхностями.

Обратно, допустим, кто-то задал нам совершенно произвольное гладкое поле двумерных плоскостей в \mathbb{R}^3 и попросил найти для них интегральные поверхности.

Поле двумерных плоскостей можно задать двумя линейно независимыми в каждой точке \mathbb{R}^3 векторными полями u(x,y,z) и v(x,y,z). Тогда через каждую точку (x,y,z) пространства проходит плоскость, содержащая векторы u(x,y,z) и v(x,y,z).

Всегда ли мы сможем найти такую функцию f, поверхности уровня которой будут везде касаться наших плоскостей?

Интуиция может подсказывать, что это всегда возможно, но это не так.

Ответ на вопрос дает теорема Фробениуса.

В этой статье мы сформулируем и докажем эту теорему.


Уравнение в частных производных

Пусть в области D\subset\mathbb{R}^m заданы n гладких векторных полей v_1(x),\ldots,v_n(x).

Теорема 1. Предположим, что в области D данные векторные поля попарно коммутируют:

[v_i,v_j]=0, \quad i,j=1,\ldots,n.

Тогда для задачи Коши для системы уравнений в частных производных

\frac{\partial x}{\partial t^k}=v_k(x), \quad x \big|_{t=0}=\hat x\in D

существует и притом единственное решение x=x(t), где t=(t^1,\ldots, t^n)\in\mathbb{R}^n, при достаточно малых |t|.

Доказательство

Действительно, проверим, что отображение t\mapsto x(t), заданное формулой

x(t)=g_1^{t^1}\circ\ldots\circ g_n^{t^n}(\hat x), \quad g_k^t:=g_{v_k}^t,\qquad(1)

является искомым решением.

По определению фазового потока g_1^t имеем:

\frac{\partial x}{\partial t^1}=v_1(g_1^{t^1}\circ\ldots\circ g_n^{t^n}(\hat x)).

Уравнения по остальным переменным

\frac{\partial x}{\partial t^k}=v_k(x(t)), \quad k\ge 2,

проверяются аналогично. Для этого, пользуясь тем, что потоки коммутируют, необходимо переставить поток g_k^{t^k} в формуле (1) на крайнее левое место и продифференцировать по t^k.

Единственность доказывается аналогично единственности в теореме Коши для обыкновенных дифференциальных уравнений — с помощью интегрального уравнения:

x(t)=\hat x+\int_{[0,t]}v_i(x(\xi))\,dt^i, \quad [0,t]=\{st\in \mathbb{R}^n \mid 0\le s\le 1\}\subset\mathbb{R}^n.

Теорема доказана. \blacksquare


Теорема Фробениуса

Теорема 2 (о коммутирующих полях). Предположим, что векторные поля

v_i=(v^1_i,\ldots,v^m_i)(x),\quad i=1,\ldots,n,

линейно независимы в каждой точке области D, то есть

\mathrm{rang}\,V=n,\quad V=\begin{pmatrix} v^1_1 & \dots & v^m_1 \\ \vdots & \ddots & \vdots \\ v^1_n & \dots & v^m_n \end{pmatrix},

и попарно коммутируют:

[v_i,v_j]=0, \quad i,j=1,\ldots,n.

Тогда через каждую точку \hat x\in D проходит и притом единственная гладкая n-мерная поверхность \Sigma(\hat x)\subset D такая, что векторные поля v_1,\ldots,v_n являются базисными на \Sigma(\hat x).

Действительно, отображение из предыдущей теоремы задает параметрическое уравнение поверхности \Sigma(\hat x), при этом параметры (t^1,\ldots,t^n) служат локальными координатами на \Sigma(\hat x) с базисными векторами v_1,\ldots,v_k.

Теорема 3 (Фробениус). Предположим, что векторные поля

v_i=(v^1_i,\ldots,v^m_i)(x),\quad i=1,\ldots,n,

линейно независимы в каждой точке области D и находятся в инволюции:

[v_i,v_j]=c_{ij}^p(x)v_p.

Тогда через каждую точку \hat x\in D проходит и притом единственная гладкая n-мерная поверхность \Sigma(\hat x)\subset D такая, что при каждом x\in \Sigma(\hat x) векторы v_1(x),\ldots,v_n(x) образуют базис в касательном пространстве к поверхности \Sigma(\hat x) в точке x (T_x\Sigma(\hat x)).

Доказательство

План доказательства теоремы Фробениуса следующий. Мы построим набор векторных полей u_1,\ldots,u_n как линейную комбинацию полей v_1,\ldots,v_n:

u_k(x)=A_k^s(x)v_s(x),\quad \mathrm{det}\,(A_k^s(x))\ne 0,

где A_k^s(x) — компоненты невырожденной в окрестности точки \hat x матрицы, а сами векторные поля u_1,\ldots,u_n коммутируют, и воспользуемся предыдущей теоремой.

Всякий набор векторов u_1,\ldots, u_n, полученный по этой формуле, находится в инволюции:

[u_i,u_j]=b_{ij}^p(x)u_p.

Это следует из того, что коммутатор векторных полей удовлетворяет правилу Лейбница:

[u,f v]=(L_uf) v+f[u,v].

Перейдем к построению полей u_k.

Будем считать, что векторные поля v_k занумерованы так, что минор, состоящий из первых n столбцов матрицы V, не равен нулю.

Тогда элементарными преобразованиями строк матрицу V можно привести к виду, когда на месте указанного минора стоит единичная матрица:

\tilde V = \begin{pmatrix}1 & 0 & \dots & 0 & \tilde{v}^{n+1}_1 & \dots & \tilde{v}^m_1 \\0 & 1 & \dots & 0 & \tilde{v}^{n+1}_2 & \dots & \tilde{v}^m_2 \\\vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\0 & 0 & \dots & 1 & \tilde{v}^{n+1}_n & \dots & \tilde{v}^m_n\end{pmatrix}

Теперь в качестве вектора u_k возьмем вектор с координатами, которые стоят в k-й строке матрицы \tilde V:

u_k(x) = (0, \ldots, 1, \ldots, 0, \tilde v_k^{n+1}(x), \ldots, \tilde v_k^m(x)), \quad k=1,\ldots,n,

где единица стоит на k-м месте.

Рассматривая первые n компонент коммутатора для s \le n, имеем:

[u_i,u_j]^s=b_{ij}^p(x)u^s_p=b_{ij}^p(x)\delta^s_p=b_{ij}^s.

С другой стороны, поскольку первые n координат полей u_k постоянны (нули и единицы), их производные равны нулю, откуда [u_i,u_j]^s=0 при s\le n.

Отсюда следует, что все b_{ij}^p=0, и теорема Фробениуса напрямую вытекает из Теоремы 2 (о коммутирующих полях). \blacksquare