1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2008 - INRIA
5 * Copyright (C) 2012 - 2016 - Scilab Enterprises
6 * Copyright (C) 2014, 2019, 2020 - Samuel GOUGEON
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
18 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19 xmlns:scilab="http://www.scilab.org" xml:id="kron" xml:lang="ru">
21 <refname>kron .*.</refname>
22 <refpurpose>произведение Кронекера. Взвешенное повторение массива</refpurpose>
25 <title>Синтаксис</title>
32 <title>Arguments</title>
38 Массивы размером <literal>(a1, a2, ..)</literal> и <literal>(b1, b2, ..)</literal>
39 с любым числом размерности. Если <varname>A</varname> или <varname>B</varname>
40 являются разрежёнными, то другой массив не может быть гиперматрицей.
43 Поддерживаемые кодируемые целые и типы: boolean, integer, real, complex,
44 polynomial, rational, sparse boolean, sparse real, sparse complex.
52 Массив с типом данных <varname>A</varname> и <varname>B</varname>, и
53 размером <literal>(a1*b1, a2*b2, ..)</literal>. Если <varname>A</varname> или
54 <varname>B</varname> разрежённый массив, то <varname>P</varname> будет разрежённым.
61 <title>Описание</title>
63 <literal>kron(A,B)</literal> или <literal>A.*.B</literal> возвращает результат
64 Кронекеровского тензорного произведения двух матриц или гиперматриц <varname>A</varname> и
65 <varname>B</varname>. Матрица результата имеет следующую блочную форму:
66 <latex style="display" alt="
67 [ A(1,1).B .. A(1,n).B ] \n
68 A .✶. B = | ⋮ ⋮ ⋮ | \n
69 [ A(m,1).B .. A(m,n).B ]">
70 A \; .*.\; B = \begin{pmatrix}
71 A_{1,1}\cdot B & \cdots & A_{1,n}\cdot B \\
72 \vdots & & \vdots \\
73 A_{m,1}\cdot B & \cdots & A_{m,n}\cdot B
78 Если матрица <varname>A</varname> имеет размер <literal>m x n</literal>, а матрица
79 <varname>B</varname> имеет размер <literal>p x q x r</literal>, то результат
80 <literal>A .*. B</literal> является матрицей размером <literal>(m*p) x (n*q) x (1xr)</literal>.
84 <title>Примеры</title>
85 <programlisting role="example"><![CDATA[
104 1. 10. 100. 3. 30. 300.
105 2. 20. 200. 4. 40. 400.
109 1. 10. 100. 3. 30. 300.
110 2. 20. 200. 4. 40. 400.
114 1. 3. 10. 30. 100. 300.
115 2. 4. 20. 40. 200. 400.
117 <para>С разрежёнными матрицами:</para>
118 <programlisting role="example"><![CDATA[
119 P = [-1 0 1 10] .*. sparse([0 1 2])
123 --> P = [-1 0 1 10] .*. sparse([0 1 2])
125 ( 1, 12) sparse matrix
135 0. -1. -2. 0. 0. 0. 0. 1. 2. 0. 10. 20.
137 <para>С комплексными числами:</para>
138 <programlisting role="example"><![CDATA[
143 --> A = [-1 1 ; -%i %i]
158 <programlisting role="example"><![CDATA[
159 b = matrix(1:24, [4 3 2]);
161 // строка .*. гиперматрица
165 // гиперматрица .*. строка
169 // столбец .*. гиперматрица
173 // матрица .*. гиперматрица
177 // гиперматрица .*. гиперматрица
178 a = matrix([-1,-2, 1 2], [1 2 2]), b
182 <refsection role="see also">
183 <title>Смотрите также</title>
184 <simplelist type="inline">
186 <link linkend="krondivide">kron .\. ./.</link>
189 <link linkend="star">star</link>
192 <link linkend="prod">prod</link>
195 <link linkend="cumprod">cumprod</link>
198 <link linkend="repmat">repmat</link>
203 <title>История</title>
206 <revnumber>5.5.1</revnumber>
208 Расширение до гиперматриц.
212 <revnumber>6.1.1</revnumber>
214 Расширение до логических и разрежённых логических массивов.