Bird
Raised Fist0
NumPydata~10 mins

np.dot() for dot product in NumPy - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the dot product of two 1D arrays using numpy.

NumPy
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.[1](arr1, arr2)
print(result)
Drag options to blanks, or click blank then click option'
Adot
Bcross
Cmultiply
Dsum
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.multiply which returns element-wise multiplication, not the dot product.
Using np.cross which computes the cross product, not dot product.
2fill in blank
medium

Complete the code to calculate the dot product of two 2D arrays using numpy.

NumPy
import numpy as np

mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[5, 6], [7, 8]])
result = np.[1](mat1, mat2)
print(result)
Drag options to blanks, or click blank then click option'
Amultiply
Bdot
Cadd
Dtranspose
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.multiply which multiplies element-wise, not matrix multiplication.
Using np.transpose which just flips the matrix, not multiply.
3fill in blank
hard

Fix the error in the code to correctly compute the dot product of two arrays.

NumPy
import numpy as np

vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
result = np.dot(vec1, [1])
print(result)
Drag options to blanks, or click blank then click option'
Anp.array
Bvec1
Cvec2
Dvec3
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the first vector twice instead of the second.
Passing a non-array object.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that stores the dot product of each vector with itself for vectors longer than 2 elements.

NumPy
import numpy as np

vectors = {'a': [1, 2, 3], 'b': [4, 5], 'c': [6, 7, 8, 9]}
dot_products = {key: np.[1](np.array(val), np.array(val)) for key, val in vectors.items() if len(val) [2] 2}
print(dot_products)
Drag options to blanks, or click blank then click option'
Adot
B>
C<=
Dsum
Attempts:
3 left
💡 Hint
Common Mistakes
Using sum instead of np.dot for dot product.
Using wrong comparison operator like <= instead of >.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that stores the dot product of vectors with length less than 4, using uppercase keys.

NumPy
import numpy as np

vectors = {'x': [1, 0, 0], 'y': [0, 1, 0, 1], 'z': [1, 1]}
dot_dict = {key.[1](): np.[2](np.array(val), np.array(val)) for key, val in vectors.items() if len(val) [3] 4}
print(dot_dict)
Drag options to blanks, or click blank then click option'
Alower
Bdot
C<
Dupper
Attempts:
3 left
💡 Hint
Common Mistakes
Using lower() instead of upper() for keys.
Using wrong comparison operator like > instead of <.

Practice

(1/5)
1. What does the np.dot() function do when applied to two 1D arrays (vectors)?
easy
A. Multiplies each element of the first array by the second array as a whole.
B. Adds the two arrays element-wise.
C. Returns the cross product of the two vectors.
D. Calculates the sum of products of corresponding elements (dot product).

Solution

  1. Step 1: Understand np.dot() with 1D arrays

    When given two 1D arrays, np.dot() multiplies each pair of elements and sums them up.
  2. Step 2: Compare with other operations

    Adding element-wise or cross product are different operations; np.dot() specifically does the sum of products.
  3. Final Answer:

    Calculates the sum of products of corresponding elements (dot product). -> Option D
  4. Quick Check:

    np.dot(vector1, vector2) = sum of element-wise products [OK]
Hint: Dot product sums element-wise multiplications [OK]
Common Mistakes:
  • Confusing dot product with element-wise addition
  • Thinking np.dot() returns cross product for 1D arrays
  • Assuming np.dot() multiplies arrays element-wise without summing
2. Which of the following is the correct syntax for the np.dot() function to compute the dot product of two numpy arrays a and b?
easy
A. np.dot(a, b)
B. a.dot(b)
C. np.dot(a + b)
D. np.dot(a * b)

Solution

  1. Step 1: Recall np.dot() syntax

    The function np.dot() takes two arguments: the first and second arrays to multiply.
  2. Step 2: Check each option

    np.dot(a, b) correctly calls np.dot(a, b). a.dot(b) is valid but uses method syntax, not the function. Options A and C misuse the function by passing one argument or element-wise multiplication.
  3. Final Answer:

    np.dot(a, b) -> Option A
  4. Quick Check:

    np.dot(array1, array2) is correct syntax [OK]
Hint: Use np.dot(a, b) with two arguments [OK]
Common Mistakes:
  • Passing only one argument to np.dot()
  • Using addition or multiplication inside np.dot() incorrectly
  • Confusing method call with function call
3. What is the output of the following code?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
result = np.dot(x, y)
print(result)
medium
A. [4 10 18]
B. 32
C. 15
D. Error

Solution

  1. Step 1: Calculate element-wise products

    Multiply corresponding elements: 1*4=4, 2*5=10, 3*6=18.
  2. Step 2: Sum the products

    Sum: 4 + 10 + 18 = 32.
  3. Final Answer:

    32 -> Option B
  4. Quick Check:

    Sum of products = 32 [OK]
Hint: Multiply and sum elements for dot product [OK]
Common Mistakes:
  • Printing element-wise multiplication instead of sum
  • Confusing dot product with addition
  • Expecting a vector output instead of a scalar
4. Identify the error in this code snippet:
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([5, 6, 7])
result = np.dot(A, B)
print(result)
medium
A. Syntax error in np.dot() call.
B. np.dot() requires three arguments.
C. Shape mismatch: cannot multiply 2x2 matrix with length 3 vector.
D. No error; output is [17 39].

Solution

  1. Step 1: Check shapes of arrays

    Matrix A is 2x2, vector B has length 3. For dot product, inner dimensions must match.
  2. Step 2: Identify mismatch

    2 (columns of A) does not equal 3 (length of B), so multiplication is invalid.
  3. Final Answer:

    Shape mismatch: cannot multiply 2x2 matrix with length 3 vector. -> Option C
  4. Quick Check:

    Matrix columns must match vector length [OK]
Hint: Check matrix columns match vector length [OK]
Common Mistakes:
  • Ignoring shape mismatch and expecting output
  • Thinking np.dot() can auto-adjust shapes
  • Confusing syntax error with shape error
5. Given two matrices:
A = np.array([[1, 0, 2], [3, 1, 0]])
B = np.array([[2, 1], [0, 3], [1, 4]])

What is the result of np.dot(A, B)?
hard
A. [[4 9] [6 6]]
B. [[2 1 8] [6 3 0]]
C. [[2 1] [0 3] [1 4]]
D. Error due to shape mismatch

Solution

  1. Step 1: Verify shapes for multiplication

    A is 2x3, B is 3x2, so multiplication is valid (3 matches 3).
  2. Step 2: Calculate dot product manually

    Row 1 of A and column 1 of B: 1*2 + 0*0 + 2*1 = 2 + 0 + 2 = 4
    Row 1 of A and column 2 of B: 1*1 + 0*3 + 2*4 = 1 + 0 + 8 = 9
    Row 2 of A and column 1 of B: 3*2 + 1*0 + 0*1 = 6 + 0 + 0 = 6
    Row 2 of A and column 2 of B: 3*1 + 1*3 + 0*4 = 3 + 3 + 0 = 6
  3. Final Answer:

    [[4 9] [6 6]] -> Option A
  4. Quick Check:

    Matrix multiplication sums products of rows and columns [OK]
Hint: Multiply rows of A by columns of B and sum [OK]
Common Mistakes:
  • Mixing up rows and columns during multiplication
  • Expecting element-wise multiplication output
  • Ignoring shape compatibility rules