آلة إبسيلون

دقة الآلة أو دقة الجهاز هي حد أعلى لخطأ التقريب النسبي الناتج عن التقريب في أنظمة الأعداد العشرية . تُميز هذه القيمة الحساب الحاسوبي في مجال التحليل العددي ، وبشكل أوسع في مجال علوم الحوسبة . تُسمى هذه الكمية أيضًا ماكيبس ، ورمزها باليونانية إبسيلون.ε{\displaystyle \varepsilon }.

هناك تعريفان سائدان، يُشار إليهما هنا باسم إبسيلون آلة التقريب أو التعريف الرسمي وإبسيلون آلة الفاصل الزمني أو التعريف السائد .

في التعريف السائد ، يكون إبسيلون الآلة مستقلاً عن طريقة التقريب، ويتم تعريفه ببساطة على أنه الفرق بين 1 ورقم الفاصلة العائمة الأكبر التالي .

في التعريف الرسمي ، يعتمد إبسيلون الآلة على نوع التقريب المستخدم، ويُطلق عليه أيضًا اسم تقريب الوحدة ، والذي يرمز له بالرمز الروماني الغامق.u{\displaystyle \mathbf {u} }.

يمكن اعتبار المصطلحين بشكل عام مختلفين بعامل اثنين فقط، حيث أن التعريف الرسمي ينتج عنه قيمة إبسيلون نصف حجم التعريف السائد ، كما هو ملخص في الجداول في القسم التالي.

قيم العمليات الحسابية القياسية للأجهزة

يسرد الجدول التالي قيم إبسيلون الخاصة بالآلة لتنسيقات الفاصلة العائمة القياسية.

IEEE 754 - 2008الاسم الشائعنوع البيانات Cقاعدةب{\displaystyle b}دقةص{\displaystyle p}آلة التقريب إبسيلون [ أ ]ب-(ص-1)/2{\displaystyle b^{-(p-1)}/2}آلة الفترات إبسيلون [ ب ]ب-(ص-1){\displaystyle b^{-(p-1)}}
binary16نصف الدقةint16_t[ 1 ]211 (بت واحد ضمني)2 −11 ≈ 4.88e-042 −10 ≈ 9.77e-04
binary32دقة مفردةfloat32_t224 (بت واحد ضمني)2 −24 ≈ 5.96e-082 −23 ≈ 1.19e-07
binary64الدقة المزدوجةfloat64_t253 (بت واحد ضمني)2 −53 ≈ 1.11e-162 −52 ≈ 2.22e-16
دقة موسعة ، مزدوج طويل_float80[ 2 ]2642 −64 ≈ 5.42e-202 −63 ≈ 1.08e-19
binary128دقة رباعية_float128[ 2 ]2113 (بت واحد ضمني)2 −113 ≈ 9.63e-352 −112 ≈ 1.93e-34
decimal32عدد عشري أحادي الدقة_Decimal32[ 3 ]1075 × 10 −710 −6
decimal64عدد عشري مزدوج الدقة_Decimal64[ 3 ]10165 × 10 −1610-15
عشري 128دقة رباعية (رباعية) عشرية_Decimal128[ 3 ]10345 × 10 −3410 −33
  1. وفقًا للتعريف الرسمي - المستخدم من قبل البروفيسور ديميل، وبرنامجي LAPACK و Scilab - يُمثل هذا أكبر خطأ تقريب نسبي في وضع التقريب لأقرب عدد . والسبب في ذلك هو أن خطأ التقريب يساوي نصف المسافة التصاعدية إلى العدد التالي القابل للتمثيل بدقة محدودة. وبالتالي، فإن خطأ التقريب النسبي للعددx{\displaystyle x}يكون[فاصلة/2]/x{\displaystyle [{\text{interval}}/2]/x}في هذا السياق، يحدث أكبر خطأ نسبي عندماx=1.0{\displaystyle x=1.0}، وهو يساوي[حزب العمل المتحد(1.0)/2]/1.0{\displaystyle [{\text{ULP}}(1.0)/2]/1.0}لأن الأعداد الحقيقية تقع في النصف السفلي من الفترة1.01.0+حزب العمل المتحد(1){\displaystyle 1.0\sim 1.0+{\text{ULP}}(1)}يتم تقريبها إلى الأدنى1.0{\displaystyle 1.0}ويتم تقريب الأرقام في النصف العلوي من الفترة إلى أقرب عدد صحيح.1.0+حزب العمل المتحد(1){\displaystyle 1.0+{\text{ULP}}(1)}هنا نستخدم تعريفحزب العمل المتحد(1){\displaystyle {\text{ULP}}(1)}( الوحدة في المكان الأخير ) كفرق إيجابي بين 1.0 (الذي يمكن تمثيله بدقة محدودة) والرقم الأكبر التالي الذي يمكن تمثيله بدقة محدودة.
  2. وفقًا للتعريف السائد - الذي استخدمه البروفيسور هايغام؛ والمطبق في ثوابت اللغات في Ada و C و C++ و Fortran و MATLAB و Mathematica و Octave و Pascal و Python و Rust وغيرها، والمُعرَّف في كتب مثل « الوصفات العددية » لبريس وآخرين . يُمثل هذا التعريف أكبر فاصل نسبي بين أقرب عددين في الدقة المحدودة، أو أكبر خطأ تقريب في وضع التقريب التدريجي . والأساس المنطقي هو أن الفاصل النسبي للعددx{\displaystyle x}يكون[فاصلة]/x{\displaystyle [{\text{interval}}]/x}أينفاصلة{\displaystyle {\text{interval}}}هي المسافة إلى العدد التالي القابل للتمثيل بدقة محدودة. في هذا السياق، تحدث أكبر فترة نسبية عندماx=1.0{\displaystyle x=1.0}وهي الفترة بين 1.0 (الذي يمكن تمثيله بدقة تامة في نظام العد ذي الدقة المحدودة) والعدد العشري الأكبر التالي القابل للتمثيل. هذه الفترة تساوي ULP(1) .

تعريفات بديلة لـ إبسيلون

لا يحدد معيار IEEE مصطلحي "إبسيلون الآلة" و "تقريب الوحدة" ، لذلك يتم استخدام تعريفات مختلفة لهذه المصطلحات، مما قد يسبب بعض الارتباك.

يختلف المصطلحان بمعامل اثنين فقط. يُستخدم المصطلح الأكثر شيوعًا (المشار إليه بالتعريف السائد في هذه المقالة) في معظم لغات البرمجة الحديثة، ويُعرَّف ببساطة بأنه الفرق بين 1 والعدد العشري الأكبر التالي . يمكن اعتبار التعريف الرسمي عمومًا أنه يُعطي قيمة إبسيلون نصف قيمة التعريف السائد ، على الرغم من أن تعريفه يختلف باختلاف طريقة التقريب المستخدمة.

سيتم شرح المصطلحين بالتفصيل في القسمين الفرعيين التاليين.

التعريف الرسمي ( آلة تقريب إبسيلون)

التعريف الرسمي لـ "إبسيلون الآلة" هو التعريف الذي استخدمه البروفيسور جيمس ديميل في نصوص محاضراته، [ 4 ] وحزمة LAPACK للجبر الخطي، [ 5 ] وأوراق البحث في علم الأعداد ، [ 6 ] وبعض برامج الحوسبة العلمية. [ 7 ] يستخدم معظم محللي الأعداد مصطلحي "إبسيلون الآلة" و "تقريب الوحدة" بشكل متبادل مع هذا المعنى، والذي سيتم تناوله بالتفصيل في هذا القسم الفرعي.

التقريب هو إجراء لاختيار تمثيل العدد الحقيقي في نظام الأعداد العشرية . بالنسبة لنظام عددي وإجراء تقريب، فإن إبسيلون الآلة هو أقصى خطأ نسبي لإجراء التقريب المُختار.

يلزم بعض المعلومات الأساسية لتحديد قيمة من هذا التعريف. يتميز نظام الأعداد العشرية بنظام أساس يُسمى أيضًا الأساس.ب{\displaystyle b}وبفضل الدقةص{\displaystyle p}أي عدد الجذورب{\displaystyle b}أرقام الجزء الدال (بما في ذلك أي بت ضمني في البداية). جميع الأعداد التي لها نفس الأس .هـ{\displaystyle e}، مع مراعاة التباعد،بهـ-(ص-1){\displaystyle b^{e-(p-1)}}تتغير المسافات عند الأرقام التي تمثل قوى كاملة لـب{\displaystyle b}المسافة على جانب المقدار الأكبر هيب{\displaystyle b}أكبر بعدة مرات من المسافة على جانب الحجم الأصغر.

بما أن قيمة إبسيلون للآلة تمثل حدًا للخطأ النسبي، فإنه يكفي النظر في الأرقام ذات الأس.هـ=0{\displaystyle e=0}يكفي أيضًا النظر إلى الأعداد الموجبة. بالنسبة للتقريب المعتاد لأقرب عدد صحيح، يكون خطأ التقريب المطلق على الأكثر نصف المسافة، أوب-(ص-1)/2{\displaystyle b^{-(p-1)}/2}هذه القيمة هي أكبر بسط ممكن للخطأ النسبي. أما المقام في الخطأ النسبي فهو العدد المراد تقريبه، والذي يجب أن يكون أصغر ما يمكن لجعل الخطأ النسبي كبيرًا. ولذلك، يحدث أسوأ خطأ نسبي عند تقريب أعداد من الشكل التالي:1+أ{\displaystyle 1+a}أينأ{\displaystyle a}هو بين0{\displaystyle 0}وب-(ص-1)/2{\displaystyle b^{-(p-1)}/2}جميع هذه الأرقام تُقرّب إلى1{\displaystyle 1}مع الخطأ النسبيأ/(1+أ){\displaystyle a/(1+a)}يحدث الحد الأقصى عندماأ{\displaystyle a}يقع في أعلى نطاقه.1+أ{\displaystyle 1+a}إن المقدار الموجود في المقام ضئيل مقارنة بالبسط، لذلك يتم حذفه اختصارًا، وفقطب-(ص-1)/2{\displaystyle b^{-(p-1)}/2}يُعتبر هذا هو إبسيلون الآلة. وكما هو موضح هنا، يكون الخطأ النسبي أسوأ بالنسبة للأعداد التي تُقرّب إلى1{\displaystyle 1}لذلك يُطلق على إبسيلون الآلة أيضًا اسم تقريب الوحدة، مما يعني تقريبًا "الخطأ الأقصى الذي يمكن أن يحدث عند التقريب إلى قيمة الوحدة".

وبالتالي، فإن أقصى مسافة بين عدد الفاصلة العائمة المعياري،x{\displaystyle x}، والعدد المعياري المجاور هو2ε|x|{\displaystyle 2\varepsilon |x|}[ 8 ]

النموذج الحسابي

يستخدم التحليل العددي قيمة إبسيلون للآلة لدراسة تأثيرات خطأ التقريب. ونظرًا لتعقيد أخطاء الحساب الآلي، يصعب دراستها مباشرةً، لذا يُستخدم النموذج البسيط التالي. ينص معيار IEEE للحساب على أن جميع عمليات الفاصلة العائمة تُجرى كما لو كان من الممكن إجراء عملية بدقة لا نهائية، ثم تُقرّب النتيجة إلى عدد عشري. لنفترض (1)x{\displaystyle x}،y{\displaystyle y}(2) هي أعداد ذات فاصلة عائمة{\displaystyle \bullet }هي عملية حسابية على الأعداد العشرية مثل الجمع أو الضرب، و (3){\displaystyle \circ }هي عملية ذات دقة لا نهائية. وفقًا للمعيار، يقوم الحاسوب بحساب ما يلي:

xy=دائري(xy){\displaystyle x\bullet y={\mbox{round}}(x\circ y)}

بحسب معنى إبسيلون الآلة، فإن الخطأ النسبي للتقريب لا يتجاوز إبسيلون الآلة من حيث الحجم، لذا:

xy=(xy)(1+z){\displaystyle x\bullet y=(x\circ y)(1+z)}

أينz{\displaystyle z}في القيمة المطلقة، هو على الأكثرε{\displaystyle \varepsilon }أو u . يمكن الرجوع إلى كتب ديميل وهايام في المراجع لمعرفة كيفية استخدام هذا النموذج لتحليل أخطاء، على سبيل المثال، الحذف الغاوسي .

التعريف السائد ( آلة الفاصل الزمني إبسيلون)

يُعدّ هذا التعريف البديل أكثر انتشارًا: إبسيلون الآلة هو الفرق بين 1 والعدد العشري الأكبر التالي . يُستخدم هذا التعريف في ثوابت لغات البرمجة مثل Ada و C و C++ و Fortran و MATLAB و Mathematica و Octave و Pascal و Python و Rust وغيرها، كما يُعرّف في كتب مرجعية مثل « الوصفات العددية » لبريس وآخرين .

بحسب هذا التعريف،ε{\displaystyle \varepsilon }يساوي قيمة الوحدة في الخانة الأخيرة بالنسبة إلى 1، أيب-(ص-1){\displaystyle b^{-(p-1)}}(أينب{\displaystyle b}هو أساس نظام الفاصلة العائمة وص{\displaystyle p}الدقة) وتقريب الوحدة هوu=ε2{\displaystyle \mathbf {u} ={\frac {\varepsilon }{2}}}، بافتراض استخدام وضع التقريب لأقرب عدد صحيح ، وu=ε{\displaystyle \mathbf {u} =\varepsilon }، بافتراض التقطيع على مراحل .

يرجع شيوع هذا التعريف إلى استخدامه في معيار ISO C للثوابت المتعلقة بأنواع الأعداد العشرية [ 9 ] [ 10 ] والثوابت المقابلة في لغات البرمجة الأخرى. [ 11 ] [ 12 ] [ 13 ] كما يُستخدم على نطاق واسع في برامج الحوسبة العلمية [ 14 ] [ 15 ] [ 16 ] وفي أدبيات الإحصاء والحوسبة. [ 17 ] [ 18 ] [ 19 ] [ 20 ]

كيفية تحديد إبسيلون الآلة

عندما لا توفر المكتبات القياسية قيمًا مُحسوبة مسبقًا (على سبيل المثال FLT_EPSILON، DBL_EPSILONفي LDBL_EPSILONلغة C ، std::numeric_limits<T>::epsilon()وفي لغة C++ ، أو java.lang.Float.EPSILONفي java.lang.Double.EPSILONلغة Java )، فإن أفضل طريقة لتحديد قيمة إبسيلون الآلة هي الرجوع إلى الجدول أعلاه، واستخدام صيغة القوة المناسبة. غالبًا ما يُطرح حساب إبسيلون الآلة كتمرين في الكتب الدراسية. تحسب الأمثلة التالية إبسيلون الآلة الفاصلية بمعنى تباعد الأرقام العشرية عند 1، وليس بمعنى تقريب الوحدة.

لاحظ أن النتائج تعتمد على تنسيق الفاصلة العائمة المحدد المستخدم، مثل float، double، long double، أو ما شابه ذلك كما تدعمه لغة البرمجة والمترجم ومكتبة وقت التشغيل للنظام الأساسي الفعلي.

قد لا يدعم المُصرّف ونظام التشغيل المُختاران بعض التنسيقات التي يدعمها المعالج. وقد تُحاكي مكتبة وقت التشغيل تنسيقات أخرى، بما في ذلك العمليات الحسابية ذات الدقة العشوائية المتوفرة في بعض اللغات والمكتبات.

بالمعنى الدقيق، يشير مصطلح إبسيلون الآلة إلى1+ε{\displaystyle 1+\varepsilon }الدقة مدعومة مباشرة من قبل المعالج (أو المعالج المساعد )، وليس من قبل أي جهة أخرى.1+ε{\displaystyle 1+\varepsilon }الدقة التي يدعمها مترجم معين لنظام تشغيل معين، ما لم يكن معروفًا أنه يستخدم أفضل تنسيق.

تتميز تنسيقات الفاصلة العائمة IEEE 754 بخاصية أنه عند إعادة تفسيرها كعدد صحيح مكمل ثنائي بنفس العرض، فإنها تتزايد بشكل رتيب على القيم الموجبة وتتناقص بشكل رتيب على القيم السالبة (انظر التمثيل الثنائي للأعداد العشرية ذات 32 بت ). كما أنها تتميز بخاصية أن0<|و(x)|<{\displaystyle 0<|f(x)|<\infty }، و|و(x+1)-و(x)||و(x)-و(x-1)|{\displaystyle |f(x+1)-f(x)|\geq |f(x)-f(x-1)|}(أينو(x){\displaystyle f(x)}هل إعادة تفسير العدد الصحيح المذكورة أعلاه لـx{\displaystyle x}في اللغات التي تسمح بتورية الأنواع وتستخدم دائمًا معيار IEEE 754-1985، يمكننا استغلال ذلك لحساب قيمة إبسيلون الآلة في وقت ثابت. على سبيل المثال، في لغة C:

اتحاد DoubleBits { int64_t i ; double d ; };دالة إبسيلون المزدوجة ( قيمة مزدوجة ) { اتحاد DoubleBits s ؛ s.d = القيمة ؛ s.i ++ ؛ إرجاع s.d - القيمة ؛ }

سيعطي هذا نتيجة بنفس إشارة القيمة. إذا كانت النتيجة الموجبة مطلوبة دائمًا، فيمكن استبدال عبارة الإرجاع بما يلي :epsilon()

إذا كانت قيمة s.i أقل من 0 ، فأرجع القيمة ناقص s.d ، وإلا فأرجع s.d ناقص القيمة .

بدون استخدام التورية ، وبافتراض وضع التقريب الافتراضي لـ RN:

const double epsilon = 1.0 + ( 1.0 - 4.0 / 3.0 ) * 3.0 ;

مثال بلغة بايثون:

من typing استورد Callableدالة إبسيلون ( دالة : دالة قابلة للاستدعاء [[ عدد عشري عدد عشري ] = عدد عشري ) -> عدد عشري : إبسيلون : عدد عشري = دالة ( 1 ) بينما دالة ( 1 ) + إبسيلون != دالة ( 1 ): إبسيلون_الأخير : عدد عشري = إبسيلون إبسيلون = دالة ( إبسيلون ) / دالة ( 2 ) إرجاع إبسيلون_الأخير

تعطي الأعداد العشرية ذات 64 بت 2.220446e-16، وهو 2 −52 كما هو متوقع.

تقريب

يمكن استخدام الخوارزمية البسيطة التالية لتقريب قيمة إبسيلون الآلة، في حدود عامل اثنين من قيمتها الحقيقية، باستخدام البحث الخطي .

إبسيلون = 1.0؛ بينما (1.0 + 0.5 * إبسيلون)  1.0: إبسيلون = 0.5 * إبسيلون

آلة إبسيلون،εماخ{\textstyle \varepsilon _{\text{mach}}}ويمكن أيضًا حسابها ببساطة على أنها اثنان مرفوعة إلى القوة السالبة لعدد البتات المستخدمة في الجزء الكسري.

εماخ = 2-البتات المستخدمة لتحديد مقدار الجزء الكسري{\displaystyle \varepsilon _{\text{mach}}\ =\ 2^{-{\text{bits used for magnitude of mantissa}}}}

العلاقة بالخطأ النسبي المطلق

لوy{\textstyle y}هو التمثيل الآلي للعددx{\textstyle x}إذن، الخطأ النسبي المطلق في التمثيل هو|x-yx|εماخ.{\textstyle \left|{\dfrac {x-y}{x}}\right|\leq \varepsilon _{\text{mach}}.}[ 21 ]

دليل

يقتصر البرهان التالي على الأعداد الموجبة والتمثيلات الآلية باستخدام طريقة التقريب والتقطيع .

لوx{\textstyle x}إذا كان عددًا موجبًا نريد تمثيله، فسيكون بين عددين من الأرقام التي تحددها الآلة.xب{\textstyle x_{b}}أقلx{\textstyle x}ورقم الجهازxu{\textstyle x_{u}}فوقx{\textstyle x}.

لوxب=(1.ب1ب2...بم)2×2ك{\textstyle x_{b}=\left(1.b_{1}b_{2}\ldots b_{m}\right)_{2}\times 2^{k}}، أينم{\textstyle m}إذا كان عدد البتات المستخدمة لقيمة الجزء الدال هو:

xu=[(1.ب1ب2...بم)2+(0.00...1)2]×2ك=[(1.ب1ب2...بم)2+2-م]×2ك=(1.ب1ب2...بم)2×2ك+2-م×2ك=(1.ب1ب2...بم)2×2ك+2-م+ك.{\displaystyle {\begin{aligned}x_{u}&=\left[(1.b_{1}b_{2}\ldots b_{m})_{2}+(0.00\ldots 1)_{2}\right]\times 2^{k}\\&=\left[(1.b_{1}b_{2}\ldots b_{m})_{2}+2^{-m}\right]\times 2^{k}\\&=(1.b_{1}b_{2}\ldots b_{m})_{2}\times 2^{k}+2^{-m}\times 2^{k}\\&=(1.b_{1}b_{2}\ldots b_{m})_{2}\times 2^{k}+2^{-m+k}.\end{aligned}}}

منذ تمثيلx{\textstyle x}سيكون إماxب{\textstyle x_{b}}أوxu{\textstyle x_{u}}،

|x-y||xب-xu|=2-م+ك{\displaystyle {\begin{aligned}\left|x-y\right|&\leq \left|x_{b}-x_{u}\right|\\&=2^{-m+k}\end{aligned}}}|x-yx|2-م+كx2-م+كxب=2-م+ك(1ب1ب2...بم)22ك=2-م(1ب1ب2...بم)22-م=εماخ.{\displaystyle {\begin{aligned}\left|{\frac {x-y}{x}}\right|&\leq {\frac {2^{-m+k}}{x}}\\&\leq {\frac {2^{-m+k}}{x_{b}}}\\&={\frac {2^{-m+k}}{(1\cdot b_{1}b_{2}\ldots b_{m})_{2}2^{k}}}\\&={\frac {2^{-m}}{(1\cdot b_{1}b_{2}\ldots b_{m})_{2}}}\\&\leq 2^{-m}=\varepsilon _{\text{mach}}.\end{aligned}}}

على الرغم من أن هذا البرهان يقتصر على الأعداد الموجبة والتقريب بالتقطيع، إلا أنه يمكن استخدام نفس الطريقة لإثبات عدم المساواة فيما يتعلق بالأعداد السالبة وتمثيلات الآلة المقربة لأقرب عدد .

انظر أيضاً

ملاحظات ومراجع

  1. أنواع الأعداد الصحيحة ذات العرض الثابت (منذ C++11)
  2. 1 2 أنواع البيانات العائمة - استخدام مجموعة مترجمات GNU (GCC)
  3. 1 2 3 عشري عائم - استخدام مجموعة مترجمات GNU (GCC)
  4. "القضايا الأساسية في الحساب ذي الفاصلة العائمة وتحليل الأخطاء" . 21 أكتوبر 1999. تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  5. "دليل مستخدمي LAPACK، الطبعة الثالثة" . 22 أغسطس 1999. تم الاطلاع عليه في 9 مارس 2012 .
  6. «ديفيد غولدبيرغ: ما يجب أن يعرفه كل عالم حاسوب عن الحساب ذي الفاصلة العائمة، مجلة ACM Computing Surveys، المجلد 23، العدد 1، مارس 1991» (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 25 مارس 2016. تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  7. "وثائق Scilab - خصائص الأرقام - تحديد معلمات الفاصلة العائمة" . تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  8. " مشكلات أساسية في حسابات الفاصلة العائمة وتحليل الأخطاء" . جامعة كاليفورنيا، بيركلي. 21 أكتوبر 1999. تم الاطلاع عليه في 11 يونيو 2022. المسافة بين 1 والعدد العشري الأكبر التالي هي 2 * macheps.
  9. جونز، ديريك م. (2009). معيار C الجديد - تعليق اقتصادي وثقافي (ملف PDF) . ص 377. 
  10. "مرجع float.h على موقع cplusplus.com" . تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  11. "مرجع std::numeric_limits على موقع cplusplus.com" . تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  12. "وثائق بايثون - المعلمات والوظائف الخاصة بالنظام" . تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  13. باسكال الموسعة ISO 10206:1990 (تقرير فني). تكون قيمة إبسيلون ريال هي نتيجة طرح 1.0 من أصغر قيمة حقيقية أكبر من 1.0.
  14. "وثائق Mathematica: $MachineEpsilon" . تم الاطلاع عليها بتاريخ 11 أبريل 2013 .
  15. "وثائق ماتلاب - eps - الدقة النسبية للفاصلة العائمة" . مؤرشف من الأصل بتاريخ 7 أغسطس 2013. تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  16. "توثيق أوكتاف - دالة eps" . تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  17. هايام، نيكولاس (2002). دقة واستقرار الخوارزميات العددية (الطبعة الثانية) . SIAM. ص 27-28 . 
  18. ^ كوارتيروني، ألفيو ؛ ساكو، ريكاردو؛ ساليري، فاوستو (2000). الرياضيات العددية (PDF) . سبرينغر. ص. 49. ردمك  0-387-98959-5أُرشف من النسخة الأصلية (PDF) بتاريخ 14 نوفمبر 2017. تم الاطلاع عليه بتاريخ 11 أبريل 2013 .
  19. بريس، ويليام هـ.؛ تيوكولسكي، شاول أ.؛ فيترلينج، ويليام ت.؛ فلاني، برايان ب. وصفات عددية . ص 890. 
  20. ^ إنجلن مولجيس، جيزيلا. رويتر، فريتز (1996). الخوارزميات الرقمية . ص. 6. رقم ISBN  3-18-401539-4.
  21. "قيمة إبسيلون للآلة لمعيار IEEE ذي الدقة المزدوجة: برهان بديل باستخدام الخطأ النسبي" . ١٢ أكتوبر ٢٠٢٠. تم الاطلاع عليه في ٥ مايو ٢٠٢٢ .
  • أندرسون، إي.؛ دليل مستخدمي LAPACK، جمعية الرياضيات الصناعية والتطبيقية (SIAM)، فيلادلفيا، بنسلفانيا، الطبعة الثالثة، 1999.
  • كودي، ويليام جيه؛ MACHAR: روتين فرعي لتحديد معلمات الآلة ديناميكيًا، معاملات ACM في البرمجيات الرياضية، المجلد 14 (4)، 1988، 303-311.
  • بيسيت، ديدييه هـ.؛ التنفيذ الموجه للكائنات للأساليب العددية، مورغان وكوفمان، سان فرانسيسكو، كاليفورنيا، 2000.
  • ديميل، جيمس دبليو ، الجبر الخطي العددي التطبيقي، جمعية الرياضيات الصناعية والتطبيقية (SIAM)، فيلادلفيا، بنسلفانيا، 1997.
  • Higham, Nicholas J.; دقة واستقرار الخوارزميات العددية، جمعية الرياضيات الصناعية والتطبيقية (SIAM)، فيلادلفيا، بنسلفانيا، الطبعة الثانية، 2002.
  • بريس، ويليام هـ.؛ تيوكولسكي، شاول أ.؛ فيترلينغ، ويليام ت.؛ وفلانيري، برايان ب.؛ الوصفات العددية في فورتران 77 ، الطبعة الثانية، الفصل 20.2، الصفحات  881-886
  • فورسايث، جورج إي.؛ مالكولم، مايكل أ.؛ مولر، كليف ب.؛ "أساليب الحاسوب للحسابات الرياضية"، برنتيس هول، رقم ISBN 0-13-165332-61977