Bird
Raised Fist0
SciPydata~10 mins

Matrix creation and operations in SciPy - 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.

SciPy
from numpy import eye
matrix = eye([1])
Drag options to blanks, or click blank then click option'
A5
B2
C4
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using a size other than 3 will create a matrix of wrong dimensions.
Confusing eye with ones or zeros.
2fill in blank
medium

Complete the code to create a 2x4 matrix of zeros using NumPy.

SciPy
from numpy import zeros
matrix = zeros(([1]))
Drag options to blanks, or click blank then click option'
A2, 2
B4, 2
C2, 4
D3, 4
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping rows and columns in the tuple.
Passing separate arguments instead of a tuple.
3fill in blank
hard

Fix the error in the code to multiply two matrices using NumPy.

SciPy
from numpy import array
A = array([[1, 2], [3, 4]])
B = array([[5, 6], [7, 8]])
result = A [1] B
Drag options to blanks, or click blank then click option'
A@
B*
Cdot
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using * instead of @ for matrix multiplication.
Trying to use dot as an operator instead of a method.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps each word to its length only if the length is greater than 3.

SciPy
words = ['data', 'science', 'is', 'fun']
lengths = {word: [1] for word in words if [2]
Drag options to blanks, or click blank then click option'
Alen(word)
Blen(word) > 3
Cword.startswith('s')
Dword.upper()
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as the value instead of its length.
Using a wrong condition that filters incorrectly.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase words to their lengths only if the length is greater than 2.

SciPy
words = ['cat', 'dog', 'elephant']
result = { [1]: [2] for word in words if [3] }
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
Clen(word) > 2
Dword.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase instead of uppercase for keys.
Incorrect condition that filters out all words.

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

  1. Step 1: Understand the function purpose

    The scipy.linalg.inv() function is designed to find the inverse of a square matrix if it exists.
  2. Step 2: Differentiate from other matrix operations

    Determinant calculation uses scipy.linalg.det(), transpose uses .T, and zero matrix creation uses numpy.zeros().
  3. Final Answer:

    Calculates the inverse of the matrix -> Option C
  4. 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

  1. Step 1: Identify the correct module and function

    The identity matrix function is in numpy (imported as np) as identity().
  2. Step 2: Check other options for correctness

    scipy.eye() and scipy.linalg.eye() do not exist; scipy.identity() is not valid.
  3. Final Answer:

    np.identity(3) -> Option D
  4. 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

  1. 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.
  2. Step 2: Round the result to 2 decimals

    Rounding -2 to 2 decimals remains -2.00.
  3. Final Answer:

    -2.00 -> Option A
  4. 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

  1. Step 1: Check matrix properties

    Matrix B is square (2x2), but rows are linearly dependent (second row is twice the first).
  2. Step 2: Understand invertibility

    Such a matrix is singular (determinant zero), so inverse does not exist, causing an error when calling inv().
  3. Final Answer:

    Matrix B is singular and cannot be inverted -> Option A
  4. 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

  1. Step 1: Identify correct matrix multiplication function

    Scipy.linalg does not have dot or matmul functions; numpy provides np.dot() for matrix multiplication.
  2. 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.
  3. Final Answer:

    import numpy as np P = np.dot(M, N) -> Option B
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard