kron
크로네커 텐서 곱(Kronecker Tensor Product)
설명
예제
블록 대각 행렬(Block Diagonal Matrix)
블록 대각 행렬을 만듭니다.
대각선을 따라 반복할 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 블록 대각 행렬이 됩니다.
행렬 요소 반복
행렬의 요소를 반복하여 행렬의 크기를 확장합니다.
1로 이루어진 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 블록 행렬이 됩니다.
희소 라플라시안 연산자 행렬
이 예제에서는 희소 라플라시안 연산자 행렬을 시각화합니다.
2차원의 n
×n
그리드에서 이산 라플라시안(Discrete Laplacian) 연산자의 행렬 표현은 n*n
×n*n
희소 행렬입니다. 각 행이나 열에는 0이 아닌 요소가 최대 5개 있습니다. 이 행렬을 1차원 차분 연산자의 크로네커 곱으로 생성할 수 있습니다. 이 예제에서는 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')
입력 인수
A,B
— 입력 행렬
스칼라 | 벡터 | 행렬
입력 행렬로, 스칼라, 벡터, 행렬 중 하나로 지정됩니다. A
와 B
중 하나가 희소 행렬인 경우 kron
은 0이 아닌 요소만 곱하므로 그 결과 역시 희소 행렬이 됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
복소수 지원 여부: 예
세부 정보
크로네커 텐서 곱(Kronecker Tensor Product)
A
가 m
×n
행렬이고 B
가 p
×q
행렬인 경우 A
와 B
의 크로네커 텐서 곱은 B
를 A
의 각 요소에 곱하여 만들어지는 큰 행렬이 됩니다.
예를 들어, 두 개의 간단한 2×2 행렬의 경우 다음과 같은 결과를 얻을 수 있습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
참고 항목
tensorprod
| hankel
| toeplitz
| dot
| cross
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 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)