📖 Scenario: You are working as a data analyst and need to create and manipulate matrices to analyze data patterns. Matrices are like grids of numbers, similar to tables you see in spreadsheets.
🎯 Goal: Build a small project where you create a matrix using scipy, set a configuration value for matrix size, perform a matrix operation (like addition), and then display the result.
📋 What You'll Learn
Use scipy to create matrices
Create a matrix with exact values
Set a configuration variable for matrix size
Perform matrix addition using scipy
Print the resulting matrix
💡 Why This Matters
🌍 Real World
Matrices are used in data science to represent data tables, images, and networks. Sparse matrices help save memory when data has many zeros.
💼 Career
Understanding matrix operations is essential for roles in data analysis, machine learning, and scientific computing.
Progress0 / 4 steps
1
Create a 2x2 matrix using scipy
Import scipy.sparse and create a 2x2 matrix called matrix_a with these exact values: [[1, 2], [3, 4]] using scipy.sparse.csr_matrix.
SciPy
Hint
Use csr_matrix from scipy.sparse to create the matrix.
2
Set matrix size configuration
Create a variable called matrix_size and set it to 2 to represent the size of the matrix.
SciPy
Hint
Just create a variable matrix_size and assign it the value 2.
3
Create another matrix and add it to the first
Create another 2x2 matrix called matrix_b with values [[5, 6], [7, 8]] using csr_matrix. Then create a new matrix called matrix_sum by adding matrix_a and matrix_b.
SciPy
Hint
Create matrix_b like matrix_a but with new values, then add them with matrix_sum = matrix_a + matrix_b.
4
Print the resulting matrix
Print the dense array form of matrix_sum using the .toarray() method inside a print() statement.
SciPy
Hint
Use print(matrix_sum.toarray()) to see the full matrix.
Practice
(1/5)
1. What does the scipy.linalg.inv() function do when applied to a square matrix?
easy
A. Transposes the matrix
B. Calculates the determinant of the matrix
C. Calculates the inverse of the matrix
D. Creates a zero matrix of the same size
Solution
Step 1: Understand the function purpose
The scipy.linalg.inv() function is designed to find the inverse of a square matrix if it exists.
Step 2: Differentiate from other matrix operations
Determinant calculation uses scipy.linalg.det(), transpose uses .T, and zero matrix creation uses numpy.zeros().
Final Answer:
Calculates the inverse of the matrix -> Option C
Quick Check:
Inverse = inv() [OK]
Hint: Inverse means flipping matrix; use inv() for that [OK]
Common Mistakes:
Confusing inverse with determinant
Thinking inv() transposes matrix
Assuming inv() creates zero matrix
2. Which of the following is the correct way to create a 3x3 identity matrix using NumPy?
easy
A. scipy.identity(3)
B. scipy.eye(3)
C. scipy.linalg.eye(3)
D. np.identity(3)
Solution
Step 1: Identify the correct module and function
The identity matrix function is in numpy (imported as np) as identity().
Step 2: Check other options for correctness
scipy.eye() and scipy.linalg.eye() do not exist; scipy.identity() is not valid.
Final Answer:
np.identity(3) -> Option D
Quick Check:
Identity matrix = np.identity() [OK]
Hint: Use np.identity() for identity matrix [OK]
Common Mistakes:
Using scipy.eye() which does not exist
Calling identity() from wrong module
Confusing identity with eye from numpy
3. What is the output of the following code?
import numpy as np
from scipy.linalg import det
A = np.array([[1, 2], [3, 4]])
print(round(det(A), 2))
medium
A. -2.00
B. 2.00
C. 10.00
D. -10.00
Solution
Step 1: Calculate determinant of matrix A
Determinant formula for 2x2 matrix [[a,b],[c,d]] is ad - bc = 1*4 - 2*3 = 4 - 6 = -2.
Step 2: Round the result to 2 decimals
Rounding -2 to 2 decimals remains -2.00.
Final Answer:
-2.00 -> Option A
Quick Check:
Determinant = -2.00 [OK]
Hint: Determinant 2x2 = ad - bc [OK]
Common Mistakes:
Calculating ad + bc instead of ad - bc
Forgetting negative sign
Not rounding output
4. Identify the error in this code snippet:
import numpy as np
from scipy.linalg import inv
B = np.array([[1, 2], [2, 4]])
B_inv = inv(B)
print(B_inv)
medium
A. Matrix B is singular and cannot be inverted
B. Syntax error in array creation
C. inv() function is not imported correctly
D. Matrix B is not square
Solution
Step 1: Check matrix properties
Matrix B is square (2x2), but rows are linearly dependent (second row is twice the first).
Step 2: Understand invertibility
Such a matrix is singular (determinant zero), so inverse does not exist, causing an error when calling inv().
Final Answer:
Matrix B is singular and cannot be inverted -> Option A
Quick Check:
Singular matrix = no inverse [OK]
Hint: Check determinant; zero means no inverse [OK]
Common Mistakes:
Thinking non-square matrix causes error here
Assuming inv() import is wrong
Missing linear dependence in matrix
5. You have two matrices:
M = np.array([[1, 2], [3, 4]])
N = np.array([[2, 0], [1, 2]])
Which code correctly computes the product P = M x N using scipy?
hard
A. from scipy.linalg import dot
P = dot(M, N)
B. import numpy as np
P = np.dot(M, N)
C. from scipy.linalg import matmul
P = matmul(M, N)
D. from scipy.linalg import inv
P = inv(M) * N
Solution
Step 1: Identify correct matrix multiplication function
Scipy.linalg does not have dot or matmul functions; numpy provides np.dot() for matrix multiplication.
Step 2: Check options for correctness
import numpy as np
P = np.dot(M, N) uses np.dot(M, N) which correctly multiplies matrices M and N. from scipy.linalg import inv
P = inv(M) * N incorrectly uses inverse and element-wise multiplication.
Final Answer:
import numpy as np
P = np.dot(M, N) -> Option B
Quick Check:
Matrix product = np.dot() [OK]
Hint: Use np.dot() for matrix multiplication [OK]
Common Mistakes:
Using inv() instead of multiplication
Assuming scipy.linalg has dot or matmul
Using * for matrix multiplication
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.