<?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=ValerySamarova</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=ValerySamarova"/>
	<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/ValerySamarova"/>
	<updated>2026-10-22T21:22:31Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28597</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28597"/>
		<updated>2021-05-17T18:37:51Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (Для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для матрицы с рангом n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для вектора с размерностью n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection7.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection7.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection7.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Метод_Гивенса_(вращений)_QR-разложения_квадратной_матрицы_(вещественный_точечный_вариант) Простой алгоритм Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&lt;br /&gt;
:	&amp;lt;params&amp;gt;&lt;br /&gt;
::		&amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
:	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:	&amp;lt;block dims=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i=k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i&amp;gt;k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
:	&amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для матрицы порядка n):=====&lt;br /&gt;
* Общее количество вершин: n&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**2n−3 макровершины вычисления параметров поворота&lt;br /&gt;
**n−1  макровершин поворотов&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён Граф алгоритма без отображения входных и выходных данных для n=5.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28596</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28596"/>
		<updated>2021-05-17T18:34:08Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (Для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для матрицы с рангом n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для вектора с размерностью n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection7.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection7.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection7.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Метод_Гивенса_(вращений)_QR-разложения_квадратной_матрицы_(вещественный_точечный_вариант) Простой алгоритм Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&lt;br /&gt;
:	&amp;lt;params&amp;gt;&lt;br /&gt;
::		&amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
:	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:	&amp;lt;block dims=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i=k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i&amp;gt;k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
:	&amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**2n−3 макровершины вычисления параметров поворота&lt;br /&gt;
**n−1  макровершин поворотов&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён Граф алгоритма без отображения входных и выходных данных для n=5.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28595</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28595"/>
		<updated>2021-05-17T18:32:54Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (Для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для матрицы с рангом n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection7.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection7.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection7.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Метод_Гивенса_(вращений)_QR-разложения_квадратной_матрицы_(вещественный_точечный_вариант) Простой алгоритм Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&lt;br /&gt;
:	&amp;lt;params&amp;gt;&lt;br /&gt;
::		&amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
:	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:	&amp;lt;block dims=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i=k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i&amp;gt;k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
:	&amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**2n−3 макровершины вычисления параметров поворота&lt;br /&gt;
**n−1  макровершин поворотов&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён Граф алгоритма без отображения входных и выходных данных для n=5.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28594</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28594"/>
		<updated>2021-05-17T18:31:16Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (Для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection7.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection7.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection7.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Метод_Гивенса_(вращений)_QR-разложения_квадратной_матрицы_(вещественный_точечный_вариант) Простой алгоритм Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&lt;br /&gt;
:	&amp;lt;params&amp;gt;&lt;br /&gt;
::		&amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
:	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:	&amp;lt;block dims=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i=k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i&amp;gt;k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
:	&amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**2n−3 макровершины вычисления параметров поворота&lt;br /&gt;
**n−1  макровершин поворотов&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён Граф алгоритма без отображения входных и выходных данных для n=5.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28593</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28593"/>
		<updated>2021-05-17T16:41:25Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Метод Гивенса (вращений) QR-разложения квадратной матрицы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection7.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection7.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection7.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Метод_Гивенса_(вращений)_QR-разложения_квадратной_матрицы_(вещественный_точечный_вариант) Простой алгоритм Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&lt;br /&gt;
:	&amp;lt;params&amp;gt;&lt;br /&gt;
::		&amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
:	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:	&amp;lt;block dims=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::		&amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i=k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора 1 яруса&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(i&amp;gt;k)and(k=1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i=k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		выполнение поворота 2-мерного вектора остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j&amp;gt;k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i,k&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k,i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::		операция вычисления параметров поворота остальных ярусов&lt;br /&gt;
::		&amp;lt;vertex condition=&amp;quot;(j=k)and(k&amp;gt;1)and(i&amp;gt;k)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
:::			&amp;lt;in src=&amp;quot;k-1,i,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::		&amp;lt;/vertex&amp;gt;&lt;br /&gt;
:	&amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён Граф алгоритма без отображения входных и выходных данных для n=5.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection7.jpg&amp;diff=28592</id>
		<title>Файл:YZprojection7.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection7.jpg&amp;diff=28592"/>
		<updated>2021-05-17T16:29:44Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection7.jpg&amp;diff=28591</id>
		<title>Файл:XZprojection7.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection7.jpg&amp;diff=28591"/>
		<updated>2021-05-17T16:29:07Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection7.jpg&amp;diff=28590</id>
		<title>Файл:XYprojection7.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection7.jpg&amp;diff=28590"/>
		<updated>2021-05-17T16:28:17Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28589</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28589"/>
		<updated>2021-05-17T16:23:41Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (Для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма для n=6.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28588</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28588"/>
		<updated>2021-05-17T16:22:22Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection6.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Простой_алгоритм_Кули-Тьюки_быстрого_преобразования_Фурье_для_степеней_двойки Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name = &amp;quot;N&amp;quot; type = &amp;quot;int&amp;quot; value = &amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;I&amp;quot; val = &amp;quot;1..N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name = &amp;quot;J&amp;quot; val = &amp;quot;1..2^N&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;lt; 2^(I - 1)&amp;quot; type = &amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J + 2^(I -1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       &amp;lt;vertex condition = &amp;quot;(J - 1) % (2^I) &amp;gt;= 2^(I - 1)&amp;quot; type = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src = &amp;quot;I - 1, J - 2^(I - 1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного сложения/вычитания&lt;br /&gt;
** log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n операций комплексного умножения&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма для n=8.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection6.jpg&amp;diff=28587</id>
		<title>Файл:XYprojection6.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection6.jpg&amp;diff=28587"/>
		<updated>2021-05-17T16:10:24Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28586</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28586"/>
		<updated>2021-05-17T16:06:37Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Компактная схема метода Гаусса для трёхдиагональной матрицы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Компактная_схема_метода_Гаусса_для_трёхдиагональной_матрицы,_последовательный_вариант Компактная схема метода Гаусса для трёхдиагональной матрицы]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       деление&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=j+1)and(j&amp;gt;1)&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       вычетание&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j=i)and(j&amp;gt;1)&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j,i-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       умножение&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j=i+1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;j-1,i+1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: 3n-3&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**n−1 ярусов делений&lt;br /&gt;
**n−1 ярусов умножений&lt;br /&gt;
**n−1 ярусов сложений (вычитаний)&lt;br /&gt;
* Каноническая ширина ЯПФ: 1&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection4.jpg&amp;diff=28585</id>
		<title>Файл:XYprojection4.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection4.jpg&amp;diff=28585"/>
		<updated>2021-05-17T15:53:08Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28584</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28584"/>
		<updated>2021-05-17T15:48:36Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;br /&gt;
==&#039;&#039;&#039;Компактная схема метода Гаусса для трёхдиагональной матрицы&#039;&#039;&#039;==&lt;br /&gt;
==&#039;&#039;&#039;Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки&#039;&#039;&#039;==&lt;br /&gt;
==&#039;&#039;&#039;Метод Гивенса (вращений) QR-разложения квадратной матрицы&#039;&#039;&#039;==&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28583</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28583"/>
		<updated>2021-05-05T15:56:33Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection5.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;25&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;p&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;0&amp;quot; dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       количество процессоров&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..p&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       на каждый процессор, кроме одного, распределяется одинаковое количество&lt;br /&gt;
::       элементов массива (n/p, округленное в бОльшую сторону)&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..ceil(n/p)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма элементов массива, равномерно распределенных по (p-1) процессорам&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i&amp;gt;1)and(j&amp;lt;ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       сумма оставшихся эелементов&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(j&amp;gt;1)and(i=1)and(j&amp;lt;=(n-p-(ceil(n/p)-1)*(p-1)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::       последовательное суммирование получившихся сумм на одном из процессоров&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in  src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i=2)and(j=ceil(n/p))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,n-p-(ceil(n/p)-1)*(p-1)&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: &lt;br /&gt;
**ceil(n/p)-1 - суммирования по частям массива (p ветвей)&lt;br /&gt;
**p-1 - одна последовательная ветвь&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма без входных и выходных данных для случая суммирования 25 элементов массива на 5 процессорах.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection5.jpg&amp;diff=28582</id>
		<title>Файл:XYprojection5.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection5.jpg&amp;diff=28582"/>
		<updated>2021-05-05T15:39:17Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: Последовательно-параллельный метод суммирования(XY-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Последовательно-параллельный метод суммирования(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28581</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28581"/>
		<updated>2021-05-05T10:59:09Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПОСЛЕДОВАТЕЛЬНО-ПАРАЛЛЕЛЬНЫЙ МЕТОД СУММИРОВАНИЯ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection4.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Последовательно-параллельный_метод_суммирования Последовательно-параллельный метод суммирования]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: ceil(n/p) - n/p, округленное в бóльшую сторону&lt;br /&gt;
* Каноническая ширина ЯПФ: p&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28580</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28580"/>
		<updated>2021-05-03T12:06:15Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n+m&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection1.jpg&amp;diff=28579</id>
		<title>Файл:XYprojection1.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection1.jpg&amp;diff=28579"/>
		<updated>2021-05-03T11:53:54Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;умножение матрицы 4*5 на вектор длинны 5(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection1.jpg&amp;diff=28578</id>
		<title>Файл:XYprojection1.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection1.jpg&amp;diff=28578"/>
		<updated>2021-05-03T11:52:35Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28577</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28577"/>
		<updated>2021-05-03T11:52:11Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection1.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;j&amp;gt;1&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на вектор порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 4*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28576</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28576"/>
		<updated>2021-05-03T11:12:47Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection_2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection_2.jpg&amp;diff=28575</id>
		<title>Файл:YZprojection 2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection_2.jpg&amp;diff=28575"/>
		<updated>2021-05-03T11:10:58Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: перемножение матриц(YZ-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_YZprojection.jpg&amp;diff=28574</id>
		<title>Файл:2 YZprojection.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_YZprojection.jpg&amp;diff=28574"/>
		<updated>2021-05-03T11:06:20Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:2 YZprojection.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28573</id>
		<title>Файл:YZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28573"/>
		<updated>2021-05-03T11:03:04Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova вернул Файл:YZprojection2.jpg к старой версии&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28572</id>
		<title>Файл:YZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28572"/>
		<updated>2021-05-03T11:02:38Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:YZprojection2.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28571</id>
		<title>Файл:YZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28571"/>
		<updated>2021-05-03T10:58:24Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:YZprojection2.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection2.jpg&amp;diff=28570</id>
		<title>Файл:XZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection2.jpg&amp;diff=28570"/>
		<updated>2021-05-03T10:57:12Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:XZprojection2.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection2.jpg&amp;diff=28569</id>
		<title>Файл:XYprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection2.jpg&amp;diff=28569"/>
		<updated>2021-05-03T10:56:10Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:XYprojection2.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28568</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28568"/>
		<updated>2021-05-03T10:55:21Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина ЯПФ: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28567</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28567"/>
		<updated>2021-05-03T10:54:48Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n+1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (Для умножения матрицы размером m строк на n столбцов на матрицу размером n строк на l столбцов):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: n&lt;br /&gt;
* Каноническая ширина ЯПФ: m*l&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 и 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина LPF: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28566</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28566"/>
		<updated>2021-05-03T10:43:52Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: m*n*l&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина LPF: n&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина LPF: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28565</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28565"/>
		<updated>2021-05-03T10:39:30Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Характеристики алгоритма (для суммирования массива порядка n): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;n]&lt;br /&gt;
* Каноническая ширина LPF: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28564</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28564"/>
		<updated>2021-05-03T10:38:07Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
=====Характеристики алгоритма (для суммирования массива порядка n):=====&lt;br /&gt;
* Общее количество вершин: n-1&lt;br /&gt;
* Длина критического пути: [Log&amp;lt;small&amp;gt;2&amp;lt;/small&amp;gt;n]&lt;br /&gt;
* Каноническая ширина LPF: n&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28563</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28563"/>
		<updated>2021-05-03T10:26:40Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection3.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection3.jpg&amp;diff=28562</id>
		<title>Файл:XYprojection3.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection3.jpg&amp;diff=28562"/>
		<updated>2021-05-03T10:25:48Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: Нахождение суммы элементов массива сдваиванием(XY-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Нахождение суммы элементов массива сдваиванием(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28561</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28561"/>
		<updated>2021-05-03T10:24:14Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:3_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..((2)log(n)+1)&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;gt;1)and(j&amp;lt;=(n/(2^(i-1))))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28560</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28560"/>
		<updated>2021-05-03T10:22:33Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:3_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;h&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..h&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;lt;&amp;gt;0)and(j&amp;lt;=(n/(2^i)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28559</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28559"/>
		<updated>2021-05-03T09:54:58Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection2.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection2.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection2.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма выходных данных для случая перемножения двух квадратных матриц порядка 4*5 b 5*6&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:3_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;h&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..h&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;lt;&amp;gt;0)and(j&amp;lt;=(n/(2^i)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection2.jpg&amp;diff=28558</id>
		<title>Файл:XYprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection2.jpg&amp;diff=28558"/>
		<updated>2021-05-03T09:53:08Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: перемножение матриц(XY-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28557</id>
		<title>Файл:YZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:YZprojection2.jpg&amp;diff=28557"/>
		<updated>2021-05-03T09:52:15Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: перемножение матриц(YZ-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(YZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection2.jpg&amp;diff=28556</id>
		<title>Файл:XZprojection2.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XZprojection2.jpg&amp;diff=28556"/>
		<updated>2021-05-03T09:49:34Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: перемножение матриц(XZ-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_XZprojection.jpg&amp;diff=28555</id>
		<title>Файл:2 XZprojection.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_XZprojection.jpg&amp;diff=28555"/>
		<updated>2021-05-03T09:42:44Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:2 XZprojection.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XZ-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_XYprojection.jpg&amp;diff=28554</id>
		<title>Файл:2 XYprojection.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:2_XYprojection.jpg&amp;diff=28554"/>
		<updated>2021-05-03T09:36:50Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:2 XYprojection.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
перемножение матриц(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28553</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28553"/>
		<updated>2021-05-03T09:25:45Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:3_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;h&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..h&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;lt;&amp;gt;0)and(j&amp;lt;=(n/(2^i)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection.jpg&amp;diff=28552</id>
		<title>Файл:XYprojection.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:XYprojection.jpg&amp;diff=28552"/>
		<updated>2021-05-03T09:22:22Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: ValerySamarova загрузил новую версию Файл:XYprojection.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
умножение матрицы на вектор (XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:3_XYprojection.jpg&amp;diff=28551</id>
		<title>Файл:3 XYprojection.jpg</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:3_XYprojection.jpg&amp;diff=28551"/>
		<updated>2021-05-02T22:30:33Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: Нахождение суммы элементов массива сдваиванием(XY-проекция)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Нахождение суммы элементов массива сдваиванием(XY-проекция)&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28550</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28550"/>
		<updated>2021-05-02T22:29:43Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* Нахождение суммы элементов массива сдваиванием */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..size-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;НАХОЖДЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВА СДВАИВАНИЕМ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:3_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Нахождение_суммы_элементов_массива_сдваиванием Нахождение суммы элементов массива сдваиванием]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i=1;i&amp;lt;=h;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j=0;j&amp;lt;arr_size;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      if(j&amp;lt;(arr_size/(pow(2,i))))&amp;lt;/br&amp;gt;&lt;br /&gt;
:::         arr[j]=arr[j*2]+arr[2*j+1]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;h&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..h&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;(i&amp;lt;&amp;gt;0)and(j&amp;lt;=(n/(2^i)))&amp;quot; type=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i-1,j*2&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунке изображён граф алгоритма. В данном случае выполнено суммирование 8 элементов массива. Вершины, соответствующие входным данным, обозначены октаэдром.&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28549</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28549"/>
		<updated>2021-05-02T22:14:26Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..size-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Нахождение суммы элементов массива сдваиванием&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
	<entry>
		<id>https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28548</id>
		<title>Библиотека алгоритмов</title>
		<link rel="alternate" type="text/html" href="https://xn--80aecvaldz.xn--80ahdrnmvk.xn--p1ai/w/ru/index.php?title=%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2&amp;diff=28548"/>
		<updated>2021-05-02T22:13:12Z</updated>

		<summary type="html">&lt;p&gt;ValerySamarova: /* ПЕРЕМНОЖЕНИЕ МАТРИЦ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for(int i = 0; i &amp;lt; size; i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for(int j = 0; j &amp;lt; size ; j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
::      vec_out[i] += matrix[i][j] * vec _in[j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;size&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;block dims=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;0..size-1&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..size&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;&amp;quot; type=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлен  результат для матрицы размером 5*5 и вектора длины 5&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;ПЕРЕМНОЖЕНИЕ МАТРИЦ&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:2_XYprojection.jpg|мини|XY projection]]&lt;br /&gt;
[[Файл:2_YZprojection.jpg|мини|YZ projection]]&lt;br /&gt;
[[Файл:2_XZprojection.jpg|мини|XZ projection]]&lt;br /&gt;
=====Ссылка на описание в энциклопедии AlgoWiki:=====&lt;br /&gt;
[https://algowiki-project.org/ru/Перемножение_плотных_неособенных_матриц_(последовательный_вещественный_вариант) Перемножение плотных неособенных матриц]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Реализация алгоритма на Си:=====&lt;br /&gt;
for ( int i=0; i&amp;lt;size_1_str;i++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   for (int j=0; j&amp;lt;size_2_col;j++)&amp;lt;/br&amp;gt;&lt;br /&gt;
:   {&amp;lt;/br&amp;gt;&lt;br /&gt;
::      matrix_out[i][j]=0; &amp;lt;/br&amp;gt;&lt;br /&gt;
::      for(int k=0; k&amp;lt;size_common;k++) &amp;lt;/br&amp;gt;&lt;br /&gt;
:::         matrix_out[i][j]+=matrix_1[i][k]*matrix_2[k][j]; &amp;lt;/br&amp;gt;&lt;br /&gt;
:   }&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Описание алгоритма на Algolang:=====&lt;br /&gt;
&amp;lt;algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;params&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;m&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;n&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;param name=&amp;quot;l&amp;quot; type=&amp;quot;int&amp;quot; value=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/params&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:    &amp;lt;block id=&amp;quot;1&amp;quot; dims=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;i&amp;quot; val=&amp;quot;1..m&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;j&amp;quot; val=&amp;quot;1..l&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;arg name=&amp;quot;k&amp;quot; val=&amp;quot;1..n&amp;quot;&amp;gt;&amp;lt;/arg&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;vertex condition=&amp;quot;k&amp;lt;&amp;gt;1&amp;quot; type=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:::          &amp;lt;in src=&amp;quot;i,j,k-1&amp;quot;&amp;gt;&amp;lt;/in&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
::       &amp;lt;/vertex&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
:    &amp;lt;/block&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/algo&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
На рисунках представлено изображение графа алгоритма без входных и выходных данных для случая перемножения двух квадратных матриц порядка 3&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>ValerySamarova</name></author>
	</entry>
</feed>