Función torch.cross de PyTorch
Manual de referencia de Pytorch torch
torch.crossEs una función de PyTorch que se utiliza para calcular el producto vectorial (producto cruz) de dos vectores tridimensionales (o un lote de vectores tridimensionales). El producto vectorial produce un nuevo vector perpendicular a los dos vectores de entrada.
Definición de la función
torch.cross(input, other, dim=-1)
Ejemplo de uso
Ejemplo
import torch
# Producto vectorial de dos vectores tridimensionales
a = torch.tensor([1, 0, 0])
b = torch.tensor([0, 1, 0])
c = torch.cross(a, b)
print("a:", a)
print("b:", b)
print("a x b:", c)
# Salida: tensor([0, 0, 1])
# Cálculo por lotes del producto vectorial
a = torch.tensor([[1, 0, 0], [0, 1, 0]])
b = torch.tensor([[0, 1, 0], [1, 0, 0]])
result = torch.cross(a, b)
print("Producto vectorial por lotes:")
print(result)
# tensor([[0, 0, 1],
# [0, 0, -1]])
# Especificar dimensión
a = torch.randn(3, 4, 3)
b = torch.randn(3, 4, 3)
result = torch.cross(a, b, dim=2)
print("Forma del producto vectorial con la dimensión especificada:", result.shape)
# Producto vectorial de dos vectores tridimensionales
a = torch.tensor([1, 0, 0])
b = torch.tensor([0, 1, 0])
c = torch.cross(a, b)
print("a:", a)
print("b:", b)
print("a x b:", c)
# Salida: tensor([0, 0, 1])
# Cálculo por lotes del producto vectorial
a = torch.tensor([[1, 0, 0], [0, 1, 0]])
b = torch.tensor([[0, 1, 0], [1, 0, 0]])
result = torch.cross(a, b)
print("Producto vectorial por lotes:")
print(result)
# tensor([[0, 0, 1],
# [0, 0, -1]])
# Especificar dimensión
a = torch.randn(3, 4, 3)
b = torch.randn(3, 4, 3)
result = torch.cross(a, b, dim=2)
print("Forma del producto vectorial con la dimensión especificada:", result.shape)
Otras extensiones