aboutsummaryrefslogtreecommitdiff
path: root/ic-reals-6.3/doc/implementation-notes/decimal_precision.tex
blob: 7d8d14db989ac10a1410facfe5f16523df4df14e (plain)
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
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
\documentclass[11pt,a4paper]{article}

\usepackage{amsfonts}
\usepackage{amsmath} 

\newtheorem{tm}{Theorem}
\newtheorem{df}[tm]{Def{i}nition}
\newtheorem{lemma}[tm]{Lemma}
\newtheorem{prop}[tm]{Proposition}
\newtheorem{cor}[tm]{Corollary} 

%\newenvironment{proof}{\textbf{Proof:} \footnotesize}{}
\newenvironment{proof}
	{ \begin{description} \item[Proof:] \footnotesize }
	{ \end{description} }


\begin{document}

\title{Obtaining a Required Absolute Precision from an Exact Floating Point
	Number}
\author{Marko Krznari\'{c}}
\date{\today} %\date{21 March 2000}
\maketitle


\section{Introduction}
A real number may be represented as a shrinking sequence of nested,
	closed intervals with rational end--points whose length tends to
	zero. We will work in the one--point compactification $\mathbb{R}^*
	= \mathbb{R} \cup \{ \infty \}$ of the real line, which is usually
	represented by the unit circle and the stereographic projection. In
	the LFT approach to Exact Real Arithmetic the sequence of intervals
	is generated by a sequence of one--dimensional linear fractional
	transformations (LFTs) applied to a base interval, \cite{vui90,
	niekor95, edapot97, pot98, hec99}.

These intervals (LFTs applied to the base interval) are better and
	better approximations to the real number. Knowing the length of the
	interval we may tell how good the approximations are. Except of
	one proposition in \cite{pot98} (Proposition 40, page 129), there
	are no other references which tell us how to calculate the length
	of the intervals. Here, we show how to determine the length of the
	intervals and especially, how to obtain a required decimal
	precision of a real number.


\section{Representation of Real Numbers}
Let us denote the set of matrices with integer coefficients by:
	\[ \mathbb{M} =
		\left\{ \left( \begin{array}{cc} a&c\\b&d \end{array}
        \right)\ |\ a,b,c,d \in \mathbb{Z} \right\}. \]
    A matrix induces an 1--dimensional LFT (a function from
	$\mathbb{R}^*$ to $\mathbb{R}^*$) which is given by:
    \[ \Theta \left( \begin{array}{cc} a&c\\b&d \end{array}
            \right)(x) = \displaystyle { \frac{ax+c}{bx+d} }. \]
    We can identify an LFT $\Theta(M)$ with the matrix $M$ and this
	identification is unique up to scaling by a non--zero
	integer. The composition of two 1--dimensional LFTs correspond
	to matrix multiplication. A non--singular matrix $M$ maps an
	interval to an interval: the interval $[p,q]$ is mapped to
	$[Mp, Mq]$ for $\det M > 0$ and $[Mq,Mp]$ for $\det M < 0$.
	In $\mathbb{R}^*$, the interval $[p,q]$ is the set of all of
	the points which belong to the arc starting from $p$ and going
	anti--clockwise to $q$ on the unit circle. For example, $[1,-1] =
	\{ x\ |\ |x| \ge 1 \}$.

One can easily verify that for any two intervals I and J with rational
	end--points, there exists an LFT $M$ such that $M(I) = J$. This implies
	that all rational intervals can be encoded as an LFT applied to a
	fixed interval, which is called the \textsc{base interval}. Although
	the choice of the base interval is essentially not relevant (whatever
	holds for one, will hold, with minor adjustments, for any other
	base interval), we should choose it in a way to make computations
	as efficient as possible. There are two base intervals which have
	been used, namely $[-1,1]$ and $[0,\infty]$. Check \cite{eda97,
	edapot97, pot98, hec99} for more details.

For a base interval $[a,b]$, we say that a matrix $M$ is \textsc{refining}
	if $M[a,b] \subseteq [a,b]$. The set of all refining matrices is
	denoted by $\mathbb{M}^+$. We also define the \textsc{information} of
	an LFT $M$ by $\textbf{Info}_{[a,b]}(M) = {\bf Info}(M)=M[a,b]$.

As we mentioned earlier, a real number can be represented as a
	shrinking sequence of nested, closed intervals with rational
	end--points whose length tends to zero. Or, using the facts given
	above, as a sequence of 1--dimensional LFTs:
	\[ \begin{array}{rccl}
		& \{ x \}  &=& \displaystyle{ \bigcap_n [p_n,q_n],
			\qquad p_n,q_n \in \mathbb{Q}, } \vspace{1em} \\
		& [p_n,q_n] &=& \displaystyle{ M_0 M_1 \ldots M_n [a,b],
			\qquad \forall n, } \vspace{1em} \\
		\Rightarrow & \{ x \}  &=& \displaystyle{ \bigcap_n M_0 M_1
			\ldots M_n [a,b], }
	\end{array} \]
	where $[a,b]$ is the base interval, $M_0 \in \mathbb{M}$, and
	$M_n \in \mathbb{M}^+,\ n>0$. This representation is called
	\textsc{normal product}. The first matrix, $M_0$, determines an
	interval which contains the real number $x$, while all other matrices
	refine that interval more and more. By analogy with the usual
	representation of the real numbers, the first matrix of the normal
	product, $M_0 \in \mathbb{M}$, is called a \textsc{sign} matrix,
	while the matrices $M_n \in \mathbb{M}^+$ are called \textsc{digit}
	matrices.

	Edalat and Potts in~\cite{eda97,edapot97} proposed a standard form,
	called \textsc{exact floating point}, EFP, where both, sign and digit
	matrices, belong to predetermined finite sets of matrices. The
	information in the sign matrices should overlap and cover
	$\mathbb{R}^*$. The four sign matrices proposed by Edalat and Potts
	correspond to rotations of the unit circle by $0^\circ$ (i.e identity), 
	$90^\circ, \ 180^\circ$ and $270^\circ$, and form a cyclic group.
	Digit matrices should overlap, cover the base interval $[a,b]$, and
	contract distances in $[a,b]$.


\section{The Base Interval $[0,\infty]$}
The main reason to choose $[0,\infty]$ as a base interval is that it is
	very easy to calculate the information of a matrix $M=\begin{pmatrix}
	a&c\\b&d \end{pmatrix}$: ${\bf Info}M=[\frac{c}{d},\frac{a}{b}]$ if
	$\det M > 0$ or ${\bf Info}M=[\frac{a}{b},\frac{c}{d}]$ if $\det M < 0$.
	In the base interval $[0,\infty]$, the four sign matrices are named
	as follows:
	\[ \begin{array}{rccclcrcl}
		S_+ &=& \begin{pmatrix} 1&0 \\ 0&1 \end{pmatrix} &=&
			S_\infty^{4k} = \textrm{Id}, &\qquad&
			\textbf{Info}(S_+) &=& [0,\infty], \vspace{0.5em} \\
		S_{\infty} &=& \begin{pmatrix} 1&1 \\ -1&1 \end{pmatrix} &=&
			S_\infty^{4k+1}, &\qquad&
			\textbf{Info}(S_\infty) &=& [1,-1], \vspace{0.5em} \\
		S_- &=& \begin{pmatrix} 0&-1 \\ 1&0 \end{pmatrix} &=&
			S_\infty^{4k+2}, &\qquad&
			\textbf{Info}(S_-) &=& [\infty,0], \vspace{0.5em} \\
		S_0 &=& \begin{pmatrix} 1&-1 \\ 1&1 \end{pmatrix} &=&
			S_\infty^{4k+3}, &\qquad&
			\textbf{Info}(S_0) &=& [-1,1].
    \end{array} \]
	It is easy to check that, for example, $S_0 S_\infty =
	S_\infty S_0 = S_+ = \textrm{Id}$.

	For an integer $b \ge 2$ we define digit matrices in base $b$ by:
	\[ D_k = \begin{pmatrix} b+k+1 & b+k-1 \\ b-k-1 & b-k+1 \end{pmatrix}
		= S_\infty \begin{pmatrix} 1&k\\0&b \end{pmatrix} S_0, \]
	where $k$ is an integer with $ |k| < b$. Products of digit matrices
	can be obtained as follows:
	\[ D_{d_1} D_{d_2} \ldots D_{d_n} = \begin{pmatrix}
		b^n+c+1 & b^n+c-1 \\ b^n-c-1 & b^n-c+1 \end{pmatrix} =:
		\mathfrak{D}_c^n, \]
	where
	\[ c = c(d_1,d_2,\ldots,d_n) = \sum_{i=1}^n d_i b^{n-i}. \]
	Furthermore, $\mathfrak{D}_c^n D_d = \mathfrak{D}_{bc+d}^{n+1}$. The
	number $c$ provides a compressed representation for this product
	of digit matrices. However, the original sequence of digits usually
	cannot be recovered from $\mathfrak{D}_c^n$.

The most used base $b$ in both, theory and practise, is the base $b=2$.
	In that case, we get the following three digit matrices:
	\[ \begin{array}{rccclcrcl}
		D_{-1} &=& \begin{pmatrix} 1&0 \\ 1&2 \end{pmatrix} &=&
			S_\infty \begin{pmatrix} 1&-1 \\0&2 \end{pmatrix} S_0, &\qquad&
			\textbf{Info}(D_{-1}) &=& [0,1], \vspace{0.5em} \\
		D_0 &=& \begin{pmatrix} 3&1 \\ 1&3 \end{pmatrix} &=&
			S_\infty \begin{pmatrix} 1&0\\0&2 \end{pmatrix} S_0, &\qquad&
			\textbf{Info}(D_0) &=& [\frac{1}{3},3], \vspace{0.5em} \\
		D_1 &=& \begin{pmatrix} 2&1 \\ 0&1 \end{pmatrix} &=&
			S_\infty \begin{pmatrix} 1&1\\0&2 \end{pmatrix} S_0, &\qquad&
			\textbf{Info}(D_1) &=& [1,\infty].
    \end{array} \]
	Any sequence of $n$ digits in base $2$, $D_{d_1},\ D_{d_2},\ \ldots,\
	D_{d_n}$ can be compressed into the number $c(d_1,d_2,\ldots,d_n)$,
	which can be represented in only $n+1$ bits of memory.


\subsection{$S_0 D_{d_1} D_{d_2} \ldots$}
The information of the sign matrix $S_0$ is the interval $[-1,1]$,
	i.e. $\textbf{Info}(S_0) = [-1,1]$. Any digit in base $b$ will
	contract distances on the real line by a factor $\frac{1}{b}$.
	We have the following:
	\begin{prop} \label{prop:Szero and width of information with base b}
		\[ {\sf width} ( {\bf Info} ( S_0 D_{d_1} D_{d_2}
			\ldots D_{d_n} ) ) = \frac{2}{b^n}, \]
		where $D_{d_i},\ i=1 \ldots n$, are digits in the base $b$.
	\end{prop}
	\begin{proof} As $D_i = S_\infty \begin{pmatrix} 1&d\\0&b \end{pmatrix}
	S_0$ and $S_\infty S_0 = \textrm{Id}$ we have:
	\[ \begin{array}{rcl}
		S_0 D_{d_1} D_{d_2} \ldots D_{d_n} &=& S_0 S_\infty
			\begin{pmatrix} 1&d_1\\0&b \end{pmatrix} S_0 S_\infty
			\begin{pmatrix} 1&d_2\\0&b \end{pmatrix} S_0 \ldots S_\infty
			\begin{pmatrix} 1&d_n\\0&b \end{pmatrix} S_0 \\
		&=& \begin{pmatrix} 1&d_1\\0&b \end{pmatrix}
			\begin{pmatrix} 1&d_2\\0&b \end{pmatrix} \ldots
			\begin{pmatrix} 1&d_n\\0&b \end{pmatrix} S_0 \\
		&=& \begin{pmatrix} 1&c\\0&b^n \end{pmatrix} S_0,
	\end{array} \]
	where $c = \sum_{i=1}^n d_i b^{n-i}$.
	Then,
	\[ \begin{array}{rcl}
		\textsf{width} (\textbf{Info}(S_0 D_{d_1} D_{d_2}\ldots D_{d_n}))
			&=& \textsf{width} \left( \begin{pmatrix} 1&c\\0&b^n
			\end{pmatrix} S_0 [0,\infty] \right) \\
		&=& \textsf{width} \left(
			\begin{pmatrix} 1&c\\0&b^n \end{pmatrix} [-1,1] \right) \\
		&=& \displaystyle{ \textsf{width} \left(
			\left[ \frac{-1+c}{b^n}, \frac{1+c}{b^n} \right] \right) } \\
		&=& \displaystyle{ \frac{2}{b^n} }.
	\end{array} \]
	\end{proof}
	Knowing that, it is easy to calculate a sufficient number of digits
	which will achieve any required accuracy.


\subsection{$S_+ D_{d_1} D_{d_2} \ldots$} \label{subsection spos}
Real numbers which can be represented by the product $S_+ D_{d_1}
	D_{d_2} \ldots = D_{d_1} D_{d_2} \ldots$ are points of the
	interval $[0,\infty]$. An infinite product of digits $D_{b-1}$ in
	base $b$ represents $\infty$. Any other infinite product
	can be written as a finite product of $D_{b-1}$ (exponent), followed
	by an infinite product of digits starting with $D_k$ where $-(b-1)
	\le k \le (b-2)$ (mantissa). Any such product represents a
	non--negative real number $x \in [0,\infty)$.

If the product represents $\infty$, as it happens with $\frac{1}{0}$, the
	computation of the interval lengths will not finish in finite
	time (unless we put a time limit). In all other cases, using
	Proposition~\ref{prop:Spos and width of information with base b}, we
	will be able to determine how many digit matrices will be sufficient
	to satisfy the required accuracy. Proposition~\ref{prop:Spos and
	width of information with base b} is a generalisation of Potts's
	Proposition~\ref{prop:width of information with base 2},
	\cite{pot98}, which we present later.
	\begin{prop} \label{prop:Spos and width of information with base b}
		Let $D_{b-1}^e D_{d_1} D_{d_2} \ldots D_{d_n}$ be a finite product
		of digits in base $b$ with $d_1 \ne (b-1)$.
		Then:
		\[ b^{e-n} < {\sf width} ( {\bf Info} ( D_{b-1}^e D_{d_1}
			D_{d_2} \ldots D_{d_n} ) ) < 4 b^{e-n+2}. \]
	\end{prop}
	\begin{proof}
		The product $D_{b-1}^e D_{d_1} D_{d_2} \ldots D_{d_n} = D_{b-1}^e
		\mathfrak{D}_c^n$ can be compressed into $\mathfrak{D}_{c'}^{n'}$ where
		\[ \begin{array}{rcl}
			n' &=& e+n, \\
			c' &=& \left[ (b-1)b^{e+n-1} + \ldots + (b-1)b^n \right] + \left[
				d_1 b^{n-1} + \ldots + d_{n-1} b + d_n \right] \\
			&=& \displaystyle{ b^n (b-1) \frac{b^e-1}{b-1} + c } \\
			&=& b^{e+n} - b^n + c
		\end{array} \]
		Information of $D_{b-1}^e \mathfrak{D}_c^n$ is given by:
		\[ \begin{array}{rcl}
			{\bf Info} (D_{b-1}^e \mathfrak{D}_c^n) &=& \begin{pmatrix}
				b^{n'}+c'+1 & b^{n'}+c'-1 \\ b^{n'}-c'-1 & b^{n'}-c'+1
				\end{pmatrix} [0,\infty] \\
			&=& \begin{pmatrix} 2b^{e+n}-(b^n-c-1) & 2b^{e+n}-(b^n-c+1)
				\\ b^n-c-1 & b^n-c+1 \end{pmatrix} [0,\infty] \\
			&=& \left[ \displaystyle{ \frac{2b^{e+n}}{b^n-c+1} - 1,
				\frac{2b^{e+n}}{b^n-c-1} - 1 } \right].
		\end{array} \]
		Therefore,
		\[ \begin{array}{rcl}
			{\sf width} ( {\bf Info} ( D_{b-1}^e \mathfrak{D}_c^n ) ) &=&
				\displaystyle{ \frac{2b^{e+n}}{b^n-c-1} -
				\frac{2b^{e+n}}{b^n-c+1} } \\
			&=& \displaystyle{ \frac{4b^{e+n}}{(b^n-c)^2-1}. }
		\end{array} \]
		This holds for any sequence of digits. If, for example, all of the
		$n$ digits compressed into $\mathfrak{D}_c^n$ are digits $D_{b-1}$,
		then,
		\[ \begin{array}{rcl}
			\displaystyle{ \frac{4b^{e+n}}{(b^n-c)^2-1} } &=&
				\displaystyle{ \frac{4b^{e+n}}{(b^n-(b^n-1))^2-1} } \\
			&=& \displaystyle{ \frac{4b^{e+n}}{0} } \\
			&=& \infty,
		\end{array} \]
		which corresponds to the length of the interval:
		\[ \begin{array}{rcl}
			{\bf Info} ( D_{b-1}^e \mathfrak{D}_{b^n-1}^n ) &=&
				\displaystyle{ \left[ \frac{2b^{e+n}}{b^n-c+1} - 1,
				\frac{2b^{e+n}}{b^n-c-1} -1 \right] } \\
			&=& [b^{e+n}-1, \infty].
		\end{array} \]
		If $d_1 \ne b-1$, i.e. $-(b-1) \le d_1 < (b-1)$, we have:
		\[ \begin{array}{rcl}
			c &\ge& -(b-1) b^{n-1} - (b-1) b^{n-2} - \ldots - (b-1) b^0 \\
			&=& -b^n + 1 \vspace{1em} \\
			c &\le& (b-2) b^{n-1} + (b-1) b^{n-2} + (b-1) b^{n-3} +
				\ldots + (b-1) b^0 \\
			&=& (b-2) b^{n-1} + (b^{n-1}-1) \\
			&=& (b-1) b^{n-1} - 1.
		\end{array} \]
		Therefore,
		\[ \begin{array}{rcl}
			{\sf width} ( {\bf Info} ( D_{b-1}^e \mathfrak{D}_c^n ) ) &=&
				\displaystyle{ \frac{4b^{e+n}}{(b^n-c)^2-1} } \\
			&\le& \displaystyle{ \frac{4b^{e+n}}{(b^n-(b-1)b^{n-1}+1)^2 - 1} } \\
			&=& \displaystyle{ \frac{4b^{e+n}}{b^{2(n-1)}+2b^{n-1}}  } \\
			&=& \displaystyle{ \frac{4b^{e+1}}{b^{n-1}+2}  } \\
			&<& 4b^{e-n+2} \vspace{1em} \\
			{\sf width} ( {\bf Info} ( D_{b-1}^e \mathfrak{D}_c^n ) ) &\ge&
				\displaystyle{ \frac{4b^{e+n}}{(b^n+b^n-1)^2-1}  } \\
			&=& \displaystyle{ \frac{4b^{e+n}}{4b^{2n}-4b^n} } \\
			&=& \displaystyle{ \frac{b^e}{b^n-1}  } \\
			&>& b^{e-n}.
		\end{array} \]
	\end{proof}

Therefore, as soon as we get a digit in base $b$ which is not $D_{b-1}$,
	i.e. when we determine a natural number $e$, we may use the formula
	above to calculate the total number of digit matrices which will
	guarantee the absolute tolerance we wish to achieve.


\subsection{$S_- D_{d_1} D_{d_2} \ldots$} \label{subsection sneg}
This case is basically the same as in the previous section. In the base
	$b$, the sequence $S_- D_{-(b-1)} D_{-(b-1)} D_{-(b-1)} \ldots$ will
	represent $\infty$. Hence, any attempt to obtain an absolute
	precision will be futile. For any other sequence we can use a
	variation of Proposition~\ref{prop:Spos and width of information with
	base b}, in which $D_{-(b-1)}$ takes the position of $D_{b-1}$.


\subsection{$S_\infty D_{d_1} D_{d_2} \ldots$}
As we have seen earlier in Sections \ref{subsection spos} and
	\ref{subsection sneg} the information of an EFP may contain $\infty$.
	Of course, that will prevent us obtaining any absolute precision. That
	is also the case when the sign digit of an EFP is $S_\infty$. We have
	the following:
	\begin{prop} \label{prop:the information containing infty}
		The information of an EFP $S_\infty \mathfrak{D}_c^n$ will contain
		$\infty$ if and only if $|c| \le 1$, i.e. $c=-1,0,1$.
	\end{prop}
	\begin{proof}
		We have:
		\[ \begin{array}{rcl}
			{\bf Info} (S_\infty \mathfrak{D}_c^n) &=& \begin{pmatrix} 1&1\\-1&1
				\end{pmatrix} \begin{pmatrix} b^n+c+1 & b^n+c-1\\ b^n-c-1 & b^n-c+1
				\end{pmatrix} [0,\infty] \\
			&=& \begin{pmatrix} b^n & b^n \\ -1-c & 1-c \end{pmatrix} [0,\infty] \\
			&=& \displaystyle{ \left[ \frac{b^n}{1-c}, \frac{b^n}{-1-c} \right] }.
		\end{array} \]
		If $c \ge 2$ then $-1-c < 1-c <0$ which implies
		\[ -\infty < \frac{b^n}{1-c} < \frac{b^n}{-1-c} < 0. \]
		Similarly, if $c \le -2$ the interval ${\bf Info} (S_\infty
		\mathfrak{D}_c^n )$ does not contain $\infty$. On the other hand, each
		of the three intervals below:
		\[ \begin{array}{rcl}
			{\bf Info} (S_\infty \mathfrak{D}_{-1}^n) &=& \displaystyle{ \left[
				\frac{b^n}{2}, \infty \right] }, \\
			{\bf Info} (S_\infty \mathfrak{D}_0^n) &=& [b^n,-b^n], \\
			{\bf Info} (S_\infty \mathfrak{D}_1^n) &=& \displaystyle{ \left[
				\infty, -\frac{b^n}{2} \right] },
		\end{array} \]
		contain $\infty$. This completes the proof.
	\end{proof}
	Note that $c(d_1,d_2,\ldots,d_n)=0$ iff $d_1=d_2=\ldots=d_n=0$.
	Furthermore, $c(d_1,d_2,\ldots,d_n)$ is $1$, respectively $-1$, iff the
	product of digit matrices $D_{d_1} D_{d_2} \ldots D_{d_n}$ is of the form
	$D_0^e D_1 D_{-(b-1)}^{n-e-1}$, respectively $D_0^e D_{-1} D_{b-1}^{n-e-1}$,
	for some $e \in \mathbb{N},\ e < n$.
	\begin{prop} \label{prop:dneg db-1 = dzer dneg}
		The following holds:
		\[ \begin{array}{c}
			D_{-1} D_{b-1} = D_0 D_{-1} \\
			D_1 D_{-(b-1)} = D_0 D_1
		\end{array} \]
	\end{prop}
	\begin{proof}
		As $-1 \cdot b + (b-1) = -1$ we have that $D_{-1} D_{b-1} =
		\mathfrak{D}_{-1}^2$. Similarly, $D_0 D_{-1} = \mathfrak{D}_{-1}^2$.
	\end{proof}

When the information of $S_\infty D_{d_1} D_{d_2} \ldots$ becomes bounded
	($|c|>1$) we can calculate the number of digits which will guarantee
	any required absolute precision. We can do that with the help of the
	following two propositions:
	\begin{prop} \label{prop:Sinf and width of information with base b 1}
		Let $S_\infty D_0^e D_{-1} D_{b-1}^f D_{d_1} D_{d_2} \ldots D_{d_n}$
		be a finite product of matrices in base $b$ with $d_1 \ne (b-1)$
		(that is, the information of such a product is a bounded interval). Then:
		\[ \frac{1}{2} b^{e+f-n+1} < {\sf width} ( {\bf Info} ( S_\infty
			D_0^e D_{-1} D_{b-1}^f \mathfrak{D}_c^n ) ) < 2b^{e+f-n+3}, \]
		where $\mathfrak{D}_c^n = D_{d_1} D_{d_2} \ldots D_{d_n}$.
	\end{prop}
	\begin{proof}
		Because of Proposition \ref{prop:dneg db-1 = dzer dneg} we have
		$D_{-1} D_{b-1}^f = D_0^f D_{-1}$ and hence we can assume $f=0$
		and at the end, replace $e$ by $e+f$. We have:
		\[ \begin{array}{rcl}
			{\bf Info} (S_\infty D_0^e D_{-1} \mathfrak{D}_c^n) &=&
				\begin{pmatrix} b^{e+n+1} & b^{e+n+1} \\ b^n-c-1 & b^n-c+1
				\end{pmatrix} [0,\infty] \\
			&=& \displaystyle{ \left[ \frac{b^{e+n+1}}{b^n-c+1},
				\frac{b^{e+n+1}}{b^n-c-1} \right]. }
		\end{array} \]
		Therefore,
		\[ \begin{array}{rcl}
			{\sf width} ( {\bf Info} ( S_\infty D_0^e D_{-1}
				\mathfrak{D}_c^n ) ) &=& \displaystyle{ \frac{b^{e+n+1}}{b^n-c-1}
				- \frac{b^{e+n+1}}{b^n-c+1} } \\
			&=& \displaystyle{ \frac{2b^{e+n+1}}{(b^n-c)^2-1}. }
		\end{array} \]
		As in the proof of the Proposition \ref{prop:Spos and width of
		information with base b} we show that $-(b^n-1) \le c \le
		(b-1)b^{n-1}-1$, which implies:
		\[ \begin{array}{rcl}
			{\sf width} ( {\bf Info} ( S_\infty D_0^e D_{-1}
				\mathfrak{D}_c^n ) ) &=& \displaystyle{
				\frac{2b^{e+n+1}}{(b^n-c)^2-1} } \\
			&\le& \displaystyle{ \frac{2b^{e+n+1}}{(b^n-(b-1)b^{n-1}+1)^2 - 1} } \\
			&=& \displaystyle{ \frac{2b^{e+n+1}}{b^{2(n-1)}+2b^{n-1}}  } \\
			&=& \displaystyle{ \frac{2b^{e+2}}{b^{n-1}+2}  } \\
			&<& 2b^{e-n+3} \vspace{1em} \\
			{\sf width} ( {\bf Info} ( S_\infty D_0^e D_{-1}
				\mathfrak{D}_c^n ) ) &\ge& \displaystyle{
				\frac{2b^{e+n+1}}{(b^n+b^n-1)^2-1}  } \\
			&=& \displaystyle{ \frac{2b^{e+n+1}}{4b^{2n}-4b^n} } \\
			&=& \displaystyle{ \frac{b^{e+1}}{2(b^n-1)}  } \\
			&>& \displaystyle{ \frac{1}{2} b^{e-n+1}. }
		\end{array} \]
	\end{proof}
	\begin{prop} \label{prop:Sinf and width of information with base b 2}
		Let $S_\infty D_0^e D_1 D_{-(b-1)}^f D_{d_1} D_{d_2} \ldots D_{d_n}$
		be a finite product of matrices in base $b$ with $d_1 \ne
		-(b-1)$ (that is, the information of such a product is a
		bounded interval). Then:
		\[ \frac{1}{2} b^{e+f-n+1} < {\sf width} ( {\bf Info} ( S_\infty
			D_0^e D_1 D_{-(b-1)}^f \mathfrak{D}_c^n ) ) < 2b^{e+f-n+3}, \]
		where $\mathfrak{D}_c^n = D_{d_1} D_{d_2} \ldots D_{d_n}$.
	\end{prop}


\subsection{Absolute Decimal Precision in Base $b=2$}
Usually we want to obtain the decimal precision of a given number.
	In addition, base $b=2$ is the most used base in both theory
	and practise. Therefore, the issue of obtaining the absolute decimal
	precision in base $b=2$ is of a great importance \cite{errhec00}.

Of course, we can use the propositions proved above, but we will use,
	for performance reasons, better bounds, which we can obtain
	because we take more digits in base $b=2$ into account.


\subsubsection{$S_0 D_{d_1} D_{d_2} \ldots$}
This case is quite easy. If we choose
	\begin{equation}
		n=\lceil 1 + 3.322 k \rceil,
	\end{equation}
	where $k$ is the required number of correct decimal digits, we have:
	\[ \begin{array}{lrl}
		& n & = \lceil 1 + 3.322 k \rceil, \\
		\Rightarrow & n & > 1 + k \log_2 10, \\
		\Rightarrow & -k \log_2 10 & > 1 - n, \\
		\Rightarrow & 10^{-k} & > 2^{1-n} \\
		&& = {\sf width} ( {\bf Info} (S_0 D_{d_1} D_{d_2} \ldots D_{d_n} ) ).
	\end{array} \]


\subsubsection{$S_+ D_{d_1} D_{d_2} \ldots,\ S_- D_{d_1} D_{d_2} \ldots$}
The following proposition is given in \cite{pot98}, page 129. ???????
	Check if it is correct or not ?????????
	\begin{prop} \label{prop:width of information with base 2}
		For any $e \in \mathbb{N},\ \alpha \in \{-1,0\},\ \beta \in
		\{-1,0,1\}$ and $\gamma \in \mathbb{Z}$, if
		\[ n = e - 1 - \gamma + (1+\alpha)(1+\beta) \]
		then
		\[ 2^{\gamma-1} < {\sf width} ( {\bf Info} (D_1^e D_\alpha
			D_\beta \mathfrak{D}_c^n )) < 2^{\gamma+1} \]
		for all $c \in \mathbb{Z}(2^n)$.
	\end{prop}

Suppose that we have a real number whose EFP represenation is given by
	$S_+ D_{d_1} D_{d_2} \ldots$. Provided that $e$, the number of leading
	digit matrices $D_1$ is finite (i.e. the number is not $\infty$), we
	will calculate correctly the number up to $k$ decimal digits by
	emitting not more than $e+2+n$ digit matrices, where
	\begin{equation}
		n = \lceil e + 3.322 k + 2 \rceil.
	\end{equation}
	We use $3.322$ as an upper bound for $\log_2 10$. The reasoning is
	as follows:
	\[ \begin{array}{lrl}
		& n & = \lceil e + 3.322 k + 2 \rceil, \\
		\Rightarrow & n & > e + k \log_2 10 + 2, \\
		\Rightarrow & -k \log_2 10 & > e - n + 2, \\
		\Rightarrow & 10^{-k} & > 2^{e-n+2} \\
		&& \ge 2^{e-n+(1+\alpha)(1+\beta)} \\
		&& = 2^{\gamma + 1},
	\end{array} \]
	where $\gamma = e-n-1+(1+\alpha)(1+\beta)$. By Proposition
	\ref{prop:width of information with base 2}:
	\[ {\sf width} ( {\bf Info} (D_1^e D_\alpha D_\beta
		\mathfrak{D}_c^n )) < 2^{\gamma+1} < 10^{-k} \]
	for all $c \in \mathbb{Z}(2^n)$.

The same conclusion can be used in the case $S_- D_{d_1} D_{d_2} \ldots$.
	The only difference is that $e$ is the number of leading digit matrices
	$D_{-1}$.


\subsubsection{$S_\infty D_{d_1} D_{d_2} \ldots$}
If the sign digit is $S_0$, we do not have problems to yield any required
	absolute precision. The information of $S_0$ is bounded interval and
	every digit matrix will half the previous interval. In the case when
	the sign digit is $S_+$ any conclusion is postponed until we get one
	{\sc good} digit. By {\em good} digit in this case we mean a digit which
	is not $D_1$ (recall that $S_+ D_1 D_1 \ldots$ represents $\infty$).
	Then we will get a bounded interval (one which does not contain
	$\infty$) and every subsequent digit will refine that interval.
	Basically, we require that $e$, the number of leading digits $D_1$, is
	finite. Similarly, if the sign is $S_-$ a {\em good} digit is a digit
	which is not $D_{-1}$.

Using Proposition \ref{prop:the information containing infty} is easy to
	check that in the case when the leading matrix is $S_\infty$, we need two
	{\em good} digits. The first {\em good} digit is $D_{-1}$, respectively
	$D_1$, while the second one is either $D_{-1}$ or $D_0$, respectively
	$D_0$ or $D_1$. The reason is that all of the sequences:
	\[ \begin{array}{ll}
		S_\infty D_0 D_0 \ldots &(\Leftrightarrow c=0) \\
		S_\infty D_0^e D_{-1} D_1 D_1 \ldots &(\Leftrightarrow c=-1) \\
		S_\infty D_0^e D_1 D_{-1} D_{-1} \ldots &(\Leftrightarrow c=1)
	\end{array} \]
	represent $\infty$.

Once the information of $S_\infty D_{d_1} D_{d_2} \ldots$ is either
	positive or negative (we got the first {\em good} digit) we can make
	use of the proposition below.
	\begin{prop} For $e,f \in \mathbb{N}$ we have:
		\[ \begin{array}{c}
			{\sf width} ( {\bf Info} ( S_\infty D_0^e D_{-1} D_1^f
				\mathfrak{D}_c^n ) ) = {\sf width} ( {\bf Info} ( S_+ D_1^{e+f}
				\mathfrak{D}_c^n ) ), \\
			{\sf width} ( {\bf Info} ( S_\infty D_0^e D_1 D_{-1}^f
			\mathfrak{D}_c^n ) ) = {\sf width} ( {\bf Info} ( S_- D_{-1}^{e+f}
			\mathfrak{D}_c^n ) ).
		\end{array} \]
	\end{prop}
	\begin{proof}
		Let us first prove the first equality. From proofs of
		Proposition~\ref{prop:Spos and width of information with base b} and
		Proposition~\ref{prop:Sinf and width of information with base b 1} we get:
		\[ \begin{array}{rcl}
			{\bf Info} (S_+ D_1^{e+f} \mathfrak{D}_c^n) &=& [A-1,B-1], \\
			{\bf Info} (S_\infty D_0^{e+f} D_{-1} \mathfrak{D}_c^n )
				&=& [A,B]
		\end{array} \]
		where
		\[ A=\frac{2^{n+e+f+1}}{2^n-c+1} \qquad B=\frac{2^{n+e+f+1}}{2^n-c-1}. \]
		This implies the first equality. Similarly, we prove the second one.
	\end{proof}
	The proposition above enables us to use Proposition \ref{prop:width of
	information with base 2} in order to determine the number of necessary
	digits which will produce required absolute decimal precision.
	Provided that $e$ and $f$ are finite numbers, i.e. we got two {\em good}
	digits, in order to achieve absolute decimal precision of $10^{-k},\ k
	\in \mathbb{N}$ we need not more than $e+f+2+n$ digit matrices, where
	\[ n = \lceil e+f+ 3.322k + 2 \rceil. \]


\section{The Base Interval $[-1,1]$}
Comparing with $[0,\infty]$, the base interval $[-1,1]$ has an obvious
	disadvantage in amount of effort required to calculate the information
	of a matrix $M=\begin{pmatrix} a&c\\b&d \end{pmatrix}$: ${\bf Info}M=
	[\frac{c-a}{d-b},\frac{c+a}{d+b}]$ if $\det M > 0$ or ${\bf Info}M=
	[\frac{c+a}{d+b}, \frac{c-a}{d-b}]$ if $\det M < 0$. Furthermore,
	testing the refining property is more complex with $[-1,1]$ as the
	base interval ($|M(-1)| = |\frac{c-a}{d-b}| \le 1$ and $|M(1)| =
	|\frac{c+a}{d+b}| \le 1$), comparing it with $[0,\infty]$ as the base
	interval ($a,b,c$ and $d$ are of the same sign).

Despite drawbacks above, it seems that $[-1,1]$ as the base interval
	pays off at later stages, since digit matrices, which are given below,
	the representation of the functions by tensors, emission and absorbtion,
	\cite{edapot97, pot98}, are simpler due to more zeros which appear in
	such representations. Pros and cons are discussed in more details in
	\cite{hec99}.

The four possible sign matrices are given as follows:
	\[ \begin{array}{rclcrcl}
		S^0 &=& \begin{pmatrix} 1&0 \\ 0&1 \end{pmatrix} = \textrm{Id}, &\qquad&
			\textbf{Info}(S^0) &=& [-1,1], \vspace{0.5em} \\
		S^1 &=& \begin{pmatrix} 1&1 \\ -1&1 \end{pmatrix}, &\qquad&
			\textbf{Info}(S^1) &=& [0,\infty], \vspace{0.5em} \\
		S^2 &=& \begin{pmatrix} 0&-1 \\ 1&0 \end{pmatrix}, &\qquad&
			\textbf{Info}(S^2) &=& [1,-1], \vspace{0.5em} \\
		S^3 &=& \begin{pmatrix} 1&-1 \\ 1&1 \end{pmatrix}, &\qquad&
			\textbf{Info}(S^3) &=& [\infty,0].
	\end{array} \]
	The indices may be observed as exponents as $S^i S^j = S^{(i+j) \mod 4}$.
	Digit matrices in base $b$ are given by:
	\[ A_k = \begin{pmatrix} 1&k\\ 0&b \end{pmatrix}, \]
	for integer $k$ such that $|k| < b$. $A_k$ maps $[-1,1]$ into
	the interval$[\frac{k-1}{b},\frac{k+1}{b}]$, whose length is $2/b$.
	A product $A_{d_1} A_{d_2} \ldots A_{d_n}$ corresponds to a real number
	$r = \sum_{i=1}^n d_i b^{-i} \in [-1,1]$.

When $b=2$ we get three matrices ($k=-1,0,1$):
	\[ \begin{array}{rclcl}
		A_{-1} &=& \begin{pmatrix} 1&-1 \\0&2 \end{pmatrix}, &\qquad&
			\textbf{Info}(A_{-1}) = [-1,0], \vspace{0.5em} \\
		A_0 &=& \begin{pmatrix} 1&0\\0&2 \end{pmatrix}, &\qquad&
			\textbf{Info}(A_0) = [-\frac{1}{2},-\frac{1}{2}], \vspace{0.5em} \\
		A_1 &=& \begin{pmatrix} 1&1\\0&2 \end{pmatrix}, &\qquad&
			\textbf{Info}(A_1) = [0,1].
    \end{array} \]
	Then, the product of digits $A_{d_1} A_{d_2} \ldots A_{d_n}$ corresponds
	to well--known signed binary representation of a number from $[-1,1]$.

It is easy to check that there exists isomorphism between representations
	with base intervals $[0,\infty$ and $[-1,1]$. Every EFP with base
	interval $[-1,1]$ can be easily translated into EFP with base $[0,\infty]$:
	\[ \begin{array}{rcl}
		S^i A_{d_1} \ldots A_{d_n} &=& S^i A_{d_1} \ldots A_{d_n} \\
		&=& S^i (S^3 S^1) A_{d_1} (S^3 S^1) \ldots (S^3 S^1) A_{d_n} (S^3 S^1) \\
		&=& (S^i S^3) (S^1 A_{d_1} S^3) (S^1 \ldots S^3) (S^1 A_{d_n} S^3) S^1 \\
		&=& S^{i+3} D_{d_1} \ldots D_{d_n} S^1.
	\end{array} \]
	We used the facts that $S^3 S^1 = S^0 = {\textrm Id}$, $D_{d_i} =
	S^1 A_{d_i} S^3$. As $S^1 [-1,1] = [0,\infty]$ we have that
	\[ \begin{array}{rcl}
		{\bf Info}_{[-1,1]} (S^i A_{d_1} \ldots A_{d_n}) &=&
			(S^i A_{d_1} \ldots A_{d_n}) [-1,1] \\
		&=& S^{i+3} D_{d_1} \ldots D_{d_n} S^1 [-1,1] \\
		&=& {\bf Info}_{[0,\infty]} (S^{i+3} D_{d_1} \ldots D_{d_n}).
	\end{array} \]

Therefore, trying to obtain any absolute accuracy from EFP which is given
	by $S^i A_{d_1} A_{d_2} \ldots$ with the base interval $[-1,1]$ is
	equivalent to problem of obtaining the same absolute accuracy from
	$S^{i+3} D_{d_1} D_{d_2} \ldots$ with $[0,\infty]$ as the base interval.
	We have:
	\[ \begin{array}{ccc}
		S^0 A_{d_1} A_{d_2} \ldots A_{d_n} [-1,1] &\Longleftrightarrow&
			S_0 D_{d_1} D_{d_2} \ldots D_{d_n} [0,\infty], \vspace{0.5em} \\
		S^1 A_{d_1} A_{d_2} \ldots A_{d_n} [-1,1] &\Longleftrightarrow&
			S_+ D_{d_1} D_{d_2} \ldots D_{d_n} [0,\infty], \vspace{0.5em} \\
		S^2 A_{d_1} A_{d_2} \ldots A_{d_n} [-1,1] &\Longleftrightarrow&
			S_\infty D_{d_1} D_{d_2} \ldots D_{d_n} [0,\infty], \vspace{0.5em} \\
		S^3 A_{d_1} A_{d_2} \ldots A_{d_n} [-1,1] &\Longleftrightarrow&
			S_- D_{d_1} D_{d_2} \ldots D_{d_n} [0,\infty].
	\end{array} \]


\subsection{Alternative Approaches with Base Interval $[-1,1]$}
We will mention another two approaches, namely {\sc mantissa--exponent
	approach} and {\sc integer part--fractional part approach}. In the
	former, any real number $x \in \mathbb{R}$ can be represented in base
	$b$ as $x=b^e u$, where $e$ is a non--negative integer and $u =
	\sum d_i b^{-i} \in [-1,1]$. This corresponds to the product of matrices
	$\begin{pmatrix} b^e&0 \\ 0&1 \end{pmatrix} A_{d_1} A_{d_2} \ldots$.
	Obtaining any required absolute precision in this approach is
	straightforward. As each of digit matrices in base $b$, $A_{d_i}$,
	contracts distances by $1/b$, the product:
	\[ \begin{pmatrix} b^e&0 \\ 0&1 \end{pmatrix} A_{d_1} A_{d_2} \ldots
		A_{d_{e+k}} \]
	will induce an interval whose length is $2b^{-k}$, for any $k \in
	\mathbb{N}$.

In the integer part--fractional part approach, a real number $x \in
	\mathbb{R}$ is represented as $x=e+u$, where $e$ is an integer and
	$u = \sum d_i b^{-i} \in [-1,1]$. Obtaining an absolute precision for $x$
	is even simpler. Calculating $u$ within the same absolute precision will
	solve the problem. The product of $k$ digit matrices, $A_{d_1} A_{d_2}
	\ldots A_{d_k}$ will induce an interval of the length $2b^{-k}$. Hence,
	$x=e+u$ will be calculated with error not greater than $2b^{-k}$.


\section*{Acknowledgements}
I would like to thank Reinhold Heckmann for all his help.


\begin{thebibliography}{99}
    \bibitem{eda97} Edalat, A.:
    Domains for Computation in Mathemetics, Physics and Exact
    Real Arithmetic.
    Bulletin of Symbolic Logic, Vol.~3 (1997).

    \bibitem{edapot97} Edalat, A., Potts, P.~J.:
    A New Representation for Exact Real Numbers.
    Electronic Notes in Theoretical Computer Science, Vol.~6 (1997).

    \bibitem{errhec00} Errington, L., Heckmann, R.:
    Using the C--LFT Library (2000).

    \bibitem{hec99} Heckmann, R.:
    How Many Argument Digits are Needed to Produce $n$
    Result Digits? Electronic Notes in Theoretical Computer Science,
		Vol.~24 (2000).

   \bibitem{niekor95} Nielsen, A., Kornerup P.:
    MSB--First Digit Serial Arithmetic.
    Journal of Univ. Comp. Science, 1(7):523--543 (1995).

    \bibitem{pot98} Potts, P.~J.:
    Exact Real Arithmetic Using M\"obius Transformations.
    PhD Thesis, University of London, Imperial College (1998).

    \bibitem{vui90} Vuillemin, J.~E.:
    Exact Real Computer Arithmetic with Continued Fractions.
    IEEE Transactions on Computers, 39(8):1087--1105 (1990).
\end{thebibliography}

	
\end{document}