گرد کردن هر عدد حقیقی را روی شبکهای مینشاند که فاصلهٔ محلیاش یک واحد در آخرین رقم است، عدد شرطی دقیقاً همان ضریبی است که مسئله با آن این خطای اجتنابناپذیر داده را در پاسخ تقویت میکند، و الگوریتم پایدارِ پسرو تنها قول میدهد که مسئلهای مجاور را بهطور دقیق حل کرده است.
کارت مفهوم کنکور ارشد ریاضی
اهمیت
۰/۵
1. دستگاه ممیز شناور چیست
یک ماشین تنها مجموعهای متناهی F=F(β,t,L,U)⊂R از اعداد ماشینی را ذخیره میکند که به شکل نرمالشده نوشته میشوند:
با پایهٔβ، طول مانتیسt و بازهٔ نما [L,U]. نرمالسازی (d1=0) نمایش را یکتا میکند. دو قرارداد رایجاند — شکل کسری بالا و شکل IEEE یعنی (d0.d1⋯dt−1)β×βE با e=E+1 — و این دو تنها در یک انتقال نما با هم فرق دارند، هرگز در پاسخ.
کمیت
شکل کسری (0.d1⋯dt)ββe
شکل IEEE (d0.d1⋯dt−1)ββE
فاصلهٔ محلی شبکه در x
βe−t
βE−t+1
کوچکترین عدد مثبت نرمالشده
βL−1
βL
بزرگترین عدد متناهی
(1−β−t)βU
(β−β1−t)βU
تعداد اعداد نرمالشده
2(β−1)βt−1(U−L+1)+1
همان
تصویر شبکه — تنها تصویری که باید به خاطر بسپارید. نما e را ثابت کنید. وقتی مانتیس روی (β−1)βt−1 مقدار مجاز خود میگردد، اعداد ماشینی واقع در [βe−1,βe) یک تصاعد حسابی میسازند که گام آن یک واحد در آخرین رقم مانتیس است:
ulp(x)=β−t⋅βe=βe−t.
پس Fبهطور یکنواخت فاصلهگذاری نشده است: هر بار که از یک توان β عبور میکنید، گام در β ضرب میشود. آنچه (تقریباً) ثابت میماند فاصلهٔ نسبی است، ulp(x)/∣x∣∈(β−t,β1−t]. بیرون از [βL−1,(1−β−t)βU] با زیرریزی / سرریز روبهرو میشوید (استاندارد IEEE انتهای پایین را با اعداد زیرنرمال±(0.d1⋯dt)ββL ملایم میکند: با فاصلهگذاری یکنواخت و دقتی که پیوسته کمتر میشود).
1a. فرمولی مستقل از قرارداد برای فاصله
چون دو قرارداد، e و t را همزمان یک واحد جابهجا میکنند، بهتر است فاصله را به شکلی به یاد بسپاریم که به هیچیک اشاره نکند. فرض کنید t تعداد ارقام بامعنای واقعاً ذخیرهشده باشد و x در باینِد[βk,βk+1) قرار گیرد، یعنی k=⌊logβ∣x∣⌋. آنگاه
ulp(x)=β1−t⋅β⌊logβ∣x∣⌋=εmachβk
وارسی درستی: در x=1 به β1−t=εmach میرسیم، یعنی فاصلهٔ 1 تا عدد ماشینی بعد از آن — که دقیقاً تعریف اپسیلون ماشین است. هر چیز دیگری همین فرمول است که در βk مقیاس شده باشد.
1b. شبکه در هر توان پایه نامتقارن است
در مرز دو باینِد فاصله جهش میکند، پس شکاف رو به بالا و شکاف رو به پایین یکسان نیستند:
موقعیت x>0
فاصله تا عدد ماشینی بالاتر بعدی
فاصله تا عدد ماشینی پایینتر بعدی
کاملاً درون یک باینِد، βk<x<βk+1
βk+1−t
βk+1−t (همان)
دقیقاً در x=βk
βk+1−t
βk−t — به ضریب βکوچکتر
بهطور مشخص با β=2 و t=3 بیت بامعنا، اعداد ماشینی پیرامون 8=23 چنیناند:
…,4,5,6,7,8,10,12,14,16,20,…
با فاصلهٔ 1 روی [4,8) و فاصلهٔ 2 روی [8,16). پرسشی که همسایهٔ بزرگتر از یک توان پایه را میخواهد و پرسشی که همسایهٔ کوچکتر را میخواهد، پاسخهایی دارند که دقیقاً به ضریب β تفاوت میکنند — و هر دو عدد همیشه در میان چهار گزینه حاضرند.
1c. دستگاه چند عدد دارد
اندازهٔ F یک قاعدهٔ ضرب خالص است: انتخابهای مستقل را بشمارید، سپس تنها مقداری را که نرمالسازی نمیتواند بیان کند وصله بزنید.
مؤلفه
تعداد انتخابها
چرا
علامت
2
+ و −
رقم پیشرو d1
β−1
نرمالسازی d1=0 را ممنوع میکند
ارقام باقیمانده d2,…,dt
βt−1
هرکدام آزادانه در {0,1,…,β−1}
نما e
U−L+1
شمارش شاملِ دو سر اعداد صحیح در [L,U]
عدد 0
+1
به d1=0 نیاز دارد، پس با یک کد ویژه ذخیره میشود
∣F∣=2(β−1)βt−1(U−L+1)+1
خواندن ساختاری این تجزیه ارزش دارد: (β−1)βt−1 تعداد مانتیسهای مجاز است (همارز با تعداد اعداد ماشینی درون یک باینِد)، U−L+1 تعداد باینِدها است، و ضریب پیشروی 2 همهچیز را نسبت به مبدأ آینه میکند. متمایز بودن خودبهخود برقرار است، زیرا نمایشهای نرمالشده یکتایند.
عبارتبندی پرسش تعیین میکند کدام تکهها را نگه دارید:
پرسش چه میخواهد
فرمول
همهٔ اعداد قابل نمایش (حالت پیشفرض)
2(β−1)βt−1(U−L+1)+1
فقط اعداد مثبت
(β−1)βt−1(U−L+1)
فقط اعداد ناصفر
2(β−1)βt−1(U−L+1)
دستگاهی که زیرنرمالها را هم دارد
2[(β−1)βt−1(U−L+1)+βt−1−1]+1
(شمارِ زیرنرمالها یعنی βt−1−1، تعداد مانتیسهای 0.0d2⋯dt است که همگی صفر نیستند و همه با همان تکنمای L حمل میشوند.)
شمارش نما لغزش حسابی کلاسیک است: −4≤e≤4 شامل 9 عدد صحیح است، نه 8، و L≤e≤U شامل U−L+1 است، نه U−L. فراموش کردن +1 مربوط به صفر، یا ضریب 2 مربوط به علامت، دو گزینهٔ انحرافی دیگر را میسازد.
2. گرد کردن، قطع کردن و واحد گردکردن
نگاشت fl:R→F یک عدد حقیقی را به یک عدد ماشینی میبرد، یا با گرد کردن به نزدیکترین نقطهٔ شبکه یا با قطع کردن (دور ریختن همهٔ ارقام پس از dt). در هر دو حالت
fl(x)=x(1+δ),∣δ∣≤u={21β1−t,β1−t,round to nearest,chopping (truncation).
عدد uواحد گردکردن است؛ و εmach=β1−tاپسیلون ماشین است، یعنی فاصلهٔ 1 تا عدد ماشینی بعدی (در واقع 1=(0.10⋯0)β×β1 در نمای e=1 مینشیند، پس ulp آن β1−t است). بهطور مطلق ∣fl(x)−x∣≤21βe−t (گرد کردن) و <βe−t (قطع کردن)؛ قطع کردن به سمت صفر اریب است و گرد کردن متقارن است. دقت مضاعف IEEE: β=2، t=53، εmach=2−52≈2.2×10−16.
شیوهٔ گرد کردن خطا را تغییر میدهد، نه شبکه را. قطع کردن، گرد کردن به نزدیکترین، و گرد کردن به نزدیکترینِ زوج همگی به همان مجموعهٔ F مینگارند، مجموعهای که تنها با (β,t,L,U) تعیین میشود. پس هر پرسشی دربارهٔ جای اعداد قابل نمایش — فاصله، عدد بعدی، عدد قبلی، تعدادشان — کاملاً نسبت به واژههای «گرد کردن / قطع کردن» بیاثر است؛ این واژهها فقط بر اندازهٔ ∣fl(x)−x∣ اثر دارند.
2a. سه کمیت که همه «اپسیلون» نامیده میشوند — آنها را جدا نگه دارید
کمیت
گرد کردن به نزدیکترین
قطع کردن
خاصیتِ چیست
اپسیلون ماشین εmach=ulp(1)
β1−t
β1−t
شبکه — فاصلهٔ 1 تا عدد بعدی
واحد گردکردن u، بیشترین خطای نسبی fl
21β1−t
β1−t
قاعدهٔ گرد کردن
کوچکترین ε>0 با fl(1+ε)>1
21β1−t
β1−t
شبکه و قاعده با هم
چرا سطر آخر به ضریب 2 فرق میکند: در قطع کردن، هر عدد حقیقی در [1,1+β1−t) به 1 بریده میشود، پس چیزی کمتر از یک ulp کامل نمیتواند مقدار ذخیرهشده را تکان دهد — از این رو β1−t. در گرد کردن به نزدیکترین، نقطهٔ میانی 1+21β1−t همین حالا به بالا گرد میشود، پس نصف یک ulp کافی است (با قاعدهٔ تساویبهزوج، کمی بیش از نصف لازم است). بنابراین عبارت فارسی «روند عدد یک» در دستگاهی با قطع کردن، β1−t را میخواهد و مقدار گرد کردن یعنی 21β1−t دقیقاً همان گزینهٔ انحرافیِ ضریب 2 است که کنارش گذاشتهاند.
مدل استاندارد حساب. برای ∗∈{+,−,×,÷} داریم fl(x∗y)=(x∗y)(1+δ) با ∣δ∣≤u: هر عمل مقدماتی روی دادهای اندکی آشفته دقیق است. همین یک سطر بذر تمام تحلیل خطای پسرو است.
لم اشترنبنز. اگر 21y≤x≤2y آنگاه x−y در حساب ممیز شناور دقیقاً محاسبه میشود. درست بخوانیدش: حذف تفاضلی خطای گردکردن نمیسازد — بلکه خطایی را که x و y از پیش با خود داشتند آشکار میکند، چون نتیجه را کوچک میکند در حالی که خطای مطلق ثابت میماند.
3. خطاها و «ارقام درست»
برای تقریب xˉ از x=0: خطای مطلق ∣xˉ−x∣، خطای نسبی ε=∣xˉ−x∣/∣x∣. بهطور دقیق، xˉ دارای k رقم بامعنای درست در مبنای ده است هرگاه ε≤21×101−k؛ فرهنگ واژگانِ بهدردبخور در کنکور این است:
kreliable decimal digits⟺ε≈10−k⟺k≈−log10ε.
چون ارقام همان −log10 خطای نسبیاند، هر ضریب تقویت ضربی به یک تفریق از ارقام تبدیل میشود. تمام ترفند §5 همین است.
4. خطا چگونه در یک محاسبه منتشر میشود
انتشار مرتبهٔ اول (دیفرانسیلی) برای y=f(x1,…,xn):
و برای یک متغیر، عدد شرطی مسئلهٔx↦f(x) برابر است با κf(x)=f(x)xf′(x).
عمل
قاعدهٔ خطای نسبی
شرطیبودن
xy و x/y
εxy≈εx+εy، εx/y≈εx−εy
κ=1: همیشه امن
xp، از جمله x و 1/x
ε≈∣p∣εx
κ=∣p∣؛ مثلاً V=34πr3 خطای نسبی r را سه برابر میکند
x+y با علامتهای یکسان
ε≤max(εx,εy)
بیخطر
x−y با x≈y
ε=x−yxεx−yεy
κ=∣x−y∣∣x∣+∣y∣→∞: حذف تفاضلی فاجعهبار
هر جمع، بهصورت مطلق
∣Δ(x+y)∣≤∣Δx∣+∣Δy∣
خطاهای مطلق همیشه جمع میشوند
ex
ε≈∣x∣εx
κ=∣x∣: برای ∣x∣ بزرگ بد است
lnx
ε≈εx/∣lnx∣
κ=1/∣lnx∣: نزدیک x=1 بد است
حذف تفاضلی تنها راهی است که یک فرمول بهظاهر بیآزار ارقام را نابود میکند، و درمانش بازنویسی عبارت است، نه بالا بردن دقت محاسبه:
x+1−x=x+1+x1,1−cosx=2sin22x,
و برای ax2+bx+c ریشهٔ با قدرمطلق بزرگتر را از فرمول معمول بگیرید و دیگری را از x1x2=c/a به دست آورید.
انباشت در طول عملهای بسیار. جمع کردن n عدد ماشینی به ترتیب، کران ∣s^−s∣≲(n−1)u∑i∣xi∣ را میدهد: خطای گردکردن (در بدترین حالت) بهطور خطی با تعداد عملها رشد میکند، پس یک الگوریتم O(n3) بدترین حالت O(n3u) دارد — که در عمل معمولاً O(nu) است، زیرا δi ها مانند علامتهای تصادفی مستقل رفتار میکنند. جمع کردن از کوچکترین به بزرگترین، یا جمع جبرانی (کاهان)، بیشتر آن را از میان برمیدارد.
خطای برشی در برابر خطای گردکردن — بدهبستان دوسویه. روشهای گسستهسازی یک خطای روش دارند که با گام h کوچک میشود و یک خطای گردکردن که با h→0 بزرگ میشود. برای تفاضل پیشرو hf(x+h)−f(x)،
این کران برای اختلالهای مناسب حاصل میشود، پس κ(A) دقیقاً ضریب تقویت در بدترین حالت، از خطای نسبی داده به خطای نسبی جواب است. (حالت خاص δA=0 میشود ∥δx∥/∥x∥≤κ(A)∥δb∥/∥b∥.)
مانده در برابر خطا (تلهٔ صحیح/غلط محبوب). با r=b−Ax^،
κ(A)1∥b∥∥r∥≤∥x∥∥x^−x∥≤κ(A)∥b∥∥r∥.
ماندهای بسیار کوچک وقتی κ بزرگ است گواه دقیق بودن جواب نیست — تنها گواه پایداری پسرو است.
قاعدهٔ سرانگشتی از دست رفتن ارقام. دو منبع خطای مستقل به حلکننده خوراک میدهند — دادهٔ (A,b) که تا دقتی متناهی معلوم است، و حسابِ ماشین که تا u دقیق است — و بدترینشان حاکم است:
digits(xˉ)≈min{digits in the data−log10εdata,digits of the machine−log10u}−log10κ(A).
همارز، در یک خط حساب: εeff=max{εdata,u}، سپس ∥xˉ−x∥/∥x∥≲κ(A)εeff، سپس −log10 بگیرید. به بیان ساده: یک دستگاه بدوضع log10κ(A) رقم اعشاری از شما میگیرد، و هیچ الگوریتمی نمیتواند دقتی را که داده هرگز نداشته بازگرداند. این قاعده یک کران بالا برای دقت دستیافتنی است — صورتمسئلههای کنکور دقیقاً به همین دلیل «حداکثر» میگویند.
نُرمهایی که باید بتوانید دستی حساب کنید.
نُرم
مقدار
راه رسیدن به κ
∥A∥1
بیشینهٔ مجموع قدرمطلق ستونها
به A−1 صریح نیاز دارد
∥A∥∞
بیشینهٔ مجموع قدرمطلق سطرها
به A−1 صریح نیاز دارد
∥A∥2
σmax(A)=λmax(ATA)
κ2(A)=σmax/σmin
∥A∥F
(∑i,jaij2)1/2=(∑iσi2)1/2
نُرم القایی نیست؛ ∥I∥F=n
برای ماتریسهای 2×2، A−1=detA1(d−c−ba) — و کنکور هرگز بیش از این وارونگیری نمیخواهد. همچنین κ1(A)=κ∞(AT)، و هر سه عدد شرطی تا ضرایبی از مرتبهٔ n همارزند، پس «بزرگ» یعنی بزرگ در هر نُرم.
خواصی که ارزش حفظ کردن دارند.
κ(αA)=κ(A): مقیاس کردن کل ماتریس هرگز کمکی نمیکند.
κ(A−1)=κ(A) و κ(AB)≤κ(A)κ(B).
κ2(Q)=1 برای Q متعامد — تبدیلهای متعامد رایجترین سرمایهٔ الگوریتمهای پایدارند، و κ2(QAZ)=κ2(A) برای Q,Z متعامد.
اگر A متقارن (بهطور کلیتر، نرمال) باشد، κ2(A)=∣λ∣max/∣λ∣min. برای A عمومی باید از مقادیر تکین استفاده کنید، نه مقادیر ویژه.
κ2(ATA)=κ2(A)2 — معادلات نرمال شرطیبودن را به توان دو میرسانند؛ کمترین مربعات را بهجای آن با تجزیهٔ QR حل کنید.
معنای هندسی: min{∥ΔA∥2/∥A∥2:A+ΔAsingular}=1/κ2(A)، پس «بدوضع» یعنی «نسبتاً نزدیک به تکین».
کوچک بودن ∣detA∣به معنای بدوضع بودن نیست (1001I2det=10−4 و κ=1 دارد)، و بزرگ بودنش هم به معنای خوشوضع بودن نیست. خانوادههای بدوضع نامدار: ماتریس هیلبرت hij=1/(i+j−1) که κ2(Hn) آن مانند e3.5n رشد میکند، و ماتریسهای واندرموند روی گرههای نزدیک به هم.
5a. خواندن κ2 مستقیماً از روی یک تجزیه
اگر A=USVT با U,V متعامد و S=diag(s1,…,sn)، si>0، آنگاه این یک SVD است (جابهجا کردن ستونها مجموعهٔ قطری را تغییر نمیدهد): از ATA=VS2VT مقادیر ویژهٔ ATA برابر si2 اند، پس σi(A)=si و
κ2(A)=minisimaxisi.
دلیل بینیازی از هرگونه محاسبه این است که نُرم 2 نمیتواند U یا V را ببیند: ماتریسهای متعامد طول اقلیدسی را حفظ میکنند، پس ∥A∥2=∥S∥2=σmax، و چون A−1=VS−1UT باز هم همان شکل را دارد، ∥A−1∥2=∥S−1∥2=1/σmin.
سه کمیت دیگر از همان فهرست خوانده میشوند و گزینههای انحرافی استانداردند: ∣detA∣=∏isi، ∥A∥F=(∑isi2)1/2، و λmax(ATA)/λmin(ATA)=κ2(A)2 — هرگز خودِ κ2. و چون همیشه κ2≥1، هر گزینهٔ کوچکتر از 1 را میتوان در نگاه اول خط زد.
6. شرطیبودن (مسئله) در برابر پایداری (الگوریتم)
اینها دو چیز متفاوتاند و کنکور عاشق مخلوط کردنشان است.
شرطیبودن خاصیت مسئله است — خاصیت نگاشت داده ↦ جواب. کدنویسی بهتر آن را بهبود نمیدهد.
پایداری خاصیت الگوریتم است. یک الگوریتم پایدارِ پسرو است هرگاه y^ محاسبهشده پاسخ دقیق برای دادهٔ اندکی آشفتهٔ x~ باشد، با ∥x~−x∥/∥x∥=O(u).
نامساوی اصلی که این دو را به هم گره میزند:
what you observeforward relative error≲conditioningκ(problem)×stabilitybackward error≈κu.
مسئلهٔ خوشوضع
مسئلهٔ بدوضع
الگوریتم پایدار
پاسخ دقیق
نادقیق — مسئله مقصر است، نه کد
الگوریتم ناپایدار
نادقیق — کد مقصر است
ناامیدکننده
نمونههای شاخص: حذف گاوسی بدون محورگیری ناپایدار است (محوری بسیار کوچک ضریب رشد ρ را منفجر میکند؛ محورگیری جزئی ضریبها را با 1 کراندار میکند و در عمل آن را پایدار میسازد)؛ تجزیهٔ QR به روش هاوسهولدر و گیونز پایدارِ پسرو است؛ گرام–اشمیت کلاسیک تعامد را از دست میدهد (نسخهٔ اصلاحشده را به کار ببرید)؛ و بازیابی ریشههای چندجملهای از روی ضرایب ذاتاً بدوضع است — برای ریشهٔ سادهٔ r از p، اختلال ضریبیِ δp آن را به اندازهٔ δr≈−δp(r)/p′(r) جابهجا میکند، همان فاجعهٔ چندجملهای ویلکینسون. همتای این مطلب برای مقادیر ویژه قضیهٔ باوئر–فایک است: برای A=XΛX−1 قطریپذیر، هر مقدار ویژهٔ A+E در فاصلهٔ κ2(X)∥E∥2 از طیف A قرار میگیرد، پس شرطیبودن ماتریس بردارهای ویژه حاکم است (ماتریسهای متقارن κ2(X)=1 دارند: مقادیر ویژهشان کاملاً خوشوضعاند).
6a. یک حلکنندهٔ خطی واقعاً چه قولی میدهد (تحلیل پسروی ویلکینسون)
قضیه (ویلکینسون). فرض کنید xˉ از Ax=b با حذف گاوسی و محورگیری جزئی (سطری)، در حساب ممیز شناور با واحد گردکردن u محاسبه شده باشد. آنگاه اختلالی مانند ΔA وجود دارد با
(A+ΔA)xˉ=b,∥A∥∞∥ΔA∥∞≤c(n)ρnu,
که در آن c(n) چندجملهای با درجهٔ پایین برحسب n است و ρn=maxi,j∣aij∣maxi,j,k∣aij(k)∣ضریب رشد حذف است.
به بیان ساده: بردار محاسبهشده جواب دقیق یک دستگاه مجاور است. تمام تضمین همین است — دربارهٔ xˉ−x مطلقاً هیچ ادعایی نمیشود.
محورگیری جزئی هر ضریب را وادار میکند در ∣mik∣≤1 صدق کند، از این رو ρn≤2n−1؛ این کران تنها با ماتریسهای ساختگی (نمونهٔ ویلکینسون) حاصل میشود و در عمل ρn مانند O(n2/3) رفتار میکند. پس GEPP برای همهٔ مقاصد عملی پایدارِ پسرو است.
محورگیری کامل کران رشد بهمراتب کوچکتری دارد اما O(n3) مقایسهٔ اضافی هزینه میبرد؛ بدون هیچ محورگیری اصلاً کرانی وجود ندارد (محوری به اندازهٔ u همهچیز را خراب میکند). ماتریسهای متقارن معین مثبت و ماتریسهای اکیداً قطریغالب به محورگیری نیاز ندارند: تجزیهٔ چولسکی بهطور نامشروط پایدارِ پسرو است.
مانده بهرایگان کوچک است — و این یک قضیه است، نه شانس. برای هر xˉ=0 با ماندهٔ r=b−Axˉ، قرار دهید
قضیهٔ ریگال–گاش میگوید این اختلال رتبهیک بهینه است: کوچکترین خطای پسروی نسبی xˉ دقیقاً برابر است با
η(xˉ)=min{ε:(A+ΔA)xˉ=b,∥ΔA∥≤ε∥A∥}=∥A∥∥xˉ∥∥r∥.
پس «پایدارِ پسرو» و «ماندهٔ نسبی کوچک» عیناً یک گزارهاند، و خطای پیشرو از x−xˉ=A−1r نتیجه میشود:
∥x∥∥x−xˉ∥≤κ(A)∥A∥∥x∥∥r∥≈κ(A)η(xˉ)≈κ(A)c(n)ρnu.
پرسش چهارگزینهایِ مفهومی همیشه زیرمجموعهای از این پنج ادعاست:
ادعا دربارهٔ xˉ تولیدشده با GEPP
حکم
ماندهٔ نسبی ∥r∥/(∥A∥∥xˉ∥) بسیار کوچک و از مرتبهٔ u است
درست، هرچه κ(A) باشد
xˉدقیقاً دستگاهی مانند Aˉx=bˉ را حل میکند که Aˉ نزدیک A و bˉ نزدیک b است
درست — این تعریف پایداری پسرو است
xˉحتی اگرA بدوضع باشد دقیق است
نادرست — دقت به قیمت ضریب κ(A) تمام میشود
خطای پیشروی بزرگ، ماندهٔ بزرگ را ایجاب میکند
نادرست — برای κ بزرگ این دو از هم جدا میشوند
باید انتظار ماندهٔ بزرگ داشت
نادرست — محورگیری آن را بنا به ساخت کوچک میکند
وقتی خطای پیشرو اهمیت دارد، درمانها اینهاست: پالایش تکراری (مانده r=b−Axˉ را با دقت بالاتر بسازید، Ad=r را با همان عوامل LU که دارید حل کنید و xˉ←xˉ+d بگذارید — تا وقتی κ(A)u<1 باشد دقت کامل را بازمیگرداند)، متعادلسازی/مقیاسبندی سطرها و ستونها، و بازفرمولبندی مسئله بهگونهای که خودِ κ کاهش یابد (QR بهجای معادلات نرمال).
7. مثالهای کوچک حلشده
(الف) فاصله تا عدد قابل نمایش بعدی. بگیرید β=8، t=3، x=7. نخست نرمال کنید: 7=(0.700)8×81، پس 7∈F با e=1. آخرین رقم مانتیس را یک واحد بالا ببرید:
دستور کار هرگز تغییر نمیکند: نرمال کن، e را بخوان، پاسخ βe−t است. توجه کنید که β−t=8−3 بهتنهایی نادرست است — باید در βe مقیاس شود — و اینکه گرد کردن یا قطع کردن هیچ نقشی ندارد.
(ب) κ و ارقامی که نابود میکند. برای A=(1111.0001) داریم detA=10−4 و A−1=(10001−10000−1000010000)، از این رو ∥A∥∞=2.0001، ∥A−1∥∞=20001 و κ∞(A)≈4×104. با دادهای که تا 8 رقم درست است روی ماشینی با 10 رقم،
digits(xˉ)≈min{8,10}−log10(4×104)≈8−4.6≈3,
هرقدر هم که حلکننده خوب باشد. با اعداد گردی که کنکور میپسندد (κ=103، دادهٔ 8 رقمی، ماشین 10 رقمی) همین دستور کار min{8−3,10−3}=5 رقم قابل اعتماد میدهد — شاخهٔ داده برنده میشود، که دقیقاً همان نکتهٔ مورد آزمون است.
(ج) خواندن κ2 از روی یک تجزیه. اگر A=USVT با U,V متعامد و S=diag(s1,…,sn)، آنگاه si ها همان مقادیر تکیناند (عوامل متعامد در نُرم 2 تساویسنجاند: ∥A∥2=∥S∥2 و ∥A−1∥2=∥S−1∥2)، پس
κ2(A)=mini∣si∣maxi∣si∣.
وقتی si ها با قاعدهای وابسته به اندیس داده میشوند (مثلاً si=i برای i زوج و si=1/i برای i فرد)، تمام تمرین یافتن عضو حدی هر خانواده است — مراقب قیدهای زوجیت و بازهٔ n باشید، چون گزینههای انحرافی دقیقاً از همانجا ساخته میشوند.
(د) همان مسئله با یک قاعدهٔ یکنوا. فرض کنید Sii=i برای i=1,…,n. چون i↦i صعودی است، σmax=n و σmin=1=1، پس
κ2(A)=1n=n.
همسایههایی را که گزینهها پیشنهاد میکنند مقایسه کنید: ∏ii=n!=∣detA∣، (∑ii)1/2=n(n+1)/2=∥A∥F، و n=κ22=λmax(ATA)/λmin(ATA). تنها نسبت مقادیر تکین برابر κ2 است. (قاعدهٔ یکنوا مسئله را یکخطی میکند؛ قاعدهٔ نایکنوا آن را به جستوجوی دوخطی برای یافتن حدها تبدیل میکند — تنها تفاوت نسخهٔ آسان و متوسط این الگو همین است.)
تمام خانوادهٔ قاعدههای توانی یکجا فرومیریزد: اگر sii=ip با p>0 باشد آنگاه σmax=np، σmin=1 و
κ2(A)=np(sii=i⇒n,sii=i⇒n,sii=i2⇒n2),
و اگر p<0 باشد فهرست صرفاً نزولی میشود و باز هم κ2=n∣p∣ میدهد — هرگز مقداری کمتر از 1. دو گزینه از چهار گزینه همیشه توانهای همسایهاند (n در برابر n2)، یکی وارونِ n−p است که κ2≥1 فوراً آن را حذف میکند، و یکی همان 1 خشکوخالی است (واکنش غریزی «عوامل متعامدند، پس کاملاً خوشوضع است»، که تنها وقتی همهٔ si ها برابر باشند درست است).
(ه) شکافی در یک توان پایه. پایهٔ β=2 با t=3 بیت بامعنا، در x=8. اینجا 8=23=(1.00)2×23، پس k=⌊log28⌋=3 و
ulp(8)=21−3⋅23=21=2,
و عدد بعدی (1.01)2×23=(1+41)⋅8=10 است. در قرارداد کسری همین محاسبه چنین خوانده میشود: 8=(0.100)2×24، e=4، βe−t=24−3=2 — یکسان، همانطور که قول داده شد. عدد قبلی یک باینِد پایینتر زندگی میکند، جایی که فاصله 21−3⋅22=1 است، پس برابر 7 میشود: شکاف بالا دو برابر شکاف پایین است.
(و) ارقامی که از یک κ بزرگ جان به در میبرند. دادهٔ دقیق تا 8 رقم اعشاری، ماشینی که 16 رقم اعشاری حمل میکند، κ(A)=105. آنگاه εeff=max{10−8,10−16}=10−8، خطای جواب ≲105⋅10−8=10−3 است، یعنی حدود 3 رقم قابل اعتماد =8−5. سه پاسخ نادرست خودشان را مینویسند: 16 (طول کلمهٔ ماشین، با نادیده گرفتن شرطیبودن)، 8 (دقت داده، با نادیده گرفتن شرطیبودن)، و 16−5=11 (اعمال قاعده روی دقت ماشین بهجای دادهٔ درشتتر). همیشه بدترینِ این دو دقت را کاهش دهید.
همین الگو با دادهٔ 10 رقمی، ماشین 15 رقمی و κ(A)=104 به min{10,15}−4=6 میرسد، در حالی که 15، 11=15−4 و یک 7 با خطای یکواحدی کنارش در فهرست گزینهها نشستهاند. همان سه تله، با اعداد دیگر — شکل را بشناسید، نه ارقام را.
(ز) اندازه و تفکیکپذیری یک دستگاه کامل. فرض کنید F از اعداد ±(0.d1d2d3)5×5e با −4≤e≤4 و با قطع کردن تشکیل شده باشد. آنگاه β=5، t=3، L=−4، U=4، و
و برای تفکیکپذیری در 1: در مبنای 5 داریم 1=(0.100)5×51، و عدد بعدی (0.101)5×51=1+1255=1.04 است، پس εmach=ulp(1)=51−3=251=0.04. با قطع کردن، هر عددی در [1,1.04) به 1 بریده میشود، پس واحد گردکردنِ عدد یک همان 0.04 کامل است؛ با گرد کردن نصف آن، یعنی 0.02، میشد. پاسخهای نادرست ساختهشده دقیقاً 1601 (هشت نما بهجای نُه) و 0.02 (واحد گرد کردن که در دستگاهی با قطع کردن نقل شده) هستند.
(ح) خواندن یک پرسش مفهومی دربارهٔ پایداری. با داشتن تنها «Ax=b که با حذف گاوسی و محورگیری جزئی حل شده، ماندهٔ r=b−Axˉ»، تنها گزارهٔ درست بدون فرضهای اضافی این است که xˉ دقیقاً دستگاه آشفتهٔ Aˉx=bˉ را با Aˉ نزدیک A و bˉ نزدیک b حل میکند — یا همارز، اینکه ∥r∥ بهطور نسبی کوچک است. هر گزینهای که چیزی دربارهٔ خطای پیشرو ادعا کند (اینکه xˉ دقیق است، اینکه xˉ بهشدت غلط است، اینکه مانده بزرگ است) یا نادرست است یا صرفاً ممکن، زیرا تصمیمگیری دربارهٔ آن به κ(A) نیاز دارد که صورتمسئله هرگز نمیدهد. وقتی صورتمسئله κ را نمیدهد، پاسخ نمیتواند به آن وابسته باشد.
8. کنکور این مبحث را چگونه میآزماید
الگو
دادهها
حرکت
عدد ماشینی بعدی، ulp، فاصله
β,t، یک عدد، واژهٔ «قطع کردن»
نرمال کن، پاسخ βe−t=β1−tβ⌊logβ∣x∣⌋
شکاف در یک توان پایه، یا شکاف زیرِ یک عدد
β,t، x=βk
بالا: βk+1−t؛ پایین: βk−t (به ضریب β کوچکتر)
اپسیلون ماشین یا واحد گردکردن
β,t، شیوهٔ گرد کردن
εmach=β1−t؛ u=21εmach یا εmach
کوچکترین، بزرگترین، و تعداد اعداد ماشینی
β,t,L,U
جدولهای §1 و §1c
شمارش و گردکردن در یک صورتمسئله
β,t,L,U بهعلاوهٔ شیوهٔ گرد کردن
2(β−1)βt−1(U−L+1)+1، و β1−t (قطع) یا 21β1−t (گرد)
خطای نسبی یک کمیت مشتقشده
εr و مثلاً V=34πr3
در توان ضرب کن؛ برای حاصلضربها خطاهای نسبی را جمع کن
ارقام قابل اعتماد یک جواب محاسبهشده
ارقام داده، ارقام ماشین، κ(A)
کمینه را بگیر، سپس log10κ را کم کن
κ یک ماتریس کوچک صریح
A و یک نُرم (1، ∞ یا 2)
مجموع سطری/ستونی A ضرب در همان برای A−1
κ2 از روی یک SVD یا یک طیف
S قطری (اغلب sii با فرمولی برحسب i)، یا مقادیر ویژهٔ یک A متقارن
σmax/σmin؛ برای sii=ip این برابر np است
بهترین اندازهٔ گام / کمترین خطای کل
یک فرمول تفاضلی و u
برشی را در برابر گردکردن متعادل کن: h∼u یا u1/3
«چه انتظاری میتوان داشت» پس از GEPP
محورگیری، ماندهٔ r، گاهی واژهٔ بدوضع
ماندهٔ کوچک و حل دقیق یک دستگاه مجاور؛ دقت پیشرو تنها از راه κ
چهار گزینه تقریباً همیشه همان کمیتاند با یک گام خرابشده: حذف مقیاس نما (β−t بهجای βe−t)، گرفتن شکاف از سمت اشتباه یک توان β، اشتباه گرفتن شیوهٔ گرد کردن، شمارش بازهٔ نما با خطای یک واحد، کمینه نگرفتن دو شمارِ ارقام، یا جابهجا کردن σmin و σmax (یا ضرب کردن بهجای تقسیم).
نکتهٔ کنکوری: هر پرسشی از این خانواده دقیقاً یکی از دو محاسبه است. پرسش شبکهای میپرسد اعداد ماشینی کجایند و چند تا هستند — فاصله βe−t است (تفکیکپذیری مانتیس یعنی β−t را بگیرید و آن را با نمای βe عددی که روی آن ایستادهاید مقیاس کنید) و شمارش، حاصلضرب انتخابهای مستقل بهعلاوهٔ یکی برای صفر است. پرسش تقویتی میپرسد چقدر دقت باقی میماند — پاسخ (خطای نسبی ورودی) ×κ است، که در زبان ارقام یک تفریق است: log10κ رقم از دست میرود. پیش از دست زدن به یک عدد، تصمیم بگیرید در کدامیک از این دو هستید.
تلهٔ رایج: شش خطای نزدیکبهدرست، گزینههای نادرست را میسازند. (۱) «قطع کردن» کرانِ خطا را عوض میکند (β1−t بهجای 21β1−t) اما هرگز فاصلهٔF را تغییر نمیدهد — این واژه در پرسش فاصله طعمه است و در پرسش واحد گردکردن تعیینکننده. (۲) شبکه نسبت به توان پایه متقارن نیست: در x=βk گام بالا β برابر گام پایین است، پس «نزدیکترین عدد قابل نمایش بزرگتر از x» و «… کوچکتر از x» پاسخهای متفاوتی دارند و هر دو در فهرست گزینهها نشستهاند. (۳) در شمارش F، بازهٔ L≤e≤U شامل U−L+1 نماست (پس −4≤e≤4 عدد 9 میدهد نه 8)، علامت ضریب 2 میافزاید، و صفر را باید دستی اضافه کرد چون نرمالشدنی نیست. (۴) حمل 16 رقم، 16 رقم را درست نمیکند: دقت xˉ با دقت داده سقف میخورد، پس کمینهٔ دو شمار ارقام را پیش از کم کردن log10κ بگیرید — استفاده از دقت ماشین وقتی داده درشتتر است، محبوبترین تله است. (۵) κ2(A)=σmax/σmin با σi(A)=λi(ATA)؛ حاصلضربσi ها برابر ∣detA∣ است، مجموع مربعاتشان ∥A∥F2 است، و نسبت مقادیر ویژهٔ ATA برابر κ22 است — در حالی که ∣λmax/λmin∣ خودِ Aتنها وقتی A متقارن (نرمال) باشد مجاز است. (۶) ماندهٔ کوچک به معنای پاسخ دقیق نیست: یک حلکنندهٔ پایدارِ پسرو تنها گواهی میدهد که مسئلهای مجاور را دقیق حل کرده، و تبدیل آن به دقت پیشرو همیشه به قیمت ضریب κ(A) تمام میشود.
Distance from a machine number to its successor: the mantissa resolution beta^(-t) scaled by the exponent beta^e; independent of rounding vs chopping, and a factor beta smaller on the lower side of a power of beta.
Every stored value, and every elementary operation, is exact on data perturbed by at most the unit roundoff; the chopping unit is exactly twice the round-to-nearest unit, while the grid spacing at 1 is beta^(1-t) either way.
Cardinality of a normalized floating-point system
∣F(β,t,L,U)∣=2(β−1)βt−1(U−L+1)+1
Sign times admissible mantissas times the inclusive number of exponents U-L+1, plus one for zero, which is not representable in normalized form.
Condition number, digit loss and backward stability
The condition number is the worst-case amplification of relative data (or backward) error into relative solution error; in decimal digits that amplification becomes a subtraction, and a small residual alone certifies only backward stability.