Rate this Page

torch.linalg.cross#

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 batchesof vectors, for which it computes the product along the dimensiondim.It broadcasts over the batch dimensions.

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

  • other (Tensor) – the second input tensor.

  • dim (int,optional) – the dimension along which to take the cross-product. Default:-1.

Keyword Arguments

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

Example

>>>a=torch.randn(4,3)>>>atensor([[-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)>>>btensor([[-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>>>atensor([[-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]])