Bird
Raised Fist0
NumPydata~5 mins

np.linalg.eig() for eigenvalues 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 the function np.linalg.eig() compute?
It computes the eigenvalues and eigenvectors of a square matrix. Eigenvalues tell us how much the matrix stretches or shrinks vectors, and eigenvectors show the directions that stay the same after the matrix transformation.
Click to reveal answer
beginner
What are eigenvalues in simple terms?
Eigenvalues are numbers that tell us how much a matrix stretches or shrinks a vector when it is multiplied by that matrix. They help us understand the matrix's behavior.
Click to reveal answer
beginner
What shape must the input matrix have for np.linalg.eig() to work?
The input must be a square matrix, meaning it has the same number of rows and columns.
Click to reveal answer
intermediate
What does the output of np.linalg.eig() look like?
It returns two arrays: one with eigenvalues and one with eigenvectors. The eigenvectors are columns in the second array, each matching the eigenvalue at the same position.
Click to reveal answer
beginner
How can eigenvalues and eigenvectors be useful in real life?
They help in many areas like data science for reducing data size (PCA), physics for understanding vibrations, and computer graphics for transformations.
Click to reveal answer
What type of matrix can you use with np.linalg.eig()?
ASquare matrix
BRectangular matrix
COnly diagonal matrix
DOnly identity matrix
What does the first output of np.linalg.eig() represent?
AInverse matrix
BEigenvectors
CEigenvalues
DDeterminant
In the output of np.linalg.eig(), how are eigenvectors arranged?
AEigenvectors are not returned
BEach eigenvector is a column in the second output array
CEigenvectors are scalars in the first output
DEach eigenvector is a row in the first output array
Which of these is a practical use of eigenvalues and eigenvectors?
ASorting numbers
BCounting unique values
CCalculating averages
DData compression and feature reduction
If a matrix has an eigenvalue of zero, what does it mean?
AThe matrix is singular (not invertible)
BThe matrix is identity
CThe matrix is diagonal
DThe matrix is symmetric
Explain what np.linalg.eig() does and describe its inputs and outputs.
Think about what eigenvalues and eigenvectors mean and how they relate to the input matrix.
You got /4 concepts.
    Describe a real-world example where eigenvalues and eigenvectors might be useful.
    Consider areas where understanding directions and magnitudes of change is important.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the function np.linalg.eig() return when applied to a square matrix?
      easy
      A. The determinant and inverse of the matrix
      B. An array of eigenvalues and a matrix of eigenvectors
      C. The transpose and trace of the matrix
      D. The sum and product of matrix elements

      Solution

      1. Step 1: Understand the purpose of np.linalg.eig()

        This function is designed to find eigenvalues and eigenvectors of a square matrix.
      2. Step 2: Recall the output format

        It returns two objects: one array with eigenvalues and one matrix with eigenvectors as columns.
      3. Final Answer:

        An array of eigenvalues and a matrix of eigenvectors -> Option B
      4. Quick Check:

        Eigenvalues and eigenvectors [OK]
      Hint: Remember: eig() returns eigenvalues and eigenvectors [OK]
      Common Mistakes:
      • Confusing eigenvalues with determinant
      • Expecting only one output instead of two
      • Mixing eigenvectors with matrix transpose
      2. Which of the following is the correct syntax to compute eigenvalues and eigenvectors of matrix A using NumPy?
      easy
      A. eigenvalues, eigenvectors = np.linalg.eig(A)
      B. eigenvalues = np.linalg.eigvals(A)
      C. eigenvectors, eigenvalues = np.linalg.eig(A)
      D. eigenvalues, eigenvectors = np.eig.linalg(A)

      Solution

      1. Step 1: Recall the correct function and output order

        The function np.linalg.eig() returns eigenvalues first, then eigenvectors.
      2. Step 2: Check syntax correctness

        eigenvalues, eigenvectors = np.linalg.eig(A) correctly assigns eigenvalues and eigenvectors in order from np.linalg.eig(A).
      3. Final Answer:

        eigenvalues, eigenvectors = np.linalg.eig(A) -> Option A
      4. Quick Check:

        Correct function and order [OK]
      Hint: eig() returns (values, vectors) in that order [OK]
      Common Mistakes:
      • Swapping eigenvalues and eigenvectors in assignment
      • Using wrong function like np.linalg.eigvals() for both outputs
      • Incorrect module or function name
      3. Given the matrix A = np.array([[2, 0], [0, 3]]), what will be the output of np.linalg.eig(A)[0]?
      medium
      A. [3. 2.]
      B. [0. 0.]
      C. [2. 3.]
      D. [5. 0.]

      Solution

      1. Step 1: Identify eigenvalues of a diagonal matrix

        For a diagonal matrix, eigenvalues are the diagonal elements: 2 and 3.
      2. Step 2: Check the output of np.linalg.eig(A)[0]

        This returns the eigenvalues array, which will be [2. 3.].
      3. Final Answer:

        [2. 3.] -> Option C
      4. Quick Check:

        Diagonal elements = eigenvalues [OK]
      Hint: Diagonal matrix eigenvalues = diagonal elements [OK]
      Common Mistakes:
      • Confusing eigenvalues order
      • Expecting eigenvectors instead of eigenvalues
      • Misreading matrix elements
      4. What is wrong with this code snippet?
      import numpy as np
      A = np.array([[1, 2], [3, 4]])
      eigenvalues, eigenvectors = np.linalg.eigvals(A)
      medium
      A. np.linalg.eigvals() returns only eigenvalues, not eigenvectors
      B. Matrix A is not square
      C. np.linalg.eigvals() requires two arguments
      D. The import statement is incorrect

      Solution

      1. Step 1: Understand the function np.linalg.eigvals()

        This function returns only eigenvalues, not eigenvectors.
      2. Step 2: Check the assignment in the code

        The code tries to unpack two values, but eigvals() returns only one, causing an error.
      3. Final Answer:

        np.linalg.eigvals() returns only eigenvalues, not eigenvectors -> Option A
      4. Quick Check:

        eigvals() returns one output [OK]
      Hint: eigvals() returns only eigenvalues, not vectors [OK]
      Common Mistakes:
      • Expecting two outputs from eigvals()
      • Thinking matrix must be non-square
      • Misunderstanding import syntax
      5. You have a matrix B = np.array([[1, 0], [0, -3]]). You want to find the eigenvalue with the largest magnitude. Which code snippet correctly finds it?
      hard
      A. vals, vecs = np.linalg.eig(B) largest = max(vecs)
      B. vals = np.linalg.eigvals(B) largest = max(vals)
      C. vals = np.linalg.eigvals(B) largest = vals[np.argmax(vals)]
      D. vals, vecs = np.linalg.eig(B) largest = vals[np.argmax(np.abs(vals))]

      Solution

      1. Step 1: Compute eigenvalues and eigenvectors

        Use np.linalg.eig(B) to get both eigenvalues and eigenvectors.
      2. Step 2: Find eigenvalue with largest magnitude

        Use np.abs(vals) to get absolute values, then np.argmax() to find index of largest magnitude eigenvalue.
      3. Step 3: Select eigenvalue at that index

        Indexing vals with that index gives the eigenvalue with largest magnitude.
      4. Final Answer:

        vals, vecs = np.linalg.eig(B) largest = vals[np.argmax(np.abs(vals))] -> Option D
      5. Quick Check:

        Use abs and argmax on eigenvalues [OK]
      Hint: Use np.abs() and np.argmax() on eigenvalues to find largest [OK]
      Common Mistakes:
      • Using max() directly without abs()
      • Trying to find max of eigenvectors
      • Using wrong function for eigenvalues