SVD is a way to break a matrix into three simpler matrices. It helps us understand the original matrix's structure and is used in data science for tasks like noise reduction and data compression.
Click to reveal answer
beginner
What are the three matrices produced by SVD?
SVD breaks a matrix into U, Σ (Sigma), and V^T. U and V^T are orthogonal matrices, and Σ is a diagonal matrix with singular values.
Click to reveal answer
beginner
How does SVD help in data science?
SVD helps reduce data size by keeping only important parts, removes noise, and finds patterns in data like images or text.
Click to reveal answer
beginner
In scipy, which function is used to perform SVD?
The function scipy.linalg.svd() is used to perform Singular Value Decomposition on a matrix.
Click to reveal answer
beginner
What does the diagonal matrix Σ represent in SVD?
Σ contains singular values that show the importance or strength of each component in the original matrix.
Click to reveal answer
Which of the following is NOT a matrix output from SVD?
AU
BX
CΣ (Sigma)
DV^T
✗ Incorrect
SVD outputs U, Σ, and V^T matrices. X is the original matrix, not an output.
What type of matrix is Σ in SVD?
ADiagonal matrix
BOrthogonal matrix
CIdentity matrix
DZero matrix
✗ Incorrect
Σ is a diagonal matrix containing singular values.
Which scipy function performs Singular Value Decomposition?
Ascipy.linalg.svd()
Bscipy.linalg.eig()
Cscipy.linalg.inv()
Dscipy.linalg.qr()
✗ Incorrect
scipy.linalg.svd() is the function for SVD.
Why is SVD useful in data science?
ATo sort data alphabetically
BTo encrypt data
CTo increase data size
DTo reduce noise and find patterns
✗ Incorrect
SVD helps reduce noise and find important patterns in data.
What property do U and V^T matrices have in SVD?
AThey are zero matrices
BThey are diagonal
CThey are orthogonal
DThey are identity matrices
✗ Incorrect
U and V^T are orthogonal matrices, meaning their columns are perpendicular and have length one.
Explain the three matrices produced by Singular Value Decomposition and their roles.
Think about how each matrix contributes to reconstructing the original matrix.
You got /5 concepts.
Describe how Singular Value Decomposition can be used to reduce noise in data.
Consider which parts of the data carry the most information.
You got /4 concepts.
Practice
(1/5)
1.
What does the svd function in scipy.linalg return when applied to a matrix?
easy
A. The determinant of the matrix
B. Only the singular values as a matrix
C. The inverse of the matrix
D. Three matrices: U, singular values as a vector, and VT
Solution
Step 1: Understand the output of SVD
The Singular Value Decomposition splits a matrix into three parts: U, singular values, and VT.
Step 2: Recall scipy.linalg.svd output
Scipy's svd returns U (left singular vectors), a vector of singular values, and VT (right singular vectors transposed).
Final Answer:
Three matrices: U, singular values as a vector, and VT -> Option D
Quick Check:
SVD output = U, s, VT [OK]
Hint: Remember SVD splits matrix into U, s, VT [OK]
Common Mistakes:
Thinking svd returns only singular values
Confusing VT with V
Expecting a single matrix output
2.
Which of the following is the correct way to import and use svd from scipy.linalg?
???
easy
A. import svd from scipy.linalg
U, s, VT = svd(matrix)
B. import scipy.linalg.svd
U, s, VT = scipy.linalg.svd(matrix)
C. from scipy.linalg import svd
U, s, VT = svd(matrix)
D. from scipy import svd
U, s, VT = svd(matrix)
Solution
Step 1: Check correct import syntax
Correct import for svd is from scipy.linalg import svd.
Step 2: Confirm usage
Then call svd(matrix) to get U, s, VT.
Final Answer:
from scipy.linalg import svd\nU, s, VT = svd(matrix) -> Option C
Quick Check:
Correct import and call = from scipy.linalg import svd
U, s, VT = svd(matrix) [OK]
Hint: Use 'from scipy.linalg import svd' to import [OK]
Common Mistakes:
Using incorrect import syntax
Trying to import svd directly from scipy
Using 'import svd from' which is invalid
3.
Given the code below, what is the shape of U, s, and VT?
import numpy as np
from scipy.linalg import svd
matrix = np.array([[1, 2], [3, 4], [5, 6]])
U, s, VT = svd(matrix)
medium
A. U: (3, 3), s: (2,), VT: (2, 2)
B. U: (3, 2), s: (2,), VT: (2, 2)
C. U: (2, 2), s: (2,), VT: (3, 3)
D. U: (3, 3), s: (3,), VT: (2, 2)
Solution
Step 1: Identify matrix shape
The matrix is 3 rows by 2 columns (3x2).
Step 2: Recall full SVD shapes
Full SVD returns U as (m, m), s as (min(m,n),), VT as (n, n). Here m=3, n=2, so U=(3,3), s=(2,), VT=(2,2).
Final Answer:
U: (3, 3), s: (2,), VT: (2, 2) -> Option A
Quick Check:
Full SVD shapes = U(m,m), s(min(m,n)), VT(n,n) [OK]
Hint: Full SVD U shape = (m,m), VT = (n,n), s length = min(m,n) [OK]
Common Mistakes:
Assuming U shape is (m,n) instead of (m,m)
Confusing s shape with VT shape
Mixing up rows and columns in shapes
4.
What is wrong with the following code snippet that tries to compute the SVD of a matrix?
from scipy.linalg import svd
matrix = [[1, 0], [0, 1]]
U, s, VT = svd(matrix)
print(U, s, VT)
medium
A. svd function does not return three values
B. The matrix should be a NumPy array, not a list of lists
C. The import statement is incorrect
D. The print statement syntax is wrong
Solution
Step 1: Check input type for svd
svd expects a NumPy array or similar numeric array, not a plain Python list.
Step 2: Identify error cause
Passing a list of lists can cause unexpected behavior or errors; converting to np.array fixes this.
Final Answer:
The matrix should be a NumPy array, not a list of lists -> Option B
Quick Check:
Input must be np.array for svd [OK]
Hint: Always convert input to np.array before svd [OK]
Common Mistakes:
Passing Python lists directly to svd
Assuming svd returns a single matrix
Incorrect import or print syntax
5.
You have a large dataset matrix X of shape (1000, 50). You want to reduce its dimensionality to 10 while keeping most information. Which step using scipy.linalg.svd helps achieve this?
hard
A. Compute full SVD, then keep only the first 10 singular values and corresponding vectors
B. Compute SVD and discard the singular values
C. Use svd to get U and VT, then multiply all components without truncation
D. Apply svd only on a 10x10 submatrix of X
Solution
Step 1: Understand dimensionality reduction with SVD
Reducing dimensions means keeping top singular values and vectors that capture most variance.
Step 2: Apply truncation after full SVD
Compute full SVD, then keep first 10 singular values and corresponding columns of U and rows of VT to reduce size.
Final Answer:
Compute full SVD, then keep only the first 10 singular values and corresponding vectors -> Option A
Quick Check:
Truncate SVD components to reduce dimensions [OK]
Hint: Keep top singular values and vectors for reduction [OK]
Common Mistakes:
Discarding singular values loses information
Using only a submatrix loses global structure
Not truncating leads to no reduction
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.