-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
525 lines (492 loc) · 39.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>THE END of ERROR - Unum Computing — THE END of ERROR - Unum Computing 0.1 documentation</title>
<link rel="stylesheet" href="_static/material-design-lite-1.3.0/material.blue-deep_orange.min.css" type="text/css" />
<link rel="stylesheet" href="_static/sphinx_materialdesign_theme.css" type="text/css" />
<link rel="stylesheet" href="_static/fontawesome/all.css" type="text/css" />
<link rel="stylesheet" href="_static/fonts.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/basic.css" />
<link rel="stylesheet" type="text/css" href="_static/d2l.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/d2l.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Preface" href="Preface.html" />
</head>
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-drawer"><header class="mdl-layout__header mdl-layout__header--waterfall ">
<div class="mdl-layout__header-row">
<nav class="mdl-navigation breadcrumb">
<a class="mdl-navigation__link is-active">THE END of ERROR - Unum Computing</a>
</nav>
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation">
<form class="form-inline pull-sm-right" action="search.html" method="get">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable mdl-textfield--floating-label mdl-textfield--align-right">
<label id="quick-search-icon" class="mdl-button mdl-js-button mdl-button--icon" for="waterfall-exp">
<i class="material-icons">search</i>
</label>
<div class="mdl-textfield__expandable-holder">
<input class="mdl-textfield__input" type="text" name="q" id="waterfall-exp" placeholder="Search" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</div>
</div>
<div class="mdl-tooltip" data-mdl-for="quick-search-icon">
Quick search
</div>
</form>
<a id="button-show-source"
class="mdl-button mdl-js-button mdl-button--icon"
href="_sources/index.rst.txt" rel="nofollow">
<i class="material-icons">code</i>
</a>
<div class="mdl-tooltip" data-mdl-for="button-show-source">
Show Source
</div>
</nav>
</div>
<div class="mdl-layout__header-row header-links">
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href="https://github.com/jszheng/TheEndOfError">
<i class="fab fa-github"></i>
Github
</a>
</nav>
</div>
</header><header class="mdl-layout__drawer">
<!-- Title -->
<span class="mdl-layout-title">
<a class="title" href="#">
<span class="title-text">
THE END of ERROR - Unum Computing
</span>
</a>
</span>
<div class="globaltoc">
<span class="mdl-layout-title toc">Table Of Contents</span>
<nav class="mdl-navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Preface.html">Preface</a></li>
<li class="toctree-l1"><a class="reference internal" href="00_how_to_read.html">如何读这本书</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part1.html">Part 1 一种新的数字格式Unum</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Overview.html">1 概论</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_BuildUpUnumFormat.html">2. 构造unum的格式</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_TheOriginalSin.html">3. 计算机算术的原罪</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_unum_format.html">4. 完整的unum格式定义</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html">5. 隐藏的草稿本和三个层次</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_info_per_bit.html">6 每个比特的信息</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_fixed_size_unum_storage.html">7 定长的unum存储</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_comparison_operations.html">8 比较操作</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_add_sub_unbias_round.html">9 加减法和无偏差舍入的迷</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_mul_div.html">10 乘法和除法</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_power.html">11 求幂</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_other_important_unary_ops.html">12 其他重要的一元运算</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_fused_operations.html">13 融合操作(一次性表达式)</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_trial_runs.html">14 试运行:Unums 面临计算挑战</a></li>
<li class="toctree-l1"><a class="reference internal" href="part1_summary.html">小结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part2.html">Part 2 - 一种新的解决方法 Ubox</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_TheOtherKindOfError.html">15. 另外一种误差</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html">16 避免区间算术陷阱</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_meaning_of_solve_equ.html">17 “解”方程到底是什么意思?</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_permission_to_guess.html">18 准许猜测</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_pendulums_done_correctly.html">19 摆的正确计算</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_two_body_problem.html">20 二体问题(以及多体问题)</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_calculus_evil.html">21 微积分被认为是邪恶的:离散物理</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_end_of_error.html">22 错误的终结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Glossary.html">词汇表</a></li>
</ul>
</nav>
</div>
</header>
<main class="mdl-layout__content" tabIndex="0">
<script type="text/javascript" src="_static/sphinx_materialdesign_theme.js "></script>
<header class="mdl-layout__drawer">
<!-- Title -->
<span class="mdl-layout-title">
<a class="title" href="#">
<span class="title-text">
THE END of ERROR - Unum Computing
</span>
</a>
</span>
<div class="globaltoc">
<span class="mdl-layout-title toc">Table Of Contents</span>
<nav class="mdl-navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Preface.html">Preface</a></li>
<li class="toctree-l1"><a class="reference internal" href="00_how_to_read.html">如何读这本书</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part1.html">Part 1 一种新的数字格式Unum</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Overview.html">1 概论</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_BuildUpUnumFormat.html">2. 构造unum的格式</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_TheOriginalSin.html">3. 计算机算术的原罪</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_unum_format.html">4. 完整的unum格式定义</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html">5. 隐藏的草稿本和三个层次</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_info_per_bit.html">6 每个比特的信息</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_fixed_size_unum_storage.html">7 定长的unum存储</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_comparison_operations.html">8 比较操作</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_add_sub_unbias_round.html">9 加减法和无偏差舍入的迷</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_mul_div.html">10 乘法和除法</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_power.html">11 求幂</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_other_important_unary_ops.html">12 其他重要的一元运算</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_fused_operations.html">13 融合操作(一次性表达式)</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_trial_runs.html">14 试运行:Unums 面临计算挑战</a></li>
<li class="toctree-l1"><a class="reference internal" href="part1_summary.html">小结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part2.html">Part 2 - 一种新的解决方法 Ubox</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_TheOtherKindOfError.html">15. 另外一种误差</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html">16 避免区间算术陷阱</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_meaning_of_solve_equ.html">17 “解”方程到底是什么意思?</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_permission_to_guess.html">18 准许猜测</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_pendulums_done_correctly.html">19 摆的正确计算</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_two_body_problem.html">20 二体问题(以及多体问题)</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_calculus_evil.html">21 微积分被认为是邪恶的:离散物理</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_end_of_error.html">22 错误的终结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Glossary.html">词汇表</a></li>
</ul>
</nav>
</div>
</header>
<div class="document">
<div class="page-content" role="main">
<div class="section" id="the-end-of-error-unum-computing">
<h1>THE END of ERROR - Unum Computing<a class="headerlink" href="#the-end-of-error-unum-computing" title="Permalink to this heading">¶</a></h1>
<p>Written By John L. Gustafson</p>
<div class="figure align-default" id="id1">
<img alt="_images/TheEndOfError.png" src="_images/TheEndOfError.png" />
<p class="caption"><span class="caption-number">Fig. 1 </span><span class="caption-text">The End of Error</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p>
</div>
</div>
<div class="section" id="unum">
<h1>错误的终结 - unum计算方法<a class="headerlink" href="#unum" title="Permalink to this heading">¶</a></h1>
<p>中文翻译 by jszheng</p>
<p>如果你觉得翻得太烂,那是我故意的 :) 。</p>
<p>请购买<a class="reference external" href="https://www.routledge.com/The-End-of-Error-Unum-Computing/Gustafson/p/book/9781482239867">原版书籍</a>,获得原滋原味的阅读体验。(还有<a class="reference external" href="https://www.amazon.com/End-Error-Computing-Chapman-Computational/dp/1482239868/ref=sr_1_1?crid=3K6655SIKHRYT&keywords=the+end+of+error&qid=1689124112&sprefix=the+end+of+err%2Caps%2C430&sr=8-1">亚马逊</a>
kindle版本)</p>
<p>注意unum系统自从2015年本书出版,到今天已经进化到第三版。最新版本现在被称为
Posit( <a class="reference external" href="https://posithub.org/">https://posithub.org/</a>
),这是一种更像IEEE浮点数的定义,也有不同长度的标准定义。而本书关于完全消除计算错误的想法在Posit中被称为valid,目前还在发展过程中。等待John的下一本书吧
(或可以先看<a class="reference external" href="https://jszheng.github.io/PositArithmetic/">Posit算术</a>文档来提前了解一下)
。
按照本书的说法,最终目的是让用户无需思考,都会被包装成完美的数学库供大家使用。</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Preface.html">Preface</a></li>
<li class="toctree-l1"><a class="reference internal" href="00_how_to_read.html">如何读这本书</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part1.html">Part 1 一种新的数字格式Unum</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Overview.html">1 概论</a><ul>
<li class="toctree-l2"><a class="reference internal" href="01_Overview.html#id2">1.1 更少的比特数,更好的结果</a></li>
<li class="toctree-l2"><a class="reference internal" href="01_Overview.html#id3">1.2 为什么更好的算术可以节省功耗与面积</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_BuildUpUnumFormat.html">2. 构造unum的格式</a><ul>
<li class="toctree-l2"><a class="reference internal" href="02_BuildUpUnumFormat.html#id1">2.1 位字符串的图形视图:值和闭合图</a></li>
<li class="toctree-l2"><a class="reference internal" href="02_BuildUpUnumFormat.html#id2">2.2 负数</a></li>
<li class="toctree-l2"><a class="reference internal" href="02_BuildUpUnumFormat.html#id3">2.3 定点数</a></li>
<li class="toctree-l2"><a class="reference internal" href="02_BuildUpUnumFormat.html#id4">2.4 浮点格式 (终于谈到了)</a></li>
<li class="toctree-l2"><a class="reference internal" href="02_BuildUpUnumFormat.html#nan-ieee">2.5 无限与NaN如何处理,IEEE规则的改进</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="03_TheOriginalSin.html">3. 计算机算术的原罪</a><ul>
<li class="toctree-l2"><a class="reference internal" href="03_TheOriginalSin.html#id2">3.1 接受不准确的答案</a></li>
<li class="toctree-l2"><a class="reference internal" href="03_TheOriginalSin.html#id3">3.2 "几乎无限"和"超过无限"</a></li>
<li class="toctree-l2"><a class="reference internal" href="03_TheOriginalSin.html#id4">3.3 没有上溢,没有下溢,也没有舍入</a></li>
<li class="toctree-l2"><a class="reference internal" href="03_TheOriginalSin.html#ubit">3.4 可视化带ubit的数</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="04_unum_format.html">4. 完整的unum格式定义</a><ul>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id1">4.1反抗固定存储大小的暴政</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#ieee">4.2 IEEE标准浮点数</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id2">4.3 unum格式:弹性的幅度与精度</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id3">4.4 添加一个额外的比特如何能“节省”存储空间呢?</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id4">4.5 超越想象的精度?unum数的巨大范围</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id5">4.6 在一个计算任务中改变环境设置</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id6">4.7 参考的原型</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id7">4.8 灵活精度环境中的特殊值</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id8">4.9 准确的unum数转为实数</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#utag">4.10 一个小的utag能表示的精确数的完整集</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id9">4.11 不精确数</a></li>
<li class="toctree-l2"><a class="reference internal" href="04_unum_format.html#id10">4.12 可视化unum字串</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html">5. 隐藏的草稿本和三个层次</a><ul>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#scratchpad">5.1 隐藏的scratchpad</a><ul>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#cray-1">5.1.1 Cray-1 超级计算机</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#c">5.1.2 C语言的最初定义</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#dao">5.1.3 协处理器也来帮(dao)忙</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#ibm">5.1.4 IBM几乎做对了: 融合的乘加操作</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#kulisch-edp-the-exact-dot-porduct">5.1.5 Kulisch 总算做对了: EDP - the Exact Dot Porduct</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#unum">5.2 unum层</a><ul>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#the-ubound">5.2.1 the ubound</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#u-layers">5.2.2 为u-layers设计的处理器</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#the-math-layer">5.3 算术层 The math layer</a><ul>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#the-gerneral-bound-or-gbound">5.3.1 <em>通用边界</em> The gerneral bound or “gbound”</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#nan-sun-microsystems">5.3.2 谁会用NaN, Sun Microsystems公司得到了讨厌的惊喜</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id2">5.3.3 scratchpad需求空间爆炸?</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id3">5.3.4传统的区间算术,小心</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#significance-arithmetic">5.3.5 Significance arithmetic</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id4">5.3.6 为什么端点必须标记开或闭</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id5">5.4 用户层</a><ul>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id6">5.4.1 人眼中的数字</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id7">5.4.2 需求与让步</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id8">5.5 在不同层之间移动</a><ul>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id9">5.5.1 定义转换函数</a></li>
<li class="toctree-l3"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id10">5.5.2 测试转换函数</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id11">5.6 在原型代码中不同层的转换函数总结</a></li>
<li class="toctree-l2"><a class="reference internal" href="05_hidden_scratchpads_3_layers.html#id12">5.7 浮点“对政府的工作就足够好”吗?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="06_info_per_bit.html">6 每个比特的信息</a><ul>
<li class="toctree-l2"><a class="reference internal" href="06_info_per_bit.html#id2">6.1 信息是不确定性的倒数</a></li>
<li class="toctree-l2"><a class="reference internal" href="06_info_per_bit.html#ubound-unification-ulp">6.2 把ubound归一化(unification)到一个ULP</a></li>
<li class="toctree-l2"><a class="reference internal" href="06_info_per_bit.html#unification">6.3 原型中的Unification</a><ul>
<li class="toctree-l3"><a class="reference internal" href="06_info_per_bit.html#id3">6.3.1 有损压缩的可选项</a></li>
<li class="toctree-l3"><a class="reference internal" href="06_info_per_bit.html#id4">6.3.2 智能归一化</a></li>
<li class="toctree-l3"><a class="reference internal" href="06_info_per_bit.html#id5">6.3.3 特别处理“几乎没有”和“几乎无穷大”</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="06_info_per_bit.html#ubound">6.4 ubound能比浮点更省空间吗?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="07_fixed_size_unum_storage.html">7 定长的unum存储</a><ul>
<li class="toctree-l2"><a class="reference internal" href="07_fixed_size_unum_storage.html#unums">7.1 瓦尔皮里版本的unums</a></li>
<li class="toctree-l2"><a class="reference internal" href="07_fixed_size_unum_storage.html#ubounds">7.2 瓦尔皮里ubounds</a></li>
<li class="toctree-l2"><a class="reference internal" href="07_fixed_size_unum_storage.html#unum-float">7.3 unum的硬件实现:比float快吗?</a><ul>
<li class="toctree-l3"><a class="reference internal" href="07_fixed_size_unum_storage.html#id1">7.3.1 处理异常代价的讨论</a></li>
<li class="toctree-l3"><a class="reference internal" href="07_fixed_size_unum_storage.html#id2">7.3.2 解包unum格式和“总结位”的主意</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="08_comparison_operations.html">8 比较操作</a><ul>
<li class="toctree-l2"><a class="reference internal" href="08_comparison_operations.html#id2">8.1 小于,大于</a><ul>
<li class="toctree-l3"><a class="reference internal" href="08_comparison_operations.html#id3">8.1.1 一般区间排序的概念定义</a></li>
<li class="toctree-l3"><a class="reference internal" href="08_comparison_operations.html#id4">8.1.2 大于和小于的硬件实现</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="08_comparison_operations.html#id5">8.2 相等,没有一点相同,和不是所有都相同</a><ul>
<li class="toctree-l3"><a class="reference internal" href="08_comparison_operations.html#id6">8.2.1 通用的间隔关于相等的概念</a></li>
<li class="toctree-l3"><a class="reference internal" href="08_comparison_operations.html#id7">8.2.2 硬件实现相等和“不是没有地方相等”的方法</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="08_comparison_operations.html#id8">8.3 交集</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="09_add_sub_unbias_round.html">9 加减法和无偏差舍入的迷</a><ul>
<li class="toctree-l2"><a class="reference internal" href="09_add_sub_unbias_round.html#id2">9.1 重新学习加法表…对实数</a><ul>
<li class="toctree-l3"><a class="reference internal" href="09_add_sub_unbias_round.html#id3">9.1.1 例子和测试数据搬移量</a></li>
<li class="toctree-l3"><a class="reference internal" href="09_add_sub_unbias_round.html#ubound">9.1.2 三维可视化ubound的加法</a></li>
<li class="toctree-l3"><a class="reference internal" href="09_add_sub_unbias_round.html#unum">9.1.3 unum加减法的硬件实现</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="09_add_sub_unbias_round.html#creeping-crud">9.2 渐长的积垢(creeping crud)和无偏舍入的神话</a></li>
<li class="toctree-l2"><a class="reference internal" href="09_add_sub_unbias_round.html#id4">9.3 自动精度控制和简单的 unum 数学测试</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="10_mul_div.html">10 乘法和除法</a><ul>
<li class="toctree-l2"><a class="reference internal" href="10_mul_div.html#id2">10.1 乘法需要检查每个象限</a></li>
<li class="toctree-l2"><a class="reference internal" href="10_mul_div.html#unum">10.2 unum乘法的硬件实现</a><ul>
<li class="toctree-l3"><a class="reference internal" href="10_mul_div.html#id3">10.2.1 标准硬件方式实现的乘法器</a></li>
<li class="toctree-l3"><a class="reference internal" href="10_mul_div.html#id4">10.2.2 扩展精度和“完整累加器”</a></li>
<li class="toctree-l3"><a class="reference internal" href="10_mul_div.html#id5">10.2.3 真正大的乘法器</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="10_mul_div.html#id6">10.3 除法在论证中引入了不对称性</a><ul>
<li class="toctree-l3"><a class="reference internal" href="10_mul_div.html#id7">10.3.1 算术“坏孩子”</a></li>
<li class="toctree-l3"><a class="reference internal" href="10_mul_div.html#id8">10.3.2 除法的硬件实现</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="11_power.html">11 求幂</a><ul>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#id2">11.1 平方</a></li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#id3">11.2 平方根</a></li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#ulp">11.3 嵌套的平方根和“ULP跨接”</a></li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#id4">11.4 对暂存器征税:整数的整数幂</a></li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#xy">11.5 低精度 xy 的计算练习</a></li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#id5">11.6 实际考虑和实际工作流程</a><ul>
<li class="toctree-l3"><a class="reference internal" href="11_power.html#id6">11.6.1 为什么幂函数可以计算得很快</a></li>
<li class="toctree-l3"><a class="reference internal" href="11_power.html#id7">11.6.2 幂函数原型</a></li>
<li class="toctree-l3"><a class="reference internal" href="11_power.html#id8">11.6.3 对浮点数支持者的一个挑战</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="11_power.html#exp-x">11.7 Exp(x) 以及“制表者困境”的解决方案</a><ul>
<li class="toctree-l3"><a class="reference internal" href="11_power.html#id9">11.7.1 四舍五入不诚实造成的另一个困境</a></li>
<li class="toctree-l3"><a class="reference internal" href="11_power.html#id10">11.7.2 指数函数原型</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="12_other_important_unary_ops.html">12 其他重要的一元运算</a><ul>
<li class="toctree-l2"><a class="reference internal" href="12_other_important_unary_ops.html#id2">12.1 原型的范围</a></li>
<li class="toctree-l2"><a class="reference internal" href="12_other_important_unary_ops.html#id3">12.2 绝对值</a></li>
<li class="toctree-l2"><a class="reference internal" href="12_other_important_unary_ops.html#id4">12.3 自然对数,及以 2 为底的对数</a></li>
<li class="toctree-l2"><a class="reference internal" href="12_other_important_unary_ops.html#id5">12.4 三角函数:逐渐结束疯狂</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="13_fused_operations.html">13 融合操作(一次性表达式)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="13_fused_operations.html#id2">13.1 标准化一组融合操作</a></li>
<li class="toctree-l2"><a class="reference internal" href="13_fused_operations.html#id3">13.2 融合乘加和融合乘减</a></li>
<li class="toctree-l2"><a class="reference internal" href="13_fused_operations.html#id4">13.3 解决复数数学运算缓慢的悖论</a></li>
<li class="toctree-l2"><a class="reference internal" href="13_fused_operations.html#unum">13.4 完整累加器的 Unum 硬件</a><ul>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id5">13.4.1 未打包的 unum 环境中的成本</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id6">13.4.2 原型中的融合点积和融合和</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id7">13.4.3 并行计算的一致结果</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="13_fused_operations.html#id8">13.5 其他的融合操作</a><ul>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id9">13.5.1 不是所有成对的操作都应该融合起来</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id10">13.5.2 融合乘法</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id11">13.5.3 融合的加乘</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id12">13.5.4 融合乘比率</a></li>
<li class="toctree-l3"><a class="reference internal" href="13_fused_operations.html#id13">13.5.5 融合范数、融合根点积和融合均值</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="14_trial_runs.html">14 试运行:Unums 面临计算挑战</a><ul>
<li class="toctree-l2"><a class="reference internal" href="14_trial_runs.html#ii">14.1 浮点数II:卡汉之怒</a></li>
<li class="toctree-l2"><a class="reference internal" href="14_trial_runs.html#rump">14.2 Rump的烦恼事</a></li>
<li class="toctree-l2"><a class="reference internal" href="14_trial_runs.html#id1">14.3 二次公式</a></li>
<li class="toctree-l2"><a class="reference internal" href="14_trial_runs.html#id2">14.4 贝利的数字噩梦</a></li>
<li class="toctree-l2"><a class="reference internal" href="14_trial_runs.html#unum">14.5 使用unum做快速傅里叶变换</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="part1_summary.html">小结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Part2.html">Part 2 - 一种新的解决方法 Ubox</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_TheOtherKindOfError.html">15. 另外一种误差</a><ul>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id2">15.1 采样误差</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id3">15.2 经典误差界限的本质令人非常不满意</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#ubox">15.3 Ubox方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id4">15.4 在线上步进</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id5">15.5 ubox连接的区域:单位圆面积</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id6">15.6 信息和计算“速度”的定义</a></li>
<li class="toctree-l2"><a class="reference internal" href="15_TheOtherKindOfError.html#id7">15.7 另一个卡汉的傻人陷阱:“顺利的惊喜”</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html">16 避免区间算术陷阱</a><ul>
<li class="toctree-l2"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html#id2">16.1 无用的错误界限</a></li>
<li class="toctree-l2"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html#id3">16.3 依赖问题</a></li>
<li class="toctree-l2"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html#id4">16.4 智能标准库例程</a></li>
<li class="toctree-l2"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html#id5">16.5 无依赖性问题的多项式求值</a></li>
<li class="toctree-l2"><a class="reference internal" href="16_avoid_interval_arith_pitfalls.html#id6">16.6 其他融合的多次使用表示</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="17_meaning_of_solve_equ.html">17 “解”方程到底是什么意思?</a><ul>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#id2">17.1 传统数值方法的另一个突破</a></li>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#id3">17.2 一元线性方程,用逆运算解决</a><ul>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#unum">17.2.1 unum和间隔的求逆</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#ubound">17.2.2 ubound作为系数</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#id4">17.3 “尝试所有的!”数轴上的穷举搜索</a><ul>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id5">17.3.1 重温二次方程</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id6">17.3.2 大胆地分割无穷大:尝试一切</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id7">17.3.3 高度可调的并行度</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#id8">17.4 通用方程求解器</a><ul>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id9">17.4.1 那些通常可以工作的方法</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id10">17.4.2 求逆方法通常会失败</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id11">17.4.3 不相等检验;寻找极值</a></li>
<li class="toctree-l3"><a class="reference internal" href="17_meaning_of_solve_equ.html#id12">17.4.4 “棘手”的谬误</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#id13">17.5 大于一维的求解器</a></li>
<li class="toctree-l2"><a class="reference internal" href="17_meaning_of_solve_equ.html#ubox">17.6 总结ubox求解器方法</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="18_permission_to_guess.html">18 准许猜测</a><ul>
<li class="toctree-l2"><a class="reference internal" href="18_permission_to_guess.html#unum">18.1 浮点能用的算法unum也可以用</a></li>
<li class="toctree-l2"><a class="reference internal" href="18_permission_to_guess.html#id2">18.2 固定点问题</a></li>
<li class="toctree-l2"><a class="reference internal" href="18_permission_to_guess.html#id3">18.3 大型线性方程组</a></li>
<li class="toctree-l2"><a class="reference internal" href="18_permission_to_guess.html#id4">18.4 最后一招</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="19_pendulums_done_correctly.html">19 摆的正确计算</a><ul>
<li class="toctree-l2"><a class="reference internal" href="19_pendulums_done_correctly.html#id2">19.1 物理学入门方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="19_pendulums_done_correctly.html#id3">19.2 通常的数值方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="19_pendulums_done_correctly.html#id4">19.3 空间步进:大规模并行性的新来源</a></li>
<li class="toctree-l2"><a class="reference internal" href="19_pendulums_done_correctly.html#id5">19.4 不仅仅是给单摆用</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="20_two_body_problem.html">20 二体问题(以及多体问题)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#id2">20.1 多维微分方程</a><ul>
<li class="toctree-l3"><a class="reference internal" href="20_two_body_problem.html#id3">20.1.1 设置传统模拟</a></li>
<li class="toctree-l3"><a class="reference internal" href="20_two_body_problem.html#id4">20.1.2 在单轨道上尝试传统方法</a></li>
<li class="toctree-l3"><a class="reference internal" href="20_two_body_problem.html#id5">20.1.3 那么区间算术方法呢?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#ubox">20.2 Ubox 方法:初始空间步骤</a><ul>
<li class="toctree-l3"><a class="reference internal" href="20_two_body_problem.html#id6">20.2.1 解决先有鸡还是先有蛋的问题</a></li>
<li class="toctree-l3"><a class="reference internal" href="20_two_body_problem.html#id7">20.2.2 首先,框定位置</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#id8">20.3 下一个开始点,和一些强制状态法则</a></li>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#id9">20.4 通用的空间步进</a></li>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#id10">20.5 三体问题</a></li>
<li class="toctree-l2"><a class="reference internal" href="20_two_body_problem.html#n">20.6 n-体问题和星系对撞</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="21_calculus_evil.html">21 微积分被认为是邪恶的:离散物理</a><ul>
<li class="toctree-l2"><a class="reference internal" href="21_calculus_evil.html#id2">21.1 连续物理与离散物理</a></li>
<li class="toctree-l2"><a class="reference internal" href="21_calculus_evil.html#id3">21.2 振动弦的离散版本</a></li>
<li class="toctree-l2"><a class="reference internal" href="21_calculus_evil.html#id4">21.3 单原子气体</a></li>
<li class="toctree-l2"><a class="reference internal" href="21_calculus_evil.html#id5">21.4 结构分析</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="22_end_of_error.html">22 错误的终结</a></li>
<li class="toctree-l1"><a class="reference internal" href="Glossary.html">词汇表</a></li>
</ul>
</div>
</div>
</div>
<div class="side-doc-outline">
<div class="side-doc-outline--content">
<div class="localtoc">
<p class="caption">
<span class="caption-text">Table Of Contents</span>
</p>
<ul>
<li><a class="reference internal" href="#">THE END of ERROR - Unum Computing</a></li>
<li><a class="reference internal" href="#unum">错误的终结 - unum计算方法</a></li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div><div class="pagenation">
<a id="button-next" href="Preface.html" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--colored" role="botton" accesskey="N">
<i class="pagenation-arrow-R fas fa-arrow-right fa-lg"></i>
<div class="pagenation-text">
<span class="pagenation-direction">Next</span>
<div>Preface</div>
</div>
</a>
</div>
</main>
</div>
</body>
</html>