kron
Producto tensorial de Kronecker
Sintaxis
Descripción
K = kron(
devuelve el producto tensorial de Kronecker de las matrices A,B
)A
y B
. Si A
es una matriz de m
por n
y B
es una matriz de p
por q
, entonces kron(A,B)
es una matriz de m*p
por n*q
formada tomando todos los productos posibles entre los elementos de A
y la matriz B
.
Ejemplos
Matriz diagonal por bloques
Cree una matriz diagonal por bloques.
Cree una matriz identidad de 4 por 4 y una matriz de 2 por 2 que desee que se repita a lo largo de la diagonal.
A = eye(4); B = [1 -1;-1 1];
Utilice kron
para encontrar el producto tensorial de Kronecker.
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
El resultado es una matriz diagonal por bloques de 8 por 8.
Repetir elementos de una matriz
Expanda el tamaño de una matriz repitiendo elementos.
Cree una matriz de 2 por 2 de unos y una matriz de 2 por 3 cuyos elementos desee repetir.
A = [1 2 3; 4 5 6]; B = ones(2);
Calcule el producto tensorial de Kronecker utilizando 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
El resultado es una matriz por bloques de 4 por 6.
Matriz laplaciana dispersa
Este ejemplo mestra una matriz laplaciana dispersa.
La representación de matriz del operador laplaciano discreto en una cuadrícula bidimensional n
por n
es una matriz dispersa n*n
por n*n
. Hay un máximo de cinco elementos distintos de cero en cada fila o columna. Puede generar la matriz como un producto de Kronecker de operadores de diferencia unidimensional. En este ejemplo 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);
Visualice el patrón de dispersión con spy
.
spy(A,'k')
Argumentos de entrada
A,B
— Matrices de entrada
escalares | vectores | matrices
Matrices de entrada, especificadas como escalares, vectores o matrices. Si A
o B
es dispersa, entonces kron
multiplica solo elementos distintos de cero y el resultado también es disperso.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Soporte de números complejos: Sí
Más acerca de
Producto tensorial de Kronecker
Si A
es una matriz m
por n
y B
es una matriz p
por q
, entonces el producto tensorial de Kronecker de A
y B
es una gran matriz que se forma multiplicando B
por cada elemento de A
.
Por ejemplo, dos matrices de 2 por 2 producen
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
La generación de código no es compatible con entradas de matrices dispersas en esta función.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006a
Consulte también
tensorprod
| hankel
| toeplitz
| dot
| cross
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)