<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kaholicl</id>
	<title>Алговики - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kaholicl"/>
	<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/ru/%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/Kaholicl"/>
	<updated>2026-10-22T22:58:27Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kaholicl/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4&amp;diff=29839</id>
		<title>Участник:Kaholicl/Адаптивный крестовый метод</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kaholicl/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4&amp;diff=29839"/>
		<updated>2025-11-03T11:52:27Z</updated>

		<summary type="html">&lt;p&gt;Kaholicl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{algorithm&lt;br /&gt;
| name              = Адаптивный крестовый метод&lt;br /&gt;
| serial_complexity = &amp;lt;math&amp;gt;O(k^2(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
| pf_height         = &amp;lt;math&amp;gt;O(k)&amp;lt;/math&amp;gt;&lt;br /&gt;
| pf_width          = &amp;lt;math&amp;gt;O(m+n)&amp;lt;/math&amp;gt;&lt;br /&gt;
| input_data        = &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
| output_data       = &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Основные авторы описания: [[Участник:Kaholicl|П.А.Панов]]&lt;br /&gt;
&lt;br /&gt;
== Свойства и структура алгоритма ==&lt;br /&gt;
&lt;br /&gt;
=== Общее описание алгоритма ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Адаптивный крестовый метод&#039;&#039;&#039; (Adaptive Cross Approximation, ACA) — это итерационный алгоритм для построения низкоранговой аппроксимации матриц, который не требует вычисления и хранения всех элементов исходной матрицы. Метод был разработан для эффективной работы с матрицами, возникающими при дискретизации интегральных уравнений и в других приложениях вычислительной математики&amp;lt;ref&amp;gt;Bebendorf M. Hierarchical Matrices: A Means to Efficiently Solve Elliptic Boundary Value Problems. — Springer, 2008.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Основная идея метода заключается в построении аппроксимации матрицы &amp;lt;math&amp;gt;A \in \mathbb{R}^{m \times n}&amp;lt;/math&amp;gt; в виде произведения двух матриц меньшей размерности: &amp;lt;math&amp;gt;A \approx U_k V_k^T&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;U_k \in \mathbb{R}^{m \times k}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;V_k \in \mathbb{R}^{n \times k}&amp;lt;/math&amp;gt;, и &amp;lt;math&amp;gt;k \ll \min(m,n)&amp;lt;/math&amp;gt;. При этом алгоритм вычисляет только &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt; элементов исходной матрицы вместо полных &amp;lt;math&amp;gt;O(mn)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Математическое описание алгоритма ===&lt;br /&gt;
&lt;br /&gt;
Исходные данные: матрица &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; (заданная неявно, через функцию вычисления элементов), допустимая погрешность &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt;, максимальный ранг &amp;lt;math&amp;gt;k_{max}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Вычисляемые данные: матрицы &amp;lt;math&amp;gt;U_k = [u_1, \ldots, u_k]&amp;lt;/math&amp;gt; и &amp;lt;math&amp;gt;V_k = [v_1, \ldots, v_k]&amp;lt;/math&amp;gt; такие, что &amp;lt;math&amp;gt;A \approx U_k V_k^T&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Формулы метода:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Инициализация:&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;j_1 = 1&amp;lt;/math&amp;gt; (начальный ведущий столбец)&lt;br /&gt;
* &amp;lt;math&amp;gt;k = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Основные итерационные формулы:&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
\tilde{u}_k = A_{:,j_k} - \sum_{p=1}^{k-1} u_p (v_p^T)_{j_k}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
i_k = \arg\max_{1 \leq i \leq m} |(\tilde{u}_k)_i|&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
u_k = \frac{\tilde{u}_k}{(\tilde{u}_k)_{i_k}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
\tilde{v}_k^T = A_{i_k,:} - \sum_{p=1}^{k-1} (u_p)_{i_k} v_p^T&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
v_k = \tilde{v}_k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;&lt;br /&gt;
j_{k+1} = \arg\max_{1 \leq j \leq n} |(\tilde{v}_k)_j|&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии остановки:&#039;&#039;&#039;&lt;br /&gt;
* Если &amp;lt;math&amp;gt;\|u_k v_k^T\|_F \leq \varepsilon \|A_k\|_F&amp;lt;/math&amp;gt;, где &amp;lt;math&amp;gt;A_k = \sum_{p=1}^k u_p v_p^T&amp;lt;/math&amp;gt;&lt;br /&gt;
* Или если &amp;lt;math&amp;gt;k = k_{max}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Иначе: &amp;lt;math&amp;gt;k = k + 1&amp;lt;/math&amp;gt;, перейти к следующей итерации&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вычислительные характеристики:&#039;&#039;&#039;&lt;br /&gt;
* Сложность одной итерации: &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
* Общая сложность: &amp;lt;math&amp;gt;O(k^2(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
* Объем памяти: &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt;&lt;br /&gt;
* Количество вычисляемых элементов матрицы: &amp;lt;math&amp;gt;O(k(m+n))&amp;lt;/math&amp;gt; вместо &amp;lt;math&amp;gt;O(mn)&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kaholicl</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kaholicl/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4&amp;diff=29834</id>
		<title>Участник:Kaholicl/Адаптивный крестовый метод</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Kaholicl/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4&amp;diff=29834"/>
		<updated>2025-11-03T10:07:46Z</updated>

		<summary type="html">&lt;p&gt;Kaholicl: Новая страница: «вправравраврп»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;вправравраврп&lt;/div&gt;</summary>
		<author><name>Kaholicl</name></author>
	</entry>
</feed>