cupynumeric.cross#

cupynumeric.cross(
a: ndarray,
b: ndarray,
axisa: int = -1,
axisb: int = -1,
axisc: int = -1,
axis: int | None = None,
) ndarray#

Return the cross product of two (arrays of) vectors.

The cross product of a and b in R^3 is a vector perpendicular to both a and b. If a and b are arrays of vectors, the vectors are defined by the last axis of a and b by default, and these axes can have dimensions 2 or 3. Where the dimension of either a or b is 2, the third component of the input vector is assumed to be zero and the cross product calculated accordingly. In cases where both input vectors have dimension 2, the z-component of the cross product is returned.

Parameters:
  • a (array_like) – Components of the first vector(s).

  • b (array_like) – Components of the second vector(s).

  • axisa (int, optional) – Axis of a that defines the vector(s). By default, the last axis.

  • axisb (int, optional) – Axis of b that defines the vector(s). By default, the last axis.

  • axisc (int, optional) – Axis of c containing the cross product vector(s). Ignored if both input vectors have dimension 2, as the return is scalar. By default, the last axis.

  • axis (int, optional) – If defined, the axis of a, b and c that defines the vector(s) and cross product(s). Overrides axisa, axisb and axisc.

Returns:

c – Vector cross product(s).

Return type:

ndarray

Raises:

ValueError – When the dimension of the vector(s) in a and/or b does not equal 2 or 3.

See also

numpy.cross

Availability:

Multiple GPUs, Multiple CPUs