NumPy cross()

The numpy.cross() method computes the cross product of two vectors.

Example

 import numpy as np # create two input arrays array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) 
# compute the cross product of array1 and array2 result = np.cross(array1, array2)
print(result) # Output:[-3 6 -3]

cross() Syntax

The syntax of the numpy.cross() method is:

 numpy.cross(a, b, axisa = -1, axisb = -1, axisc = -1, axis = None)

cross() Arguments

The numpy.cross() method takes following arguments:

  • a - the first input array
  • b - the second input array
  • axisa (optional) - the axis along which to take the cross product for a
  • axisb (optional) - the axis along which to take the cross product for b
  • axisc (optional) -the axis along which to take the cross product for c
  • axis (optional) - if specified, it overrides axisa, axisb, and axisc

Note: All the optionals arguments here take integer values.


cross() Return Value

The numpy.cross() method returns an array containing the cross product of a and b.


Example 1: Find the Cross Product of Two Arrays

 import numpy as np # create two input arrays array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) 
# compute the cross product of array1 and array2 result = np.cross(array1, array2)
print(result)

Output

 [-3 6 -3]

Here, we have two input arrays:

 array1 = [1, 2, 3] array2 = [4, 5, 6]

Now to compute the cross product, we apply the following formula:

 cross product = (array1[1] * array2[2] - array1[2] * array2[1], array1[2] * array2[0] - array1[0] * array2[2], array1[0] * array2[1] - array1[1] * array2[0])

Then, substituting the values from the input arrays:

 cross product = (2 * 6 - 3 * 5, 3 * 4 - 1 * 6, 1 * 5 - 2 * 4)

Finally, after evaluating the expressions:

 cross product = (-3, 6, -3)

Therefore, the output array of np.cross(array1, array2) is [ -3, 6, -3].


Example 2: Use of axisa, axisb, axisc Arguments in cross()

 import numpy as np # create two input arrays array1 = np.array([[1, 2, 3], [4, 5, 6]]) array2 = np.array([[7, 8, 9], [10, 11, 12]]) 
# compute the cross product # along the first axis of each array resultAxis = np.cross(array1, array2, axisa = 1, axisb = 1, axisc = 1)
print("Result with axisa = 1, axisb = 1, axisc = 1:") print(resultAxis)

Output

 Result with axisa = 1, axisb = 1, axisc = 1: [[-6 12 -6] [-6 12 -6]]

Here, to compute the cross product along axis 1, we consider the vectors along axis 1 of both array1 and array2:

 array1 = ([[1, 2, 3], [4, 5, 6]]) array2 = ([[7, 8, 9], [10, 11, 12]])

For the first row of array1 and array2, the cross product is calculated as:

 [1, 2, 3] × [7, 8, 9] = [-6, 12, -6]

Similarly, for the second row of array1 and array2, the cross product is calculated as:

 [4, 5, 6] × [10, 11, 12] = [-6, 12, -6]

Example 3: Use of axis Argument in cross()

 import numpy as np # create two input arrays array1 = np.array([[1, 2, 3], [4, 5, 6]]) array2 = np.array([[7, 8, 9], [10, 11, 12]]) 
# compute the cross product along axis 0 axis0 = np.cross(array1, array2, axis = 0)
print("Result with axis = 0:") print(axis0)
# compute the cross product along axis 1 axis1 = np.cross(array1, array2, axis = 1)
print("\nResult with axis = 1:") print(axis1)

Output

 Result with axis=0: [-18 -18 -18] Result with axis=1: [[-6 12 -6] [-6 12 -6]]

Here,

  • axis = 0 - output [-18, -18, -18] represents the cross product along the column vectors of array1 and array2.
  • axis = 1 - output [[ -6, 12, -6], [ -6, 12, -6]] represents the cross product along the row vectors of array1 and array2.

Our premium learning platform, created with over a decade of experience and thousands of feedbacks.

Learn and improve your coding skills like never before.

Try Programiz PRO
  • Interactive Courses
  • Certificates
  • AI Help
  • 2000+ Challenges