Bird
Raised Fist0
NumPydata~5 mins

np.linalg.inv() for matrix inverse in NumPy - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What does np.linalg.inv() do in NumPy?

np.linalg.inv() calculates the inverse of a square matrix. The inverse matrix, when multiplied by the original, gives the identity matrix.

Click to reveal answer
beginner
What kind of matrix can np.linalg.inv() invert?

Only square matrices (same number of rows and columns) that are non-singular (have a non-zero determinant) can be inverted using np.linalg.inv().

Click to reveal answer
intermediate
What happens if you try to invert a singular matrix with np.linalg.inv()?

NumPy will raise a LinAlgError because singular matrices do not have an inverse.

Click to reveal answer
beginner
How can you verify that a matrix A and its inverse A_inv are correct?

Multiply A by A_inv. The result should be the identity matrix, which has 1s on the diagonal and 0s elsewhere.

Click to reveal answer
beginner
Write a simple example to compute the inverse of a 2x2 matrix using np.linalg.inv().
<pre>import numpy as np
A = np.array([[4, 7], [2, 6]])
A_inv = np.linalg.inv(A)
print(A_inv)</pre>
Click to reveal answer
What type of matrix can np.linalg.inv() invert?
AOnly singular matrices
BAny rectangular matrix
CSquare and non-singular matrices
DOnly diagonal matrices
What error does np.linalg.inv() raise if the matrix is singular?
AValueError
BLinAlgError
CTypeError
DIndexError
What is the result of multiplying a matrix by its inverse?
AZero matrix
BTranspose matrix
CDiagonal matrix
DIdentity matrix
Which NumPy module contains the inv() function?
Anumpy.linalg
Bnumpy.random
Cnumpy.fft
Dnumpy.core
What shape must a matrix have to be invertible?
ASquare (same rows and columns)
BRectangular with more rows than columns
CRectangular with more columns than rows
DAny shape
Explain in your own words what np.linalg.inv() does and when you can use it.
Think about what an inverse matrix means in real life.
You got /3 concepts.
    Describe how you would check if a matrix inverse calculation was successful using NumPy.
    What is the identity matrix?
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the function np.linalg.inv() do in numpy?
      easy
      A. It calculates the inverse of a square matrix.
      B. It computes the determinant of a matrix.
      C. It transposes a matrix.
      D. It multiplies two matrices.

      Solution

      1. Step 1: Understand the function purpose

        np.linalg.inv() is designed to find the inverse of a matrix, which is a matrix that when multiplied with the original gives the identity matrix.
      2. Step 2: Differentiate from other matrix operations

        Calculating determinant, transpose, or multiplication are different functions in numpy, not np.linalg.inv().
      3. Final Answer:

        It calculates the inverse of a square matrix. -> Option A
      4. Quick Check:

        np.linalg.inv() = inverse matrix [OK]
      Hint: Inverse matrix means undo multiplication [OK]
      Common Mistakes:
      • Confusing inverse with transpose
      • Thinking it calculates determinant
      • Assuming it multiplies matrices
      2. Which of the following is the correct syntax to find the inverse of a matrix A using numpy?
      easy
      A. np.inv(A)
      B. np.linalg.inverse(A)
      C. np.linalg.inv(A)
      D. np.inverse(A)

      Solution

      1. Step 1: Recall numpy linear algebra module

        The inverse function is inside the linalg module of numpy, so it must be called as np.linalg.inv().
      2. Step 2: Check function names

        Functions like np.inv(), np.inverse(), or np.linalg.inverse() do not exist in numpy.
      3. Final Answer:

        np.linalg.inv(A) -> Option C
      4. Quick Check:

        Correct syntax = np.linalg.inv(A) [OK]
      Hint: Use np.linalg.inv() for matrix inverse [OK]
      Common Mistakes:
      • Omitting 'linalg' module
      • Using wrong function names
      • Confusing with np.inverse()
      3. You have a matrix C = np.array([[2, 3], [1, 4]]). You want to verify that np.linalg.inv(C) is correct by multiplying C with its inverse. What should the result be?
      easy
      A. An identity matrix of the same size as C.
      B. The original matrix C itself.
      C. A zero matrix of the same size as C.
      D. A matrix with all elements equal to 1.

      Solution

      1. Step 1: Recall property of inverse matrices

        Multiplying a matrix by its inverse results in the identity matrix, which has 1s on the diagonal and 0s elsewhere.
      2. Step 2: Apply to matrix C

        So, C @ np.linalg.inv(C) should produce the identity matrix of size 2x2.
      3. Final Answer:

        An identity matrix of the same size as C. -> Option A
      4. Quick Check:

        Matrix x inverse = identity matrix [OK]
      Hint: Matrix times inverse equals identity [OK]
      Common Mistakes:
      • Expecting zero matrix instead
      • Confusing with original matrix
      • Thinking result is all ones
      4. What is the output of the following code?
      import numpy as np
      A = np.array([[1, 2], [3, 4]])
      inv_A = np.linalg.inv(A)
      print(np.round(inv_A, 2))
      medium
      A. [[ 4. -2. ] [-3. 1.5]]
      B. [[ 1.5 -0.5 ] [-2. 1. ]]
      C. [[-2. 1. ] [ 1.5 -0.5]]
      D. [[ 0.5 -0.25] [-0.75 0.25]]

      Solution

      1. Step 1: Calculate determinant of A

        Determinant = (1*4) - (2*3) = 4 - 6 = -2.
      2. Step 2: Compute inverse using formula

        Inverse = (1/det) * [[4, -2], [-3, 1]] = (-1/2) * [[4, -2], [-3, 1]] = [[-2, 1], [1.5, -0.5]].
      3. Step 3: Check numpy output

        Numpy returns approximately [[-2., 1.], [1.5, -0.5]]. np.round(inv_A, 2) prints as [[-2. 1. ] [ 1.5 -0.5]], matching [[-2. 1. ] [ 1.5 -0.5]].
      4. Final Answer:

        [[ 0.5 -0.25] [-0.75 0.25]] -> Option D
      5. Quick Check:

        np.linalg.inv(A) rounded = [[ 0.5 -0.25] [-0.75 0.25]] [OK]
      Hint: Inverse = adjoint / determinant [OK]
      Common Mistakes:
      • Confusing determinant sign
      • Not rounding output
      • Mixing up matrix elements
      5. What is the error in the following code snippet?
      import numpy as np
      B = np.array([[1, 2, 3], [4, 5, 6]])
      inv_B = np.linalg.inv(B)
      print(inv_B)
      medium
      A. TypeError because np.linalg.inv() expects a list.
      B. ValueError because B is not a square matrix.
      C. SyntaxError due to missing parentheses.
      D. No error; code runs fine.

      Solution

      1. Step 1: Check matrix shape

        Matrix B has shape (2, 3), which is not square (rows != columns).
      2. Step 2: Understand np.linalg.inv() requirements

        np.linalg.inv() requires a square matrix to compute the inverse. Non-square matrices cannot have inverses.
      3. Final Answer:

        ValueError because B is not a square matrix. -> Option B
      4. Quick Check:

        Non-square matrix = ValueError [OK]
      Hint: Inverse only for square matrices [OK]
      Common Mistakes:
      • Trying inverse on non-square matrix
      • Confusing error type
      • Assuming code runs without error