A Review on Interval Computation { Software and ... - CiteSeerX

3 downloads 14181 Views 118KB Size Report
computing software, and applications are reviewed. We also list ..... Available on the Internet, gene search engines take a submitted DNA sequence and returns.
A Review on Interval Computation { Software and Applications ¤ Chenyi Huy, Shanying Xu z, and Xiaoguang Yangx

!"#$%&'$ !"#$%&'( )*+,-#."/ 0'1 2$)*+$ ' -1$3-( #**( ." )*+,-#'#.*"'( 1).$")$ '"4 $"/."$$%."/5 !" #0.1 ,',$%6 7$ 2%.$89 %$&.$7 70'# .1 '"4 709 4* 7$ "$$4 ."#$%&'( )*+,-#."/5 :1,$).'((96 1*+$ 3%$$(9 '&'.('2($ ."#$%&'( )*+,-#."/ 1*3#7'%$6 '"4 ',,(.)'#.*"1 '%$ %$&.$7$45 ;$ '(1* (.1# #0$ 15

Ever since R. E. Moore introduced interval computing [19, 20] in the late 1950s, it has become an active research branch of scienti¯c computation. In this paper, we mainly review the works in this area we have been involved in.

1

Introduction

In this section, we brie°y review what is, and why do we need interval computing. In order to do this, we need to review °oating-point arithmetic ¯rst.

1.1

Floating-point arithmetic

Floating-point arithmetic has been commonly used in scienti¯c computing ever since the ¯rst modern computer. In °oating-point arithmetic, a real number r, is written as r = §b0 :b1 b2 ¢ ¢ ¢ £ 2! , where b0 ; b1 ; b2 ; ¢ ¢ ¢ are binary digits 0 or 1, and p is a binary integer. We call b0 :b1 b2 ¢ ¢ ¢ the mantissa of r, and p the exponent of r. If r 6= 0, then b0 = 1. For example, in IEEE 32-bit real number representation, the ¯rst bit is designated as the sign bit (0 for + and 1 for ¡); the 2nd to 9th bits to store the biased exponent with the bias 127 (e = p + 127); the 10th to 32nd bits to store the mantissa f with the assumption that there is an 1 prior to f . Therefore, the actual mantissa is 1:f . ! This

work is partially supported by the Institute of Mathematics and System Science, Chinese Academy of Sciences " University of Houston-Downtown, Houston, Texas 77002, USA. E-mail: [email protected] # Institute of mathematics and System Sciences, Chinese Academy of Sciences, Beijing, China. E-mail: [email protected] $ Institute of mathematics and System Sciences, Chinese Academy of Sciences, Beijing, China. E-mail: [email protected]

1

Since only ¯nitely many bits can be recorded, most real numbers are stored imprecisely in °oating-point representation. Representation errors will certainly e®ect computational results. Floating point arithmetic performed on these machine representable numbers may cause additional errors. Conventional wisdom tells us that using more bits to represent a real number would reduce representation error and loss of signi¯cance. However, the examples below show us that more bits cannot resolve the problem completely.

1.2

Unreliable computing with °oating point arithmetic

Many people believe that errors in the last few bits in °oating point arithmetic would not cause signi¯cant problems in computing. However, this may not be true. 1.2.1

Example 1

This is an extreme but very simple example run by Rump on a IBM S/370. The problem is: given a = 77617:0, and b = 33096:0 to evaluate a f = 333:75b6 + a2 (11a2 b2 ¡ b6 ¡ 121b4 ¡ 2) + 5:5b8 + , . 2b The computational results Rump obtained are: f = 1:172603 ¢ ¢ ¢ in single precision,; f = 1:1726039400531 ¢ ¢ ¢ in double precision; and in extended precision f = 1:172603940053178 ¢ ¢ ¢. With conventional wisdom, one would believe that the ¯rst few signi¯cant digits 1:1726 should be correct at least. However, the true answer is ¡0:82739605994683135 with error bound of 10¡17 . Even the sign of the computational results is incorrect. 1.2.2

Example 2

The problem: to numerically evaluate the recursively de¯ned sequence x0 = 4 1 13 1; x1 = ; x"+1 = x" ¡ x"¡1 for n = f1; 2; 3; ¢ ¢ ¢g on a computer with 3 3 3 °oating-point arithmetic, and then predict if the sequence converges or not. Computational results with °oating-point arithmetic imply that the sequence would diverge to +1 or ¡1 depending on the machine, programming language, and compiler used; but regardless using single or double precisions. With mathematical induction, it is easy to prove that the recursively de¯ned 1 sequence is the same as ( )" mathematically. Therefore, the above recursively 3 de¯ned sequence should converge to zero mathematically. 1.2.3

Example 3

As we known, the derivative of a function f at x = x0 is de¯ned as f 0 (x0 ) = f (x0 + h) ¡ f (x0 ) lim mathematically. If one tried to form a numerical se#!0 h

2

quence with h approaching 0 to estimate f 0 (x0 ) on a °oating-point arithmetic computer, he would conclude that all continuous functions are di®erentiable, and their derivatives are zero almost everywhere. The reason for the misleading is that the recorded values of f (x0 + h) and f (x0 ) are exactly the same after a small enough h. Since f is continuous, f (x0 + h) and f (x0 ) are almost equal when h is small enough. All signi¯cant digits in the numerator are lost.

1.3

Interval arithmetic

The above simple and extreme examples show us that numerical results obtained with °oating-point arithmetic are not always reliable. In complicated computations, it is very di±cult to trace every steps to determine the reliability of numerical results. With the motivation of automatic numerical results veri¯cation, R. E. Moore introduced his approach [19] in the late of 1950s. To represent a real number r, he proposed to use a machine representable interval which contains r (containment principle) rather than chopping or rounding. For example, the irrational number ¼ may be represented as the interval [3:141592653; 3:141592654] on a hypothetical machine which can only record 10 digits. Operations should be performed on these machine representable intervals as well. He de¯ned interval arithmetic as the follow: De¯nition (interval arithmetic): Let x1 and y be two real intervals and op be an arithmetic operation ( +, -, *, /). Then, x op y = fx op yj 8x 2 x; y 2 yg Example: [1; 2] + [2; 3] = [3; 5]; [3; 5] ¡ [1; 2] = [1; 4]; [1; 2] ¤ [2; 3] = [2; 6]: There is no loss of information in interval representation and arithmetic. Therefore, the true numerical solution of computing should be contained in the result interval. In this context, numerical results obtained with interval computing are reliable. Interval computing has di®erent properties compared with traditional °oatingpoint arithmetic. For example, z + x 6= y even x + y = z. In addition, set operations can be easily performed on intervals. Interval analysis has become a research branch. New algorithms based on interval analysis have been developed. Interested readers may refer [20] and others for the literature of interval analysis. Interval computing also makes it possible to directly include interval valued parameters, which frequently appear in real world applications, into numerical computation. 1 Throughout of the rest of this paper, we use boldface letters to denote interval variables. Lowercase and uppercase letters are used to denote scalars and vectors respectively.

3

2

Interval computing software

In this section, we review a few interval computing software packages.

2.1

Fundamental interval arithmetic software

Fundamental interval arithmetic software packages have been developed in different computer languages such as C, C++, Fortran, Pascal-XSC, and others. Here, we review two packages that we have been involved in. 2.1.1

INTLIB

B. Kearfott and !" #$, published the interval library [16] INTLIB in 1994. This library is written in Fortran 77 and portable to almost all commonly used computer platforms. Kearfott later converted it into Fortran 95. Subroutines in INTLIB perform rigorous interval arithmetic with directed rounding. Subprograms in this library can be categorized into four groups according to their functionalities. They are interval arithmetic routines (+, ¡, £, ¥, ª); set operation routines (\; [); utility routines (direct rounding, and etc.) and routines that bound elementary mathematical functions (trigonometric, inverse trigonometric, logarithmic, exponential, hyperbolic, and etc.) with rigorous interval arithmetic. Source code of the library can be freely downloaded from the URL: !""#$%%&&&'()"*+,'-./%"-01%232. 2.1.2

An online interval calculator

In order to provide a handhold calculator like basic tool for interval computing, M. Hung and C. Hu [13] developed an online interval calculator. The functionalities of this calculator is about the same as INTLIB except that the calculator is online accessible with a user friendly graphical user interface. The calculator was written in Java. It can be accessed online through the URL: !""#$%%&&&'0141'05')65%7/*-,1-*%89:9;(").:9**)O0$$4 P.1G 1.($1 '"4 N,')$ [.&.1.*"6 T-+2$% >PN[GJZQZ]Q6 @IQI5 ?JUA =5 P**%$6 F-4/$3' +23 566)".+4"$2' $9 124-%@+) 52+);'"'6 N*).$#9 3*% !"4-1#%.'( '"4 K,,(.$4 P'#0$+'#.)16 @I]I5 ?J@A K5 T$-+'.$%6 124-%@+) C-4/$3' 9$% ';'4-C' $9 -E&+4"$2'6 C'+2%.4/$

Suggest Documents