Библиотека алгоритмов: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 1: Строка 1:
 
=='''УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР'''==
 
=='''УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР'''==
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]
+
=====Ссылка на описание в энциклопедии AlgoWiki:=====
 +
[https://algowiki-project.org/ru/Умножение_плотной_неособенной_матрицы_на_вектор_(последовательный_вещественный_вариант) Умножение плотной неособенной матрицы на вектор]</br>
  
Описание алгоритма на Algolang:
+
[[Файл:Умножение_матрицы_на_вектор.jpg|мини|XY projection]]
<algo>
+
[[Файл:Умножение_матрицы_на_вектор.jpg|мини|YZ projection]]
<params>
+
[[Файл:Умножение_матрицы_на_вектор.jpg|мини|XZ projection]]
<param name="size" type="int" value="5"></param>
+
=====Реализация алгоритма на Си:=====
</params>
+
for(int i = 0; i < size; i++)
 
+
:  for(int j = 0; j < size ; j++)
<block dims="2">
+
::      vec_out[i] += matrix[i][j] * vec _in[j];
<arg name="i" val="0..size-1"></arg>
+
=====Описание алгоритма на Algolang:=====
<arg name="j" val="1..size"></arg>
+
<algo></br>
<vertex condition="" type="2">
+
:    <params></br>
<in  src="i,j-1"></in>
+
::      <param name="size" type="int" value="5"></param></br>
</vertex>
+
:    </params><br>
</block>
+
:    <block dims="2"></br>
</algo>
+
::      <arg name="i" val="0..size-1"></arg></br>
{{#widget:Algoviewer
+
::      <arg name="j" val="1..size"></arg></br>
|url=Variant_01/Variant_01.html
+
::      <vertex condition="" type="2"></br>
|width=1200
+
:::          <in src="i,j-1"></in></br>
|height=800
+
::      </vertex></br>
|border=1
+
:    </block></br>
}}
+
</algo></br>
<br>
 
<div class="collapser mw-collapsible mw-collapsed" style="width:1200px; overflow:auto;">
 
Новая разметка:
 
<div class="mw-collapsible-content">
 
<source lang = "xml">
 
<algo>
 
<params>
 
<param name="size" type="int" value="5"></param>
 
</params>
 
 
 
<block dims="2">
 
<arg name="i" val="0..size-1"></arg>
 
<arg name="j" val="1..size"></arg>
 
<vertex condition="" type="2">
 
<in src="i,j-1"></in>
 
</vertex>
 
</block>
 
</algo>
 
</source>
 
</div>
 
</div>
 
</br>
 
 
 
[[Файл:Умножение_матрицы_на_вектор.jpg|мини|реализация на си]]
 
  
 
=='''ПЕРЕМНОЖЕНИЕ МАТРИЦ'''==
 
=='''ПЕРЕМНОЖЕНИЕ МАТРИЦ'''==

Версия 18:34, 2 мая 2021

1 УМНОЖЕНИЕ МАТРИЦЫ НА ВЕКТОР

1.1 Ссылка на описание в энциклопедии AlgoWiki:

Умножение плотной неособенной матрицы на вектор

XY projection
YZ projection
XZ projection
1.2 Реализация алгоритма на Си:

for(int i = 0; i < size; i++)

for(int j = 0; j < size ; j++)
vec_out[i] += matrix[i][j] * vec _in[j];
1.3 Описание алгоритма на Algolang:

<algo>

<params>
<param name="size" type="int" value="5"></param>
</params>
<block dims="2">
<arg name="i" val="0..size-1"></arg>
<arg name="j" val="1..size"></arg>
<vertex condition="" type="2">
<in src="i,j-1"></in>
</vertex>
</block>

</algo>

2 ПЕРЕМНОЖЕНИЕ МАТРИЦ