jax.numpy.linalg.cross

内容

jax.numpy.linalg.cross#

jax.numpy.linalg.cross(x1, x2, /, *, axis=-1)[source]#

计算两个 3D 向量的叉积

JAX 实现 numpy.linalg.cross()

参数:
  • x1 (ArrayLike) – N 维数组,其中 x1.shape[axis] == 3

  • x2 (ArrayLike) – N 维数组,其中 x2.shape[axis] == 3,并且其他轴与 x1 广播兼容。

  • axis – 进行叉积的轴(默认值:-1)。

返回值:

包含叉积结果的数组

另请参阅

jax.numpy.cross():更灵活的叉积 API。

示例

展示 \(\hat{x} \times \hat{y} = \hat{z}\)

>>> x = jnp.array([1., 0., 0.])
>>> y = jnp.array([0., 1., 0.])
>>> jnp.linalg.cross(x, y)
Array([0., 0., 1.], dtype=float32)

通过广播计算 \(\hat{x}\) 与所有三个标准单位向量的叉积

>>> xyz = jnp.eye(3)
>>> jnp.linalg.cross(x, xyz, axis=-1)
Array([[ 0.,  0.,  0.],
       [ 0.,  0.,  1.],
       [ 0., -1.,  0.]], dtype=float32)