<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Niko</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Niko"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Niko"/>
		<updated>2026-06-11T16:46:36Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B5%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%91%D0%B5%D1%80%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0&amp;diff=27075</id>
		<title>Неравенство Бернштейна</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B5%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%91%D0%B5%D1%80%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0&amp;diff=27075"/>
				<updated>2012-06-26T15:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Явление Гиббса|&amp;lt;&amp;lt;]][[Об обратных теоремах теории приближения функций|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;T_n(x) = \frac{a_0}2 + \sum\limits_{k=1}^n (a_k \cos kx + b_k \sin kx)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Бернштейн&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\max\limits_{x\in\mathbb{R}} |T'_n(x)| \le n\cdot\max\limits_{x\in\mathbb{R}} |T(x)|&amp;lt;/tex&amp;gt;. Константу &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; уменьшить нельзя&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;T_n = \sin nx \Rightarrow T'_n = n \cos nx&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; уменьшить нельзя.&lt;br /&gt;
&lt;br /&gt;
Так как это неравенство понадобится для так называемых обратных задач теории приближений, то мы приведём доказательство более грубого неравенства, но порядок константы будет тот же самый: вместо &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; будет &amp;lt;tex&amp;gt;2n&amp;lt;/tex&amp;gt;. Доказательство классического неравенства более трудное. Однако, наше можно доказать, используя &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Основываемся на том, что тригонометрический полином {{---}} ряд Фурье самого себя. Запишем его через интеграл Дирихле.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;T_n(x) = \int\limits_Q T_n(t)D_n(x-t) dt = \int\limits_Q T_n(t)D_n(t-x)dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дифференцируем по &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. Интеграл дифференцировать можно, так как промежуточный интеграл конечен, а под интегралом {{---}} тригонометрический полином.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;T'_n(x) = -\int\limits_Q T_n(t)D'_n(t-x) dt = \int\limits_Q T_n(x+t)D'_n(t)dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;T'_n(x) = \int\limits_Q T_n(x+t) D'_n(t) dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;D_n(t) = \frac1\pi\left(\frac12 + \sum\limits_{k=1}^n \cos kt \right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;D'_n(t) = -\frac1\pi \sum\limits_{k=1}^n k\sin kt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Воспользуемся ортогональностью тригонометрической системы. Принимая по внимание то, что под знаком интеграла полином степени не выше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(t) = \sum\limits_{k=n+1}^pc_k\cos kt + d_k\sin kt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q T_n(x+t)D'_n(t) dt&amp;lt;/tex&amp;gt; [в силу ортогональности] &amp;lt;tex&amp;gt;=\int\limits_Q T_n(x+t)(D'_n(t)-G(t)) dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вспомним об ядре Фейера&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Phi_n(t) = \frac1{n+1} \sum\limits_{k=0}^n D_k(t)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \frac1{\pi(n+1)}\left(\frac12 + \sum\limits_{k=1}^n \left(\frac12 + \sum\limits_{j=1}^k \cos jt \right) \right)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \frac1{\pi(n+1)} \left( \frac{n+1}2 + \sum\limits_{j=1}^n \cos jt \sum\limits_{k=j}^n 1   \right) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \frac1{\pi(n+1)} \left(\frac{n+1}2 + \sum\limits_{j=1}^n (n-j+1)\cos jt\right)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \frac1{2\pi} + \frac1\pi \sum\limits_{j=1}^n \left(1 - \frac{j}{n+1}\right) \cos jt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;\Phi_n(t) = \frac1{2\pi} + \frac1\pi \sum\limits_{j=1}^n\left(1-\frac{j}{n+1}\right)\cos jt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;G(t) = \frac{1}{\pi}\sum\limits_{k=1}^{n-1} k \sin (2n -k)t&amp;lt;/tex&amp;gt; Это тот полином, который можно подставить в интеграл.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;T'_n(x) = \int\limits_Q T_n(x+t)(-\frac1\pi)\left( \sum\limits_{k=1}^n k\sin kt + \sum\limits_{k=1}^{n-1} k\sin(2n-k)t \right) dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= -\int\limits_Q T_n(x+t)\frac1\pi(n\sin nt + \sum\limits_{k=1}^{n-1} k(\sin kt+\sin(2n-k)t)) dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= -\int\limits_Q T_n(x+t)\frac1\pi \left(n\sin nt + 2\sum\limits_{k=1}^{n-1} k\sin nt \cdot \cos (n-k)t\right) dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= -\int\limits_Q T_n(k+t)\frac{2n}\pi\sin nt \left(\frac12 + \frac1n\sum\limits_{k=1}^{n-1} k\cos(n-k)t\right) dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=-\int\limits_Q T_n(x+t)\frac{2n}\pi \sin nt \left(\frac12 + \sum\limits_{j=1}^{n-1} \frac{n-j}n \cos jt\right) dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;T'_n(x) = -2n\int\limits_QT_n(x+t)\sin nt \Phi_{n-1}(t)dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Phi_n&amp;lt;/tex&amp;gt; {{---}} неотрицательное и нормированное.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|f\|_\infty = \max\limits_{x\in\mathbb{R}} |f(x)|&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|f(t + x)\|_\infty = \|f(t)\|_\infty&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\|f\|_\infty&amp;lt;/tex&amp;gt; не зависит от &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\sin nt| &amp;lt; 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\|T'_n\| \le 2n \|T_n\| \cdot \int\limits_Q\Phi_n(t)dt = 2n\|T_n\|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ослабленное неравенство Бернштейна установлено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Явление Гиббса|&amp;lt;&amp;lt;]][[Об обратных теоремах теории приближения функций|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%AF%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%93%D0%B8%D0%B1%D0%B1%D1%81%D0%B0&amp;diff=27071</id>
		<title>Явление Гиббса</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%AF%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%93%D0%B8%D0%B1%D0%B1%D1%81%D0%B0&amp;diff=27071"/>
				<updated>2012-06-26T15:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Об интеграле Фурье|&amp;lt;&amp;lt;]][[Неравенство Бернштейна|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=''Явление Гиббса'' {{---}} некоторое особое поведение частичных сумм ряда Фурье в окрестности точки разрыва разлагаемой функции.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
С целью упрощения вычислений рассмотрим на примере функции, равной знаку числа &amp;lt;tex&amp;gt;f(x) = \operatorname{sign} x&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;2\pi&amp;lt;/tex&amp;gt;-периодизованной. Эта функция удовлетворяет условию [[Сходимость ряда Фурье в индивидуальной точке#Теорема Дини | теоремы Дини]] в каждой точке, значит, в каждой точке её можно разложить в ряд Фурье. &amp;lt;tex&amp;gt;f(x) &amp;lt;/tex&amp;gt; {{---}} нечётная, значит, будет ряд только по синусам:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s_n(x) = \int\limits_Q f(t) D_n(t-x) dt = \int\limits_0^\pi + \int\limits_{-\pi}^0 = -1 \cdot \int\limits_{-\pi}^0 D_n(t-x)dt + 1 \cdot \overset{t:=-y}{\int\limits_0^\pi D_n(t-x)dt}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=\int\limits_0^\pi D_n(t-x) dt - \int\limits_0^\pi D_n(t+x)dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=\int\limits_{-x}^{\pi-x} D_n(t)dt - \int\limits_x^{\pi+x} D_n(t) dt&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \int\limits_{-x}^x + \int\limits_x^{\pi-x} - \int\limits_x^{\pi+x}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;= \int\limits_{-x}^x - \left(\int\limits_x^{\pi+x} - \int\limits_x^{\pi-x}\right)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=\int\limits_{-x}^x - \int\limits_{\pi-x}^{\pi+x}&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=\int\limits_{-x}^x (D_n(t) - D_n(\pi + t))dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;s_n(x) = \int\limits_{-x}^x (D_n(t) - D_n(\pi + t)) dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;D_n(t) - D_n(\pi + t) = \frac1\pi \frac{\sin [(n+1/2)t - (-1)^n t/2]}{\sin t}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;n + \frac{1-(-1)^n}2 = 2\left[\frac{n+1}2\right]&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s_n(x) = \frac1\pi\int\limits_{-x}^x \frac{\sin 2\left[\frac{n+1}2\right]t}{\sin t} dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продифференцируем по &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&amp;lt;tex&amp;gt;s'_n(x) = \frac2\pi \frac{\sin 2\left[\frac{n+1}2\right]x}{\sin x}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \langle 0; \pi\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s'_n(x_{m_n}) = 0&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x_{m_n} = \frac\pi{m_n}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;2\left[\frac{n+1}2\right] = m_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Путём дифференциального исчисления проверяем, что &amp;lt;tex&amp;gt;x_{m_n}&amp;lt;/tex&amp;gt; {{---}} точка максимума. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s_n(x_{m_n}) = \frac2\pi \int\limits_0^{x_{m_n}} \frac{\sin m_nt}{\sin t} dt=&amp;lt;/tex&amp;gt; (заменим переменную на &amp;lt;tex&amp;gt;m_n t&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;= \frac2\pi \int\limits_0^\pi \frac{\sin t}t \frac{t/m_n}{\sin t/m_n} dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \frac{t/m_n}{\sin t/m_n} \xrightarrow[n \to \infty]{} 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\frac{t}{\sin t}&amp;lt;/tex&amp;gt; возрастает, значит, к этому интегралу применима [[Предельный переход под знаком интеграла Лебега | теорема Лебега о предельном переходе под знаком интеграла]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s_n(x_{m_n}) &amp;gt; s_{n+1}(x_{m_{n+1}})&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;s_n(x_{m_n}) \to \frac2\pi\int\limits_0^\pi\frac{\sin t}t dt \approx 1,17\ldots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смысл полученного в следующем: функция пройдёт через точку максимума &amp;lt;tex&amp;gt;&amp;gt;1&amp;lt;/tex&amp;gt; и резко пойдёт в ноль. Явление {{---}} явление Гиббса, он обнаружил физический эффект, связаный с математическим поведением этих сумм.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Gibbs_phenomenon Wikipedia — Gibbs phenomenon]&lt;br /&gt;
&lt;br /&gt;
[[Об интеграле Фурье|&amp;lt;&amp;lt;]][[Неравенство Бернштейна|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%94%D0%B6%D0%B5%D0%BA%D1%81%D0%BE%D0%BD%D0%B0&amp;diff=27064</id>
		<title>Теорема Джексона</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%94%D0%B6%D0%B5%D0%BA%D1%81%D0%BE%D0%BD%D0%B0&amp;diff=27064"/>
				<updated>2012-06-26T14:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Следствия */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пофиксите в общем, эту муть, а то я уже офигеваю с этого. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 21:32, 24 июня 2012 (GST)&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
Ранее нами введено [[Наилучшее приближение в линейных нормированных пространствах | наилучшее приближение]] в &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; E_n(f)_C = E_n(f) = \inf \| f - T \|_C, T \in H_n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Наилучшее приближение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \exists T_n(f)_C = T_n(f): E_n(f) = \| f - T_n(f) \|_C &amp;lt;/tex&amp;gt; — полином наилучшего приближения.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; E_n(f) &amp;lt;/tex&amp;gt; — полунорма, &amp;lt;tex&amp;gt; \forall T \in H_n, E_n(T) = 0 &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt; E_n(f) = E_n(f + T) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \omega(f, h)_C &amp;lt;/tex&amp;gt; — [[модуль непрерывности функции]] &amp;lt;tex&amp;gt; = \sup\limits_{|t| \le h} \| f(\cdot + t) - f(\cdot) \|_C = \sup\limits_{|x_2 - x_1| \le h} |f(x_2) - f(x_1)| &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Наилучшее приближение в линейных нормированных пространствах | Ранее]] было установлено, что &amp;lt;tex&amp;gt; E_n(f)_C \xrightarrow[n \to \infty]{} 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Группу теорем, которая позволяет судить о скорости стремления наилучшего приближения к нулю называют «прямыми теоремами теории аппроксимации функций (конструктивной теории функций)». Одной из характеристик, которой описывают структурные свойства фунции, является модуль непрерывности.&lt;br /&gt;
&lt;br /&gt;
Чтобы судить о &amp;lt;tex&amp;gt; E_n(f) &amp;lt;/tex&amp;gt;, надо строить приближение функции в виде полинома таким образом, чтобы уметь оценивать его отклонение от самой функции в терминах модуля непрерывности. Тогда само отклонение будет не меньше модуля непрерывности, и само приближение будет оценено через него. &lt;br /&gt;
&lt;br /&gt;
Типичный прием — интегрирование свертки с тригонометрическим ядром. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; s_n(f, x) = \int\limits_Q f(x + t) D_n(t) dt &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \sigma_n(f, x) = \int\limits_Q f(x + t) \Phi_n(t) dt &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Получающиеся интегралы являются тригонометрическими полиномами. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; A(f, x) = \int\limits_Q f(x + t) J_n(t) dt, J_n &amp;lt;/tex&amp;gt; — тригонометрический полином, произвольное ядро. Заменим &amp;lt;tex&amp;gt; y = x + t &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; A(f, x) = \int\limits_Q f(y) J_n(y - x) dy &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; J_n(y - x) = T_n(x) &amp;lt;/tex&amp;gt; — тригонометрический полином по &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;, коэффициенты которого зависят от &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; A(f, x) = \int\limits_Q f(x + t) J_n(t) dt &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; \int\limits_Q J_n(t) = 1, J_n(t) \ge 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; |f(x) - A(f, x)| \le \int\limits_Q |f(x + t) - f(x)| J_n(t) dt \le \int\limits_Q \omega(f, |t|) J_n(t) dt &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\le \int\limits_Q \omega^*(f, |t|) J_n(t) dt \le &amp;lt;/tex&amp;gt; (применим [[Выпуклые функции#Неравенство Йенсена | неравенство Йенсена]] для выпуклых функций) &amp;lt;tex&amp;gt; \le \omega^*(f, \int\limits_Q |t| J_n(t) dt) \le 2 \omega(f, \int\limits_Q |t| J_n(t) dt) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; — непрерывная, &amp;lt;tex&amp;gt; 2 \pi &amp;lt;/tex&amp;gt; - периодическая функция.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \| f - A(f) \|_C \le 2 \omega (f, \int\limits_Q |t| J_n(t) dt) &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; \int\limits_Q |t| J_n(t) dt &amp;lt;/tex&amp;gt; называется первым, абсолютным моментом ядра.&lt;br /&gt;
&lt;br /&gt;
Из этого неравенства видно, что суть получения основных теорем состоит в том, чтобы удачно подобрать усредняющее ядро, чтобы &amp;lt;tex&amp;gt; \omega \to 0 &amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt; n \to \infty &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Одним из этих ядер является ядро Джексона.&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ядро Джексона — тригонометрический полином, определяющийся как &amp;lt;tex&amp;gt; d_n(t) = \frac1{2 \pi n (2 n^2 + 1)} \left( \frac{\sin\frac{nt}{2}}{\sin\frac{t}{2}} \right)^4 &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; d_n(t) \in H_{2n-2} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_Q d_n(t) = 1 &amp;lt;/tex&amp;gt; {{TODO|t=а доказать?}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_0^{\pi} t d_n(t) \le \frac{3}{4} \frac{1}{n} &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_0^{\pi} = \int\limits_0^{\frac{\pi}{2n}} + \int\limits_{\frac{\pi}{2n}}^{\pi} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_0^{\frac{\pi}{2n}} t \frac{1}{2 \pi n (2 n^2 + 1)} \left( \frac{\sin\frac{nt}{2}}{\sin\frac{t}{2}} \right)^4 dt \le &amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_0^{\frac{\pi}{2n}} t \frac{n^4}{2 \pi n (2 n^2 + 1)} dt = \frac{1}{2} \left( \frac{\pi}{2 n} \right)^2 \frac{n^3}{2 \pi (2n^2 + 1)} \le a \frac{1}{n} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_{\frac{\pi}{2n}}^{\pi} t \frac{\pi^4}{t^4} \frac{1}{2 \pi n (2 n^2 +1)} dt = \frac{1}{2} \frac{1}{2 \pi n (2n^2 +1)} \left( \frac{4 n^2}{\pi^2} - \frac{1}{\pi^2} \right) \le b \frac{1}{n} &amp;lt;/tex&amp;gt;. Неравенство установили.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема Джексона ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Джексон&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C \Rightarrow E_n(f) \le 2 \omega (f, \frac{3 \pi}{n + 1}) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; Y(f, x) = \int\limits_Q f(x + t) d_n(t) dt &amp;lt;/tex&amp;gt; — интеграл Джексона&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; Y_n(f) \in H_{2n - 2} &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; E_{2n - 2} (f) \le \| f - Y_n(f) \| \le 2 \omega (f, \int\limits_Q |t| d_n(t) dt) \le 2 \omega (f, \frac{3}{4 n}) \le 2 \omega (f, \frac{3 \pi}{2 n}) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для четных членов:&lt;br /&gt;
: &amp;lt;tex&amp;gt; E_{2n - 2} (f) \le 2 \omega (f, \frac{3 \pi}{2 n}) &amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt; \frac{3 \pi}{(2n - 2) + 1} = \frac{3 \pi}{2n - 1} &amp;gt; \frac{3 \pi}{2 n}&amp;lt;/tex&amp;gt;&lt;br /&gt;
Дле нечетных:&lt;br /&gt;
: &amp;lt;tex&amp;gt; E_{2n - 1} (f) \le E_{2n - 2} (f) \le 2 \omega (f, \frac{3 \pi}{2 n}) &amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt; \frac{3 \pi}{(2n - 1) + 1} = \frac{3 \pi}{2 n}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Приходим к требуемому неравенству соединяя эти два, что и требовалось.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Следствия ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C^1 &amp;lt;/tex&amp;gt; — непрерывная, дифференциируемая&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; |f(x + t) - f(x)| = |f'(x + \theta t)| |t|, |f'(x + \theta t)| \le \| f' \|_C  &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \omega(f, h) \le \| f' \|_C h &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \omega(f, \frac{3 \pi}{n + 1}) \le \| f' \|_C \frac{3 \pi}{n + 1} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Следствие:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C^1 \Rightarrow E_n(f) \le \| f' \|_C \frac{6 \pi}{n + 1} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C^{(p)} &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; E_n(f) = E_n(f + T), T \in H_n &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; T_n(f') &amp;lt;/tex&amp;gt;. Как и при почленном интегрировании рядов Фурье если из него вычесть его нулевой коэффициент Фурье и написать интеграл от &amp;lt;tex&amp;gt; 0 &amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;, мы получим тригонометрический полином.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_0^x (T_n(f', t) - \frac{1}{2} a_0 (T_n(f'))) dt \in H_n &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Подставим это в предыдущее равенство вместо &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; E_n(f) = E_n(f - \int\limits_0^x T_n(f', t) - \frac12 a_0(T_n(f')) dt) \le \frac{6 \pi}{n + 1} \| g' \| = \frac{6 \pi}{n + 1} \| f' - T_n(f') + \frac12 a_0(T_n(f'))) \| \le \frac{6 \pi}{n + 1} ( \| f' - T_n(f') \| + \frac12 | a_0(T_n (f'))|) (\star)&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \frac12 a_0(T_n(f')) = \frac{1}{2 \pi} \int\limits_Q T_n (f', x) dx &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f' &amp;lt;/tex&amp;gt; — &amp;lt;tex&amp;gt; 2 \pi &amp;lt;/tex&amp;gt;-периодична &amp;lt;tex&amp;gt; \Rightarrow \int\limits_Q f' = f(\pi) - f(-\pi) = 0 &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \frac12 a_0(T_n(f')) = \frac{1}{2 \pi} \int\limits_Q (T_n(f', x) - f'(x))dx &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; |\frac12 a_0(T_n(f'))| \le \| T_n(f') - f'\| = E_n(f') &amp;lt;/tex&amp;gt;. Подставим в &amp;lt;tex&amp;gt;(\star)&amp;lt;/tex&amp;gt; и получим в итоге следующее:&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C^1 \Rightarrow E_n(f) \le \frac{12 \pi}{n + 1} E_n(f')  &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Следует из написанного выше.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; p = 1: E_n(f) \le \| f' \| \frac{6 \pi}{n + 1} &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; p = 2: E_n(f) \le \frac{12 \pi}{n + 1} E_n(f') \le 2 (\frac{6 \pi}{n+1})^2 \| f'' \|_C &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По индукции приходим к:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in C^{(p)} \Rightarrow E_n(f) \le c_p \frac{1}{(n+1)^p} \| f^{(p)} \|_C, c_p&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;c_p&amp;lt;/tex&amp;gt; — константа.&lt;br /&gt;
&lt;br /&gt;
То есть чем больше дифференциируемая(гладкая) функция, тем быстрее наилучшее приближение стремится к нулю.&lt;br /&gt;
&lt;br /&gt;
[http://ru.wikipedia.org/wiki/%D0%AF%D0%B4%D1%80%D0%BE_%D0%94%D0%B6%D0%B5%D0%BA%D1%81%D0%BE%D0%BD%D0%B0 Википедия — Ядро Джексона]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9B%D1%83%D0%B7%D0%B8%D0%BD%D0%B0-%D0%94%D0%B0%D0%BD%D0%B6%D1%83%D0%B0&amp;diff=27061</id>
		<title>Теорема Лузина-Данжуа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%9B%D1%83%D0%B7%D0%B8%D0%BD%D0%B0-%D0%94%D0%B0%D0%BD%D0%B6%D1%83%D0%B0&amp;diff=27061"/>
				<updated>2012-06-26T13:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[L_2-теория рядов Фурье|&amp;lt;&amp;lt;]][[Теорема Джексона|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Рассмотрим произвольный тригонометрический ряд:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \frac{a_0}{2} + \sum\limits_{n=1}^{\infty} (a_n \cos nx + b_n \sin nx) &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; |a_n \cos nx + b_n \sin nx| \le |a_n| + |b_n| &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} (|a_n| + |b_n|) &amp;lt;/tex&amp;gt; сходится, то тригонометрический ряд будет абсолютно сходящимся. &lt;br /&gt;
&lt;br /&gt;
Обратное в общем случае неверно, тригонометрический ряд может абсолютно сходиться в бесконечном числе точек, но при этом числовой будет расходиться.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим, например, &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} \sin (n! x), x_k = \frac{\pi}{k!} &amp;lt;/tex&amp;gt;, тогда при &amp;lt;tex&amp;gt; n \ge k: \sin(n! x_k) = \sin(\pi n (n - 1) \dots (k + 1)) = 0 &amp;lt;/tex&amp;gt;, то есть, ряд абсолютно сходится. Однако, &amp;lt;tex&amp;gt; b_{n!} = 1 &amp;lt;/tex&amp;gt;, и ряд из коэффициентов расходится.&lt;br /&gt;
&lt;br /&gt;
Однако, есть важная теорема:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; a_n \cos nx + b_n \sin nx = \sqrt{a_n^2 + b_n^2} \cos (nx + \varphi_n) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \sqrt{a_n^2 + b_n^2} \le |a_n| + |b_n| \le  \sqrt 2 \sqrt{a_n^2 + b_n^2} &amp;lt;/tex&amp;gt;, следовательно, ряды &amp;lt;tex&amp;gt; \sum\limits_1^{\infty} (|a_n| + |b_n|) &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \sum\limits_1^{\infty} \sqrt{a_n^2 + b_n^2}) &amp;lt;/tex&amp;gt; равносходятся.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Лузин, Данжуа&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть тригонометрический ряд абсолютно сходится на множестве положительной меры. Тогда ряд из &amp;lt;tex&amp;gt; r_n = \sqrt{a_n^2 + b_n^2} &amp;lt;/tex&amp;gt; сходится, следовательно, исходный тригонометрический ряд будет абсолютно сходящимся на всей числовой оси.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} r_n |\cos (nx + \varphi_n)| &amp;lt;/tex&amp;gt; — сходится для любого &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; по условию теоремы, где &amp;lt;tex&amp;gt; \lambda A &amp;gt; 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; \alpha(x) = \sum\limits_{n=1}^{\infty} r_n \cos^2(nx + \varphi_n) &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt; \alpha(x) &amp;lt;/tex&amp;gt; измерима и конечна на &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt; r_n \cos^2(nx + \varphi_n) \le r_n |\cos(nx + \varphi_n)| &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt; \exists A_0 \subset A: \lambda A_0 &amp;gt; 0, \alpha(x) &amp;lt;/tex&amp;gt; — ограничена на &amp;lt;tex&amp;gt; A_0 &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt; A = \bigcup\limits_{n = 1}^{\infty} A(0 \le \alpha(x) \le n), \lambda A &amp;gt; 0 \Rightarrow \lambda A_n \to \lambda A \Rightarrow \exists n_0 : \lambda A_{n_0} &amp;gt; 0 &amp;lt;/tex&amp;gt;, обозначим такой &amp;lt;tex&amp;gt;A_{n_0} &amp;lt;/tex&amp;gt; за &amp;lt;tex&amp;gt; A_0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На &amp;lt;tex&amp;gt; A_0 &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; — суммируема, по [[Классические теоремы о предельном переходе под знаком интеграла Лебега#Теорема Леви|теореме Б. Леви]], ряд можно почленно интегрировать. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \int\limits_{A_0} \alpha(x) dx = \sum\limits_{n=1}^{\infty} r_n \int\limits_{A_0} \cos^2(nx + \varphi_{n, x}) =  \sum\limits_{n=1}^{\infty} r_n \int\limits_{A_0} \frac{1 + \cos(2nx + 2\varphi_{n, x})}{2} =  &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; = \sum\limits_{n=1}^{\infty} \frac12 r_n \left( \lambda A_0 + \int\limits_{A_0} \cos(2\varphi_{n,x}) \cos (2nx) - \int\limits_{A_0} \sin(2\varphi_{n,x}) \sin (2nx) \right) &amp;lt;/tex&amp;gt;. Оба интеграла стремятся к нулю по лемме Римана-Лебега, следовательно, разность этих интегралов с некоторого номера больше &amp;lt;tex&amp;gt; -\frac12 \lambda A_0 &amp;lt;/tex&amp;gt; , а значит, &amp;lt;tex&amp;gt; n &amp;lt;/tex&amp;gt;-е слагаемое ряда больше &amp;lt;tex&amp;gt; \frac12 r_n \frac12 \lambda A_0 &amp;lt;/tex&amp;gt;. Значит, из сходимости исходного ряда по признаку сравнения следует сходимость &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} r_n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, отождествили сходимость рядов &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} (a_n \cos nx + b_n \sin nx) &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} (|a_n| + |b_n|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Запишем условие абсолютной сходимости на языке наилучших приближений.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt; f \in L_2, \sum\limits_{n=1}^{\infty} \frac{E_n(f)_{L_2}}{\sqrt n} &amp;lt; + \infty &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда ряд Фурье абсолютно сходится.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; E_n^2(f)_2 = \pi \sum\limits_{k=n+1}^{\infty} (a_k^2 (f) + b_k^2 (f)) &amp;lt;/tex&amp;gt;. Для абсолютной сходимости достаточно доказать, что &amp;lt;tex&amp;gt; \sum\limits_{k=1}^{\infty} \sqrt{a_k^2 + b_k^2} &amp;lt; + \infty &amp;lt;/tex&amp;gt; в условиях теоремы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{k=1}^{\infty} \sqrt{a_k^2 + b_k^2} =&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \sum\limits_{n=1}^{\infty} \sum\limits_{k = n}^{\infty} \frac{\sqrt{a_k^2 (f) + b_k^2 (f)}}{k} \le &amp;lt;/tex&amp;gt; (используем [[Неравенства Гёльдера, Минковского#Теорема Гёльдера|неравенство Коши для сумм]])&lt;br /&gt;
&amp;lt;tex&amp;gt; \le \sum\limits_{n=1}^{\infty} \left( \sum\limits_{k=n}^{\infty}(a_k^2 + b_k^2) \right)^{\frac12} \left( \sum\limits_{k=n}^{\infty}  \frac1{k^2} \right)^{\frac12} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left( \sum\limits_{k=n}^{\infty}(a_k^2 + b_k^2) \right)^{\frac12} &amp;lt;/tex&amp;gt; равно &amp;lt;tex&amp;gt; E_{n-1}(f)_2 &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \left( \sum\limits_{k=n}^{\infty}  \frac1{k^2} \right)^{\frac12} \le \left( \sum\limits_{k=n}^{\infty} \frac1{k}\frac1{k-1} \right)^{\frac12} \le \left( \sum\limits_{k=n}^{\infty} \frac1{k-1} - \frac1k \right)^{\frac12} \le \frac{1}{\sqrt{n-1}} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таким образом, получили, что &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{\infty} \sqrt{a_k^2 + b_k^2} \le \sqrt{a_1^2 + b_1^2} + \sum\limits_{n=2}^{\infty} \frac{cE_{n-1}(f)_{L_2}}{\sqrt{n-1}} &amp;lt; + \infty &amp;lt;/tex&amp;gt;, таким образом, ряд из &amp;lt;tex&amp;gt; r_n &amp;lt;/tex&amp;gt; сходится.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Denjoy%E2%80%93Luzin_theorem Denjoy-Luzin_theorem]&lt;br /&gt;
&lt;br /&gt;
[[L_2-теория рядов Фурье|&amp;lt;&amp;lt;]][[Теорема Джексона|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26992</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26992"/>
				<updated>2012-06-25T21:37:58Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty}( a_n(f) \cos nx + b_n(f) \sin nx)&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ряд &amp;lt;tex&amp;gt;\sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: (&amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0) \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n, \ldots) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists n \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26991</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26991"/>
				<updated>2012-06-25T21:34:46Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty}( a_n(f) \cos nx + b_n(f) \sin nx)&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ряд &amp;lt;tex&amp;gt;\sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: (&amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0) \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n, \ldots) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26983</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26983"/>
				<updated>2012-06-25T20:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty}( a_n(f) \cos nx + b_n(f) \sin nx)&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ряд &amp;lt;tex&amp;gt;\sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26980</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26980"/>
				<updated>2012-06-25T20:56:27Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_n(f) \cos nx + b_n(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ряд &amp;lt;tex&amp;gt;\sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26978</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26978"/>
				<updated>2012-06-25T20:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26975</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26975"/>
				<updated>2012-06-25T20:38:40Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Ряд &amp;lt;tex&amp;gt; \sum\limits_{k = 1}^{\infty} x_k &amp;lt;/tex&amp;gt; является '''ортогональным''', если &amp;lt;tex&amp;gt; \forall n \ne m \Rightarrow (x_n, x_m) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм: пусть&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_j e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; (причем он может быть расходящимся), &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тогда: &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|^2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt; {{---}} '''экстремальное свойство частичных сумм'''.&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26972</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26972"/>
				<updated>2012-06-25T20:33:54Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, f \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экстремальное свойство: &amp;lt;tex&amp;gt;\|x-s_n(x)\| = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26970</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26970"/>
				<updated>2012-06-25T20:32:10Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, f \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; g \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экстремальное свойство: &amp;lt;tex&amp;gt;\|x-s_n(x)\| = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26969</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26969"/>
				<updated>2012-06-25T20:31:09Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; g \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экстремальное свойство: &amp;lt;tex&amp;gt;\|x-s_n(x)\| = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26968</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26968"/>
				<updated>2012-06-25T20:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \ge 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экстремальное свойство: &amp;lt;tex&amp;gt;\|x-s_n(x)\| = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26967</id>
		<title>L 2-теория рядов Фурье</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=L_2-%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D1%8F%D0%B4%D0%BE%D0%B2_%D0%A4%D1%83%D1%80%D1%8C%D0%B5&amp;diff=26967"/>
				<updated>2012-06-25T20:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
В теории интеграла Лебега мы доказали, что любое пространство &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; — полное. С другой стороны, в &lt;br /&gt;
пространстве &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; можно определить скалярное произведение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, g \rangle = \int\limits_Q f\cdot g&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот интеграл конечен в силу неравенства Гёльдера, так как &amp;lt;tex&amp;gt;\int\limits_Q |fg| \le \sqrt{\int\limits_Q f^2} + \sqrt{\int\limits_Q g^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта операция обладает свойствами скалярного произведения:&lt;br /&gt;
* &amp;lt;tex&amp;gt;\langle f; f \rangle \re 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\langle f; f\rangle = 0 \iff f = 0&amp;lt;/tex&amp;gt; почти всюду&lt;br /&gt;
* Линейность. &amp;lt;tex&amp;gt;\langle \alpha f_1 + \beta f_2 , g \rangle = \alpha\langle f_1, g \rangle + \beta \langle f_2, g\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Симметричность. &amp;lt;tex&amp;gt;\langle f, g\rangle = \langle g, f \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Введём норму &amp;lt;tex&amp;gt;\|f\| = \sqrt{\langle f, f\rangle} = \sqrt{\int\limits_Q f^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В силу того, что пространство полное и норма порождает скалярное произведение, это пространство Гильберта.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теория рядов Фурье'' {{---}} теория, исследуются свойства рядов Фурье как элементов данного Гильбертова пространства.&lt;br /&gt;
&lt;br /&gt;
Центральную роль в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории играет ''ортонормированная система точек''(ОНС).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle e_i, e_j \rangle = \delta_{ij}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Если в качестве модели взять &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и рассмотреть стандартную тригонометрическую систему функций &amp;lt;tex&amp;gt;1, \sin x, \cos x, \sin 2x, \cos 2x, \ldots, \sin nx, \cos nx&amp;lt;/tex&amp;gt;, то окажется, что она {{---}} ортогональная.&lt;br /&gt;
&lt;br /&gt;
Попарная ортогональность:&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q \cos^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q \sin^2 nx dx = \pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_Q 1 = 2\pi&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ОНС будет:&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\sqrt{2\pi}}, \frac{\sin x}{\sqrt\pi}, \frac{\cos x}{\sqrt\pi}, \ldots, \frac{\sin nx}{\sqrt\pi}, \frac{\cos nx}{\sqrt\pi}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По ортонормированной системе можно составлять формальные ряды в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_je_j&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt; ортогональна: &amp;lt;tex&amp;gt;i\ne j \Rightarrow \langle \alpha_1 e_i, \alpha_2 e_j \rangle&amp;lt;/tex&amp;gt; = 0&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; {{---}} ортогональный ряд. Он сходится тогда и только тогда, когда  &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt; сходится. Если &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j = a&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2 = \|a\|^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Возьмём &amp;lt;tex&amp;gt;A_n = \sum\limits_{j=1}^n a_j&amp;lt;/tex&amp;gt;. По определению, сходимость ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^{\infty} a_j&amp;lt;/tex&amp;gt; равносильна существованию предела &amp;lt;tex&amp;gt;A_n&amp;lt;/tex&amp;gt;. Так как пространство {{---}} Гильбертово, то есть полное, значит сходимость равносильна сходимости в себе. Значит, &lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n, m \to \infty} A_n - A_m = 0&amp;lt;/tex&amp;gt;, что равносильно &amp;lt;tex&amp;gt; \|A_n - A_m\| \to 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m &amp;gt; n &amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;A_m - A_n = \sum\limits_{j=n+1}^m a_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|A_m - A_n\|^2 = \left\langle \sum\limits_{i=n+1}^m a_i, \sum\limits_{j=n+1}^m a_j \right\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{i, j = n+1}^m \langle a_i, a_j\rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \langle a_j, a_j \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;= \sum\limits_{j=n+1}^m \|a_j\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По критерию Коши сходимости числовых рядов &amp;lt;tex&amp;gt;\sum\limits_{j=n+1}^m \|a_j\|^2 \to 0 \iff \sum\limits_{j=1}^{\infty} \| a_j \|^2 &amp;lt; \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак, мы установили, что сходимость ортогонального ряда &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty a_j&amp;lt;/tex&amp;gt; равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \|a_j\|^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a = \sum\limits_{j=1}^\infty a_j \Rightarrow \langle a, a \rangle = \langle \sum\limits_{j=1}^\infty a_j, \sum\limits_{j=1}^\infty a_j \rangle \Rightarrow \| a \|^2 = \sum\limits_{j=1}^{\infty} \| a_j \|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Возвращаясь к ряду по ортогональной системе &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, получаем, что он сходится &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \alpha_j^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На базе рядов по ортогональной системе вводится понятие абстрактного ряда Фурье.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \alpha_j e_j&amp;lt;/tex&amp;gt;, тогда, по непрерывности скалярного произведения, можно записать:&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_k\rangle = \sum\limits_{j=1}^\infty \alpha_j\langle e_j, e_k\rangle = \alpha_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть, если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разлагается по ортогональной системе, то необходимо &amp;lt;tex&amp;gt;\alpha_j = \langle x, e_j\rangle&amp;lt;/tex&amp;gt; {{---}} коэффициент Фурье. &lt;br /&gt;
&lt;br /&gt;
Центральную роль играет изучение ортогональных рядов вида &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;. Такие ряды называются '''абстрактными рядами Фурье'''.&lt;br /&gt;
&lt;br /&gt;
В применении к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt\pi} \cos nx\rangle =\int\limits_Q f(x) \frac{1}{\sqrt \pi} \cos nx dx = \sqrt\pi \left(\frac1\pi \int\limits_Q f(x) \cos nx dx\right) = \sqrt\pi a_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Аналогично, для синусов: &amp;lt;tex&amp;gt;\langle f, \frac1\pi \sin nx\rangle = \sqrt\pi b_n(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle f, \frac1{\sqrt{2\pi}}\rangle = \sqrt{\frac\pi2} a_0(f)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда, получается: &amp;lt;tex&amp;gt;\sum\limits_{j=0}^\infty \langle f, e_j\rangle e_j = &amp;lt;/tex&amp;gt; (из того, что &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;) &amp;lt;tex&amp;gt;\sqrt{\frac\pi2} a_0(f) \cdot \frac{1}{\sqrt{2 \pi}} + \sum\limits_{n=1}^\infty(\sqrt\pi a_n(f)\cdot \frac{\cos nx }{\sqrt \pi} + \sqrt\pi b_n(f) \cdot \frac{\sin nx}{\sqrt \pi} ) &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; = \frac{a_0(f)}{2} + \sum\limits_{n = 1}^{\infty} a_0(f) \cos nx + b_0(f) \sin nx&amp;lt;/tex&amp;gt;, то есть, абстрактный ряд Фурье совпадает с классическим.&lt;br /&gt;
&lt;br /&gt;
Применим то, что было сказано выше: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle f, e_j \rangle = \alpha_j&amp;lt;/tex&amp;gt; будет сходиться в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; сходится ояд &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt; (забиваем на множитель и одно слагаемое).&lt;br /&gt;
&lt;br /&gt;
== Теорема Рисса-Фишера ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Рисс, Фишер&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, e_2, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда существует &amp;lt;tex&amp;gt;x \in \mathcal{H}:  \sum\limits_{j=1}^\infty c_ne_n = x&amp;lt;/tex&amp;gt; , то есть, точка разложится в ряд Фурье.&lt;br /&gt;
|proof=&lt;br /&gt;
Выше мы проверяли, что, раз ряд ортогональный, то его сходимость равносильна сходимости &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_j^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поэтому просто положим &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; равным &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Легко установить экстремальное свойство частичных сумм:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty c_ne_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x\in\mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s_n(x) = \sum\limits_{j=1}^n \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Экстремальное свойство: &amp;lt;tex&amp;gt;\|x-s_n(x)\| = \inf \|x - \sum\limits_{k=1}^n \alpha_ke_k\|&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\alpha_k \in \mathbb{R}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из него получается [[Нормированные_пространства#теорема Бесселя|неравенство Бесселя]]: &amp;lt;tex&amp;gt;\sum\limits_{j=1}^\infty \langle x, e_j\rangle^2 \le \|x\|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Раз ряд состоит из квадратов коэффициентов Фурье, то он всегда сходится. В любом случае, ряд Фурье будет сходиться в &amp;lt;tex&amp;gt;\mathcal{H}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возникает вопрос: ''к чему же?''&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Если &amp;lt;tex&amp;gt;y = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt;, из этого не следует &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим в &amp;lt;tex&amp;gt;\mathbb{R}^3&amp;lt;/tex&amp;gt; ОНС &amp;lt;tex&amp;gt;\{e_1, e_2\}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = e_3&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\langle x, e_1\rangle = \langle x, e_2\rangle = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\langle x, e_1\rangle e_1 + \langle x, e_2\rangle e_2 = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\alpha e_1 + \beta e_2 \in \mathcal{L}(e_1, e_2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сумма ряда Фурье &amp;lt;tex&amp;gt;=0&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;\ne e_3&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Таким образом, ряд Фурье всегда сходится, но не всегда к тому, к чему хотелось бы.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы сгладить последствия этого, используют только ОНС со следующими дополнительными свойствами:&lt;br /&gt;
# ОНС {{---}} замкнута: &amp;lt;tex&amp;gt;\forall j : \langle x, e_j\rangle = 0 \Rightarrow x = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# ОНС {{---}} полная: &amp;lt;tex&amp;gt;\operatorname{Cl} \mathcal{L}(e_1, \ldots, e_n) = \mathcal{H}&amp;lt;/tex&amp;gt; (замыкание линейной оболочки совпадает с самим пространством).&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=ОНС {{---}} полная &amp;lt;tex&amp;gt;\iff&amp;lt;/tex&amp;gt; ОНС {{---}} замкнутая&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; Пусть ОНС {{---}} полная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall j: \langle x, e_j\rangle = 0&amp;lt;/tex&amp;gt;. В силу полноты системы, &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 : \exists \sum\limits_{k=1}^n \alpha_k e_k : \|x - \sum\limits_{k=1}^n \alpha_k e_k\| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но частичная сумма ряда Фурье обладает экстремальным свойством:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n\| \le \|\sum\limits_{k=1}^n \alpha_ke_k-x\|&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - s_{n+p}(x)\| \le \|x - s_n(x)\| \le \varepsilon&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье.&lt;br /&gt;
&lt;br /&gt;
А раз у &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; все коэффициенты нулевые, то сумма ряда {{---}} 0.&lt;br /&gt;
&lt;br /&gt;
Значит, из полноты вытекает замкнутость.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt; Пусть система замкнута&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall x \in \mathcal{H} : \sum\limits_{n=1}^\infty |\langle x, e_n\rangle|^2 &amp;lt; +\infty&amp;lt;/tex&amp;gt;. По теореме Рисса-Фишера, &amp;lt;tex&amp;gt;\exists y = \sum\limits_{k=1}^\infty \langle x, e_k\rangle e_k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам ортогональных рядов, &amp;lt;tex&amp;gt;\langle y, e_k\rangle = \langle x, e_k\rangle&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\langle y - x, e_k\rangle =0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Но система замкнута &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;y - x = 0&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;x = y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; разложилось в ряд Фурье &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;x = \lim\limits_{n\to\infty} s_n(x)&amp;lt;/tex&amp;gt;, что и означает полноту системы.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Собирая всё это вместе, приходим к финальному результату&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} ОНС, замкнутая(или полная). Тогда ряд Фурье любой точки &amp;lt;tex&amp;gt;x \in \mathcal{H}&amp;lt;/tex&amp;gt; совпадает с &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;f \in L_2&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; разлагается в ряд Фурье по метрике &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;x = \sum\limits_{j=1}^\infty \langle x, e_j\rangle e_j&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\|x\|^2 = \sum\limits_{j=1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt; {{---}} уравнение замкнутости.&lt;br /&gt;
&lt;br /&gt;
Оно так называется потому, что если оно выполняется для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то соответствующая ОНС {{---}} замкнутая.&lt;br /&gt;
&lt;br /&gt;
Возьмём вторую точку &amp;lt;tex&amp;gt;y = \sum \langle y, e_k\rangle e_k&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|author=Парсеваль&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\langle x, y\rangle = \sum\limits_{j=1}^\infty \langle x, e_j\rangle \cdot \langle y, e_j\rangle&amp;lt;/tex&amp;gt;. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Прикладывая всё это к &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt; и вспоминая связь коэффициентов Фурье с коэффициентами в &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;-теории, приходим к равенству Персеваля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_Q fg = \frac{a_0(f)a_0(g)}2 + \sum\limits_{n=1}^\infty (a_n(f)a_n(g) + b_n(f)b_n(g))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В частности, &amp;lt;tex&amp;gt;\int\limits_Q f^2  = \frac{a_0^2(x)}2 + \sum\limits_{n=1}^\infty (a_n^2(f) + b_n^2(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, в замкнутых системах, &amp;lt;tex&amp;gt;\|x-s_n(x)\|^2 = \|\sum\limits_{k=n+1}^\infty \langle x, e_k\rangle e_k\|^2 = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С другой стороны, экстремальное свойство частичных сумм показывает, что: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x-s_n(x)\| = E_n^2(x)_n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итого: &amp;lt;tex&amp;gt;E_n^2(x)_n = \sum\limits_{k=n+1}^\infty |\langle x, e_k\rangle|^2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;E_n^2(x)_n = \pi\sum\limits_{k=n+1}^\infty (a_k^2(f) + b_k^2(f)) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Финально: последнее равенство показывает исключительный характер &amp;lt;tex&amp;gt;L_2&amp;lt;/tex&amp;gt;: в нём наилучшее приближение вычисляется точно с указанием экстремального полинома.&lt;br /&gt;
&lt;br /&gt;
[[О почленном интегрировании ряда Фурье|&amp;lt;&amp;lt;]][[Теорема Лузина-Данжуа|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%A0%D0%B8%D0%BC%D0%B0%D0%BD%D0%B0-%D0%9B%D0%B5%D0%B1%D0%B5%D0%B3%D0%B0&amp;diff=26885</id>
		<title>Обсуждение:Лемма Римана-Лебега</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%A0%D0%B8%D0%BC%D0%B0%D0%BD%D0%B0-%D0%9B%D0%B5%D0%B1%D0%B5%D0%B3%D0%B0&amp;diff=26885"/>
				<updated>2012-06-24T23:48:28Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: Новая страница: «Есть у кого-нибудь в конспекте доказательство и формулировка обобщенной теоремы Вейерш...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Есть у кого-нибудь в конспекте доказательство и формулировка обобщенной теоремы Вейерштрасса?&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A4%D0%B5%D0%B9%D0%B5%D1%80%D0%B0&amp;diff=26879</id>
		<title>Теорема Фейера</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A4%D0%B5%D0%B9%D0%B5%D1%80%D0%B0&amp;diff=26879"/>
				<updated>2012-06-24T21:36:45Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Теорема Фейера в L_p */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Наилучшее приближение в линейных нормированных пространствах|&amp;lt;&amp;lt;]][[Лемма Римана-Лебега|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;f \in L_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sigma (f, x) = \int\limits_Q f(x + t) \Phi_n(t)dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;(\sigma_n(f, x) = \frac{1}{n+1} \sum\limits_{k = 0}^n S_k(f))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поставим вопрос о сходимости сумм Фейера к &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; либо в индивидуальной &lt;br /&gt;
точке, либо в пространстве &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; (по норме этих пространств).&lt;br /&gt;
&lt;br /&gt;
Любая сумма Фейера {{---}} тригонометрический полином: &amp;lt;tex&amp;gt;\sigma_n(f) \in H_n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Теорема Фейера в L_1 ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=Фейер&lt;br /&gt;
|statement=Пусть &amp;lt;tex&amp;gt;f \in L_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;s \in \mathbb{R}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;x \in \mathbb{R}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{t\to +0} \frac1t \int\limits_0^t |f(x + t) + f(x - t) - 2s| dt = 0&amp;lt;/tex&amp;gt;. Тогда&lt;br /&gt;
&amp;lt;tex&amp;gt;\lim\limits_{n\to\infty} \sigma_n(f, x) = s&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Точку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; принято называть '''регулярной''', если&lt;br /&gt;
в этой точке существуют односторонние пределы.&lt;br /&gt;
}}&lt;br /&gt;
Например, любая точка непрерывности {{---}} регулярная. &lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|about=&lt;br /&gt;
следствие Фейера о двух пределах&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть точка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; — регулярная, тогда в ней &amp;lt;tex&amp;gt;\lim\limits_{n \to \infty} \sigma_n(f, x) = \frac{f(x + 0) + f(x - 0)}2 &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;s = \frac{f(x - 0) + f(x + 0)}{2} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;f(x + t) \xrightarrow[t\to +0]{} f(x + 0), f(x - t) \xrightarrow[t\to -0]{} f(x - 0) &amp;lt;/tex&amp;gt;, по определению предела &amp;lt;tex&amp;gt; \forall\varepsilon\exists\delta : 0 &amp;lt; t &amp;lt; \delta : |f(x \pm t) - f(x \pm 0)| &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для таких &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;|f(x + t) + f(x - t) - 2s| \leq |f(x + t) - f(x + 0)| + |f(x - t) - f(x - 0)| &amp;lt; 2\varepsilon&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
и интересующий нас интеграл &amp;lt;tex&amp;gt;\frac1t\int\limits_0^t|f(x+t)+f(x-t)-2s| \leq \frac1t\int\limits_0^t2\varepsilon = 2\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, условие теоремы Фейера для данного интеграла выполняется, и в регулярной точке, &amp;lt;tex&amp;gt;\lim\limits_{n \to \infty} \sigma_n(f, x) = \frac{f(x + 0) + f(x - 0)}2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В частности, в точке непрерывности функции суммы Фейера всегда сходятся к значению функции в данной точке. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\varphi_x(t) \stackrel{\mathrm{def}}= f(x + t) + f(x - t) - 2s&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Используя результаты, полученные [[Интеграл_Фейера|здесь]], &amp;lt;tex&amp;gt;\sigma_n(f, x) - s = \int\limits_0^\pi \varphi_x(t)\frac1{2\pi(n+1)} \frac{\sin^2\frac{n + 1}{2}t}{\sin^2\frac t2} dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Надо доказать, что этот интеграл при &amp;lt;tex&amp;gt;n\to\infty&amp;lt;/tex&amp;gt; стремится к &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Воспользуемся положительностью &amp;lt;tex&amp;gt;\Phi_n&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;|\sigma_n(f, x) - s| \leq \int\limits_0^\pi |\varphi_x(t)|\Phi_n(t) dt&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нужно доказать, что этот интеграл стремится к нулю. Разобьем его на два интеграла: &amp;lt;tex&amp;gt;h_n = \frac1n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\int\limits_0^\pi = \int\limits_0^{h_n} + \int\limits_{h_n}^\pi&amp;lt;/tex&amp;gt;, и рассмотрим по отдельности.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\int\limits_0^{h_n}|\varphi_x(t)| \frac1{2\pi(n+1)}\frac{\sin^2\frac{n+1}2 t}{\sin^2\frac t2} dt \to 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=Воспользуемся неравенствами &amp;lt;tex&amp;gt;|\sin nt| \leq n|\sin t|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\frac2\pi t \leq \sin t \leq t&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt;t \in [0; \frac\pi2]&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sin^2(n+1)\frac{t}2 \leq (n+1)^2\sin^2\frac{t}2&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\sin^2(n+1)\frac t2}{\sin^2\frac{t}2} \leq (n + 1)^2,\ n + 1 \leq 2n&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;\int\limits_0^{h_n} \leq \frac1{2\pi}(n+1)\int\limits_0^{1/n} |\varphi_x(t)|dt \leq \frac1{\pi} \cdot \frac1{h_n}\int\limits_0^{h_n}|\varphi_x(t)|dt&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По условию теоремы, &amp;lt;tex&amp;gt;\frac1{h_n}\int\limits_0^{h_n}|\varphi_x(t)|dt \to 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_{h_n}^\pi|\varphi_x(t)| \frac1{2\pi(n+1)}\frac{\sin^2\frac{n+1}2 t}{\sin^2\frac t2} dt \to 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\sin^2 \frac{n+1}2 t \leq 1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sin^2 \frac t2 \geq \left(\frac2\pi \frac t2\right)^2 = \left(\frac{t}{\pi}\right)^2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\int\limits_{h_n}^\pi|\varphi_x(t)| \frac1{2\pi(n+1)}\frac{\sin^2\frac{n+1}2}{\sin^2\frac t2} dt \leq&amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;\int\limits_{h_n}^\pi |\varphi_x(t)| \frac1{2\pi(n + 1)} \frac1{\left(\frac{t}\pi\right)^2} \leq&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\leq \int\limits_{h_n}^\pi |\varphi_x(t)| \frac{\pi^2}{2\pi t^2(n+1)} dt = &amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;\frac\pi2 \frac1{n+1} \int\limits_{h_n}^\pi\frac{|\varphi_x(t)|}{t^2} dt \le \frac\pi2 h_n \int\limits_{h_n}^\pi \frac1{t^2}d\Phi_x(t) = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(&amp;lt;tex&amp;gt;\Phi_x(t) = \int\limits_{0}^{t} |\phi_x(y)| dy &amp;lt;/tex&amp;gt;; проинтегрируем по частям. '''Здесь &amp;lt;tex&amp;gt;\Phi_x(t)&amp;lt;/tex&amp;gt; {{---}} НЕ ядро Фейера, а просто определённый интеграл''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;= \frac\pi2 h_n \left(\frac1{t^2}\Phi_x(t) \bigg|_{h_n}^{\pi} + 2\int\limits_{h_n}^\pi \Phi_x(t) \frac1{t^3} dt \right)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оценим каждое из слагаемых.&lt;br /&gt;
&lt;br /&gt;
Первое слагаемое (&amp;lt;tex&amp;gt;h_n \frac1{\pi^2} \Phi_x(\pi) - h_n \frac1{h_n^2}\Phi_x(h_n)&amp;lt;/tex&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac1{\pi^2} \Phi_x(\pi)&amp;lt;/tex&amp;gt; - константа, &amp;lt;tex&amp;gt; h_n \to 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_n \frac1{h_n^2} \Phi_x(h_n) = \frac1{h_n} \int\limits_0^{h_n} |\varphi_x(y)| dy \to 0&amp;lt;/tex&amp;gt; по условию теоремы.&lt;br /&gt;
&lt;br /&gt;
Второе слагаемое:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_n \int\limits_{h_n}^\pi\Phi_x(t) \frac1{t^3} dt = &amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;h_n\int\limits_{h_n}^\pi \left(\frac1t\int\limits_0^t|\varphi_x(y)| dy \right) \frac1{t^2} dt&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По условию теоремы, &amp;lt;tex&amp;gt;  \left(\frac1t\int\limits_0^t|\varphi_x(y)| dy \right) \to 0 &amp;lt;/tex&amp;gt;. Распишем это по определению:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall\varepsilon\exists\delta : 0 &amp;lt; t &amp;lt; \delta : \frac1t\int\limits_0^t|\varphi_x(y)|dy &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть, начиная с какого-то &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; h_n &amp;lt; \delta&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;h_n\int\limits_{h_n}^\pi(...)\frac1{t^2} \stackrel{h_n &amp;lt; \delta}{=} h_n \int\limits_{h_n}^\delta + h_n\int\limits_\delta^\pi&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h_n \int\limits_{h_n}^\delta(...)\frac1{t^2} dt &amp;lt; \varepsilon h_n \int\limits_{h_n}^\delta \frac1{t^2} dt = &amp;lt;/tex&amp;gt;&amp;lt;tex&amp;gt;\varepsilon h_n \left(\frac1{h_n} - \frac1\delta\right) \leq a \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй интеграл &amp;lt;tex&amp;gt;h_n \int\limits_\delta^\pi \to 0&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;\int\limits_\delta^\pi&amp;lt;/tex&amp;gt; {{---}} константа для данного &amp;lt;tex&amp;gt;\delta&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;h_n \to 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Оба интеграла стремятся к нулю, теорема Фейера доказана.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Заметим, что если в теореме Фейера &amp;lt;tex&amp;gt;f \in C&amp;lt;/tex&amp;gt; (непрерывные &amp;lt;tex&amp;gt;2\pi&amp;lt;/tex&amp;gt;-периодические функции), то теорема выполнена в каждой точке &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, и, самое важное, равномерно по &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, то есть,&lt;br /&gt;
&lt;br /&gt;
В этом случае, &amp;lt;tex&amp;gt;\sigma_n(f) \stackrel{n \to \infty}{\rightrightarrows} f&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt; \mathbb{R} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Это связано с тем, что условия Фейера выполнены равномерно по &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; &lt;br /&gt;
(из теоремы Кантора: &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; {{---}} непрерывно на &amp;lt;tex&amp;gt;[a; b]&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; {{---}} равномерно непрерывна на нём)&lt;br /&gt;
&lt;br /&gt;
== Теорема Фейера в L_p ==&lt;br /&gt;
Установим теперь теорему Фейера в &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;f \in L_p \Rightarrow \| \sigma_n(f)\|_p \le \|f\|_p &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Так как &amp;lt;tex&amp;gt; \sigma_n(f) \in H_n &amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; \sigma_n(f) \in L_p &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \| \sigma_n(f)\|^p_p = \int\limits_{Q} |\sigma_n(f)|^pdx, \sigma_n(f, x) = \int\limits_{Q} f(x+t) \Phi_n(t) dt &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; |\sigma_n(f, x)| \le \int\limits_{Q} |f(x + t)|\Phi_n(t) dt = &amp;lt;/tex&amp;gt; (возьмем &amp;lt;tex&amp;gt; q:\ \frac1p + \frac1q = 1 &amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;=  \int\limits_{Q} |f(x + t)\Phi_n^{\frac1p}(t)| \Phi_n^{\frac1q}(t) dt \le  (\int\limits_{Q} |f(x + t)|^p \Phi_n(t) dt)^{\frac1p} (\int\limits_{Q} \Phi_n(t) dt)^{\frac1q}&amp;lt;/tex&amp;gt; (здесь мы воспользовались неравенством Гельдера). Несложно заметить, что второй множитель равен &amp;lt;tex&amp;gt; 1 &amp;lt;/tex&amp;gt;. Подставим это неравенство под знак интеграла в предыдущем равенстве:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \|\sigma_n(f)\|^p_p \le \int\limits_{Q}(\int\limits_{Q} |f(x+t)|^p\Phi_n(t) dt)dx = &amp;lt;/tex&amp;gt; (по [[Теорема Фубини|теореме Фубини]] меняем порядок интегрирования)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; = \int\limits_{Q}(\int\limits_{Q} |f(x+t)|^p\Phi_n(t) dx)dt = \int\limits_{Q}\Phi_n(t) (\int\limits_{Q} |f(x+t)|^p dx)dt =&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\int\limits_{Q}\Phi_n(t) (\int\limits_{Q} |f(x)|^p dx)dt = \int\limits_{Q} |f(x)|^p dx &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Возводя неравенство в степень &amp;lt;tex&amp;gt; \frac1p &amp;lt;/tex&amp;gt;, получаем требуемое.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
Фейер&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt;f\in L_p \Rightarrow \|f - \sigma_n(f)\|_p \xrightarrow[n \to \infty]{} 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\sigma_n(f) \in H_n&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;E_n(f)_p \leq \|f-\sigma_p(f)\|_p&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Используем тот факт, что в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; теорема Фейера выполнена, то есть, для непрерывной функции суммы Фейера сходятся равномерно на &amp;lt;tex&amp;gt; \mathbb{R}&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;f\in C \Rightarrow \sigma_n(f) \stackrel{\mathbb{R}}{\rightrightarrows} f,\ n \to \infty&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим произвольную функцию &amp;lt;tex&amp;gt; g \in L_p &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Пространство L_p(E)|Ранее]] нами уже было доказано, что пространство &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; всюду плотно в &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt; : &amp;lt;tex&amp;gt;\forall\varepsilon&amp;gt;0\forall g\in L_p\exists \varphi \in C : \|g - \varphi\|_p&amp;lt;\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|\sigma_n(g) - g\|_p = \|(\sigma_n(g) - \sigma_n(\varphi)) - (g - \varphi) + (\sigma_n(\varphi) - \varphi)\|_p \leq&amp;lt;/tex&amp;gt; (по [[Интеграл_Фейера|записи интеграла Фейера]] очевидно &amp;lt;tex&amp;gt;\sigma_n(g) - \sigma_n(\varphi)) = \sigma_n(g - \varphi)&amp;lt;/tex&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\leq \|\sigma_n(g-\varphi)\|_p + \underset{\leq \varepsilon}{\underbrace{\|g - \varphi\|_p}} + \|\sigma_n(\varphi) - \varphi\|_p &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По доказанному только что утверждению, &amp;lt;tex&amp;gt; \|\sigma_n(g-\varphi)\|_p \leq \|g-\varphi\|_p \leq \varepsilon &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;\|\sigma_n(g) - g\|_p \leq 2\varepsilon + \|\sigma_n(\varphi) - \varphi\|_p&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall f\in C : \|f\|_p^p = \int\limits_Q|f(t)|^p dt&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|f(t)| \leq \|f\|_\infty = \max\limits_Q |f(t)|&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|f\|_p^p \leq 2\pi\|f\|_\infty^p&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|f\|_p \leq (2\pi)^{1/p}\|f\|_\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\varphi\in C&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sigma_n(\varphi) \in C&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\sigma_n(\varphi) - \varphi \in C&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|\sigma_n(\varphi) - \varphi\|_p \leq (2\pi)^{1/p} \|\sigma_n(\varphi) - \varphi\|_\infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|\sigma_n(g) - g\|_p \leq 2\varepsilon + \|\sigma_n(\varphi) - \varphi\|_p&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так как в &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; верна теорема Фейера, то &amp;lt;tex&amp;gt;\forall \varepsilon&amp;gt;0\exists N \forall n &amp;gt; N : \|\sigma_n(\varphi) - \varphi\|_\infty &amp;lt; \varepsilon&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;\forall n &amp;gt; N\forall\varepsilon &amp;gt; 0 : \|\sigma_n(g) - g\|_p \leq (2 + (2\pi)^{1/p}) \varepsilon&amp;lt;/tex&amp;gt;, и теорема верна по определению предела.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Наилучшее приближение в линейных нормированных пространствах|&amp;lt;&amp;lt;]][[Лемма Римана-Лебега|&amp;gt;&amp;gt;]]&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%B5_%D0%BF%D1%80%D0%B8%D0%B1%D0%BB%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D1%85_%D0%BD%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0%D1%85&amp;diff=26834</id>
		<title>Наилучшее приближение в линейных нормированных пространствах</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%B5_%D0%BF%D1%80%D0%B8%D0%B1%D0%BB%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D1%85_%D0%BD%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0%D1%85&amp;diff=26834"/>
				<updated>2012-06-24T19:04:48Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Интеграл Фейера|&amp;lt;&amp;lt;]][[Теорема Фейера|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} [[Нормированные_пространства#определение и примеры|нормированное пространство]], к примеру, &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; {{---}} линейное множество в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, например, &amp;lt;tex&amp;gt;H_n&amp;lt;/tex&amp;gt; (тригонометрических полиномов степени не больше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;).&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Для любого &amp;lt;tex&amp;gt; x \in X&amp;lt;/tex&amp;gt; величина &amp;lt;tex&amp;gt;E_y(x) = \inf\limits_{y \in Y}{\|x-y\|}&amp;lt;/tex&amp;gt; называется '''наилучшим приближением точки &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; элементами линейного множества &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;'''.&lt;br /&gt;
Если при этом существует &amp;lt;tex&amp;gt;y^* \in Y&amp;lt;/tex&amp;gt; такой, что &amp;lt;tex&amp;gt;E_y(x)=\|x-y^*\|&amp;lt;/tex&amp;gt;, то этот &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; называется '''элементом наилучшего приближения точки &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;'''.&lt;br /&gt;
}}&lt;br /&gt;
Заметим: гарантий, что &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; единственный и что он вообще существует, нет. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E_y(x) \ge 0&amp;lt;/tex&amp;gt;, если &amp;lt;tex&amp;gt;x \in Y&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x)=0&amp;lt;/tex&amp;gt;, таким образом, положительной определенности у этого функционала нет.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement= Наилучшее приближение является полунормой, то есть выполняются однородность и неравенство треугольника.&lt;br /&gt;
|proof= &lt;br /&gt;
'''Однородность''': &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 &amp;lt;/tex&amp;gt;, по определению нижней грани &amp;lt;tex&amp;gt;\|x-y_{\varepsilon}\| &amp;lt; E_y(x)+\varepsilon&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{\varepsilon} \in Y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;tex&amp;gt;|\lambda|\|x-y_{\varepsilon}\|&amp;lt;|\lambda|E_y(x)+|\lambda| \varepsilon &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По аксиомам нормы: &amp;lt;tex&amp;gt;|\lambda|\|x-y_{\varepsilon}\|=\|\lambda x-\lambda y_\varepsilon\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; {{---}} линейное пространство, то &amp;lt;tex&amp;gt;\lambda y_{\varepsilon} \in Y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\| \lambda x - \lambda y_{\varepsilon} \| \ge E_y(\lambda x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;E_y(\lambda x) &amp;lt; |\lambda|E_y(x)+ |\lambda|\varepsilon&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;\varepsilon \to 0&amp;lt;/tex&amp;gt; получаем &amp;lt;tex&amp;gt;E_y(\lambda x) \le |\lambda|E_y(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В обратную сторону: &amp;lt;tex&amp;gt;E_y(x)=E_y(\lambda \frac{x}{\lambda}) \le |\lambda|E_y(\frac{x}{\lambda})&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;\frac{1}{|\lambda|}E_y(x) \le E_y(\frac{x}{\lambda})&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\mu = \frac{1}{\lambda}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;|\mu|E_y(x) \le E_y(\mu x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, получаем два противоположных неравенства, следовательно, &amp;lt;tex&amp;gt;E_y(\lambda x)=|\lambda|E_y(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Неравенство треугольника''': &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\|x_1-y_{\varepsilon}\|&amp;lt; E_y(x_1)+\varepsilon&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\|x_2-z_{\varepsilon}\|&amp;lt; E_y(x_2)+\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Складывая два неравенства, получим &amp;lt;tex&amp;gt;\|x_1-y_{\varepsilon}\|+\|x_2-z_{\varepsilon}\|&amp;lt;E_y(x_1)+E_y(x_2)+2\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам нижней грани, &amp;lt;tex&amp;gt;E_y(x_1+x_2)\le \|(x_1+x_2)-(y_{\varepsilon}+z_{\varepsilon})\| \le \| x_1 - y_{\varepsilon} \| + \| x_2 - z_{\varepsilon} \| &amp;lt; E_y(x_1) + E_y(x_2) + 2\varepsilon&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;y_{\varepsilon}+z_{\varepsilon} \in Y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При &amp;lt;tex&amp;gt;\varepsilon \to 0&amp;lt;/tex&amp;gt; приходим к неравенству треугольника: &amp;lt;tex&amp;gt;E_y(x_1+x_2)\le E_y(x_1)+E_y(x_2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим некоторый технический момент: &amp;lt;tex&amp;gt;\forall x \in X&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall y \in Y&amp;lt;/tex&amp;gt; выполняется: &amp;lt;tex&amp;gt;E_y(x)=E_y((x+y)-y)\le E_y(x+y)+E(-y)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;E_y(-y) = 0&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;-y \in Y&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;E_y(x) \le E_y(x+y) \le E_y(x) + E_y(y) = E_y(x)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;\forall y \in Y E_y(x)=E_y(x+y)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Также, так как &amp;lt;tex&amp;gt;0 \in Y&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x) \le \|x-0\|=\|x\|&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;E_y(x) \le \|x\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[%D0%9D%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0#.D0.90.D1.80.D0.B8.D1.84.D0.BC.D0.B5.D1.82.D0.B8.D0.BA.D0.B0_.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.BE.D0.B2|Отсюда]], если &amp;lt;tex&amp;gt;x_n \to x&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x_n) \to E_y(x)&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt; E &amp;lt;/tex&amp;gt; непрерывно как функционал в норме &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Основной интерес представляют покрытия &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; элементами конечномерных подпространств. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\dim Y &amp;lt; +\infty&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;Y=\mathcal L(e_1,..,e_p)&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; \mathcal L &amp;lt;/tex&amp;gt; - линейная оболочка множества), тогда &amp;lt;tex&amp;gt;\dim Y = p&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
К примеру, &amp;lt;tex&amp;gt;\dim H_n = 2n+1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;H_n = \mathcal L(1, \cos{x}, \sin{x},..,\cos{nx}, \sin{nx})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} нормированное пространство, &amp;lt;tex&amp;gt;\dim Y &amp;lt; +\infty&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\forall x \in X&amp;lt;/tex&amp;gt; существует элемент наилучшего приближения &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} базис &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;Y = \mathcal L(e_1,..,e_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию &amp;lt;tex&amp;gt;f(\alpha_1,..,\alpha_n)=\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|&amp;lt;/tex&amp;gt;, тогда ясно, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E_y(x)=\inf\limits_{\overline{\alpha}\in \mathbb{R}^n}f(\alpha_1,..,\alpha_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Надо доказать, что существует &amp;lt;tex&amp;gt;\overline{\alpha^*}=(\alpha^*_1,..,\alpha^*_n)&amp;lt;/tex&amp;gt;, на котором достигается эта нижняя грань, тогда в качестве &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; можно взять &amp;lt;tex&amp;gt;y^*=\sum\limits_{k=1}^{n}\alpha^*_k e_k&amp;lt;/tex&amp;gt;. Доказательство существования будем вести с помощью [[Предел_отображения_в_метрическом_пространстве#weirstrass|теоремы Вейерштрасса]], утверждающей, что если функция &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных непрерывна на компакте, то она принимает на нем свое минимальное значение.&lt;br /&gt;
 &lt;br /&gt;
Проверим непрерывность: &lt;br /&gt;
&amp;lt;tex&amp;gt;|f(\overline{\alpha}+\Delta \overline{\alpha})-f(\overline{\alpha})| = |\|x-\sum\limits_{k=1}^{n}(\alpha_k+\Delta\alpha_k)e_k\|-\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|| \le &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\le |\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\| + \|\sum\limits_{k=1}^{n} \Delta\alpha_k e_k\| - \|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|| = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; = \|\sum\limits_{k=1}^{n} \Delta \alpha_k e_k\| \le \sum\limits_{k=1}^{n}|\Delta\alpha_k\||e_k\| \le \sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}\sqrt{\sum\limits_{k=1}^{n}\Delta\alpha^2_k}&amp;lt;/tex&amp;gt; (по неравенству Коши). &lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}&amp;lt;/tex&amp;gt; {{---}} константа для данного базиса, а &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}\Delta\alpha^2_k}&amp;lt;/tex&amp;gt; {{---}} норма для &amp;lt;tex&amp;gt;\Delta\overline{\alpha}&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;, тогда из полученного неравенства очевидно, что &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; {{---}} непрерывна.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M=2E_y(x)&amp;lt;/tex&amp;gt;. Считаем, что &amp;lt;tex&amp;gt;x \not\in Y&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;E_y(x) &amp;gt; 0&amp;lt;/tex&amp;gt; (иначе, если &amp;lt;tex&amp;gt;E_y(x)=0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\exists y_n \in Y&amp;lt;/tex&amp;gt; такой, что &amp;lt;tex&amp;gt;\|x-y_n\| &amp;lt; \frac{1}{n}&amp;lt;/tex&amp;gt;. Устремляя &amp;lt;tex&amp;gt;n \to \infty&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;\|x-y_n\| \to 0&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;y_n \to x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\dim Y &amp;lt; \infty&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; замкнуто в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;y_n \in Y&amp;lt;/tex&amp;gt;, значит и &amp;lt;tex&amp;gt;x \in Y&amp;lt;/tex&amp;gt;, что противоречит нашему предположению).&lt;br /&gt;
 &lt;br /&gt;
Выясним, на каком множестве гарантированно &amp;lt;tex&amp;gt;f(\overline{\alpha}) &amp;gt; M&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - \sum\limits_{k=1}^{n}\alpha_k e_k\| \ge \|\sum\limits_{k=1}^{n}\alpha_k e_k\| - \|x\|&amp;lt;/tex&amp;gt;, то есть, надо смотреть такие &amp;lt;tex&amp;gt;\overline{\alpha}&amp;lt;/tex&amp;gt;, для которых выполнено условие: &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M + \|x\|&amp;lt;/tex&amp;gt;. Если выполнено это неравенство, то в силу предыдущих выкладок, необходимое нам неравенство тоже выполнено. Тогда на совокупности точек &amp;lt;tex&amp;gt;\overline{\alpha} \in \mathbb{R}^n&amp;lt;/tex&amp;gt; таких, что &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M + \|x\|&amp;lt;/tex&amp;gt; функция минимума достигать не может, так как &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; само в два раза больше этого минимума.&lt;br /&gt;
&lt;br /&gt;
Значит, минимум может достигаться только на &amp;lt;tex&amp;gt;T = \{\overline{\alpha} \in \mathbb{R}^n : \|\sum\limits_{k=1}^{n}\alpha_k e_k\| \le M + \|x\|\}&amp;lt;/tex&amp;gt;. Если убедиться, что это множество {{---}} компакт в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;, то, по теореме Вейерштрасса, &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; примет на нем свое минимальное значение, которое является наилучшим приближением.&lt;br /&gt;
&lt;br /&gt;
Компактом в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt; называют множество, которое содержит в себе пределы всех своих сходящихся подпоследовательностей, что равносильно ограниченности и замкнутости множества.&lt;br /&gt;
&lt;br /&gt;
1) ''Замкнутость''&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\overline{\alpha}^{(m)} \to \overline{\alpha}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\overline{\alpha}^{(m)} \in T&amp;lt;/tex&amp;gt;, так как сходимость покоординатная, то &amp;lt;tex&amp;gt;\alpha^{(m)}_k \to \alpha_k&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;k = \overline{1,n}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k\| \to \|\sum\limits_{k=1}^{n}\alpha_k e_k\|&amp;lt;/tex&amp;gt;, то, так как &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha^{(m)}_k e_k\|\le M + \|x\|&amp;lt;/tex&amp;gt;, предел нормы ограничен этим же значением, тогда &amp;lt;tex&amp;gt;\overline{\alpha}\in T&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; замкнуто.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k\|-\|\sum\limits_{k=1}^{n}\alpha_k e_k\|| \le \|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k-\sum\limits_{k=1}^{n}\alpha_ke_k\|=\|\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)e_k\| \le &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \le \sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}\sqrt{\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)^2}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)^2} \to 0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; {{---}} замкнуто.&lt;br /&gt;
&lt;br /&gt;
2) ''Ограниченность''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим евклидову норму в &amp;lt;tex&amp;gt; \mathbb{R}^n &amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\|\overline{\alpha}\| = \sqrt{\sum\limits_{k=1}^{n}\alpha_k^2}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\|=\|\overline{\alpha}\|\|\sum\limits_{k=1}^{n}\frac{\alpha_k}{\|\overline{\alpha}\|}e_k\| \le M + \|x\|&amp;lt;/tex&amp;gt;. Обозначим за &amp;lt;tex&amp;gt;\beta_k = \frac{\alpha_k}{\|\overline{\alpha}\|}&amp;lt;/tex&amp;gt; и заметим, что &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}\beta_k^2=1&amp;lt;/tex&amp;gt;. Будем рассматривать суммы &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\beta_k e_k\|&amp;lt;/tex&amp;gt;, нам необходимо доказать их ограниченность. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;m = \inf\limits_{\|\beta\|=1}\|\sum\limits_{k=1}^{n}\beta_k e_k\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нижняя грань(инфимум) берется по единичной сфере в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt; (компакт в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;), по непрерывной функции, значит, по теореме Вейерштрасса, найдется &amp;lt;tex&amp;gt;\beta^*&amp;lt;/tex&amp;gt; такая, что &amp;lt;tex&amp;gt;\|\beta^*\|=1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = \|\sum\limits_{k=1}^{n}\beta_k^* e_k\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если предположить, что &amp;lt;tex&amp;gt;m = 0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}\beta^*_k e_k = 0&amp;lt;/tex&amp;gt;, но так как &amp;lt;tex&amp;gt;e_k&amp;lt;/tex&amp;gt; {{---}} линейно независимы, то &amp;lt;tex&amp;gt;\beta^*=0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}(\beta^*_k)^2=0&amp;lt;/tex&amp;gt;. Но этого быть не может, ведь &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}(\beta^*_k)^2 = \|\beta^*\|^2 =  1&amp;lt;/tex&amp;gt;, откуда противоречие. Значит, &amp;lt;tex&amp;gt;m&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;\|\overline{\alpha}\| \le \frac{M+\|x\|}{m}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; ограниченно, &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; {{---}} компакт, теорема доказана.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Можно рассмотреть &amp;lt;tex&amp;gt;C[0,1]&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\|f\|=\max\limits_{x \in [0,1]}|f(x)|&amp;lt;/tex&amp;gt;. Если в качестве &amp;lt;tex&amp;gt;A_n = \{\sum\limits_{k=1}^{n}\alpha_k t^k, \alpha_k \in \mathbb{R}\}&amp;lt;/tex&amp;gt; взять конечномерное подмножество &amp;lt;tex&amp;gt;C[0,1]&amp;lt;/tex&amp;gt;, далее начинать рассматривать &amp;lt;tex&amp;gt;E_n(f)&amp;lt;/tex&amp;gt;, то, по доказанной теореме, существует &amp;lt;tex&amp;gt; T_n(f) \in A_n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;E_n(f)=|f-T_n(f)|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A_n \subset A_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_n(f) \ge E_{n+1}(f)&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;E_n(f)&amp;lt;/tex&amp;gt; {{---}} не возрастает и по [[Приближение_непрерывной_функции_полиномами_на_отрезке#weirstrasscont|теореме Вейерштрасса]], любая непрерывная функция сколь угодно точно приближается полиномом, а значит, &amp;lt;tex&amp;gt;E_n(f) \to 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Интеграл Фейера|&amp;lt;&amp;lt;]][[Теорема Фейера|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%B5_%D0%BF%D1%80%D0%B8%D0%B1%D0%BB%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D1%85_%D0%BD%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0%D1%85&amp;diff=26828</id>
		<title>Наилучшее приближение в линейных нормированных пространствах</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9D%D0%B0%D0%B8%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%B5_%D0%BF%D1%80%D0%B8%D0%B1%D0%BB%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D1%85_%D0%BD%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0%D1%85&amp;diff=26828"/>
				<updated>2012-06-24T18:48:30Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Интеграл Фейера|&amp;lt;&amp;lt;]][[Теорема Фейера|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{В разработке}}&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} [[Нормированные_пространства#определение и примеры|нормированное пространство]], к примеру, &amp;lt;tex&amp;gt;L_p&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; {{---}} линейное множество в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, например, &amp;lt;tex&amp;gt;H_n&amp;lt;/tex&amp;gt; (тригонометрических полиномов степени не больше &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;).&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Для любого &amp;lt;tex&amp;gt; x \in X&amp;lt;/tex&amp;gt; величина &amp;lt;tex&amp;gt;E_y(x) = \inf\limits_{y \in Y}{\|x-y\|}&amp;lt;/tex&amp;gt; называется '''наилучшим приближением точки &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; элементами линейного множества &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;'''.&lt;br /&gt;
Если при этом существует &amp;lt;tex&amp;gt;y^* \in Y&amp;lt;/tex&amp;gt; такой, что &amp;lt;tex&amp;gt;E_y(x)=\|x-y^*\|&amp;lt;/tex&amp;gt;, то этот &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; называется '''элементом наилучшего приближения точки &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;'''.&lt;br /&gt;
}}&lt;br /&gt;
Заметим: гарантий, что &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; единственный и что он вообще существует, нет. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E_y(x) \ge 0&amp;lt;/tex&amp;gt;, если &amp;lt;tex&amp;gt;x \in Y&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x)=0&amp;lt;/tex&amp;gt;, таким образом, положительной определенности у этого функционала нет.&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement= Наилучшее приближение является полунормой, то есть выполняются однородность и неравенство треугольника.&lt;br /&gt;
|proof= &lt;br /&gt;
'''Однородность''': &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0 &amp;lt;/tex&amp;gt;, по определению нижней грани &amp;lt;tex&amp;gt;\|x-y_{\varepsilon}\| &amp;lt; E_y(x)+\varepsilon&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{\varepsilon} \in Y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;tex&amp;gt;|\lambda|\|x-y_{\varepsilon}\|&amp;lt;|\lambda|E_y(x)+|\lambda| \varepsilon &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По аксиомам нормы: &amp;lt;tex&amp;gt;|\lambda|\|x-y_{\varepsilon}\|=\|\lambda x-\lambda y_\varepsilon\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; {{---}} линейное пространство, то &amp;lt;tex&amp;gt;\lambda y_{\varepsilon} \in Y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\| \lambda x - \lambda y_{\varepsilon} \| \ge E_y(\lambda x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;E_y(\lambda x) &amp;lt; |\lambda|E_y(x)+ |\lambda|\varepsilon&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;\varepsilon \to 0&amp;lt;/tex&amp;gt; получаем &amp;lt;tex&amp;gt;E_y(\lambda x) \le |\lambda|E_y(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В обратную сторону: &amp;lt;tex&amp;gt;E_y(x)=E_y(\lambda \frac{x}{\lambda}) \le |\lambda|E_y(\frac{x}{\lambda})&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;\frac{1}{|\lambda|}E_y(x) \le E_y(\frac{x}{\lambda})&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\mu = \frac{1}{\lambda}&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;|\mu|E_y(x) \le E_y(\mu x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, получаем два противоположных неравенства, следовательно, &amp;lt;tex&amp;gt;E_y(\lambda x)=|\lambda|E_y(x)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Неравенство треугольника''': &amp;lt;tex&amp;gt;\forall \varepsilon &amp;gt; 0&amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\|x_1-y_{\varepsilon}\|&amp;lt; E_y(x_1)+\varepsilon&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\|x_2-z_{\varepsilon}\|&amp;lt; E_y(x_2)+\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Складывая два неравенства, получим &amp;lt;tex&amp;gt;\|x_1-y_{\varepsilon}\|+\|x_2-z_{\varepsilon}\|&amp;lt;E_y(x_1)+E_y(x_2)+2\varepsilon&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По свойствам нижней грани, &amp;lt;tex&amp;gt;E_y(x_1+x_2)\le \|(x_1+x_2)-(y_{\varepsilon}+z_{\varepsilon})\| \le \| x_1 - y_{\varepsilon} \| + \| x_2 - z_{\varepsilon} \| &amp;lt; E_y(x_1) + E_y(x_2) + 2\varepsilon&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;y_{\varepsilon}+z_{\varepsilon} \in Y&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При &amp;lt;tex&amp;gt;\varepsilon \to 0&amp;lt;/tex&amp;gt; приходим к неравенству треугольника: &amp;lt;tex&amp;gt;E_y(x_1+x_2)\le E_y(x_1)+E_y(x_2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Отметим некоторый технический момент: &amp;lt;tex&amp;gt;\forall x \in X&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\forall y \in Y&amp;lt;/tex&amp;gt; выполняется: &amp;lt;tex&amp;gt;E_y(x)=E_y((x+y)-y)\le E_y(x+y)+E(-y)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;E_y(-y) = 0&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;-y \in Y&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;E_y(x) \le E_y(x+y) \le E_y(x) + E_y(y) = E_y(x)&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;\forall y \in Y E_y(x)=E_y(x+y)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Также, так как &amp;lt;tex&amp;gt;0 \in Y&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x) \le \|x-0\|=\|x\|&amp;lt;/tex&amp;gt;, следовательно, &amp;lt;tex&amp;gt;E_y(x) \le \|x\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[%D0%9D%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0#.D0.90.D1.80.D0.B8.D1.84.D0.BC.D0.B5.D1.82.D0.B8.D0.BA.D0.B0_.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.BE.D0.B2|Отсюда]], если &amp;lt;tex&amp;gt;x_n \to x&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_y(x_n) \to E_y(x)&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt; E &amp;lt;/tex&amp;gt; непрерывно как функционал в норме &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Основной интерес представляют покрытия &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; элементами конечномерных подпространств. &lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\dim Y &amp;lt; +\infty&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;Y=\mathcal L(e_1,..,e_p)&amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; \mathcal L &amp;lt;/tex&amp;gt; - линейная оболочка множества), тогда &amp;lt;tex&amp;gt;\dim Y = p&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
К примеру, &amp;lt;tex&amp;gt;\dim H_n = 2n+1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;H_n = \mathcal L(1, \cos{x}, \sin{x},..,\cos{nx}, \sin{nx})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt; {{---}} нормированное пространство, &amp;lt;tex&amp;gt;\dim Y &amp;lt; +\infty&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;\forall x \in X&amp;lt;/tex&amp;gt; существует элемент наилучшего приближения &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;e_1, \ldots, e_n&amp;lt;/tex&amp;gt; {{---}} базис &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;Y = \mathcal L(e_1,..,e_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим функцию &amp;lt;tex&amp;gt;f(\alpha_1,..,\alpha_n)=\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|&amp;lt;/tex&amp;gt;, тогда ясно, что&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;E_y(x)=\inf\limits_{\overline{\alpha}\in \mathbb{R}^n}f(\alpha_1,..,\alpha_n)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Надо доказать, что существует &amp;lt;tex&amp;gt;\overline{\alpha^*}=(\alpha^*_1,..,\alpha^*_n)&amp;lt;/tex&amp;gt;, на котором достигается эта нижняя грань, тогда в качестве &amp;lt;tex&amp;gt;y^*&amp;lt;/tex&amp;gt; можно взять &amp;lt;tex&amp;gt;y^*=\sum\limits_{k=1}^{n}\alpha^*_k e_k&amp;lt;/tex&amp;gt;. Доказательство существования будем вести с помощью [[Предел_отображения_в_метрическом_пространстве#weirstrass|теоремы Вейерштрасса]], утверждающей, что если функция &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; переменных непрерывна на компакте, то она принимает на нем свое минимальное значение.&lt;br /&gt;
 &lt;br /&gt;
Проверим непрерывность: &lt;br /&gt;
&amp;lt;tex&amp;gt;|f(\overline{\alpha}+\Delta \overline{\alpha})-f(\overline{\alpha})| = |\|x-\sum\limits_{k=1}^{n}(\alpha_k+\Delta\alpha_k)e_k\|-\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|| \le &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\le |\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\| + \|\sum\limits_{k=1}^{n} \Delta\alpha_k e_k\| - \|x-\sum\limits_{k=1}^{n}\alpha_k e_k\|| = &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; = \|\sum\limits_{k=1}^{n} \Delta \alpha_k e_k\| \le \sum\limits_{k=1}^{n}|\Delta\alpha_k\||e_k\| \le \sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}\sqrt{\sum\limits_{k=1}^{n}\Delta\alpha^2_k}&amp;lt;/tex&amp;gt; (по неравенству Коши). &lt;br /&gt;
&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}&amp;lt;/tex&amp;gt; {{---}} константа для данного базиса, а &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}\Delta\alpha^2_k}&amp;lt;/tex&amp;gt; {{---}} норма для &amp;lt;tex&amp;gt;\Delta\overline{\alpha}&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;, тогда из полученного неравенства очевидно, что &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; {{---}} непрерывна.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;M=2E_y(x)&amp;lt;/tex&amp;gt;. Считаем, что &amp;lt;tex&amp;gt;x \not\in Y&amp;lt;/tex&amp;gt;, тогда &amp;lt;tex&amp;gt;E_y(x) &amp;gt; 0&amp;lt;/tex&amp;gt; (иначе, если &amp;lt;tex&amp;gt;E_y(x)=0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\forall n&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;\exists y_n \in Y&amp;lt;/tex&amp;gt; такой, что &amp;lt;tex&amp;gt;\|x-y_n\| &amp;lt; \frac{1}{n}&amp;lt;/tex&amp;gt;. Устремляя &amp;lt;tex&amp;gt;n \to \infty&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;\|x-y_n\| \to 0&amp;lt;/tex&amp;gt;. Так как &amp;lt;tex&amp;gt;y_n \to x&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;\dim Y &amp;lt; \infty&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt; замкнуто в &amp;lt;tex&amp;gt;X&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;y_n \in Y&amp;lt;/tex&amp;gt;, значит и &amp;lt;tex&amp;gt;x \in Y&amp;lt;/tex&amp;gt;, что противоречит нашему предположению).&lt;br /&gt;
 &lt;br /&gt;
Выясним, на каком множестве гарантированно &amp;lt;tex&amp;gt;f(\overline{\alpha}) &amp;gt; M&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;\|x-\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|x - \sum\limits_{k=1}^{n}\alpha_k e_k\| \ge \|\sum\limits_{k=1}^{n}\alpha_k e_k\| - \|x\|&amp;lt;/tex&amp;gt;, то есть, надо смотреть такие &amp;lt;tex&amp;gt;\overline{\alpha}&amp;lt;/tex&amp;gt;, для которых выполнено условие: &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M + \|x\|&amp;lt;/tex&amp;gt;. Если выполнено это неравенство, то в силу предыдущих выкладок, необходимое нам неравенство тоже выполнено. Тогда на совокупности точек &amp;lt;tex&amp;gt;\overline{\alpha} \in \mathbb{R}^n&amp;lt;/tex&amp;gt; таких, что &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\| &amp;gt; M + \|x\|&amp;lt;/tex&amp;gt; функция минимума достигать не может, так как &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; само в два раза больше этого минимума.&lt;br /&gt;
&lt;br /&gt;
Значит, минимум может достигаться только на &amp;lt;tex&amp;gt;T = \{\overline{\alpha} \in \mathbb{R}^n : \|\sum\limits_{k=1}^{n}\alpha_k e_k\| \le M + \|x\|\}&amp;lt;/tex&amp;gt;. Если убедиться, что это множество {{---}} компакт в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;, то, по теореме Вейерштрасса, &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt; примет на нем свое минимальное значение, которое является наилучшим приближением.&lt;br /&gt;
&lt;br /&gt;
Компактом в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt; называют множество, которое содержит в себе пределы всех своих сходящихся подпоследовательностей, что равносильно ограниченности и замкнутости множества.&lt;br /&gt;
&lt;br /&gt;
1) ''Замкнутость''&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;\overline{\alpha}^{(m)} \to \overline{\alpha}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\overline{\alpha}^{(m)} \in T&amp;lt;/tex&amp;gt;, так как сходимость покоординатная, то &amp;lt;tex&amp;gt;\alpha^{(m)}_k \to \alpha_k&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;k = \overline{1,n}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k\| \to \|\sum\limits_{k=1}^{n}\alpha_k e_k\|&amp;lt;/tex&amp;gt;, то, так как &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha^{(m)}_k e_k\|\le M + \|x\|&amp;lt;/tex&amp;gt;, предел нормы ограничен этим же значением, тогда &amp;lt;tex&amp;gt;\overline{\alpha}\in T&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; замкнуто.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;|\|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k\|-\|\sum\limits_{k=1}^{n}\alpha_k e_k\|| \le \|\sum\limits_{k=1}^{n}\alpha^{(m)}_ke_k-\sum\limits_{k=1}^{n}\alpha_ke_k\|=\|\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)e_k\| \le &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \le \sqrt{\sum\limits_{k=1}^{n}\|e_k\|^2}\sqrt{\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)^2}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;\sqrt{\sum\limits_{k=1}^{n}(\alpha^{(m)}_k-\alpha_k)^2} \to 0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; {{---}} замкнуто.&lt;br /&gt;
&lt;br /&gt;
2) ''Ограниченность''&lt;br /&gt;
&lt;br /&gt;
Рассмотрим евклидову норму в &amp;lt;tex&amp;gt; \mathbb{R}^n &amp;lt;/tex&amp;gt;: &amp;lt;tex&amp;gt;\|\overline{\alpha}\| = \sqrt{\sum\limits_{k=1}^{n}\alpha_k^2}&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\alpha_k e_k\|=\|\overline{\alpha}\|\|\sum\limits_{k=1}^{n}\frac{\alpha_k}{\|\overline{\alpha}\|}e_k\| \le M + \|x\|&amp;lt;/tex&amp;gt;. Обозначим за &amp;lt;tex&amp;gt;\beta_k = \frac{\alpha_k}{\|\overline{\alpha}\|}&amp;lt;/tex&amp;gt; и заметим, что &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}\beta_k^2=1&amp;lt;/tex&amp;gt;. Будем рассматривать суммы &amp;lt;tex&amp;gt;\|\sum\limits_{k=1}^{n}\beta_k e_k\|&amp;lt;/tex&amp;gt;, нам необходимо доказать их ограниченность. &lt;br /&gt;
&lt;br /&gt;
Обозначим &amp;lt;tex&amp;gt;m = \inf\limits_{\|\beta\|=1}\|\sum\limits_{k=1}^{n}\beta_k e_k\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Нижняя грань(инфимум) берется по единичной сфере в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt; (компакт в &amp;lt;tex&amp;gt;\mathbb{R}^n&amp;lt;/tex&amp;gt;), по непрерывной функции, значит, по теореме Вейерштрасса, найдется &amp;lt;tex&amp;gt;\beta^*&amp;lt;/tex&amp;gt; такая, что &amp;lt;tex&amp;gt;\|\beta^*\|=1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;m = \|\sum\limits_{k=1}^{n}\beta_k^* e_k\|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если предположить, что &amp;lt;tex&amp;gt;m = 0&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}\beta^*_k e_k = 0&amp;lt;/tex&amp;gt;, но так как &amp;lt;tex&amp;gt;e_k&amp;lt;/tex&amp;gt; {{---}} линейно независимы, то &amp;lt;tex&amp;gt;\beta^*=0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}(\beta^*_k)^2=0&amp;lt;/tex&amp;gt;. Но этого быть не может, ведь &amp;lt;tex&amp;gt;\sum\limits_{k=1}^{n}(\beta^*_k)^2 = \|\beta^*\|^2 =  1&amp;lt;/tex&amp;gt;, откуда противоречие. Значит, &amp;lt;tex&amp;gt;m&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;\|\overline{\alpha}\| \le \frac{M+\|x\|}{m}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; ограниченно, &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; {{---}} компакт, теорема доказана.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Можно рассмотреть &amp;lt;tex&amp;gt;C[0,1]&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\|f\|=\max\limits_{x \in [0,1]}|f(x)|&amp;lt;/tex&amp;gt;. Если в качестве &amp;lt;tex&amp;gt;A_n = \{\sum\limits_{k=1}^{n}\alpha_k t^k, \alpha_k \in \mathbb{R}\}&amp;lt;/tex&amp;gt; взять конечномерное подмножество &amp;lt;tex&amp;gt;C[0,1]&amp;lt;/tex&amp;gt;, далее начинать рассматривать &amp;lt;tex&amp;gt;E_n(f)&amp;lt;/tex&amp;gt;, то, по доказанной теореме, существует &amp;lt;tex&amp;gt; T_n(f) \in A_n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;E_n(f)=|f-T_n(f)|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;A_n \subset A_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;E_n(f) \ge E_{n+1}(f)&amp;lt;/tex&amp;gt;, то есть, &amp;lt;tex&amp;gt;E_n(f)&amp;lt;/tex&amp;gt; {{---}} убывает. Тогда, по [[Приближение_непрерывной_функции_полиномами_на_отрезке#weirstrasscont|теореме Вейерштрасса]], любая непрерывная функция сколь угодно точно приближается полиномом, а значит, &amp;lt;tex&amp;gt;E_n(f) \to 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Интеграл Фейера|&amp;lt;&amp;lt;]][[Теорема Фейера|&amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Математический анализ 2 курс]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0,_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=26210</id>
		<title>Дискретная математика, алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0,_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=26210"/>
				<updated>2012-06-20T18:28:10Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Теория расписаний */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Дискретная математика и алгоритмы]]&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
&lt;br /&gt;
Убедительная просьба читать [[Обсуждение:Дискретная_математика_и_алгоритмы | правила оформления вики-конспектов]].&lt;br /&gt;
&lt;br /&gt;
= Первый семестр =&lt;br /&gt;
&lt;br /&gt;
== Отношения ==&lt;br /&gt;
*[[Определение отношения]]&lt;br /&gt;
*[[Степень отношений]]&lt;br /&gt;
*[[Композиция отношений|Композиция отношений. Обратное отношение]]&lt;br /&gt;
*[[Рефлексивное отношение|Рефлексивное отношение. Антирефлексивное отношение.]]&lt;br /&gt;
*[[Симметричное отношение]]&lt;br /&gt;
*[[Антисимметричное отношение]]&lt;br /&gt;
*[[Транзитивное отношение]]&lt;br /&gt;
*[[Транзитивное замыкание|Транзитивное замыкание отношения]]&lt;br /&gt;
*[[Алгоритм Флойда — Уоршелла|Алгоритм Флойда-Уоршалла построения транзитивного замыкания отношения]]&lt;br /&gt;
*[[Транзитивный остов]]&lt;br /&gt;
*[[Отношение порядка]]&lt;br /&gt;
*[[Отношение эквивалентности]]&lt;br /&gt;
&lt;br /&gt;
== Булевы функции ==&lt;br /&gt;
*[[Определение булевой функции]]&lt;br /&gt;
*[[Суперпозиции]]&lt;br /&gt;
*[[ДНФ]]&lt;br /&gt;
*[[КНФ]]&lt;br /&gt;
*[[Полином Жегалкина]]&lt;br /&gt;
*[[Полные системы функций. Теорема Поста о полной системе функций]]&lt;br /&gt;
*[[Сокращенная и минимальная ДНФ]]&lt;br /&gt;
*[[Минимизация ДНФ с помощью покрытий гиперкуба и карт Карно]]&lt;br /&gt;
*[[Специальные формы КНФ|Специальные формы КНФ: КНФ в форме Хорна и КНФ в форме Крома]]&lt;br /&gt;
*[[Преобразование Мёбиуса для получения коэффициентов полинома Жегалкина]]&lt;br /&gt;
*[[Представление функции класса DM с помощью медианы]]&lt;br /&gt;
*[[Пороговая функция]]&lt;br /&gt;
&lt;br /&gt;
== Схемы из функциональных элементов ==&lt;br /&gt;
*[[Реализация булевой функции схемой из функциональных элементов]]&lt;br /&gt;
*[[Cумматор]]&lt;br /&gt;
*[[Каскадный сумматор]]&lt;br /&gt;
*[[Двоичный каскадный сумматор]]&lt;br /&gt;
*[[Реализация вычитания сумматором]]&lt;br /&gt;
*[[Матричный умножитель]]&lt;br /&gt;
*[[Дерево Уоллеса]]&lt;br /&gt;
&lt;br /&gt;
== Представление информации ==&lt;br /&gt;
*[[Кодирование информации]]&lt;br /&gt;
*[[Представление целых чисел: прямой код, код со сдвигом, дополнительный код]]&lt;br /&gt;
*[[Представление вещественных чисел]]&lt;br /&gt;
*[[Представление символов, таблицы кодировок]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы сжатия ==&lt;br /&gt;
*[[Алгоритм Хаффмана]]&lt;br /&gt;
*[[Алгоритм LZW]]&lt;br /&gt;
*[[Алгоритмы LZ77 и LZ78]]&lt;br /&gt;
*[[Преобразование Барроуза-Уиллера]]&lt;br /&gt;
*[[Обратное преобразование Барроуза-Уиллера]]&lt;br /&gt;
*[[Преобразование MTF]]&lt;br /&gt;
*[[Расстояние Хэмминга]]&lt;br /&gt;
*[[Избыточное кодирование, код Хэмминга]]&lt;br /&gt;
*[[Неравенство Крафта]]&lt;br /&gt;
*[[Неравенство Макмиллана]]&lt;br /&gt;
&lt;br /&gt;
== Комбинаторика ==&lt;br /&gt;
*[[Комбинаторные объекты]]&lt;br /&gt;
*[[Лексикографический порядок]]&lt;br /&gt;
*[[Формула включения-исключения]]&lt;br /&gt;
*[[Генерация комбинаторных объектов в лексикографическом порядке]]&lt;br /&gt;
*[[Получение номера по объекту]]&lt;br /&gt;
*[[Получение объекта по номеру]]&lt;br /&gt;
*[[Получение следующего объекта]]&lt;br /&gt;
*[[Коды Грея]]&lt;br /&gt;
*[[Коды Грея для перестановок]]&lt;br /&gt;
*[[Цепные коды]]&lt;br /&gt;
*[[Правильные скобочные последовательности]]&lt;br /&gt;
*[[Действие перестановки на набор из элементов, представление в виде циклов]]&lt;br /&gt;
*[[Метод генерации случайной перестановки, алгоритм Фишера-Йетса]]&lt;br /&gt;
*[[Таблица инверсий]]&lt;br /&gt;
*[[Умножение перестановок, обратная перестановка, группа перестановок]]&lt;br /&gt;
*[[Теорема Кэли]]&lt;br /&gt;
*[[Матричное представление перестановок]]&lt;br /&gt;
*[[Задача о минимуме/максимуме скалярного произведения]]&lt;br /&gt;
*[[Задача о монотонных подпоследовательностях, теорема о связи длины НВП и НУП]]&lt;br /&gt;
*[[Нахождение количества разбиений числа на слагаемые | Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера]]&lt;br /&gt;
*[[Производящая функция]]&lt;br /&gt;
&lt;br /&gt;
== [[Динамическое программирование]] ==&lt;br /&gt;
*[[Кратчайший путь в ациклическом графе]]&lt;br /&gt;
*[[Задача о расстановке знаков в выражении]]&lt;br /&gt;
*[[Задача о наибольшей общей подпоследовательности]]&lt;br /&gt;
*[[Задача о порядке перемножения матриц]]&lt;br /&gt;
*[[Задача о наибольшей возрастающей подпоследовательности]]&lt;br /&gt;
*[[Задача о паросочетании максимального веса в дереве, амортизированные оценки для ДП на дереве]]&lt;br /&gt;
*[[Метод четырех русских для умножения матриц]]&lt;br /&gt;
*[[Применение метода четырех русских в задачах ДП на примере задачи о НОП]]&lt;br /&gt;
*[[Задача коммивояжера, ДП по подмножествам]]&lt;br /&gt;
*[[Задача о выводе в контекстно-свободной грамматике, алгоритм Кока-Янгера-Касами]]&lt;br /&gt;
*[[Задача о редакционном расстоянии, алгоритм Вагнера-Фишера]]&lt;br /&gt;
*[[Задача о расстоянии Дамерау-Левенштейна]]&lt;br /&gt;
*[[Задача об оптимальном префиксном коде с сохранением порядка. Монотонность точки разреза]]&lt;br /&gt;
&lt;br /&gt;
== Теория вероятностей ==&lt;br /&gt;
*[[Вероятностное пространство, элементарный исход, событие]]&lt;br /&gt;
*[[Независимые события]]&lt;br /&gt;
*[[Условная вероятность]]&lt;br /&gt;
*[[Формула Байеса]]&lt;br /&gt;
*[[Формула полной вероятности]]&lt;br /&gt;
*[[Дискретная случайная величина]]&lt;br /&gt;
*[[Независимые случайные величины]]&lt;br /&gt;
*[[Математическое ожидание случайной величины]]&lt;br /&gt;
*[[Дисперсия случайной величины]]&lt;br /&gt;
*[[Ковариация случайных величин]]&lt;br /&gt;
*[[Энтропия случайного источника]]&lt;br /&gt;
*[[Симуляция одним распределением другого]]&lt;br /&gt;
*[[Арифметическое кодирование]]&lt;br /&gt;
*[[Задача о двух конвертах]]&lt;br /&gt;
&lt;br /&gt;
== Марковские цепи ==&lt;br /&gt;
&lt;br /&gt;
* [[Марковская цепь]]&lt;br /&gt;
* [[Теорема о поглощении]]&lt;br /&gt;
* [[Фундаментальная матрица]]&lt;br /&gt;
* [[Математическое ожидание времени поглощения]]&lt;br /&gt;
* [[Расчет вероятности поглощения в состоянии]]&lt;br /&gt;
* [[Эргодическая марковская цепь]]&lt;br /&gt;
* [[Регулярная марковская цепь]]&lt;br /&gt;
&lt;br /&gt;
= Второй семестр =&lt;br /&gt;
&lt;br /&gt;
== Амортизационный анализ ==&lt;br /&gt;
* [[Амортизационный анализ]]&lt;br /&gt;
* [[Саморасширяющийся массив]]&lt;br /&gt;
* [[Массив с увеличением/уменьшением размера]]&lt;br /&gt;
* [[Список]]&lt;br /&gt;
* [[Стек]]&lt;br /&gt;
* [[Очередь]]&lt;br /&gt;
* [[Персистентный стек]]&lt;br /&gt;
* [[Персистентный дек]]&lt;br /&gt;
&lt;br /&gt;
== Приоритетные очереди ==&lt;br /&gt;
&lt;br /&gt;
* [[Двоичная куча]]&lt;br /&gt;
* [[Биномиальная куча]]&lt;br /&gt;
* [[Фибоначчиева куча]]&lt;br /&gt;
&lt;br /&gt;
== Система непересекающихся множеств ==&lt;br /&gt;
* [[СНМ (наивные реализации) | Наивные реализации]]&lt;br /&gt;
* [[СНМ (списки с весовой эвристикой) | Списки с весовой эвристикой]]&lt;br /&gt;
* [[СНМ(реализация с помощью леса корневых деревьев) | Реализация с помощью леса корневых деревьев]]&lt;br /&gt;
&lt;br /&gt;
== Поисковые структуры данных ==&lt;br /&gt;
* [[Упорядоченное множество]]&lt;br /&gt;
* [[Дерево поиска, наивная реализация]]&lt;br /&gt;
* [[АВЛ-дерево]]&lt;br /&gt;
* [[2-3 дерево]]&lt;br /&gt;
* [[B-дерево]]&lt;br /&gt;
* [[Красно-черное дерево]]&lt;br /&gt;
* [[Декартово дерево]]&lt;br /&gt;
* [[Декартово дерево по неявному ключу]]&lt;br /&gt;
* [[Splay-дерево]]&lt;br /&gt;
* [[Рандомизированное бинарное дерево поиска]]&lt;br /&gt;
* [[Дерево ван Эмде Боаса]]&lt;br /&gt;
* [[Список с пропусками]]&lt;br /&gt;
&lt;br /&gt;
== Дерево отрезков ==&lt;br /&gt;
&lt;br /&gt;
* [[Статистики на отрезках. Корневая эвристика]]&lt;br /&gt;
* [[Дерево отрезков. Построение]]&lt;br /&gt;
* [[Реализация запроса в дереве отрезков сверху]]&lt;br /&gt;
* [[Реализация запроса в дереве отрезков снизу]]&lt;br /&gt;
* [[Несогласованные поддеревья. Реализация массового обновления]]&lt;br /&gt;
* [[Многомерное дерево отрезков]]&lt;br /&gt;
* [[Сжатое многомерное дерево отрезков]]&lt;br /&gt;
&lt;br /&gt;
== Дерево Фенвика ==&lt;br /&gt;
* [[Дерево Фенвика]]&lt;br /&gt;
* [[Встречное дерево Фенвика]]&lt;br /&gt;
* [[Дерево Фенвика для некоммутативных операций]]&lt;br /&gt;
* [[Многомерное дерево Фенвика]]&lt;br /&gt;
&lt;br /&gt;
== Хеширование ==&lt;br /&gt;
* [[Хеш-таблица]]&lt;br /&gt;
* [[Хеширование]]&lt;br /&gt;
* [[Открытое и закрытое хеширование]]&lt;br /&gt;
* [[Поиск свободного места при закрытом хешировании]]&lt;br /&gt;
* [[Хеширование кукушки]]&lt;br /&gt;
* [[Идеальное хеширование]]&lt;br /&gt;
* [[Перехеширование. Амортизационный анализ]]&lt;br /&gt;
* [[Фильтр Блума]]&lt;br /&gt;
* [[Универсальное семейство хеш-функций]]&lt;br /&gt;
&lt;br /&gt;
== [[Сортировка]] ==&lt;br /&gt;
* [[Сортировка выбором]]&lt;br /&gt;
* [[Сортировка пузырьком]]&lt;br /&gt;
* [[Сортировка вставками]]&lt;br /&gt;
* [[Сортировка кучей]]&lt;br /&gt;
* [[Быстрая сортировка]]&lt;br /&gt;
* [[Сортировка слиянием]]&lt;br /&gt;
* [[Cортировка слиянием с использованием O(1) дополнительной памяти]]&lt;br /&gt;
* [[Теорема о нижней оценке для сортировки сравнениями]]&lt;br /&gt;
* [[Сортировка подсчетом]]&lt;br /&gt;
* [[Сортировка подсчетом сложных объектов]]&lt;br /&gt;
* [[Цифровая сортировка]]&lt;br /&gt;
* [[Карманная сортировка]]&lt;br /&gt;
* [[Поиск k-ой порядковой статистики]]&lt;br /&gt;
* [[Поиск k-ой порядковой статистики за линейное время]]&lt;br /&gt;
&lt;br /&gt;
== Сортирующие сети ==&lt;br /&gt;
* [[Сортирующие сети]]&lt;br /&gt;
* [[0-1 принцип | Проверка сети компараторов на то, что она сортирующая. 0-1 принцип]]&lt;br /&gt;
* [[Сортирующие сети для квадратичных сортировок]]&lt;br /&gt;
* [[Сеть Бетчера]]&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы поиска ==&lt;br /&gt;
* [[Целочисленный двоичный поиск]]&lt;br /&gt;
* [[Вещественный двоичный поиск]]&lt;br /&gt;
* [[Троичный поиск]]&lt;br /&gt;
* [[Поиск с помощью золотого сечения]]&lt;br /&gt;
* [[Интерполяционный поиск]]&lt;br /&gt;
&lt;br /&gt;
== Связь между структурами данных ==&lt;br /&gt;
* [[Связь между структурами данных]]&lt;br /&gt;
&lt;br /&gt;
= Третий семестр =&lt;br /&gt;
&lt;br /&gt;
== Основные определения теории графов ==&lt;br /&gt;
* [[Основные определения теории графов|Основные определения: граф, ребро, вершина, степень, петля, путь, цикл]]&lt;br /&gt;
* [[Лемма о рукопожатиях]]&lt;br /&gt;
* [[Теорема о существовании простого пути в случае существования пути]]&lt;br /&gt;
* [[Теорема о существовании простого цикла в случае существования цикла]]&lt;br /&gt;
* [[Матрица смежности графа]]&lt;br /&gt;
* [[Связь степени матрицы смежности и количества путей]]&lt;br /&gt;
* [[Матрица инцидентности графа]]&lt;br /&gt;
* [[Циклическое пространство графа]]&lt;br /&gt;
* [[Фундаментальные циклы графа]]&lt;br /&gt;
* [[Дерево, эквивалентные определения]]&lt;br /&gt;
&lt;br /&gt;
== Связность в графах ==&lt;br /&gt;
* [[Отношение связности, компоненты связности]]&lt;br /&gt;
* [[Отношение реберной двусвязности]]&lt;br /&gt;
* [[Отношение вершинной двусвязности]]&lt;br /&gt;
* [[Граф компонент реберной двусвязности]]&lt;br /&gt;
* [[Граф блоков-точек сочленения]]&lt;br /&gt;
* [[Точка сочленения, эквивалентные определения]]&lt;br /&gt;
* [[Мост, эквивалентные определения]]&lt;br /&gt;
* [[k-связность]]&lt;br /&gt;
* [[Теорема Менгера]]&lt;br /&gt;
* [[Теорема Менгера, альтернативное доказательство]]&lt;br /&gt;
* [[Вершинная, реберная связность, связь между ними и минимальной степенью вершины]]&lt;br /&gt;
&lt;br /&gt;
== Остовные деревья ==&lt;br /&gt;
* [[Матрица Кирхгофа]]&lt;br /&gt;
* [[Связь матрицы Кирхгофа и матрицы инцидентности]]&lt;br /&gt;
* [[Подсчет числа остовных деревьев с помощью матрицы Кирхгофа]]&lt;br /&gt;
* [[Количество помеченных деревьев]]&lt;br /&gt;
* [[Коды Прюфера]]&lt;br /&gt;
&lt;br /&gt;
== Обходы графов ==&lt;br /&gt;
* [[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов]]&lt;br /&gt;
* [[Покрытие ребер графа путями]]&lt;br /&gt;
* [[Алгоритм построения Эйлерова цикла]]&lt;br /&gt;
* [[Произвольно вычерчиваемые из заданной вершины графы]]&lt;br /&gt;
* [[Гамильтоновы графы]]&lt;br /&gt;
* [[Теорема Хватала]]&lt;br /&gt;
* [[Теорема Дирака]]&lt;br /&gt;
* [[Теорема Оре]]&lt;br /&gt;
* [[Турниры]]&lt;br /&gt;
* [[Теорема Редеи-Камиона]]&lt;br /&gt;
&lt;br /&gt;
== Укладки графов ==&lt;br /&gt;
* [[Укладка графа на плоскости]]&lt;br /&gt;
* [[Формула Эйлера]]&lt;br /&gt;
* [[Непланарность K5 и K3,3|Непланарность &amp;lt;tex&amp;gt;K_5&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;K_{3,3}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[Укладка дерева]]&lt;br /&gt;
* [[Укладка графа с планарными компонентами реберной двусвязности]]&lt;br /&gt;
* [[Укладка графа с планарными компонентами вершинной двусвязности]]&lt;br /&gt;
* [[Теорема Понтрягина-Куратовского]]&lt;br /&gt;
* [[Двойственный граф планарного графа]]&lt;br /&gt;
&lt;br /&gt;
== Раскраски графов ==&lt;br /&gt;
* [[Раскраска графа]]&lt;br /&gt;
* [[Двудольные графы и раскраска в 2 цвета]]&lt;br /&gt;
* [[Хроматический многочлен]]&lt;br /&gt;
** [[Хроматический многочлен#Хроматический многочлен полного графа|Хроматический многочлен полного графа]]&lt;br /&gt;
** [[Хроматический многочлен#Хроматический многочлен пустого графа|Хроматический многочлен пустого графа]]&lt;br /&gt;
** [[Хроматический многочлен#Хроматический многочлен дерева|Хроматический многочлен дерева]]&lt;br /&gt;
** [[Хроматический многочлен#Рекуррентные формулы для хроматических многочленов|Рекуррентные формулы для хроматических многочленов]]&lt;br /&gt;
** [[Хроматический многочлен#Коэффициенты хроматического многочлена|Коэффициенты хроматического многочлена: старший, второй коэффициенты, знакопеременность]]&lt;br /&gt;
* [[Формула Зыкова]]&lt;br /&gt;
* [[Формула Уитни]]&lt;br /&gt;
&lt;br /&gt;
== Обход в глубину ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин]]&lt;br /&gt;
* [[Лемма о белых путях]]&lt;br /&gt;
* [[Использование обхода в глубину для проверки связности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска цикла в ориентированном графе]]&lt;br /&gt;
* [[Использование обхода в глубину для топологической сортировки]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска компонент сильной связности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [[Построение компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
== Кратчайшие пути в графах ==&lt;br /&gt;
* [[Обход в ширину]]&lt;br /&gt;
* [[Алгоритм Форда-Беллмана]]&lt;br /&gt;
* [[Алгоритм Дейкстры]]&lt;br /&gt;
* [[Алгоритм Флойда]]&lt;br /&gt;
* [[Алгоритм A*]]&lt;br /&gt;
* [[Алгоритм Джонсона]]&lt;br /&gt;
&lt;br /&gt;
== Построение остовных деревьев ==&lt;br /&gt;
* [[Лемма о безопасном ребре]]&lt;br /&gt;
* [[Алгоритм Прима]]&lt;br /&gt;
* [[Алгоритм Краскала]]&lt;br /&gt;
* [[Критерий Тарьяна минимальности остовного дерева|Теорема Тарьяна (критерий минимальности остовного дерева)]]&lt;br /&gt;
* [[Алгоритм двух китайцев]]&lt;br /&gt;
&lt;br /&gt;
== Задача о паросочетании ==&lt;br /&gt;
* [[Теорема о максимальном паросочетании и дополняющих цепях]]&lt;br /&gt;
* [[Алгоритм Форда-Фалкерсона для поиска максимального паросочетания]]&lt;br /&gt;
* [[Алгоритм Куна для поиска максимального паросочетания]]&lt;br /&gt;
* [[Связь максимального паросочетания и минимального вершинного покрытия в двудольных графах]]&lt;br /&gt;
* [[Связь вершинного покрытия и независимого множества]]&lt;br /&gt;
* [[Матрица Татта и связь с размером максимального паросочетания в двудольном графе]]&lt;br /&gt;
* [[Алгоритм вырезания соцветий|Паросочетания в недвудольных графах. Алгоритм вырезания соцветий]]&lt;br /&gt;
&lt;br /&gt;
== Задача о максимальном потоке ==&lt;br /&gt;
* [[Определение сети, потока]]&lt;br /&gt;
* [[Разрез, лемма о потоке через разрез]]&lt;br /&gt;
* [[Дополняющая сеть, дополняющий путь]]&lt;br /&gt;
* [[Лемма о сложении потоков]]&lt;br /&gt;
* [[Теорема Форда-Фалкерсона]]&lt;br /&gt;
* [[Алгоритм Форда-Фалкерсона, реализация с помощью поиска в глубину]]&lt;br /&gt;
* [[Алоритм Эдмондса-Карпа]]&lt;br /&gt;
* [[Алгоритм масштабирования потока]]&lt;br /&gt;
* [[Блокирующий поток]]&lt;br /&gt;
* [[Схема алгоритма Диница]]&lt;br /&gt;
* [[Теоремы Карзанова о числе итераций алгоритма Диница в сети с целочисленными пропускными способностями]]&lt;br /&gt;
* [[Алгоритм поиска блокирующего потока в ациклической сети]]&lt;br /&gt;
* [[Теорема о декомпозиции]]&lt;br /&gt;
* [[Теорема о декомпозиционном барьере]]&lt;br /&gt;
* [[Циркуляция потока]]&lt;br /&gt;
&lt;br /&gt;
== Задача о потоке минимальной стоимости ==&lt;br /&gt;
* [[Поток минимальной стоимости]]&lt;br /&gt;
* [[Теорема Форда-Фалкерсона о потоке минимальной стоимости]]&lt;br /&gt;
* [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети]]&lt;br /&gt;
* [[Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]]&lt;br /&gt;
* [[Использование потенциалов Джонсона при поиске потока минимальной стоимости]]&lt;br /&gt;
* [[Сведение задачи о назначениях к задаче о потоке минимальной стоимости]]&lt;br /&gt;
* [[Венгерский алгоритм решения задачи о назначениях]]&lt;br /&gt;
&lt;br /&gt;
= Четвертый семестр =&lt;br /&gt;
&lt;br /&gt;
== Основные определения. Простые комбинаторные свойства слов ==&lt;br /&gt;
* [[Основные определения, связанные со строками]]&lt;br /&gt;
* [[Период и бордер, их связь]]&lt;br /&gt;
* [[Слово Фибоначчи]]&lt;br /&gt;
* [[Слово Туэ-Морса]]&lt;br /&gt;
&lt;br /&gt;
== Поиск подстроки в строке ==&lt;br /&gt;
* [[Наивный алгоритм поиска подстроки в строке]]&lt;br /&gt;
* [[Поиск подстроки в строке с использованием хеширования. Алгоритм Рабина-Карпа]]&lt;br /&gt;
* [[Поиск наибольшей общей подстроки двух строк с использованием хеширования]]&lt;br /&gt;
* [[Префикс-функция]]&lt;br /&gt;
* [[Алгоритм Кнута-Морриса-Пратта]]&lt;br /&gt;
* [[Z-функция]]&lt;br /&gt;
* [[Автомат для поиска образца в тексте]]&lt;br /&gt;
* [[Бор]]&lt;br /&gt;
* [[Алгоритм Ахо-Корасик]]&lt;br /&gt;
&lt;br /&gt;
== Суффиксное дерево ==&lt;br /&gt;
* [[Суффиксный бор]]&lt;br /&gt;
* [[Сжатое суффиксное дерево]]&lt;br /&gt;
* [[Алгоритм Укконена]]&lt;br /&gt;
&lt;br /&gt;
== Суффиксный массив ==&lt;br /&gt;
* [[Суффиксный массив]]&lt;br /&gt;
* [[Построение суффиксного массива с помощью стандартных методов сортировки]]&lt;br /&gt;
* [[Цифровая сортировка]]&lt;br /&gt;
* [[Алгоритм цифровой сортировки суффиксов циклической строки]]&lt;br /&gt;
* [[Алгоритм Касаи и др.]]&lt;br /&gt;
* [[Алгоритм Карккайнена-Сандерса]]&lt;br /&gt;
* [[Алгоритм поиска подстроки в строке с помощью суффиксного массива]]&lt;br /&gt;
&lt;br /&gt;
== Задача о наименьшем общем предке ==&lt;br /&gt;
* [[Метод двоичного подъема]]&lt;br /&gt;
* [[Сведение задачи LCA к задаче RMQ]]&lt;br /&gt;
* [[Решение RMQ с помощью разреженной таблицы]]&lt;br /&gt;
* [[Алгоритм Фарака-Колтона и Бендера]] (решение +/-1 RMQ с помощью метода четырех русских)&lt;br /&gt;
* [[Сведение задачи RMQ к задаче LCA]]&lt;br /&gt;
&lt;br /&gt;
== Матроиды ==&lt;br /&gt;
* [[Определение матроида]]&lt;br /&gt;
* [[Примеры матроидов]]&lt;br /&gt;
* [[Прямая сумма матроидов]]&lt;br /&gt;
* [[Теорема Радо-Эдмондса (жадный алгоритм)]]&lt;br /&gt;
* [[Жадный алгоритм поиска базы минимального веса]]&lt;br /&gt;
* [[Теорема о базах]]&lt;br /&gt;
* [[Аксиоматизация матроида базами]]&lt;br /&gt;
* [[Теорема о циклах]]&lt;br /&gt;
* [[Аксиоматизация матроида циклами]]&lt;br /&gt;
* [[Ранговая функция, полумодулярность]]&lt;br /&gt;
* [[Двойственный матроид]]&lt;br /&gt;
* [[Оператор замыкания для матроидов]]&lt;br /&gt;
=== Пересечение матроидов ===&lt;br /&gt;
* [[Пересечение матроидов, определение, примеры]]&lt;br /&gt;
* [[Лемма о паросочетании в графе замен]]&lt;br /&gt;
* [[Лемма о единственном паросочетании в графе замен]]&lt;br /&gt;
* [[Граф замен для двух матроидов]]&lt;br /&gt;
* [[Лемма о единственном паросочетании в подграфе замен, индуцированном кратчайшим путем]]&lt;br /&gt;
* [[Алгоритм построения базы в пересечении матроидов]]&lt;br /&gt;
* [[Теорема Эдмондса-Лоулера]]&lt;br /&gt;
=== Объединение матроидов ===&lt;br /&gt;
* [[Объединение матроидов, проверка множества на независимость]]&lt;br /&gt;
* [[Объединение матроидов, доказательство того, что объединение является матроидом]]&lt;br /&gt;
* [[Алгоритм построения базы в объединении матроидов]]&lt;br /&gt;
&lt;br /&gt;
== Теория расписаний ==&lt;br /&gt;
* [[Классификация задач]]&lt;br /&gt;
* [[Методы решения задач теории расписаний]]&lt;br /&gt;
* [[Правило Лаулера]]&lt;br /&gt;
* [[Flow shop]]&lt;br /&gt;
* [[1precpmtnrifmax|&amp;lt;tex&amp;gt;1 \mid prec, pmtn, r_i \mid f_{\max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[QpmtnCmax|&amp;lt;tex&amp;gt;Q \mid pmtn \mid C_{max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[QpmtnriLmax|&amp;lt;tex&amp;gt;Q \mid pmtn, r_{i} \mid L_{max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[P2precpi1Lmax|&amp;lt;tex&amp;gt;P2 \mid prec, p_i = 1 \mid L_{\max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[R2Cmax|&amp;lt;tex&amp;gt;R2 \mid \mid C_{max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[O2Cmax|&amp;lt;tex&amp;gt;O2 \mid \mid C_{max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[PpmtnriLmax|&amp;lt;tex&amp;gt;P \mid pmtn, r_i \mid L_{max}&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[Opi1sumu|&amp;lt;tex&amp;gt;O \mid p_{ij} = 1 \mid \sum u_i&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[Fpij1sumwu|&amp;lt;tex&amp;gt;F \mid p_{ij} = 1 \mid \sum w_i u_i&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[1wisumwi(ci - pi -ri)|&amp;lt;tex&amp;gt;1 \mid w_{i}\mid \sum w_{i}(c_{i} - p_{i} -r_{i})&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
* [[1ridipi|&amp;lt;tex&amp;gt;1 \mid r_{i}, d_{i}, p_{i} = 1 \mid -&amp;lt;/tex&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=26209</id>
		<title>R2Cmax</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=26209"/>
				<updated>2012-06-20T18:14:14Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1px;&amp;quot;&amp;gt;Эта статья находится в разработке!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Категория: В разработке]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
Дано два разных неоднородных станка, которые работают параллельно. Есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; работ, время выполнения которых на первом &lt;br /&gt;
и втором станке различное. Нужно минимизировать время завершения всех работ.&lt;br /&gt;
&lt;br /&gt;
==Сложность задачи==&lt;br /&gt;
Задача &amp;lt;tex&amp;gt;R2 \mid \mid C_{max}&amp;lt;/tex&amp;gt; является &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;-полной задачей.&lt;br /&gt;
&lt;br /&gt;
==Неэффективное решение==&lt;br /&gt;
Переберём все битовые последовательности из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; элементов. Для каждой перестановки вычислим завершение последней работы. Работы будем выполнять следующим образом, если на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-й позиции стоит 0, то &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-ая работа будет выполняться на первом станке, иначе на втором. Среди всех перестановок выберем ту перестановку, у которой &amp;lt;tex&amp;gt;C_{max}&amp;lt;/tex&amp;gt; минимальный.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма &amp;lt;tex&amp;gt;O(n \cdot 2^n)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Эффективное решение==&lt;br /&gt;
Применим для решения данной задачи динамическое программирование.&lt;br /&gt;
&lt;br /&gt;
Будем  считать &amp;lt;tex&amp;gt;dp[i][j]&amp;lt;/tex&amp;gt;, в котором будем хранить минимально время выполнения работ на втором станке, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; означает, что мы рассмотрели &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; работ, а &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; с каким временем выполнения работ на первом станке. Тогда &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; не превосходит суммы выполнения работ на первом станке.&lt;br /&gt;
&lt;br /&gt;
Изначальное значение &amp;lt;tex&amp;gt;dp[0][0] = 0&amp;lt;/tex&amp;gt;, а всё остальную таблицу проинициализируем бесконечностью.&lt;br /&gt;
&lt;br /&gt;
Допустим мы посчитали динамику для &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; работ. Теперь надо пересчитать её для &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой работы. Переберём время выполнения работ на первом станке и посчитаем какое минимально время выполнения мы можем получить при на втором станке при фиксированном первом времени. Так как &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ю работу мы можем выполнить либо на первом станке, либо на втором, то &amp;lt;tex&amp;gt;dp[i][j]=   \min(dp[i-1][j-p_1[i]], dp[i-1][j]+p_2[i])&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ответом на задачу будет минимум среди всех максимумов из &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;dp[n][j]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Псевдокод==&lt;br /&gt;
   &amp;lt;tex&amp;gt;maxTime \leftarrow 0 &amp;lt;/tex&amp;gt;&lt;br /&gt;
   for &amp;lt;tex&amp;gt;i = 1 \dots n&amp;lt;/tex&amp;gt;&lt;br /&gt;
      &amp;lt;tex&amp;gt;maxTime += p_1[i]&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;dp[][] \leftarrow INF&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;dp[0][0] \leftarrow 0 &amp;lt;/tex&amp;gt;&lt;br /&gt;
   for &amp;lt;tex&amp;gt;i = 1 \dots n&amp;lt;/tex&amp;gt;&lt;br /&gt;
      for &amp;lt;tex&amp;gt;j = 0 \dots maxTime &amp;lt;/tex&amp;gt;&lt;br /&gt;
         if &amp;lt;tex&amp;gt;(j - p_2[i] &amp;gt; 0) &amp;lt;/tex&amp;gt; then&lt;br /&gt;
            &amp;lt;tex&amp;gt;dp[i][j] \leftarrow \min (dp[i][j], dp[i-1][j - p_1[i]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
         &amp;lt;tex&amp;gt;dp[i][j] \leftarrow \min (dp[i][j], dp[i-1][j] + p_2[i])&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;answer \leftarrow INF&amp;lt;/tex&amp;gt;&lt;br /&gt;
   for &amp;lt;tex&amp;gt; j = 0 \dots maxTime &amp;lt;/tex&amp;gt;&lt;br /&gt;
      &amp;lt;tex&amp;gt;answer \leftarrow \min (answer, \max(j, dp[n][j]))&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Время работы==&lt;br /&gt;
Время работы &amp;lt;tex&amp;gt;O(n * maxTime)&amp;lt;/tex&amp;gt; {{---}} псевдополиномиальный алгоритм. Кроме того, если время выполнения работ, будет вещественные числа, то придется приводить их до целых, либо считать приблежённое значения.&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
J.K. Lenstra, A.H.G. Rinnooy Kan, and P. Brucker. Complexity&lt;br /&gt;
of machine scheduling problems. Annals of Discrete Mathematics,&lt;br /&gt;
1:343–362, 1977.&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=26208</id>
		<title>R2Cmax</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=26208"/>
				<updated>2012-06-20T17:48:04Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Эффективное решение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1px;&amp;quot;&amp;gt;Эта статья находится в разработке!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Категория: В разработке]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
Дано два разных неоднородных станка, которые работают параллельно. Есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; работ, время выполнения которых на первом &lt;br /&gt;
и втором станке различное. Нужно минимизировать время завершения всех работ.&lt;br /&gt;
&lt;br /&gt;
==Сложность задачи==&lt;br /&gt;
Задача &amp;lt;tex&amp;gt;R2 \mid \mid C_{max}&amp;lt;/tex&amp;gt; является &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;-полной задачей.&lt;br /&gt;
&lt;br /&gt;
==Неэффективное решение==&lt;br /&gt;
Переберём все битовые последовательности из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; элементов. Для каждой перестановки вычислим завершение последней работы. Работы будем выполнять следующим образом, если на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-й позиции стоит 0, то &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-ая работа будет выполняться на первом станке, иначе на втором. Среди всех перестановок выберем ту перестановку, у которой &amp;lt;tex&amp;gt;C_{max}&amp;lt;/tex&amp;gt; минимальный.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма &amp;lt;tex&amp;gt;O(n \cdot 2^n)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Эффективное решение==&lt;br /&gt;
Применим для решения данной задачи динамическое программирование.&lt;br /&gt;
&lt;br /&gt;
Будем  считать &amp;lt;tex&amp;gt;dp[i][j]&amp;lt;/tex&amp;gt;, в котором будем хранить минимально время выполнения работ на втором станке, где &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; означает, что мы рассмотрели &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; работ, а &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; с каким временем выполнения работ на первом станке. Тогда &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; не превосходит суммы выполнения работ на первом станке.&lt;br /&gt;
&lt;br /&gt;
Изначальное значение &amp;lt;tex&amp;gt;dp[0][0] = 0&amp;lt;/tex&amp;gt;, а всё остальную таблицу проинициализируем бесконечностью.&lt;br /&gt;
&lt;br /&gt;
Допустим мы посчитали динамику для &amp;lt;tex&amp;gt;i-1&amp;lt;/tex&amp;gt; работ. Теперь надо пересчитать её для &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ой работы. Переберём время выполнения работ на первом станке и посчитаем какое минимально время выполнения мы можем получить при на втором станке при фиксированном первом времени. Так как &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-ю работу мы можем выполнить либо на первом станке, либо на втором, то &amp;lt;tex&amp;gt;dp[i][j]=   \min(dp[i-1][j-p_1[i]], dp[i-1][j]+p_2[i])&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда ответом на задачу будет минимум среди всех максимумов из &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;dp[n][j]&amp;lt;/tex&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=24314</id>
		<title>R2Cmax</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=R2Cmax&amp;diff=24314"/>
				<updated>2012-06-07T11:56:32Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: Новая страница: «&amp;lt;div style=&amp;quot;background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1p...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1px;&amp;quot;&amp;gt;Эта статья находится в разработке!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Категория: В разработке]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
Дано два разных неоднородных станка, которые работают параллельно. Есть &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; работ, время выполнения которых на первом &lt;br /&gt;
и втором станке различное. Нужно минимизировать время завершения всех работ.&lt;br /&gt;
&lt;br /&gt;
==Сложность задачи==&lt;br /&gt;
Задача &amp;lt;tex&amp;gt;R2 \mid \mid C_{max}&amp;lt;/tex&amp;gt; является &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;-полной задачей.&lt;br /&gt;
&lt;br /&gt;
==Неэффективное решение==&lt;br /&gt;
Переберём все битовые последовательности из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; элементов. Для каждой перестановки вычислим завершение последней работы. Работы будем выполнять следующим образом, если на &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-й позиции стоит 0, то &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;&amp;amp;nbsp;-ая работа будет выполняться на первом станке, иначе на втором. Среди всех перестановок выберем ту перестановку, у которой &amp;lt;tex&amp;gt;C_{max}&amp;lt;/tex&amp;gt; минимальный.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма &amp;lt;tex&amp;gt;O(n \cdot 2^n)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Эффективное решение==&lt;br /&gt;
Используем для решения данной задачи динамическое программирование.&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dodonovface.jpg&amp;diff=15823</id>
		<title>Файл:Dodonovface.jpg</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Dodonovface.jpg&amp;diff=15823"/>
				<updated>2012-01-07T22:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13390</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13390"/>
				<updated>2011-11-23T04:52:19Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Однопроходный алгоритм */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину и [[Использование обхода в глубину для поиска мостов#Функция | ret(v)]]&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если ret(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Однопроходный алгоритм строится на базе алгоритма поиска мостов. Во-первых, создадим глобальный стек, и при спуске по дереву &amp;lt;tex&amp;gt; dfs &amp;lt;/tex&amp;gt; добавляем в него вершины. Во-вторых, когда возвращаемся назад, проверяем не является ли ребро мостом (при помощи [[Использование обхода в глубину для поиска мостов#Лемма | леммы]]). Если это так, то то все вершины, находящиеся до текущего сына в стеке, принадлежат одной компоненте, эта компонента будет висячей вершиной в дереве блоков и мостов, так как обходили граф поиском в глубину. Значит, ее можно выкинуть и продолжить поиск в оставшемся графе. Действуя по аналогии в оставшемся графе, найдем оставшиеся компоненты реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt; stack.push(v) &amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;paint(u)&amp;lt;/tex&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Визуализатор ==&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13389</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13389"/>
				<updated>2011-11-23T04:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину и [[Использование обхода в глубину для поиска мостов#Функция | ret(v)]]&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если ret(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Однопроходный алгоритм строится на базе алгоритма поиска мостов. Во-первых, создадим глобальный стек, и при спуске по дереву dfs добавляем в него вершины. Во-вторых, когда возвращаемся назад, проверяем не является ли ребро мостом (при помощи [[Использование обхода в глубину для поиска мостов#Лемма | леммы]]). Если это так, то то все вершины, находящиеся до текущего сына в стеке, принадлежат одной компоненте, эта компонента будет висячей вершиной в дереве блоков и мостов, так как обходили граф поиском в глубину. Значит, ее можно выкинуть и продолжить поиск в оставшемся графе. Действуя по аналогии в оставшемся графе, найдем оставшиеся компоненты реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt; stack.push(v) &amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         &amp;lt;tex&amp;gt;paint(u)&amp;lt;/tex&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Визуализатор ==&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13344</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13344"/>
				<updated>2011-11-22T05:53:30Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Алгоритм */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный [[Основные определения теории графов#Граф| граф]] &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все [[Мост, эквивалентные определения | мосты]] в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево [[Обход в глубину, цвета вершин | обхода в глубину графа]] &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Докажем этот факт от противного. &lt;br /&gt;
Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, так как &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt;. Следовательно мы не достигнем предков &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а значит количество компонент связности увеличилось, что значит ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Лемма===&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = Рассмотрим вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или её потомка. Из них есть обратное ребро обратное в в предка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, тогда и только тогда, когда найдется такой сын &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;ret[t] \le enter[v]&amp;lt;/tex&amp;gt;. Так как, если &amp;lt;tex&amp;gt;ret[t] = enter[v]&amp;lt;/tex&amp;gt;,  то это означает, что найдётся обратное ребро, приходящее точно в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если же &amp;lt;tex&amp;gt;ret[t] &amp;lt; enter[v]&amp;lt;/tex&amp;gt;, то это означает наличие обратного ребра в какого-либо предка вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, если для текущего ребра &amp;lt;tex&amp;gt;(v, t)&amp;lt;/tex&amp;gt; (принадлежащего дереву поиска) выполняется &amp;lt;tex&amp;gt;ret[t] &amp;gt; enter[v]&amp;lt;/tex&amp;gt;, то это ребро является мостом; в противном случае оно мостом не является. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
# [http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13343</id>
		<title>Обсуждение:Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13343"/>
				<updated>2011-11-22T05:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;ИТОГО: раньше часть про однопроходный алгоритм выглядела более правдоподобной.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Хм.. не согласен, если про работоспособность, то это не факт. То что описано здесь, работает и было сдано на Лабораторной по АСД. Могу код привести реальный. Да и с точки зрения асимптотики, это лучше и не скрыто в коде асимптотика СНМ. Кроме того этот алгоритм, в отличие от решения СНМ, реализацию на стеке была рассказана на практике, в качестве домашнего задания.&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13341</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13341"/>
				<updated>2011-11-22T05:33:56Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину и [[Использование обхода в глубину для поиска мостов#Функция | ret(v)]]&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если ret(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно найти компоненты реберной двусвязности за один проход, используя стек.&lt;br /&gt;
 &lt;br /&gt;
Рекурсивый алгоритм на основе обхода в глубину.&lt;br /&gt;
Если мы посетили вершину, то добавляем её в стек. Теперь определим, когда надо окрасить компоненту.&lt;br /&gt;
Если мы возвращаясь (в рекурсии) обратно  оказались в вершине, которая является вершиной моста, то все вершины, находящиеся, до текущей в стеке, принадлежат этой компоненте. Это следует из того, что [[Граф компонент реберной двусвязности | граф блоков и мостов, является деревом]]. По свойству обхода в глубину, мы окажемся в висячей вершине, покрасим её, то есть эту компоненту покрасим. Её можно выкинут и рассматривать оставшийся граф. Действуя по аналогии мы всегда выкидываем компоненту реберной двусвязности следовательно, если мы вернулись в вершину, которая была концом нашего моста, то все вершины лежащие до нашей в стеке, принадлежат данной компоненте, либо если моста нет, то окрашиваемся всё, что лежит в стеке. &lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''void dfs(вершина v, предок вершины p):&lt;br /&gt;
    добавляем вершину в в стек;&lt;br /&gt;
    state[v] = 1&lt;br /&gt;
    ret[v] = enter[v] = ++time&lt;br /&gt;
    для всех  вершин u смежных v:&lt;br /&gt;
      если (u == parent): &lt;br /&gt;
        переходим к следующей итерации&lt;br /&gt;
       	если (state[u] = 1):&lt;br /&gt;
          ret[v] = min(ret[v], enter[u])&lt;br /&gt;
        иначе:&lt;br /&gt;
          если (state[u] = 0):&lt;br /&gt;
            dfs(u, v)&lt;br /&gt;
            ret[v] = min(ret[v], ret[u])&lt;br /&gt;
            если (enter[v] &amp;lt; ret[u]): &lt;br /&gt;
            paint(u)	&lt;br /&gt;
    state[v] = 2&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Визуализатор ==&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13327</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13327"/>
				<updated>2011-11-22T02:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Двупроходный алгоритм */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину и [[Использование обхода в глубину для поиска мостов#Функция | ret(v)]]&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если ret(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно найти компоненты реберной двусвязности за один проход, используя стек.&lt;br /&gt;
 &lt;br /&gt;
Алгоритм, если мы посетили вершину, то добавляем её в стек. Так же как раньше &amp;lt;tex&amp;gt;ret[v]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;enter[v]&amp;lt;/tex&amp;gt;. Теперь определим, когда надо окрасить компоненту.&lt;br /&gt;
Если мы возвращаясь обратно оказались в вершине, которая является вершиной моста, то все вершины, находящиеся, до текущей в стеке, принадлежат этой компоненте. Это следует из того, что [[Граф компонент реберной двусвязности | граф блоков и мостов, является деревом]]. По свойству обхода в ширину, мы окажемся в висячей вершине, покрасим её, то есть эту компоненту покрасим. Её можно выкинут и рассматривать оставшийся граф. Действуя по аналогии мы всегда выкидываем компоненту реберной двусвязности следовательно, если мы вернулись в вершину, которая была концом нашего моста, то все вершины лежащие до нашей в стеке, принадлежат данной компоненте. &lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++;&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её; &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''void dfs(вершина v, предок вершины p):&lt;br /&gt;
    добавляем вершину в в стек;&lt;br /&gt;
    state[v] = 1;&lt;br /&gt;
    ret[v] = enter[v] = ++time;&lt;br /&gt;
    для всех  вершин u смежных v:&lt;br /&gt;
      если (u == parent): &lt;br /&gt;
        переходим к следующей итерации&lt;br /&gt;
       	если (state[u] = 1):&lt;br /&gt;
          ret[v] = min(ret[v], enter[u]);&lt;br /&gt;
        иначе:&lt;br /&gt;
          если (state[u] = 0):&lt;br /&gt;
            dfs(u, v);&lt;br /&gt;
            ret[v] = min(ret[v], ret[u]);&lt;br /&gt;
            если (enter[v] &amp;lt; ret[u]): &lt;br /&gt;
            paint(u);	&lt;br /&gt;
    state[v] = 2;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13326</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=13326"/>
				<updated>2011-11-22T02:43:07Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Двупроходный алгоритм */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, [[Использование обхода в глубину для поиска мостов#Функция | &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если ret(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно найти компоненты реберной двусвязности за один проход, используя стек.&lt;br /&gt;
 &lt;br /&gt;
Алгоритм, если мы посетили вершину, то добавляем её в стек. Так же как раньше &amp;lt;tex&amp;gt;ret[v]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;enter[v]&amp;lt;/tex&amp;gt;. Теперь определим, когда надо окрасить компоненту.&lt;br /&gt;
Если мы возвращаясь обратно оказались в вершине, которая является вершиной моста, то все вершины, находящиеся, до текущей в стеке, принадлежат этой компоненте. Это следует из того, что [[Граф компонент реберной двусвязности | граф блоков и мостов, является деревом]]. По свойству обхода в ширину, мы окажемся в висячей вершине, покрасим её, то есть эту компоненту покрасим. Её можно выкинут и рассматривать оставшийся граф. Действуя по аналогии мы всегда выкидываем компоненту реберной двусвязности следовательно, если мы вернулись в вершину, которая была концом нашего моста, то все вершины лежащие до нашей в стеке, принадлежат данной компоненте. &lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++;&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её; &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''void dfs(вершина v, предок вершины p):&lt;br /&gt;
    добавляем вершину в в стек;&lt;br /&gt;
    state[v] = 1;&lt;br /&gt;
    ret[v] = enter[v] = ++time;&lt;br /&gt;
    для всех  вершин u смежных v:&lt;br /&gt;
      если (u == parent): &lt;br /&gt;
        переходим к следующей итерации&lt;br /&gt;
       	если (state[u] = 1):&lt;br /&gt;
          ret[v] = min(ret[v], enter[u]);&lt;br /&gt;
        иначе:&lt;br /&gt;
          если (state[u] = 0):&lt;br /&gt;
            dfs(u, v);&lt;br /&gt;
            ret[v] = min(ret[v], ret[u]);&lt;br /&gt;
            если (enter[v] &amp;lt; ret[u]): &lt;br /&gt;
            paint(u);	&lt;br /&gt;
    state[v] = 2;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A6%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%B3%D1%80%D0%B0%D1%84%D0%B0&amp;diff=13243</id>
		<title>Циклическое пространство графа</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A6%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE_%D0%B3%D1%80%D0%B0%D1%84%D0%B0&amp;diff=13243"/>
				<updated>2011-11-19T01:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Определение ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; m = |E(G)| &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; n = |V(G)| &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; {{---}} количество компонент связности &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; B^t &amp;lt;/tex&amp;gt; {{---}} линейное пространство, элементами которого являются &amp;lt;tex&amp;gt; t &amp;lt;/tex&amp;gt;{{---}}мерные двоичные вектора и их сложение определено, как сложение по модулю &amp;lt;tex&amp;gt; 2 &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
'''Циклическое пространство графа''' — &amp;lt;tex&amp;gt;  C = Ker(I) &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; I : B^m \rightarrow B^n &amp;lt;/tex&amp;gt; - линейный оператор, сопоставленный матрице инциндентности &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; графа &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = &lt;br /&gt;
'''Обобщенный цикл графа G''' - элемент линейного пространства &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Определим пространство &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt;, как пространство, элементами которого являются наборы ребер, из которых можно составить несколько простых реберно непересекающихся циклов.  &lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Пространство &amp;lt;tex&amp;gt; C &amp;lt;/tex&amp;gt; изоморфно &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Рассмотрим &amp;lt;tex&amp;gt; x \in  C &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим граф &amp;lt;tex&amp;gt; G_1(V_1,E_1) &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;  E_1 &amp;lt;/tex&amp;gt; {{---}} множество ребер, таких что на соответствующих местах вектора &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; стоят единицы, а &amp;lt;tex&amp;gt; V_1 = V(G) &amp;lt;/tex&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
В силу определения обобщенного цикла: &amp;lt;tex&amp;gt; \forall v  : v \in V_1 ~ deg(v) \equiv 0(mod~2) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; можно декомпозировать  на несколько реберно непересекающихся простых циклов. Отсюда следует, что каждому обобщенному циклу соответствуют ребра, которые образуют набор реберно непересекающихся простых циклов. &lt;br /&gt;
&lt;br /&gt;
Если рассмотреть набор реберно непересекающихся простых циклов и взять все ребра, принадлежащие этим циклам, то им можно сопоставить обобщенный цикл (в соответствующие места поставить &amp;lt;tex&amp;gt; 1 &amp;lt;/tex&amp;gt;, во все остальные &amp;lt;tex&amp;gt; 0 &amp;lt;/tex&amp;gt;).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Размерность линейного пространства обобщенных циклов ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
&amp;lt;tex&amp;gt; dim(C) = m - n + k &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; dim(C)=dim(Ker(i))=m-Rang(A) &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; Rang(A) = &amp;lt;/tex&amp;gt; максимальное количество ЛНЗ столбцов &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt;. Если рассмотреть цикл в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;, то набор столбцов соответствующий ребрам в этом цикле ЛЗ. Отсюда следует, что если любому множеству ребер, содержащих цикл, в соответствие сопоставить набор столбцов из &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; то он будет ЛЗ. Если же множество ребер не содержит цикл, то набор ЛНЗ (если бы он был ЛЗ, тогда бы существовал  &amp;lt;tex&amp;gt; x \in C &amp;lt;/tex&amp;gt;, который соответствует некоторому подмножеству данного набора ребер, значит из набора ребер можно выделить цикл, противоречие). Максимальное число ребер, которые мы можем выделить из G и которые не содержат цикл &amp;lt;tex&amp;gt;= n - k &amp;lt;/tex&amp;gt; (в каждой компоненте связности выделим цикл). &lt;br /&gt;
Итого: &amp;lt;tex&amp;gt; dim(C)=m - n + k &amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Литература(формулировки другие) ==&lt;br /&gt;
Харари Ф. Теория графов / пер. с англ. — изд. 4-е — М.: Книжный дом «ЛИБРОКОМ», 2009. — с.54. — ISBN 978-5-397-00622-4.&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Основные определения теории графов]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13194</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13194"/>
				<updated>2011-11-18T04:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный [[Основные определения теории графов#Граф| граф]] &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все [[Мост, эквивалентные определения | мосты]] в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево [[Обход в глубину, цвета вершин | обхода в глубину графа]] &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Лемма===&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = Рассмотрим вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или её потомка. Из них есть обратное ребро обратное в в предка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, тогда и только тогда, когда найдется такой сын &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;ret[t] \le enter[v]&amp;lt;/tex&amp;gt;. Так как, если &amp;lt;tex&amp;gt;ret[t] = enter[v]&amp;lt;/tex&amp;gt;,  то это означает, что найдётся обратное ребро, приходящее точно в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если же &amp;lt;tex&amp;gt;ret[t] &amp;lt; enter[v]&amp;lt;/tex&amp;gt;, то это означает наличие обратного ребра в какого-либо предка вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, если для текущего ребра &amp;lt;tex&amp;gt;(v, t)&amp;lt;/tex&amp;gt; (принадлежащего дереву поиска) выполняется &amp;lt;tex&amp;gt;ret[t] &amp;gt; enter[v]&amp;lt;/tex&amp;gt;, то это ребро является мостом; в противном случае оно мостом не является. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
# [http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13193</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=13193"/>
				<updated>2011-11-18T04:06:06Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Лемма */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный [[Основные определения теории графов#Граф| граф]] &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все [[Мост, эквивалентные определения | мосты]] в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево [[Обход в глубину, цвета вершин | обхода в глубину графа]] &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Лемма===&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = Рассмотрим вершину &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или её потомка. Из них есть обратное ребро обратное в в предка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, тогда и только тогда, когда найдется такой сын &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;ret[t] \le enter[v]&amp;lt;/tex&amp;gt;. Так как, если &amp;lt;tex&amp;gt;ret[t] = enter[v]&amp;lt;/tex&amp;gt;,  то это означает, что найдётся обратное ребро, приходящее точно в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Если же &amp;lt;tex&amp;gt;ret[t] &amp;lt; enter[v]&amp;lt;/tex&amp;gt;, то это означает наличие обратного ребра в какого-либо предка вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Таким образом, если для текущего ребра &amp;lt;tex&amp;gt;(v, t)&amp;lt;/tex&amp;gt; (принадлежащего дереву поиска) выполняется &amp;lt;tex&amp;gt;ret[t] &amp;gt; enter[v]&amp;lt;/tex&amp;gt;, то это ребро является мостом; в противном случае оно мостом не является. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12917</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12917"/>
				<updated>2011-11-09T04:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно найти компоненты реберной двусвязности за один проход используя стек.&lt;br /&gt;
 &lt;br /&gt;
Алгоритм, если мы посетили вершину, то добавляем её в стек. Так же как раньше &amp;lt;tex&amp;gt;ret[v]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;enter[v]&amp;lt;/tex&amp;gt;. Теперь определим, когда надо окрасить компоненту.&lt;br /&gt;
Если мы возвращаясь обратно оказались в вершине, которая является вершиной моста, то все вершины, находящиеся, до текущей в стеке, принадлежат этой компоненте. Это следует из того, что [[Граф компонент реберной двусвязности | граф блоков и мостов, является деревом]]. По свойству обхода в ширину, мы окажемся в висячей вершине, покрасим её, то есть эту компоненту покрасим. Её можно выкинут и рассматривать оставшийся граф. Действуя по аналогии мы всегда выкидываем компоненту реберной двусвязности следовательно, если мы вернулись в вершину, которая была концом нашего моста, то все вершины лежащие до нашей в стеке, принадлежат данной компоненте. &lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(int v):&lt;br /&gt;
    maxcolor++;&lt;br /&gt;
      while (пока вершина стека не вершина &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и стек не пустой)&lt;br /&gt;
        извлекаем вершину стека и красим её; &lt;br /&gt;
	&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  '''void dfs(вершина v, предок вершины p):&lt;br /&gt;
    добавляем вершину в в стек;&lt;br /&gt;
    state[v] = 1;&lt;br /&gt;
    ret[v] = enter[v] = ++time;&lt;br /&gt;
    для всех  вершин u смежных v:&lt;br /&gt;
      если (u == parent): &lt;br /&gt;
        переходим к следующей итерации&lt;br /&gt;
       	если (state[u] = 1):&lt;br /&gt;
          ret[v] = min(ret[v], enter[u]);&lt;br /&gt;
        иначе:&lt;br /&gt;
          если (state[u] = 0):&lt;br /&gt;
            dfs(u, v);&lt;br /&gt;
            ret[v] = min(ret[v], ret[u]);&lt;br /&gt;
            если (enter[v] &amp;lt; ret[u]): &lt;br /&gt;
            paint(u);	&lt;br /&gt;
    state[v] = 2;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. Покраска за &amp;lt;tex&amp;gt; O(|V|) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12158</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12158"/>
				<updated>2011-10-27T05:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
Время работы dfs &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;. А время восстановления &amp;lt;tex&amp;gt; O(|V|)&amp;lt;/tex&amp;gt;, так как [[Анализ реализации с ранговой эвристикой | снм]].&lt;br /&gt;
Итоговое время работы алгоритма &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12157</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=12157"/>
				<updated>2011-10-27T05:08:41Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
Воспользуемся ранее доказанной [[Использование обхода в глубину для поиска мостов#Лемма | леммой]].&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Перешли по мосту, следовательно началась новая компонента. &lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
Время работы алгоритма будет время работы двух запусков dfs, то есть 2 *  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;, что есть  &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=12144</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=12144"/>
				<updated>2011-10-27T03:13:43Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный [[Основные определения теории графов#Граф| граф]] &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все [[Мост, эквивалентные определения | мосты]] в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево [[Обход в глубину, цвета вершин | обхода в глубину графа]] &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Лемма===&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11764</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11764"/>
				<updated>2011-10-22T05:36:27Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Основные понятия */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонента реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11763</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11763"/>
				<updated>2011-10-22T04:48:28Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11762</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11762"/>
				<updated>2011-10-22T04:46:59Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный [[Основные определения теории графов#Граф| граф]] &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все [[Мост, эквивалентные определения | мосты]] в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево [[Обход в глубину, цвета вершин | обхода в глубину графа]] &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11757</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11757"/>
				<updated>2011-10-22T04:16:05Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный граф &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все мосты в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево обхода в глубину графа &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; [[Использование обхода в глубину для топологической сортировки | время входа в вершину &amp;lt;tex&amp;gt;v &amp;lt;/tex&amp;gt; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|300px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут красные красный]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
[[Категория: Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Обход в глубину]]&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Bridges_nv.png&amp;diff=11754</id>
		<title>Файл:Bridges nv.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Bridges_nv.png&amp;diff=11754"/>
				<updated>2011-10-22T03:58:47Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: загружена новая версия «Файл:Bridges nv.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Граф с посчитанными ret и enter у каждой вершины.&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11753</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11753"/>
				<updated>2011-10-22T03:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Источники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный граф &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все мосты в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево обхода в глубину графа &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Докажем что из отрицания второго утверждения следует отрицание первого.&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|150px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут ребра &amp;lt;tex&amp;gt;23, 59, 78&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching  Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)  Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11752</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11752"/>
				<updated>2011-10-22T03:38:23Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: /* Источники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный граф &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все мосты в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево обхода в глубину графа &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Докажем что из отрицания второго утверждения следует отрицание первого.&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|150px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут ребра &amp;lt;tex&amp;gt;23, 59, 78&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching | Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory) | Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11602</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11602"/>
				<updated>2011-10-21T02:47:58Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;br /&gt;
&lt;br /&gt;
В.А.Кузнецов, А.М.Караваев. &amp;quot;Оптимизация на графах&amp;quot; - Петрозаводск, Издательство ПетрГУ 2007&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11600</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11600"/>
				<updated>2011-10-20T22:03:03Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
*[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
*[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
* [http://rain.ifmo.ru/cat/view.php/vis/graph-general/bridges-2001| Визуализация построение компонент реберной двусзяности]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11598</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11598"/>
				<updated>2011-10-20T21:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
&lt;br /&gt;
[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11597</id>
		<title>Построение компонент рёберной двусвязности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82_%D1%80%D1%91%D0%B1%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B2%D1%83%D1%81%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=11597"/>
				<updated>2011-10-20T21:55:22Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные понятия ==&lt;br /&gt;
&lt;br /&gt;
[[Отношение реберной двусвязности#Реберная двусвязность|Реберная двусвязность]]&lt;br /&gt;
&lt;br /&gt;
[[Отношение реберной двусвязности#Компоненты реберной двусвязности|Компонент реберной двусвязности]]&lt;br /&gt;
&lt;br /&gt;
Построение компонент реберной двусвязности будет осуществляться с помощью [[Обход в глубину, цвета вершин|обхода в глубину]].&lt;br /&gt;
&lt;br /&gt;
== Двупроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Первый способ найти искомые компоненты - сначала определить критерий перехода в новую компоненту реберной двусвязности, а затем покрасить вершины графа в нужные цвета.&lt;br /&gt;
&lt;br /&gt;
Первый проход определяет для каждой вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; две величины: &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; - время входа поиска в глубину в вершину, &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; - минимальное из времен входа вершин, достижимых из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по [[Обход в глубину, цвета вершин|дереву &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;]] и не более, чем одному обратному ребру. &amp;lt;tex&amp;gt;return(v)&amp;lt;/tex&amp;gt; находится как &amp;lt;tex&amp;gt;min(enter(v), return(u), enter(w))&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - сыновей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в дереве &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - соседей &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по обратным ребрам. Важно, что ребро к родителю дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; не является обратным ребром обхода.&lt;br /&gt;
&lt;br /&gt;
Псевдокод первого прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void dfs(v, родитель):&lt;br /&gt;
    увеличиваем текущее время&lt;br /&gt;
    enter(v) := текущее время    &lt;br /&gt;
    return(v) := enter(v)&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если enter(u) равен нулю (вершина не посещена):&lt;br /&gt;
        dfs(u, v)&lt;br /&gt;
        return(v) := min(return(v), return(u))&lt;br /&gt;
      иначе если u не родитель:&lt;br /&gt;
        return(v) := min(return(v), enter(u))&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив enter&lt;br /&gt;
  текущее время := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если enter(v) = 0:&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
&lt;br /&gt;
Определим критерий перехода к новой компоненте.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; ведет из одной компоненты реберной двусвязности в другую, если оно является частью дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt;, и либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(v) = enter(v)&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return(u) = enter(u)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Если ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; - обратное, образуется цикл, содержащий &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, поэтому &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt; не может являться мостом.&lt;br /&gt;
Последнее равенство означает, что из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; и ее потомков нельзя подняться выше &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по дереву обхода, в том числе, и в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. Таким образом, между &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; существует лишь один путь - ребро &amp;lt;tex&amp;gt;uv&amp;lt;/tex&amp;gt;, - и они принадлежат разным компонентам реберной двусвязности.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основываясь на этом, определим алгоритм окраски вершин графа. Путь по графу будет точно таким же, как и в первом проходе, что гарантирует постоянность дерева &amp;lt;tex&amp;gt;dfs&amp;lt;/tex&amp;gt; и определенных параметров вершин: &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;return&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Псевдокод второго прохода:&lt;br /&gt;
&lt;br /&gt;
  '''void paint(v, цвет):&lt;br /&gt;
    colors(v) := цвет&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если colors(u) равен нулю (вершина не покрашена):&lt;br /&gt;
        если return(u) = enter(u):&lt;br /&gt;
          увеличиваем максимальный цвет&lt;br /&gt;
          paint(u, максимальный цвет)&lt;br /&gt;
        иначе:&lt;br /&gt;
          paint(u, цвет)&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив colors&lt;br /&gt;
  максимальный цвет := 0&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если colors(v) = 0:&lt;br /&gt;
      увеличиваем максимальный цвет&lt;br /&gt;
      paint(v, максимальный цвет)'''&lt;br /&gt;
&lt;br /&gt;
Вершины каждой из компонент реберной двусвязности окажутся окрашенными в свой цвет.&lt;br /&gt;
&lt;br /&gt;
== Однопроходный алгоритм ==&lt;br /&gt;
&lt;br /&gt;
Можно также искать компоненты реберной двусвязности путем конкатенации циклов. Воспользуемся тем, что реберная двусвязность является отношением эквивалентности на вершинах графа; тогда, если у двух циклов существует хоть одна общая вершина, все вершины, располагающиеся на этих циклах, принадлежат одной компоненте. Более того, две вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; лежат в одной компоненте реберной двусвязности тогда и только тогда, когда существует последовательность простых циклов &amp;lt;tex&amp;gt;c_1 c_2 ... c_n&amp;lt;/tex&amp;gt;, причем &amp;lt;tex&amp;gt;u \in c_1&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;v \in c_n&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; имеет с &amp;lt;tex&amp;gt;c_{i + 1}&amp;lt;/tex&amp;gt; хотя бы одну общую вершину для всех &amp;lt;tex&amp;gt;i \in {1 ... n - 1}&amp;lt;/tex&amp;gt;. Действительно, если зафиксировать один путь от &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; до &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, а затем искать точки пересечения второго, не имеющего одинаковых ребер с первым, пути с ним, то получится последовательность циклов, точками сочленения между которыми будут как раз точки пересечения путей. И наоборот, последовательность простых циклов легко превратить в два реберно непересекающихся пути.&lt;br /&gt;
&lt;br /&gt;
Совокупность компонент реберной двусвязности будем хранить как систему непересекающихся множеств вершин.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int dfs(v, родитель): (возвращает 0, если у v и ее потомков нет обратных ребер, и представителя множества, содержащего цикл с v, в обратном случае)&lt;br /&gt;
    seen(v) = true&lt;br /&gt;
    value = 0, result = 0&lt;br /&gt;
    для всех вершин u, смежных v:&lt;br /&gt;
      если не seen(u):&lt;br /&gt;
        value = dfs(u, v)&lt;br /&gt;
        если value &amp;gt; 0:&lt;br /&gt;
          color(v) = value&lt;br /&gt;
          result = value&lt;br /&gt;
        иначе если u не родитель:&lt;br /&gt;
          color(v) = color(u)&lt;br /&gt;
          result = color(v)&lt;br /&gt;
    return result&lt;br /&gt;
  ...&lt;br /&gt;
  обнуляем массив seen&lt;br /&gt;
  нумеруем вершины графа натуральными числами от 1 до мощности множества вершин графа&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    color(v) = номер вершины (номер цвета соответствует номеру вершины-представителя в множестве)&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    если не seen(v):&lt;br /&gt;
      dfs(v, null)'''&lt;br /&gt;
  &lt;br /&gt;
Осталось лишь сопоставить всем вершинам отдельно взятой компоненты единственного представителя.&lt;br /&gt;
&lt;br /&gt;
Псевдокод:&lt;br /&gt;
&lt;br /&gt;
  '''int relax(v): (возвращает нового представителя)&lt;br /&gt;
    если color(v) не равен номеру v:&lt;br /&gt;
      color(v) = relax(color(v))&lt;br /&gt;
    return color(v)&lt;br /&gt;
  ...&lt;br /&gt;
  для всех вершин v графа:&lt;br /&gt;
    relax(v)&lt;br /&gt;
&lt;br /&gt;
Теперь две вершины имеют одинаковый цвет тогда и только тогда, когда они принадлежат одной компоненте реберной двусвязности.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Обход в глубину, цвета вершин|Oбхода в глубину]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
* [[Построение компонент вершинной двусвязности]]&lt;br /&gt;
* [[Использование обхода в глубину для поиска мостов]]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. —&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11596</id>
		<title>Использование обхода в глубину для поиска мостов</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83_%D0%B4%D0%BB%D1%8F_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%BC%D0%BE%D1%81%D1%82%D0%BE%D0%B2&amp;diff=11596"/>
				<updated>2011-10-20T21:55:01Z</updated>
		
		<summary type="html">&lt;p&gt;Niko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи == &lt;br /&gt;
Дан неориентированный граф &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt;. Найти все мосты в &amp;lt;tex&amp;gt; G &amp;lt;/tex&amp;gt; за время &amp;lt;tex&amp;gt; O(|V| + |E|)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Алгоритм ==&lt;br /&gt;
&lt;br /&gt;
=== Теория ===&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; - дерево обхода в глубину графа &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt;. Ребро &amp;lt;tex&amp;gt; (u, v) &amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt; (u, v) \in T&amp;lt;/tex&amp;gt; и из вершины &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; и любого ее потомка нет обратного ребра в вершину &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; или предка &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt; \Leftarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Удалим &amp;lt;tex&amp;gt; (u, v)&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt; G&amp;lt;/tex&amp;gt; Докажем, что мы не сможем достичь ни одного из предков &amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt; (в частности &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt;). Пусть это не так, и &amp;lt;tex&amp;gt; w&amp;lt;/tex&amp;gt; - предпоследняя вершина на пути от &amp;lt;tex&amp;gt; v&amp;lt;/tex&amp;gt; до ее предка &amp;lt;tex&amp;gt;x &amp;lt;/tex&amp;gt;. Очевидно, &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; не ребро дерева (в силу единственности пути в дереве). Если &amp;lt;tex&amp;gt; (w, x)&amp;lt;/tex&amp;gt; - обратное ребро, то это противоречит условию теоремы, т.к. &amp;lt;tex&amp;gt; x&amp;lt;/tex&amp;gt; - предок &amp;lt;tex&amp;gt; u&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt; \Rightarrow&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Докажем что из отрицания второго утверждения следует отрицание первого.&lt;br /&gt;
Пусть существует удовлетворяющее условию обратное ребро &amp;lt;tex&amp;gt;(x, w)&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; лежит на цикле &amp;lt;tex&amp;gt;x \rightsquigarrow v \rightarrow u \rightsquigarrow w \rightarrow x&amp;lt;/tex&amp;gt; и не может быть мостом.&lt;br /&gt;
}}&lt;br /&gt;
==== Функция &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; ====&lt;br /&gt;
Определим функцию &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;v \in V&amp;lt;/tex&amp;gt;, как минимум из следущих величин &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(x)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;(w, x)&amp;lt;/tex&amp;gt; - обратное ребро, а &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (в нестрогом смысле) &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement = Ребро &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; является мостом тогда и только тогда, когда &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; принадлежит дереву обхода в глубину и &amp;lt;tex&amp;gt;ret(v) &amp;gt; enter(u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
| proof = &lt;br /&gt;
Так как на пути от вершины к корню дерева величины &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; убывают, то &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; возвращает величину &amp;lt;tex&amp;gt;enter&amp;lt;/tex&amp;gt; для ближайшей к корню вершины, достижимой из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомка, возможно используя одно обратное ребро. Следовательно, из вершины &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; или ее потомков существует обратное ребро потомка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; или саму &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; тогда и только тогда, когда &amp;lt;tex&amp;gt;ret(v) &amp;lt;= enter(u)&amp;lt;/tex&amp;gt;. По доказанной теореме, отсутствие такого ребра эквивалентно тому что &amp;lt;tex&amp;gt;(u, v)&amp;lt;/tex&amp;gt; - мост.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; = &amp;lt;tex&amp;gt;min(&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p),&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - ребро дерева&lt;br /&gt;
&amp;lt;tex&amp;gt;) &amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof =&lt;br /&gt;
[[Файл:Bridges_nv.png|150px|thumb|right|В скобах у вершины &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; указаны &amp;lt;tex&amp;gt;enter[u]&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;ret[u]&amp;lt;/tex&amp;gt;. Мостами будут ребра &amp;lt;tex&amp;gt;23, 59, 78&amp;lt;/tex&amp;gt;]]&lt;br /&gt;
1)&amp;lt;tex&amp;gt;enter(v) &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
По определению функции &amp;lt;tex&amp;gt;ret&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
2)&amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;(v, p)&amp;lt;/tex&amp;gt; - обратное ребро &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; достижима из  &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; по одному обратному ребру, значит величина  &amp;lt;tex&amp;gt;ret(v)&amp;lt;/tex&amp;gt; не больше  &amp;lt;tex&amp;gt;enter(p)&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
3)&amp;lt;tex&amp;gt;ret(u)&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Так как вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - потомок &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, то обратное ребро из ее поддерева является обратным ребром из поддерева &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Псевдокод ===&lt;br /&gt;
 '''dfs'''(&amp;lt;tex&amp;gt; v &amp;lt;/tex&amp;gt;)&lt;br /&gt;
   &amp;lt;tex&amp;gt; time \leftarrow time + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;enter[v] \leftarrow time&amp;lt;/tex&amp;gt;&lt;br /&gt;
   &amp;lt;tex&amp;gt;ret[v] \leftarrow time &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''for''' всех &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; смежных с &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;&lt;br /&gt;
     ''if'' &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - обратное ребро&lt;br /&gt;
       &amp;lt;tex&amp;gt;ret[v] \leftarrow min(ret[v], enter[u])&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' вершина &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; - белая&lt;br /&gt;
       '''dfs'''(u)&lt;br /&gt;
       &amp;lt;tex&amp;gt; ret[v] \leftarrow min(ret[v], ret[u]) &amp;lt;/tex&amp;gt;&lt;br /&gt;
       '''if''' &amp;lt;tex&amp;gt;ret[u] &amp;gt; enter[v]&amp;lt;/tex&amp;gt; &lt;br /&gt;
         ребро &amp;lt;tex&amp;gt;(v, u)&amp;lt;/tex&amp;gt; - мост&lt;br /&gt;
==Смотри также==&lt;br /&gt;
*[[Обход в глубину, цвета вершин|Обход в глубину]]&lt;br /&gt;
*[[Использование обхода в глубину для поиска точек сочленения]]&lt;br /&gt;
*[[Построение компонент вершинной двусвязности]]&lt;br /&gt;
*[[Построение компонент реберной двусвязности]]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-general/biconnected-components-2005| Визуализация поиска мостов]&lt;br /&gt;
&lt;br /&gt;
==Источники==&lt;br /&gt;
# [http://e-maxx.ru/algo/bridge_searching| Сайт e-maxx]&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Bridge_(graph_theory)| Свободная энциклопедия - Википедия]&lt;br /&gt;
&lt;br /&gt;
==Литература==&lt;br /&gt;
Седжвик Роберт. Фундаментальные алгоритмы на C++. Часть 5: Алгоритмы на графах: Пер. с англ./Роберт Седжвик. — СПб.: ООО «ДиаСофтЮП», 2002. — С. 123-128&lt;/div&gt;</summary>
		<author><name>Niko</name></author>	</entry>

	</feed>