В этой статье мы собираемся обсудить, как вычислить псевдоинверсию матрицы в Python с помощью PyTorch.
Метод torch.linalg.pinv()
Метод torch.linalg.pinv() принимает на вход матрицу и пакет матриц и возвращает новый тензор с псевдообратной исходной матрицей. если вход представляет собой набор матриц, то выходной тензор также имеет те же размерности пакета. Этот метод также поддерживает ввод типов float, double, cfloat и cdouble. Приведенный ниже синтаксис используется для вычисления псевдообратной матрицы.
Syntax: torch.linalg.pinv(inp)
Параметры:
inp: где inp — это матрица порядка M x N или набор матриц.
Returns: он вернет новый тензор с псевдоинверсией входной матрицы.
Пример 1
В этом примере мы поймем, как вычислить псевдоинверсию матрицы в PyTorch.
Python3
# import torch libraries
import
torch
# creating a matrix or 4x3
inp
=
torch.tensor([[
0.1150
,
-
1.1121
,
0.2334
,
-
0.2321
],
[
1.2753
,
1.0699
,
0.2335
,
1.0177
],
[
0.3942
,
-
1.0498
,
-
0.0486
,
0.3240
]])
# Display matrix
(
"\n Input matrix: \n"
, inp)
# compute pseudoinverse of above defined matrix
output
=
torch.linalg.pinv(inp)
# Display result
(
"\n After Compute pseudoinverse of matrix: \n"
,
output)
Выход:
Пример 2
В этом примере мы вычислим псевдоинверсию пакета матриц в PyTorch.
Python3
# import torch libraries
import
torch
# creating a batch matrix
inp
=
torch.tensor([[[
1.1232
,
0.2341
,
0.1323
],
[
-
1.0562
,
0.1897
,
0.1276
]],
[[
-
1.0200
,
-
1.1121
,
1.0321
],
[
1.0887
,
-
1.0564
,
0.1798
]]])
# Display batch of matrix
(
"\n Batch of matrix: \n"
, inp)
# compute pseudoinverse of above defined matrix
output
=
torch.linalg.pinv(inp)
# Display result
(
"\n After Compute pseudoinverse: \n"
,
output)
Выход: