Spec-Zone.ru › PyTorch 1

torch.linalg.matrix_exp

torch.linalg.matrix_exp(A) → Tensor

Вычисляет матричную экспоненту квадратной матрицы.

Пусть K\mathbb{K} будет R\mathbb{R} или C\mathbb{C}, эта функция вычисляет матричную экспоненту A∈Kn×nA \in \mathbb{K}^{n \times n}, которая определяется как

matrixexp(A)=∑k=0∞1k!Ak∈Kn×n.\mathrm{matrix_exp}(A) = \sum_{k=0}^\infty \frac{1}{k!}A^k \in \mathbb{K}^{n \times n}.

Если у матрицы AA есть собственные значения λi∈C\lambda_i \in \mathbb{C}, у матрицы matrixexp(A)\mathrm{matrix_exp}(A) есть собственные значения eλi∈Ce^{\lambda_i} \in \mathbb{C}.

Поддерживает входные данные типов bfloat16, float, double, cfloat и cdouble. Также поддерживает пакеты матриц, и если A это пакет матриц, то выходные данные имеют те же размерности пакета.

Parameters:

A (Tensor) – тензор формы (*, n, n) где * это ноль или более размерностей пакета.

Пример:

>>> A = torch.empty(2, 2, 2)
>>> A[0, :, :] = torch.eye(2, 2)
>>> A[1, :, :] = 2 * torch.eye(2, 2)
>>> A
tensor([[[1., 0.],
         [0., 1.]],

        [[2., 0.],
         [0., 2.]]])
>>> torch.linalg.matrix_exp(A)
tensor([[[2.7183, 0.0000],
         [0.0000, 2.7183]],

         [[7.3891, 0.0000],
          [0.0000, 7.3891]]])

>>> import math
>>> A = torch.tensor([[0, math.pi/3], [-math.pi/3, 0]]) # A is skew-symmetric
>>> torch.linalg.matrix_exp(A) # matrix_exp(A) = [[cos(pi/3), sin(pi/3)], [-sin(pi/3), cos(pi/3)]]
tensor([[ 0.5000,  0.8660],
        [-0.8660,  0.5000]])

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

Spec-Zone.ru

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