Machine epsilon
મશીન એપ્સિલોન અથવા મશીનની ચોકસાઇ એ ફ્લોટિંગ પોઇન્ટ અંકગણિતમાં ગોળાકારને કારણે સંબંધિત અંદાજની ભૂલ પર ઉપલી સીમા છે. આ મૂલ્ય આંકડાકીય વિશ્લેષણના ક્ષેત્રમાં અને કોમ્પ્યુટેશનલ વિજ્ઞાનના વિષયમાં વિસ્તરણ દ્વારા કોમ્પ્યુટર અંકગણિતની લાક્ષણિકતા ધરાવે છે. આ જથ્થાને માચેપ્સ પણ કહેવામાં આવે છે અને તેમાં ગ્રીક એપ્સિલોન પ્રતીકો છે. બે પ્રચલિત વ્યાખ્યાઓ છે. આંકડાકીય વિશ્લેષણમાં, મશીન એપ્સિલોન ઉપયોગમાં લેવાતા ગોળાકાર પ્રકાર પર આધારિત છે અને તેને યુનિટ રાઉન્ડઓફ પણ કહેવામાં આવે છે, જે બોલ્ડ રોમન યુ પ્રતીક ધરાવે છે. જો કે, ઓછી ઔપચારિક, પરંતુ વધુ વ્યાપક રીતે ઉપયોગમાં લેવાતી વ્યાખ્યા દ્વારા, મશીન એપ્સિલોન ગોળાકાર પદ્ધતિથી સ્વતંત્ર છે અને તે યુ અથવા 2યુની સમકક્ષ હોઈ શકે છે. પ્રમાણભૂત હાર્ડવેર અંકગણિત માટેના મૂલ્યો નીચેનું કોષ્ટક પ્રમાણભૂત ફ્લોટિંગ-પોઇન્ટ બંધારણો માટે મશીન એપ્સિલોન મૂલ્યોની યાદી આપે છે. દરેક ફોર્મેટ રાઉન્ડ-ટુ-નિયરનો ઉપયોગ કરે છે. ઔપચારિક વ્યાખ્યા ગોળાકાર એ ફ્લોટિંગ પોઇન્ટ નંબર સિસ્ટમમાં વાસ્તવિક સંખ્યાની રજૂઆત પસંદ કરવાની પ્રક્રિયા છે. સંખ્યા પ્રણાલી અને ગોળાકાર પ્રક્રિયા માટે, મશીન એપ્સિલોન એ પસંદ કરેલી ગોળાકાર પ્રક્રિયાની મહત્તમ સંબંધિત ભૂલ છે. આ વ્યાખ્યામાંથી મૂલ્ય નક્કી કરવા માટે કેટલીક પૃષ્ઠભૂમિ જરૂરી છે. ફ્લોટિંગ પોઇન્ટ નંબર સિસ્ટમને રેડિક્સ દ્વારા વર્ગીકૃત કરવામાં આવે છે જેને બેઝ પણ કહેવામાં આવે છે, અને ચોકસાઇ દ્વારા, એટલે કે. સિગ્નિફિકેન્ડના મૂળ અંકોની સંખ્યા (કોઈપણ અગ્રણી ગર્ભિત બીટ સહિત). સમાન ઘાતાંક ધરાવતી તમામ સંખ્યાઓમાં અંતર હોય છે,. જે સંખ્યાઓની સંપૂર્ણ શક્તિઓ હોય તેના પર અંતર બદલાય છે; મોટી તીવ્રતાની બાજુનું અંતર નાની તીવ્રતાની બાજુના અંતર કરતા ઘણું વધારે હોય છે. મશીન એપ્સિલોન સાપેક્ષ ભૂલ માટે બંધાયેલ હોવાથી, તે ઘાતાંક સાથે સંખ્યાઓને ધ્યાનમાં લેવા માટે પૂરતું છે. તે હકારાત્મક સંખ્યાઓને ધ્યાનમાં લેવા માટે પણ પૂરતું છે. સામાન્ય ગોળ-થી-નજીકના પ્રકારના ગોળાકાર માટે, સંપૂર્ણ ગોળાકાર ભૂલ મહત્તમ અડધા અંતર પર હોય છે, અથવા. સાપેક્ષ ભૂલ માટે આ મૂલ્ય સૌથી મોટું સંભવિત અંશ છે. સંબંધિત ભૂલમાં છેદ એ ગોળાકાર સંખ્યા છે, જે સંબંધિત ભૂલને મોટી બનાવવા માટે શક્ય તેટલી નાની હોવી જોઈએ. તેથી સૌથી ખરાબ સાપેક્ષ ભૂલ ત્યારે થાય છે જ્યારે ગોળાકાર ફોર્મની સંખ્યાઓ પર લાગુ કરવામાં આવે છે જ્યાં અને વચ્ચે હોય છે. આ તમામ સંખ્યાઓ સાપેક્ષ ભૂલ સાથે ગોળાકાર થાય છે. મહત્તમ ત્યારે થાય છે જ્યારે તે તેની શ્રેણીના ઉપલા છેડે હોય. અંશની સરખામણીમાં છેદમાં ધ નજીવી છે, તેથી તેને અનુકૂળતા માટે છોડી દેવામાં આવે છે, અને તેને મશીન એપ્સિલોન તરીકે લેવામાં આવે છે. અહીં બતાવ્યા પ્રમાણે, સંબંધિત ભૂલ તે સંખ્યાઓ માટે સૌથી ખરાબ છે જે ગોળાકાર હોય છે, તેથી મશીન એપ્સિલોનને એકમ ગોળાકાર પણ કહેવામાં આવે છે જેનો અર્થ થાય છે "એકમ મૂલ્યને ગોળાકાર કરતી વખતે થઈ શકે તેવી મહત્તમ ભૂલ". આમ, નોર્મલાઇઝ્ડ ફ્લોટિંગ પોઇન્ટ નંબર અને નજીકના નોર્મલાઇઝ્ડ નંબર વચ્ચેનું મહત્તમ અંતર છે. અંકગણિત મોડેલ આંકડાકીય વિશ્લેષણ ગોળાકાર ભૂલની અસરોનો અભ્યાસ કરવા માટે મશીન એપ્સિલોનનો ઉપયોગ કરે છે. મશીન અંકગણિતની વાસ્તવિક ભૂલો સીધો અભ્યાસ કરવા માટે ખૂબ જ જટિલ છે, તેથી તેના બદલે, નીચેના સરળ મોડેલનો ઉપયોગ કરવામાં આવે છે. IEEE અંકગણિત ધોરણ કહે છે કે તમામ ફ્લોટિંગ-પોઇન્ટ કામગીરીઓ એવી રીતે કરવામાં આવે છે કે જાણે અનંત-ચોકસાઇ કામગીરી કરવી શક્ય હોય, અને પછી, પરિણામ ફ્લોટિંગ-પોઇન્ટ નંબર પર ગોળાકાર થાય છે. ધારો કે (1), ફ્લોટિંગ-પોઇન્ટ નંબરો છે, (2) ફ્લોટિંગ-પોઇન્ટ નંબરો પરની એક અંકગણિત કામગીરી છે જેમ કે ઉમેરા અથવા ગુણાકાર, અને (3) અનંત ચોકસાઇ કામગીરી છે. ધોરણ મુજબ, કોમ્પ્યુટર ગણતરી કરે છેઃ મશીન એપ્સિલોનના અર્થ પ્રમાણે, ગોળાકારની સાપેક્ષ ભૂલ મહત્તમ મશીન એપ્સિલોનની તીવ્રતા ધરાવે છે, તેથીઃ જ્યાં નિરપેક્ષ તીવ્રતા મહત્તમ અથવા યુ હોય છે. સંદર્ભોમાં ડેમેલ અને હાઈમના પુસ્તકોની સલાહ લઈ શકાય છે કે આ મોડેલનો ઉપયોગ ગૌસીયન નાબૂદીની ભૂલોનું વિશ્લેષણ કરવા માટે કેવી રીતે થાય છે. વિવિધ વ્યાખ્યાઓ IEEE ધોરણ મશીન એપ્સિલોન અને યુનિટ રાઉન્ડઓફ શબ્દોને વ્યાખ્યાયિત કરતું નથી, તેથી આ શબ્દોની વિવિધ વ્યાખ્યાઓ ઉપયોગમાં છે, જે થોડી મૂંઝવણ પેદા કરી શકે છે. મશીન એપ્સિલોન માટેની ઔપચારિક વ્યાખ્યા એ છે જેનો ઉપયોગ પ્રોફેસર જેમ્સ ડેમેલ દ્વારા વ્યાખ્યાન સ્ક્રિપ્ટ્સ, એલ. એ. પી. એ. સી. કે. રેખીય બીજગણિત પેકેજ, આંકડાકીય સંશોધન કાગળો અને કેટલાક વૈજ્ઞાનિક કમ્પ્યુટિંગ સોફ્ટવેરમાં થાય છે. મોટાભાગના આંકડાકીય વિશ્લેષકો આ અર્થ સાથે મશીન એપ્સિલોન અને યુનિટ રાઉન્ડઓફ શબ્દોનો એકબીજાના બદલે ઉપયોગ કરે છે. આ વૈકલ્પિક વ્યાખ્યા શિક્ષણવિદોની બહાર વધુ વ્યાપક છેઃ મશીન એપ્સિલોન એ 1 અને આગામી મોટા ફ્લોટિંગ પોઇન્ટ નંબર વચ્ચેનો તફાવત છે. આ વ્યાખ્યા મુજબ, 1 ની સાપેક્ષ છેલ્લા સ્થાને એકમનું મૂલ્ય બરાબર છે, એટલે કે. (જ્યાં ફ્લોટિંગ પોઇન્ટ સિસ્ટમનો આધાર છે અને તે ચોકસાઇ છે) અને એકમ રાઉન્ડઓફ યુ છે, રાઉન્ડ-ટુ-નિયર મોડ ધારીને, અને યુ, રાઉન્ડ-બાય-ચોપ ધારીને. આ વ્યાખ્યાનો વ્યાપ ફ્લોટિંગ-પોઇન્ટ પ્રકારો અને અન્ય પ્રોગ્રામિંગ ભાષાઓમાં અનુરૂપ અચળાંકોને લગતા અચળાંકો માટે ISO C ધોરણમાં તેના ઉપયોગમાં રહેલો છે. તેનો વૈજ્ઞાનિક કમ્પ્યુટિંગ સોફ્ટવેરમાં અને સંખ્યાશાસ્ત્ર અને કમ્પ્યુટિંગ સાહિત્યમાં પણ વ્યાપકપણે ઉપયોગ થાય છે. મશીન એપ્સિલોન કેવી રીતે નક્કી કરવું જ્યાં પ્રમાણભૂત લાઈબ્રેરીઓ પૂર્વગણતરી મૂલ્યો પ્રદાન કરતી નથી (જેમ કે <float.h C માટે FLT _ EPSILON, DBL _ EPSILON અને LDBL _ EPSILON સાથે કરે છે અને <મર્યાદાઓ> C + + માં std:: numeric _ حدود <T>:: epsilon () સાથે કરે છે), મશીન એપ્સિલોન નક્કી કરવાની શ્રેષ્ઠ રીત એ છે કે ઉપરના કોષ્ટકનો સંદર્ભ લેવો અને યોગ્ય પાવર સૂત્રનો ઉપયોગ કરવો. કોમ્પ્યુટિંગ મશીન એપ્સિલોનને ઘણીવાર પાઠ્યપુસ્તકની કવાયત તરીકે આપવામાં આવે છે. નીચેના ઉદાહરણો મશીન એપ્સિલોનની ગણતરી એકમ રાઉન્ડઓફના અર્થમાં કરવાને બદલે 1 પર ફ્લોટિંગ પોઇન્ટ નંબરોના અંતરના અર્થમાં કરે છે. નોંધ લો કે પરિણામો ઉપયોગમાં લેવાતા ચોક્કસ ફ્લોટિંગ-પોઇન્ટ ફોર્મેટ પર આધાર રાખે છે, જેમ કે ફ્લોટ, ડબલ, લોંગ ડબલ, અથવા પ્રોગ્રામિંગ લેંગ્વેજ, કમ્પાઇલર અને વાસ્તવિક પ્લેટફોર્મ માટે રનટાઇમ લાઇબ્રેરી દ્વારા સપોર્ટેડ સમાન. પ્રોસેસર દ્વારા સપોર્ટેડ કેટલાક ફોર્મેટ પસંદ કરેલ કમ્પાઇલર અને ઓપરેટિંગ સિસ્ટમ દ્વારા સપોર્ટેડ ન પણ હોઈ શકે. કેટલીક ભાષાઓ અને પુસ્તકાલયોમાં ઉપલબ્ધ મનસ્વી-ચોકસાઇ અંકગણિત સહિત અન્ય બંધારણોને રનટાઇમ લાઈબ્રેરી દ્વારા અનુકરણ કરી શકાય છે. કડક અર્થમાં મશીન એપ્સિલોન શબ્દનો અર્થ થાય છે પ્રોસેસર (અથવા કોપ્રોસેસર) દ્વારા સીધી સમર્થિત ચોકસાઈ, ચોક્કસ ઓપરેટિંગ સિસ્ટમ માટે ચોક્કસ કમ્પાઇલર દ્વારા સમર્થિત થોડી ચોકસાઈ નહીં, સિવાય કે તે શ્રેષ્ઠ ફોર્મેટનો ઉપયોગ કરવા માટે જાણીતું હોય. IEEE 754 ફ્લોટિંગ-પોઇન્ટ બંધારણોમાં એવો ગુણધર્મ હોય છે કે, જ્યારે સમાન પહોળાઈના બે પૂરક પૂર્ણાંક તરીકે પુનઃવ્યાખ્યાયિત કરવામાં આવે છે, ત્યારે તેઓ હકારાત્મક મૂલ્યો પર એકવિધ રીતે વધે છે અને નકારાત્મક મૂલ્યો પર એકવિધ રીતે ઘટે છે (32 બીટ ફ્લોટ્સની દ્વિસંગી રજૂઆત જુઓ). તેમની પાસે મિલકત પણ છે કે, અને (જ્યાં ઉપરોક્ત પૂર્ણાંકનું પુનઃઅર્થઘટન છે). જે ભાષાઓ પ્રકાર પંચિંગને મંજૂરી આપે છે અને હંમેશા IEEE 754-1985 નો ઉપયોગ કરે છે, તેમાં આપણે સતત સમયમાં મશીન એપ્સિલોનની ગણતરી કરવા માટે આનો ઉપયોગ કરી શકીએ છીએ. ઉદાહરણ તરીકે, C માંઃ ટાઈપડેફ યુનિયન {લાંબા લાંબા i64; ડબલ d64;} dbl _ 64; ડબલ મશીન _ ઇપ્સ (ડબલ વેલ્યુ) {dbl _ 64 s; s.d64 = વેલ્યુ; s.i64 + +; રીટર્ન s.d64-વેલ્યુ;} પાયથોનમાં ઉદાહરણ તરીકેઃ ડિફ મશીનઇપ્સિલોન (ફંક = ફ્લોટ): મશીન _ ઇપ્સિલોન = ફંક (1) જ્યારે ફંક (1) + મશીન _ ઇપ્સિલોન! = ફંક (1): મશીન _ ઇપ્સિલોન _ લાસ્ટ = મશીન _ ઇપ્સિલોન મશીન _ ઇપ્સિલોન = ફંક (મશીન _ ઇપ્સિલોન)/ફંક (2) રીટર્ન મશીન જો હકારાત્મક પરિણામ હંમેશા ઇચ્છિત હોય, તો મશીન _ ઇ. પી. એસ. ના વળતર નિવેદનને આ રીતે બદલી શકાય છેઃ વળતર (s.i64 <0? મૂલ્ય-s.d64: s.d64-મૂલ્ય); 64-બીટ ડબલ્સ 2.220446e-16 આપે છે, જે અપેક્ષા મુજબ 2 − 52 છે. નિકટતા રેખીય શોધનો ઉપયોગ કરીને મશીન એપ્સિલોનને તેના સાચા મૂલ્યના બે (તીવ્રતાના એક ક્રમ) ના પરિબળમાં અંદાજિત કરવા માટે નીચેના સરળ અલ્ગોરિધમનો ઉપયોગ કરી શકાય છે. એપ્સિલોન = 1.0; જ્યારે (1.0 + 0.5 * એપ્સિલોન) § 1.0: એપ્સિલોન = 0.5 * એપ્સિલોન મશીન એપ્સિલોનની ગણતરી પણ ફક્ત મેન્ટિસા માટે ઉપયોગમાં લેવાતા બિટ્સની સંખ્યાની બે નકારાત્મક શક્તિ તરીકે કરી શકાય છે. સંપૂર્ણ સાપેક્ષ ભૂલ સાથેનો સંબંધ જો સંખ્યાની મશીન રજૂઆત હોય તો રજૂઆતમાં સંપૂર્ણ સંબંધિત ભૂલ પુરાવો છે નીચેનો પુરાવો રાઉન્ડ-બાય-ચોપનો ઉપયોગ કરીને હકારાત્મક સંખ્યાઓ અને મશીન રજૂઆતો સુધી મર્યાદિત છે. જો આપણે હકારાત્મક સંખ્યા રજૂ કરવા માંગીએ છીએ, તો તે નીચે આપેલા મશીન નંબર અને ઉપરના મશીન નંબર વચ્ચે હશે. જો, અર્થની તીવ્રતા માટે ઉપયોગમાં લેવાતા બિટ્સની સંખ્યા ક્યાં છે, તો પછીઃ કારણ કે પ્રતિનિધિત્વ ક્યાં તો હશે અથવા, જો કે આ પુરાવો હકારાત્મક સંખ્યાઓ અને રાઉન્ડ-બાય-ચોપ સુધી મર્યાદિત છે, તે જ પદ્ધતિનો ઉપયોગ નકારાત્મક સંખ્યાઓ અને રાઉન્ડ-ટુ-નજીકના મશીન રજૂઆતોના સંબંધમાં અસમાનતાને સાબિત કરવા માટે કરી શકાય છે. ફ્લોટિંગ પોઇન્ટ પણ જુઓ, ફ્લોટિંગ પોઇન્ટ અંકગણિત એકમમાં ચોકસાઈના મુદ્દાઓની સામાન્ય ચર્ચા છેલ્લા સ્થાને (યુએલપી) નોંધો અને સંદર્ભો એન્ડરસન, ઇ.; લેપેક યુઝર્સ ગાઇડ, સોસાયટી ફોર ઇન્ડસ્ટ્રિયલ એન્ડ એપ્લાઇડ મેથેમેટિક્સ (એસઆઈએએમ), ફિલાડેલ્ફિયા, પીએ, ત્રીજી આવૃત્તિ, 1999. કોડી, વિલિયમ જે.; MACHAR: એ સોબ્રુટિન ટુ ડાયનેમિકલી ડિટરમાઇન મશીન પેરામીટર્સ, ACM ટ્રાન્ઝેક્શન્સ ઓન મેથેમેટિકલ સોફ્ટવેર, વોલ્યુમ. 14 (4), 1988,303-311. બેસેટ, ડિડિઅર એચ.; ઓબ્જેક્ટ-ઓરિએન્ટેડ ઇમ્પ્લિમેન્ટેશન ઓફ ન્યુમેરિકલ મેથડ્સ, મોર્ગન એન્ડ કૌફમેન, સાન ફ્રાન્સિસ્કો, સીએ, 2000. ડેમેલ, જેમ્સ ડબલ્યુ., એપ્લાઇડ ન્યુમેરિકલ લિનિયર આલ્જેબ્રા, સોસાયટી ફોર ઇન્ડસ્ટ્રિયલ એન્ડ એપ્લાઇડ મેથેમેટિક્સ (એસ. આઈ. એ. એમ.), ફિલાડેલ્ફિયા, પી. એ., 1997. હાઈમ, નિકોલસ જે.; આંકડાકીય અલ્ગોરિધમ્સની ચોકસાઈ અને સ્થિરતા, સોસાયટી ફોર ઇન્ડસ્ટ્રિયલ એન્ડ એપ્લાઇડ મેથેમેટિક્સ (એસ. આઈ. એ. એમ.), ફિલાડેલ્ફિયા, પી. એ., બીજી આવૃત્તિ, 2002. પ્રેસ, વિલિયમ એચ.; ટિયુકોલ્સ્કી, સાઉલ એ.; વેટરલિંગ, વિલિયમ ટી.; અને ફ્લેનરી, બ્રાયન પી.; ન્યુમેરિકલ રેસીપીઝ ઇન ફોરટ્રાન 77, બીજી આવૃત્તિ, પ્રકરણ. 20. 2, પૃ. 881-886 ફોર્સીથ, જ્યોર્જ ઇ.; માલ્કમ, માઈકલ એ.; મોલર, ક્લીવ બી.; "કોમ્પ્યુટર મેથડ્સ ફોર મેથેમેટિકલ કમ્પ્યુટેશન્સ", પ્રેન્ટિસ-હોલ, 1977 બાહ્ય લિંક્સ MACHAR, એક નિયમિત (સી અને ફોરટ્રાનમાં) "ગતિશીલ રીતે મશીન સ્થિરાંકોની ગણતરી કરો" (ACM અલ્ગોરિધમ 722) ફ્લોટિંગ પોઇન્ટ ગણતરીની ચોકસાઇનું નિદાન, ઘટક પાસ્કલમાં MACHAR નું અમલીકરણ અને સંખ્યાત્મક વાનગીઓ (પ્રેસ એટ અલ, 1992) માં પ્રકાશિત MACHAR ના ફોરટ્રાન 77 સંસ્કરણ પર આધારિત ઓબેરોન. કોમ્પ્યુટર અંકગણિત લેખો ઉદાહરણ C સાથે તેને કોડ કરે છેઃ એપ્સિલોન ડી મચ્ચિના