kron

Продукт тензора Кронекера

Синтаксис

Описание

пример

K = kron(A,B) возвращает продукт тензора Кронекера матриц A и B. Если A m- n матрица и B p- q матрица, затем kron(A,B) m*p- n*q матрица, сформированная путем взятия всех возможных продуктов между элементами A и матричный B.

Примеры

свернуть все

Создайте матрицу диагонали блока.

Создайте единичную матрицу 4 на 4 и матрицу 2 на 2, что вы хотите быть повторенными по диагонали.

A = eye(4);
B = [1 -1;-1 1];

Используйте kron найти продукт тензора Кронекера.

K = kron(A,B)
K = 8×8

     1    -1     0     0     0     0     0     0
    -1     1     0     0     0     0     0     0
     0     0     1    -1     0     0     0     0
     0     0    -1     1     0     0     0     0
     0     0     0     0     1    -1     0     0
     0     0     0     0    -1     1     0     0
     0     0     0     0     0     0     1    -1
     0     0     0     0     0     0    -1     1

Результат 8 8 матрица диагонали блока.

Расширьте размер матрицы путем повторения элементов.

Создайте матрицу 2 на 2 из единиц и матрицы 2 на 3, элементы которой вы хотите повторить.

A = [1 2 3; 4 5 6];
B = ones(2);

Вычислите продукт тензора Кронекера с помощью kron.

K = kron(A,B)
K = 4×6

     1     1     2     2     3     3
     1     1     2     2     3     3
     4     4     5     5     6     6
     4     4     5     5     6     6

Результатом является 4 6 блочная матрица.

Этот пример визуализирует разреженную Лапласовую матрицу оператора.

Матричное представление дискретного Лапласового оператора на двумерном, n- n сеткой является n*n- n*n разреженная матрица. Существует самое большее пять ненулевых элементов в каждой строке или столбце. Можно сгенерировать матрицу как Кронекеров продукт одномерных операторов различия. В этом примере n = 5.

n = 5;
I = speye(n,n);
E = sparse(2:n,1:n-1,1,n,n);
D = E+E'-2*I;
A = kron(D,I)+kron(I,D);

Визуализируйте шаблон разреженности с spy.

spy(A,'k')

Figure contains an axes. The axes contains an object of type line.

Входные параметры

свернуть все

Введите матрицы в виде скаляров, векторов или матриц. Если любой A или B разреженно, затем kron умножает только ненулевые элементы, и результат также разрежен.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Больше о

свернуть все

Продукт тензора Кронекера

Если A m- n матрица и B p- q матрица, затем продукт тензора Кронекера A и B большая матрица, сформированная путем умножения B каждым элементом A

AB=[a11Ba12Ba1nBa21Ba22Ba2nBam1Bam2BamnB].

Например, две простых матрицы 2 на 2 производят

A=[1210],B=[4323]AB=[1·41·32·42·31·21·32·22·31·41·30·40·31·21·30·20·3]=[4386234643002300].

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | |

Представлено до R2006a