Python PyTorch – función torch.linalg.solve()

En este artículo, discutiremos el método torch.linalg.solve() en PyTorch.

Ejemplo:

Let's consider the  linear equations :
6x + 3y = 1
3x - 4y = 2
Then M values can be - [[6,3],[3,-4]]
and t is [1,2]

Función torch.linalg.solve()

El método torch.linalg.solve() se usa para resolver un sistema cuadrado de ecuaciones lineales con una solución única. Tomará dos parámetros, en los que el primer parámetro es una array que es un tensor y el segundo parámetro también es un tensor con una dimensión.

Sintaxis : torch.linalg.solve(M, t)

Parámetros :

  • M es una array tensorial 
  • t es un vector tensorial.

Return : Devolverá un tensor.

Ejemplo 1:

En este ejemplo, resolveremos la ecuación lineal – 6x + 3y = 1, 3x – 4y = 2 y comprobaremos si la solución es verdadera o no. Aquí M es [[6,3],[3,-4]] y t [1,2] . Después de eso, aplicaremos el método torch.linalg.solve() para devolver una solución de tensor única. Finalmente, usaremos el método torch.allclose() para verificar si la ecuación es verdadera o no.

Python3

# import torch
import torch
  
'''
Let's consider the  linear equations :
6x + 3y = 1
3x - 4y = 2
Then M values can be - [[6,3],[3,-4]]
and t is [1,2]
'''
  
# consider M which is an 2 D tensor that
# has 2 elements each
M = torch.tensor([[6., 3.], [3., -4.]])
  
# consider t which is 1D that has two elements
t = torch.tensor([1., 2.])
  
# Solve  the equation using linalg.solve(M,t)
solved = torch.linalg.solve(M, t)
  
# display the solved solution
print(solved)
  
# check the solution is true or not using
# allclose() method
print(torch.allclose(M @ solved, t))

Producción:

tensor([ 0.3030, -0.2727])
True

Ejemplo 2:

En este ejemplo, resolveremos la ecuación lineal – 6x + 3y = 1,3x – 4y = 2 y comprobaremos si la solución es verdadera o no. Aquí los elementos de M son [[6,3],[3,-4]] y tis [0,2] . Después de eso, aplicaremos el método torch.linalg.solve() que devolverá una solución de tensor única. Finalmente, usaremos un método torch.allclose() para verificar si la ecuación es verdadera o no.

Python3

# import torch
import torch
  
'''
Let's consider the  linear equations :
5x - 3y = 0
3x - 4y = 2
Then M values can be - [[5,-3],[3,-4]]
and t is [0,2]
'''
  
# consider M which is an 2 D tensor that 
# has 2 elements each
M = torch.tensor([[5., -3.], [3., -4.]])
  
# consider t which is an 1 D tensor that
# has 2 elements
t = torch.tensor([0., 2.])
  
# Solve the equation using linalg.solve(M,t)
# method
solved = torch.linalg.solve(M, t)
  
# display the solved solution
print(solved)
  
# check the solution is true or not using
# allclose() method
print(torch.allclose(M @ solved, t))

Producción:

tensor([-0.5455, -0.9091])
True

Ejemplo 3:

En este ejemplo, resolveremos la ecuación lineal – 9x – y = 0, 3x – 4y = 0 y comprobaremos si la solución es verdadera o no. Aquí los elementos de M son [[9,-1],[3,-4]] y t [0,0] . Después de eso, aplicaremos el método torch.linalg.solve() que devolverá una solución de tensor única y, por último, usaremos un método torch.allclose() para verificar si la ecuación es verdadera o no.

Python3

# import torch
import torch
  
'''
Solve the linear equation - 9x - y = 0,
3x - 4y = 0 and check the solution is true or not
  
Here the elements of M is - [[9,-1],[3,-4]] and t - [0,0].
'''
  
# consider M which is an 2 D tensor that 
# has 2 elements each
M = torch.tensor([[9., -1.], [3., -4.]])
  
# consider t which is an 1 D tensor that 
# has 2 elements
t = torch.tensor([0., 0.])
  
# Solve t using linalg.solve(M,t) method
solved = torch.linalg.solve(M, t)
  
# display the solved solution
print(solved)
  
# check the solution is true or not using 
# allclose() method
print(torch.allclose(M @ solved, t))

Producción:

tensor([0., -0.])
True

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *