Creating and Using Identity Matrices with np.eye()
📖 Scenario: Imagine you are working on a simple math project where you need to create identity matrices. Identity matrices are special square matrices with 1s on the diagonal and 0s elsewhere. They are useful in many areas like solving equations or transforming data.
🎯 Goal: You will create identity matrices using np.eye() and then select a smaller identity matrix from a larger one.
📋 What You'll Learn
Create a 4x4 identity matrix using np.eye()
Create a variable called size to store the size of the smaller identity matrix
Use np.eye() with the N parameter set to size to create the smaller identity matrix
Print the smaller identity matrix
💡 Why This Matters
🌍 Real World
Identity matrices are used in computer graphics, solving systems of equations, and machine learning algorithms.
💼 Career
Understanding identity matrices and numpy basics is important for data scientists and engineers working with linear algebra and data transformations.
Progress0 / 4 steps
1
Create a 4x4 identity matrix
Import numpy as np and create a variable called identity_matrix that holds a 4x4 identity matrix using np.eye().
NumPy
Hint
Use np.eye(4) to create a 4 by 4 identity matrix.
2
Create a variable for the smaller matrix size
Create a variable called size and set it to 3. This will be the size of the smaller identity matrix you want to create.
NumPy
Hint
Just write size = 3 to store the size.
3
Create a smaller identity matrix using the size variable
Create a variable called small_identity and set it to an identity matrix of size size using np.eye().
NumPy
Hint
Use np.eye(size) to create the smaller identity matrix.
4
Print the smaller identity matrix
Print the variable small_identity to display the smaller identity matrix.
NumPy
Hint
Use print(small_identity) to show the matrix.
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
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.
Step 2: Apply np.eye(4)
Calling np.eye(4) creates a 4x4 matrix with 1s on the main diagonal and 0s elsewhere.
Final Answer:
A 4x4 identity matrix with 1s on the main diagonal -> Option A
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
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.
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.
Final Answer:
np.eye(3, 5) -> Option B
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
Step 1: Understand the k parameter in np.eye()
The parameter k=1 shifts the diagonal of 1s one above the main diagonal.
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.
Final Answer:
[[0. 1. 0.]
[0. 0. 1.]
[0. 0. 0.]] -> Option D
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
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.
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.
Final Answer:
The value of k is too large for the matrix shape -> Option C
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
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.
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.
Final Answer:
np.eye(5, k=-1) with 1s just below main diagonal -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.