KYA hai broadcasting: rules ka ek set jo decide karta hai ki kya do shapes compatible hain, aur result shape kya hogi, taaki element-wise operation proceed kar sake.
Do dimensions broadcast-compatible hone ki do conditions kya hain?
Woh equal hain, YA unme se ek 1 hai.
Broadcasting ke liye alag-alag length ki shapes kaise align hoti hain?
Right-aligned (trailing dims line up hoti hain); missing leading dims size 1 maani jaati hain.
Compatible dimension pair ka result size kya hota hai?
Donon sizes mein se maximum (size-1 axis stretch hoti hai).
Broadcasting bina memory copy kiye kaise implement hoti hai?
Stretched (size-1) axis ko stride = 0 milta hai, is liye us par move karna same memory cell dobara read karta hai.
(3,4) + (3,) kyun fail hota hai lekin (3,4) + (4,) kaam karta hai?
Right-alignment trailing axis se match karti hai: (3,) vs 4 → mismatch; (4,) vs 4 → equal.
w shape (3,) ke saath (3,4) matrix ki har ROW i ko w[i] se multiply kaise karte hain?
w[:, None] use karo taaki woh (3,1) ban jaye aur axis 0 se align ho.
(3,1) + (1,4) se kya shape milti hai?
(3,4) — dono size-1 axes stretch hote hain.
Kya np.broadcast_to ka result writable hai?
Nahi, yeh read-only hai; likhne ke liye .copy() karna hoga.
Broadcasting ke liye Python scalar ka conceptual shape kya hota hai?
(), jo all-1 dims ban jaata hai aur kuch bhi stretch ho jaata hai.
Recall Feynman: 12-saal ke bachche ko samjhao
Sochoh ke tumhare paas 3 lunch trays ki ek row hai aur tum har tray pe ek seb rakhna chahte ho. Tumhe kagaz pe 3 alag-alag seb draw karne ki zarurat nahi — tum bas keh sakte ho "har tray pe wahi seb ka shape lagao." NumPy wahi karta hai: agar kisi direction mein uske paas sirf ek value hai, toh woh copies banana ka natak karta hai, lekin actually woh baar baar same value dekhta rehta hai. Is liye ek poori grid mein ek number add karna fast hai — woh actually number copy nahi karta, woh bas usi ko point karta rehta hai. Rule sirf yeh hai: har direction mein, sizes ya toh same honi chahiyen, ya unme se ek one hona chahiye (woh "mujhe stretch karo" wildcard).