torch.linalg.cross — PyTorch 2.7 documentation (original) (raw)

torch.linalg.cross(input, other, *, dim=-1, out=None) → Tensor

Computes the cross product of two 3-dimensional vectors.

Supports input of float, double, cfloat and cdouble dtypes. Also supports batches of vectors, for which it computes the product along the dimension dim. It broadcasts over the batch dimensions.

Parameters

Keyword Arguments

out (Tensor, optional) – the output tensor. Ignored if None. Default: None.

Example

a = torch.randn(4, 3) a tensor([[-0.3956, 1.1455, 1.6895], [-0.5849, 1.3672, 0.3599], [-1.1626, 0.7180, -0.0521], [-0.1339, 0.9902, -2.0225]]) b = torch.randn(4, 3) b tensor([[-0.0257, -1.4725, -1.2251], [-1.1479, -0.7005, -1.9757], [-1.3904, 0.3726, -1.1836], [-0.9688, -0.7153, 0.2159]]) torch.linalg.cross(a, b) tensor([[ 1.0844, -0.5281, 0.6120], [-2.4490, -1.5687, 1.9792], [-0.8304, -1.3037, 0.5650], [-1.2329, 1.9883, 1.0551]]) a = torch.randn(1, 3) # a is broadcast to match shape of b a tensor([[-0.9941, -0.5132, 0.5681]]) torch.linalg.cross(a, b) tensor([[ 1.4653, -1.2325, 1.4507], [ 1.4119, -2.6163, 0.1073], [ 0.3957, -1.9666, -1.0840], [ 0.2956, -0.3357, 0.2139]])