oneflow.linalg.cross

oneflow.linalg.cross(input, other, dim=- 1)Tensor

Computes the cross product of two 3-dimensional vectors.

Supports input of float and double 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 broadcast to a common shape.

The documentation is referenced from: https://pytorch.org/docs/1.11/generated/torch.linalg.cross.html

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

Raises

RuntimeError – If after broadcasting input.size(dim) != 3 or other.size(dim) != 3.

Examples:

>>> import oneflow as flow
>>> a = flow.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 = flow.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]])
>>> flow.linalg.cross(a, b)
tensor([[ 1.0844, -0.5281,  0.6120],
        [-2.4491, -1.5687,  1.9791],
        [-0.8304, -1.3036,  0.5651],
        [-1.2329,  1.9883,  1.0551]], dtype=oneflow.float32)