Bird
Raised Fist0
NumPydata~10 mins

np.eye() for identity matrices in NumPy - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a 3x3 identity matrix using numpy.

NumPy
import numpy as np
matrix = np.[1](3)
print(matrix)
Drag options to blanks, or click blank then click option'
Aones
Beye
Czeros
Darray
Attempts:
3 left
💡 Hint
Common Mistakes
Using np.ones() or np.zeros() instead of np.eye()
Forgetting to import numpy as np
2fill in blank
medium

Complete the code to create a 4x4 identity matrix with float type values.

NumPy
import numpy as np
matrix = np.eye(4, dtype=[1])
print(matrix)
Drag options to blanks, or click blank then click option'
Afloat
Bint
Cstr
Dbool
Attempts:
3 left
💡 Hint
Common Mistakes
Using integer type which will show 1 and 0 without decimals
Using string or boolean types which are not suitable here
3fill in blank
hard

Fix the error in the code to create a 5x5 identity matrix with numpy.

NumPy
import numpy as np
matrix = np.eye([1])
print(matrix)
Drag options to blanks, or click blank then click option'
A5
Bfive
C'5'
Dnp
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the size as a string instead of an integer
Passing a variable name that is not defined
4fill in blank
hard

Fill both blanks to create a 3x5 identity-like matrix with ones on the diagonal.

NumPy
import numpy as np
matrix = np.eye([1], [2])
print(matrix)
Drag options to blanks, or click blank then click option'
A3
B4
C5
D6
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping rows and columns
Using equal numbers for both parameters
5fill in blank
hard

Fill all three blanks to create a 4x4 identity matrix with ones on the diagonal shifted by 1 above the main diagonal.

NumPy
import numpy as np
matrix = np.eye([1], [2], k=[3])
print(matrix)
Drag options to blanks, or click blank then click option'
A4
C1
D-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using negative k which shifts below the main diagonal
Using different sizes for rows and columns

Practice

(1/5)
1. What does the function np.eye(4) create in NumPy?
easy
A. A 4x4 identity matrix with 1s on the main diagonal
B. A 4x4 matrix filled with zeros
C. A 4x4 matrix filled with ones
D. A 4x4 diagonal matrix with 1s on the first upper diagonal

Solution

  1. Step 1: Understand np.eye() default behavior

    By default, np.eye(n) creates an n x n identity matrix with 1s on the main diagonal and 0s elsewhere.
  2. Step 2: Apply np.eye(4)

    Calling np.eye(4) creates a 4x4 matrix with 1s on the main diagonal and 0s elsewhere.
  3. Final Answer:

    A 4x4 identity matrix with 1s on the main diagonal -> Option A
  4. Quick Check:

    np.eye(4) = 4x4 identity matrix [OK]
Hint: np.eye(n) makes nxn identity matrix by default [OK]
Common Mistakes:
  • Confusing np.eye() with np.ones() or np.zeros()
  • Thinking np.eye() fills all elements with 1
  • Assuming 1s are on an off-diagonal by default
2. Which of the following is the correct syntax to create a 3x5 identity matrix with 1s on the main diagonal using np.eye()?
easy
A. np.eye(5, 3)
B. np.eye(3, 5)
C. np.eye(3)
D. np.eye(5)

Solution

  1. Step 1: Understand np.eye() parameters

    The first parameter is the number of rows, the second is columns. So np.eye(3, 5) creates a 3x5 matrix.
  2. Step 2: Check the options

    np.eye(3, 5) correctly uses np.eye(3, 5) to create a 3x5 matrix with 1s on the main diagonal.
  3. Final Answer:

    np.eye(3, 5) -> Option B
  4. Quick Check:

    np.eye(rows, cols) = correct syntax [OK]
Hint: First arg = rows, second = columns in np.eye() [OK]
Common Mistakes:
  • Swapping rows and columns parameters
  • Using only one parameter for non-square matrix
  • Confusing np.eye() with np.identity()
3. What is the output of the following code?
import numpy as np
print(np.eye(3, k=1))
medium
A. [[0. 0. 1.] [0. 1. 0.] [1. 0. 0.]]
B. [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]
C. [[0. 0. 0.] [1. 0. 0.] [0. 1. 0.]]
D. [[0. 1. 0.] [0. 0. 1.] [0. 0. 0.]]

Solution

  1. Step 1: Understand the k parameter in np.eye()

    The parameter k=1 shifts the diagonal of 1s one above the main diagonal.
  2. Step 2: Visualize the 3x3 matrix with 1s on the first upper diagonal

    The 1s appear at positions (0,1) and (1,2), zeros elsewhere.
  3. Final Answer:

    [[0. 1. 0.] [0. 0. 1.] [0. 0. 0.]] -> Option D
  4. Quick Check:

    k=1 shifts diagonal up by 1 [OK]
Hint: k shifts diagonal: 0=main, 1=above, -1=below [OK]
Common Mistakes:
  • Ignoring the k parameter effect
  • Assuming k=1 means main diagonal
  • Confusing rows and columns in output
4. The code below throws an error. What is the mistake?
import numpy as np
matrix = np.eye(4, 3, k=4)
print(matrix)
medium
A. np.eye() does not accept three arguments
B. The matrix must be square for np.eye()
C. The value of k is too large for the matrix shape
D. The print statement is incorrect

Solution

  1. Step 1: Check the meaning of k relative to matrix size

    The parameter k=4 means the diagonal of 1s is shifted 4 above the main diagonal.
  2. Step 2: Compare k with matrix dimensions

    For a 4x3 matrix, the maximum upper diagonal shift is 2 (columns - 1). k=4 is invalid and causes an error.
  3. Final Answer:

    The value of k is too large for the matrix shape -> Option C
  4. Quick Check:

    k must be within valid diagonal range [OK]
Hint: k must fit within matrix diagonal limits [OK]
Common Mistakes:
  • Assuming any k value works
  • Thinking np.eye() only creates square matrices
  • Blaming print instead of parameter error
5. You want to create a 5x5 matrix with 1s on the diagonal just below the main diagonal using np.eye(). Which code achieves this and what is the resulting matrix?
hard
A. np.eye(5, k=-1) resulting in 1s at positions (1,0), (2,1), (3,2), (4,3)
B. np.eye(5, k=1) resulting in 1s at positions (0,1), (1,2), (2,3), (3,4)
C. np.eye(5) resulting in 1s on the main diagonal
D. np.eye(5, k=-2) resulting in 1s two diagonals below the main

Solution

  1. Step 1: Understand k parameter for diagonal shift

    Negative k shifts the diagonal of 1s below the main diagonal. k=-1 means one diagonal below.
  2. Step 2: Apply np.eye(5, k=-1)

    This creates a 5x5 matrix with 1s at positions (1,0), (2,1), (3,2), (4,3) and zeros elsewhere.
  3. Final Answer:

    np.eye(5, k=-1) with 1s just below main diagonal -> Option A
  4. Quick Check:

    k=-1 shifts diagonal down by 1 [OK]
Hint: Use negative k for diagonals below main [OK]
Common Mistakes:
  • Using positive k for below main diagonal
  • Confusing positions of 1s in matrix
  • Assuming np.eye() only creates main diagonal
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard