5.4.6 · HinglishScientific Computing (Python)
NumPy linear algebra — np.linalg.solve, eig, svd, norm, det
5.4.6· Coding › Scientific Computing (Python)
1. Solve Karna — np.linalg.solve
WHY sirf invert kyun nahi karte? Mathematically hai. Lekin compute karna directly solve karne se slower aur kam accurate hai. Isliye hum kabhi inv(A) @ b nahi likhte; hum solve(A, b) likhte hain.
import numpy as np
A = np.array([[2., 1.],
[1., 3.]])
b = np.array([5., 10.])
x = np.linalg.solve(A, b) # array([1., 3.])
np.allclose(A @ x, b) # True <- hamesha verify karo!2. Determinant — np.linalg.det
np.linalg.det(np.array([[2.,1.],[1.,3.]])) # 5.03. Norms — np.linalg.norm
v = np.array([3., 4.])
np.linalg.norm(v) # 5.0 (=sqrt(9+16)) default ord=2
np.linalg.norm(v, ord=1) # 7.0
np.linalg.norm(v, ord=np.inf) # 4.0
M = np.array([[1.,2.],[3.,4.]])
np.linalg.norm(M, 'fro') # Frobenius = sqrt(sum of squares of all entries)4. Eigenvalues / Eigenvectors — np.linalg.eig
A = np.array([[2., 0.],
[0., 3.]])
w, V = np.linalg.eig(A) # w = eigenvalues, V ke columns = eigenvectors
# column 0 check karo:
np.allclose(A @ V[:,0], w[0] * V[:,0]) # True5. Singular Value Decomposition — np.linalg.svd

A = np.array([[3., 0.],
[0., 2.],
[0., 0.]]) # 3x2, NOT square -> eig would fail
U, s, Vt = np.linalg.svd(A) # s is a 1D array of singular values
# reconstruct:
Sig = np.zeros_like(A)
np.fill_diagonal(Sig, s)
np.allclose(U @ Sig @ Vt, A) # TrueRecall Feynman: 12-saal ke bachche ko explain karo
Ek matrix arrows ke liye ek stretchy-twisty machine hai.
- solve: "Main dekhta hoon arrow kahaan landa; woh shuru kahaan se hua tha?" (machine ko ulta chalao).
- det: "Machine ne ek square ko kitna bada kiya?" Agar zero hai, toh usne sab kuch flat mein squish kar diya — tum un-squish nahi kar sakte, isliye koi backward nahi.
- norm: "Yeh arrow kitna lamba hai?"
- eig: "Kaun se arrows ko machine sirf lamba/chota karti hai, kabhi ghoomati nahi?"
- svd: "Weird machines ke liye bhi: pehle arrow spin karo, phir stretch karo, phir phir spin karo." Stretch numbers singular values hain.
Flashcards
np.linalg.solve(A,b) ko np.linalg.inv(A)@b se kyun prefer karte hain?
solve faster hai ( lekin smaller constant ke saath) aur numerically zyada stable hai; explicit inversion error amplify karta hai aur wasteful hai.
ka geometrically aur algebraically kya matlab hai?
Transform volume ko zero par collapse kar deta hai (lower dimension par map karta hai); algebraically singular / non-invertible hai, isliye ka koi unique solution nahi.
Ek 2×2 matrix ke liye determinant formula likhiye.
.
Ek eigenvector/eigenvalue define karo.
jiske liye ho: ek direction jise matrix sirf scale karti hai (by ), kabhi rotate nahi.
Eigenvalues ke liye characteristic equation kya hai?
.
NumPy w, V = np.linalg.eig(A) mein, i-th eigenvector kaise milega?
V[:, i] — eigenvectors V ke COLUMNS hain.Ek general matrix ka SVD batao.
jahan orthogonal hain aur non-negative singular values ka diagonal matrix hai.
Singular values aur eigenvalues ka kya relation hai?
, (aur ) ke eigenvalues hain.
Kabhi kabhi eig ki jagah SVD kyun use karte hain?
SVD KISI BHI (non-square bhi) matrix ke liye kaam karta hai aur hamesha real non-negative singular values deta hai; eig ko square matrices chahiye aur complex results de sakta hai.
Default np.linalg.norm(v) kaun sa norm compute karta hai?
Euclidean () norm .
Ax=b ka computed solution x kaise check karte hain?
np.allclose(A @ x, b).Kaun sa function det se zyada achha solve ki trustworthiness judge karta hai?
np.linalg.cond(A), condition number.Connections
- NumPy arrays and broadcasting
- Gaussian elimination and LU decomposition
- Eigenvalues and diagonalization
- Principal Component Analysis (PCA) — SVD par built
- Least squares regression — SVD /
np.linalg.lstsqse solve hota hai - Condition number and numerical stability
- Vector norms and metric spaces