Perform EVD and SVD on a matrix and compare their roles in dimensionality analysis.
import numpy as np
A = np.array([[3, 1],
[1, 3]])
# Eigen-decomposition
eigvals, eigvecs = np.linalg.eig(A)
print("Eigenvalues:", eigvals)
print("Eigenvectors:\n", eigvecs)
# SVD
U, S, VT = np.linalg.svd(A)
print("\nU:\n", U)
print("Singular Values:", S)
print("V^T:\n", VT)
Eigenvalues: [4. 2.]
Eigenvectors:
[[ 0.7071 -0.7071]
[ 0.7071 0.7071]]
U:
[[-0.7071 -0.7071]
[-0.7071 0.7071]]
Singular Values: [4. 2.]
V^T:
[[-0.7071 -0.7071]
[-0.7071 0.7071]]