Surjective
উপরিচারী
Codomain-এর প্রতিটা মান অন্তত একটা input থেকে আসে — অর্থাৎ range = codomain। `|A| ≥ |B|` না হলে অসম্ভব।
also: onto, surjection
∀b ∈ B, ∃a ∈ A : f(a) = b
f : ℤ → ℤ, f(x) = 2x surjective নয় — কোনো বিজোড় সংখ্যা
hit হয় না।
কিন্তু f : ℤ → 2ℤ (codomain জোড় সংখ্যা) surjective, এমনকি
[[bijective]]।
একই সূত্র, ভিন্ন codomain, ভিন্ন উত্তর — এজন্যই codomain স্পষ্ট করে বলা জরুরি।
CS-এ কোথায় গুরুত্বপূর্ণ:
- একটা encoding surjective না হলে কিছু output কখনো তৈরি হয় না — সেই space অপচয়
- Random number generator যদি তার পুরো range-এ surjective না হয়, কিছু মান কখনো আসবে না (দুর্বল PRNG-র লক্ষণ)
- Test coverage: আপনার test suite কি সব সম্ভাব্য code path “hit” করে? সেটা surjectivity-র প্রশ্ন
Injective + surjective = [[bijective]] = invertible।