Кіріспе

Жылжымалы нүктелі арифметикадағы дөңгелектеу қателігінің жоғарғы шегі – машиналық эпсилон немесе машиналық дәлдік. Бұл жылжымалы нүктелі сан жүйелерінде дөңгелектеуден туындайтын салыстырмалы жуықтау қателігінің жоғарғы шегі болып табылады. Бұл мән сандық талдау саласындағы компьютерлік арифметиканы сипаттайды, сондай-ақ есептеу ғылымдары саласына да қатысты. Бұл шама мачэпс деп те аталады және грек әрпі эпсилонмен белгіленеді. Екі негізгі анықтама бар: дөңгелектеу машинасы эпсилоны және интервал машинасы эпсилоны. Машиналық эпсилон қолданылған дөңгелектеу түріне байланысты, және бірлік дөңгелектеу деп те аталады, оның символы қалың римдік u. Дегенмен, көбінесе қолданылатын анықтама бойынша машиналық эпсилон дөңгелектеу әдісіне тәуелсіз болады және u немесе 2u-ға тең болуы мүмкін.

Негізгі анықтама (Интервал машинасының эпсилоны)

IEEE стандарты машиналық эпсилон және бірлік дөңгелектеу терминдерін анықтамайды, сондықтан осы терминдердің әртүрлі анықтамалары қолданылады, бұл кейбір шатасуға әкелуі мүмкін. Машиналық эпсилонның формальды анықтамасы профессор Джеймс Деммельдің лекция материалдарында, LAPACK сызықтық алгебра жинағында, сандық зерттеулерде және кейбір ғылыми есептеу бағдарламалық құралдарында қолданылады. Көптеген сандық талдаушылар машиналық эпсилон және бірлік дөңгелектеу сөздерін осы мағынада өз ара алмастырып қолданады. Осыған қарамастан, тағы бір кең таралған анықтама бар: машиналық эпсилон – 1 мен одан кейінгі үлкен қалқыма нүктелі сан арасындағы айырма. Осы анықтама бойынша, ε мәні 1-ге қатысты соңғы разрядтағы бірлікке тең, яғни (мұнда b – қалқыма нүктелі жүйенің негізі, ал p – дәлдік) және бірлік дөңгелектеу u = ε / 2, егер жақынға дөңгелектеу қолданылса, ал u = ε, егер тікелей кесілу арқылы дөңгелектеу қолданылса. Бұл анықтаманың кең таралғандығының себебі – оның ISO C стандартында қалқыма нүктелі типтерге қатысты тұрақтылар мен басқа бағдарламалау тілдеріндегі сәйкес тұрақтылар үшін қолданылуында. Ол сондай-ақ ғылыми есептеу бағдарламалық құралдарында және сандық есептеулер мен информатика әдебиеттерінде кеңінен қолданылады.

Тақырыбы

Келесі қарапайым алгоритмді машинаның эпсилонын сызықтық іздеуді пайдалана отырып, оның нақты мәнінен екі есеге (бір разрядқа) дейін жуықтау үшін қолдануға болады. Эпсилон = 1.0;

while (1.0 + 0.5 * эпсилон) ≠ 1.0:
эпсилон = 0.5 * эпсилон

Машинаның эпсилонын мантисса үшін қолданылатын биттер санының екіге теріс дәрежесі ретінде де есептеуге болады.

Ескертпелер мен сілтемелер

Андерсон, Э.; LAPACK пайдаланушылар нұсқаулығы, Өнеркәсіптік және қолданбалы математика қоғамы (SIAM), Филадельфия, ПА, үшінші басылым, 1999. Коди, Уильям Дж.; MACHAR: Машина параметрлерін динамикалық түрде анықтауға арналған субротина, ACM математикалық бағдарламалық жасақтама бойынша транзакциялар, 14(4) том, 1988, 303–311. Бессет, Дидье Х.; Сандық әдістерді объектіге бағытталған іске асыру, Morgan & Kaufmann, Сан-Франциско, Калифорния, 2000. Деммель, Джеймс В., Қолданбалы сандық сызықтық алгебра, Өнеркәсіптік және қолданбалы математика қоғамы (SIAM), Филадельфия, ПА, 1997. Хигам, Николас Дж.; Сандық алгоритмдердің дәлдігі және тұрақтылығы, Өнеркәсіптік және қолданбалы математика қоғамы (SIAM), Филадельфия, ПА, екінші басылым, 2002. Пресс, Уильям Х.; Теукольски, Сол А.; Веттерлинг, Уильям Т.; және Фланнери, Брайан П.; Fortran 77 тіліндегі сандық рецепттер, 2-ші басылым, 20.2 тарау, 881–886 беттер. Форсайт, Джордж Е.; Малколм, Майкл А.; Молер, Клив Б.; "Математикалық есептеулерге арналған компьютерлік әдістер", Prentice Hall, 1977.