Shortcuts

torch.cross

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

Returns the cross product of vectors in dimension dim of input and 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.

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

See also

torch.linalg.cross() which requires specifying dim (defaulting to -1).

Warning

This function may change in a future PyTorch release to match the default behaviour in torch.linalg.cross(). We recommend using torch.linalg.cross().

Parameters:
  • input (Tensor) – the input tensor.

  • other (Tensor) – the second input tensor

  • dim (int, optional) – the dimension to take the cross-product in.

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]])

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources