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

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

Returns the cross product of vectors in dimension dim of inputand other.

Supports input of float, double, cfloat and cdouble dtypes. Also supports batches of vectors, for which it computes the product along the dimension dim. In this case, the output has the same batch dimensions as the inputs.

Warning

If dim is not given, it defaults to the first dimension found with the size 3. Note that this might be unexpected.

This behavior is deprecated and will be changed to match that of torch.linalg.cross()in a future release.

Parameters

Keyword Arguments

out (Tensor, optional) – the output tensor.

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.cross(a, b, dim=1) 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]]) torch.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]])