કોમ્પ્યુટર વિજ્ઞાનમાં ન્યુમેરિકલ મેથડ્સના અમલીકરણ માટે ફ્લોટિંગ-પોઇન્ટ નંબર્સનું મહત્વ અને તેમની મર્યાદાઓનું વિશ્લેષણ કરીશું. આ વિષય મૌખિક પરીક્ષાની તૈયારી માટે અત્યંત મહત્વપૂર્ણ છે^1.
કોમ્પ્યુટરમાં ઉપલબ્ધ ફ્લોટિંગ-પોઇન્ટ નંબર્સનો સેટ F ચાર પરિમાણો દ્વારા નિર્ધારિત થાય છે^1:
પ્રકાર | બિટ્સ | મેન્ટિસા બિટ્સ | ઘાતાંક શ્રેણી |
---|---|---|---|
Single Precision (float) | 32 | 24 | -149 થી 104 |
Double Precision (double) | 64 | 53 | -1074 થી 971 |
ફ્લોટિંગ-પોઇન્ટ નંબરનું સામાન્ય સ્વરૂપ: M × 2^E જ્યાં M મેન્ટિસા અને E ઘાતાંક છે^1.
રાઉંડિંગ ફંક્શન round: R → F એ દરેક વાસ્તવિક સંખ્યાને ફ્લોટિંગ-પોઇન્ટ સંખ્યામાં રૂપાંતરિત કરે છે. તેના મુખ્ય ગુણધર્મો^1:
x ∈ R \ {0} માટે સંબંધિત રાઉંડિંગ ભૂલ:
ε = (round(x) - x) / x
આ ભૂલ સામાન્યતે મશીન ઇપ્સિલોન (ε) દ્વારા મર્યાદિત હોય છે^1.
Floating-point arithmetic errors demonstrating violations of mathematical laws
ફ્લોટિંગ-પોઇન્ટ અંકગણિતમાં વાસ્તવિક સંખ્યાઓ માટે માન્ય ગણિતશાસ્ત્રીય નિયમોનું ઉલ્લંઘન થાય છે^1:
ઉદાહરણ: (a + b) + c ≠ a + (b + c)
a = 1×10²⁰
b = 1.0
c = -1×10²⁰
(a + b) + c = (1×10²⁰ + 1) + (-1×10²⁰) = 0.0
a + (b + c) = 1×10²⁰ + (1 + (-1×10²⁰)) = 0.0
આ ઉદાહરણમાં જો કે પરિણામ સમાન આવે છે, પરંતુ ઇન્ટરમીડિયેટ પ્રોસેસિંગ અલગ હોય છે^2.
1/10 નું ઉદાહરણ:
ઉદાહરણ: a × (b + c) ≠ (a × b) + (a × c)
જ્યારે b અને c ખૂબ નાના હોય અને a ખૂબ મોટું હોય, ત્યારે રાઉંડિંગ ભૂલોને કારણે આ નિયમ નિષ્ફળ જાય છે^2.
અત્યંત નાની સંખ્યાઓ માટે: a + 0 ≠ a
ઉદાહરણ: 1×10⁻⁵⁰ + 0 કદાચ 1×10⁻⁵⁰ ની બરાબર ન આવે^2.
ફ્લોટિંગ-પોઇન્ટ અંકગણિત એ કોમ્પ્યુટેશનલ ગણિતશાસ્ત્રની પ્રાયોગિક જરૂરિયાત છે, પરંતુ તે વાસ્તવિક સંખ્યાઓના ગુણધર્મોને સંપૂર્ણ રીતે જાળવી શકતું નથી^1. ન્યુમેરિકલ મેથડ્સના અમલીકરણમાં આ મર્યાદાઓને સમજવી અને તેનો યોગ્ય ઉપયોગ કરવો અત્યંત મહત્વપૂર્ણ છે^2.
મુખ્ય બાબતો:
આ જ્ઞાન ન્યુમેરિકલ સ્ટેબિલિટી અને ઓટિમાઇઝેશનની ડિઝાઇનમાં મહત્વપૂર્ણ ભૂમિકા ભજવે છે.