Spec-Zone.ru › PyTorch 1

torch.kron

torch.kron(input, other, *, out=None) → Tensor

Вычисляет тензорное произведение Кронекера, обозначаемое как ⊗\otimes, для input и other.

Если input является тензором размера (a0×a1×⋯×an)(a_0 \times a_1 \times \dots \times a_n) и other — тензором размера (b0×b1×⋯×bn)(b_0 \times b_1 \times \dots \times b_n), результат будет тензором размера (a0∗b0×a1∗b1×⋯×an∗bn)(a_0*b_0 \times a_1*b_1 \times \dots \times a_n*b_n) со следующими элементами:

(input⊗other)k0,k1,…,kn=inputi0,i1,…,in∗otherj0,j1,…,jn,(\text{input} \otimes \text{other})_{k_0, k_1, \dots, k_n} = \text{input}_{i_0, i_1, \dots, i_n} * \text{other}_{j_0, j_1, \dots, j_n},

где kt=it∗bt+jtk_t = i_t * b_t + j_t для 0≤t≤n0 \leq t \leq n. Если один из тензоров имеет меньшее количество измерений, чем другой, он дополняется до тех пор, пока количество измерений не станет одинаковым.

Поддерживает вещественные и комплексные входные данные.

Примечание

Эта функция обобщает обычное определение тензорного произведения Кронекера для двух матриц на два тензора, как описано выше. Когда input является матрицей размера (m×n)(m \times n), а other — матрицей размера (p×q)(p \times q), результат будет блочной матрицей размера (p∗m×q∗n)(p*m \times q*n):

A⊗B=[a11B⋯a1nB⋮⋱⋮am1B⋯amnB]\mathbf{A} \otimes \mathbf{B}=\begin{bmatrix} a_{11} \mathbf{B} & \cdots & a_{1 n} \mathbf{B} \\ \vdots & \ddots & \vdots \\ a_{m 1} \mathbf{B} & \cdots & a_{m n} \mathbf{B} \end{bmatrix}

где input — это A\mathbf{A}, а other — это B\mathbf{B}.

Parameters:
  • input (Tensor) –
  • other (Tensor) –
Keyword Arguments:

out (Tensor, optional) – Результирующий тензор. Игнорируется, если None. По умолчанию: None

Примеры:

>>> mat1 = torch.eye(2)
>>> mat2 = torch.ones(2, 2)
>>> torch.kron(mat1, mat2)
tensor([[1., 1., 0., 0.],
        [1., 1., 0., 0.],
        [0., 0., 1., 1.],
        [0., 0., 1., 1.]])

>>> mat1 = torch.eye(2)
>>> mat2 = torch.arange(1, 5).reshape(2, 2)
>>> torch.kron(mat1, mat2)
tensor([[1., 2., 0., 0.],
        [3., 4., 0., 0.],
        [0., 0., 1., 2.],
        [0., 0., 3., 4.]])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.kron.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API