next up previous contents index
Next: 5. Intersection Problems Up: 4.9 Interval Projected Polyhedron Previous: 4.9.1 Formulation of the   Contents   Index

4.9.2 Comparison of software and hardware rounding

We have compared the software and hardware rounding methods in solving the following two examples using the IPP solver. The first example is the degree 20 Wilkinson polynomial, which we introduced in Sect. 1.3.3, whose roots are known for their numerical instability. For a tolerance of $ \pm 10^{-8}$ both methods found all 20 roots. However, as reported in Table 4.6 the hardware rounding method was 2.4% faster (24.7 versus 25.3 CPU seconds) and had marginally tighter interval bounds.

For a second example, we used the IPP solver to find the self-intersection points of the offset curve of a planar degree six Bézier curve originally investigated by Maekawa and Patrikalakis [254]. For a tight tolerance of $ \pm 10^{-12}$ both methods correctly find two pairs of roots for each of the two self-intersection points (see Fig. 11.11 (a)). However, as shown in Table 4.7 the hardware rounding method was 25.8% faster than the software $ ulp$ method.

We have compared two methods for performing robust rounded interval arithmetic. The intervals produced by the software $ ulp$ method are slightly larger, as this method performs the rounding conservatively, extending the upper and lower bounds by $ ulp$ during every arithmetic operation. The hardware rounding method only extends the bounds when the result of the operation cannot be exactly represented.


Table 4.6: Root finding for degree 20 Wilkinson polynomial for software and hardware rounding. The reported times are the accumulated CPU seconds necessary to solve for the roots 50 times (adapted from [4])

Root
Software rounding

1.0
$ [0.9999999949999983, 1.000000005]$
0.95 $ [0.9499999949999989, 0.9500000050000008]$
0.9 $ [0.8999999949959929, 0.9000000049959949]$
0.85 $ [0.8499999949999413, 0.8500000049999432]$
0.8 $ [0.7999999900304406, 0.8000000000304426]$
0.75 $ [0.7499999949438847, 0.7500000049438866]$
0.7 $ [0.6999999949920326, 0.7000000049920345]$
0.65 $ [0.6499999949869547, 0.6500000049869566]$
0.6 $ [0.5999999949383569, 0.6000000049383588]$
0.55 $ [0.5499999949774965, 0.5500000049774985]$
0.5 $ [0.4999999949594102, 0.5000000049594113]$
0.45 $ [0.4499999950181615, 0.4500000050181623]$
0.4 $ [0.3999999950865321, 0.4000000050865329]$
0.35 $ [0.3499999950804608, 0.3500000050804616]$
0.3 $ [0.2999999950142164, 0.3000000050142173]$
0.25 $ [0.2499999949978854, 0.2500000049978859]$
0.2 $ [0.1999999950002637, 0.2000000050002642]$
0.15 $ [0.1499999950005055, 0.1500000050005059]$
0.1 $ [0.09999999500015867, 0.1000000050001589]$
0.05 $ [0.04999999524378046, 0.05000000524378057]$

CPU
25.3

Root
Hardware rounding

1.0
$ [0.9999999949999999, 1.000000005]$
0.95 $ [0.9499999949999994, 0.9500000049999997]$
0.9 $ [0.899999994995992, 0.9000000049959923]$
0.85 $ [0.8499999949999332, 0.8500000049999337]$
0.8 $ [0.7999999900306577, 0.8000000000306582]$
0.75 $ [0.7499999949787219, 0.7500000049787222]$
0.7 $ [0.6999999949980986, 0.7000000049980991]$
0.65 $ [0.6499999949944346, 0.6500000049944349]$
0.6 $ [0.599999994956996, 0.6000000049569965]$
0.55 $ [0.5499999949777089, 0.5500000049777094]$
0.5 $ [0.4999999949696504, 0.5000000049696507]$
0.45 $ [0.4499999950891842, 0.4500000050891845]$
0.4 $ [0.3999999950232258, 0.400000005023226]$
0.35 $ [0.3499999950964761, 0.3500000050964763]$
0.3 $ [0.2999999950216165, 0.3000000050216168]$
0.25 $ [0.2499999950006767, 0.250000005000677]$
0.2 $ [0.199999995000106, 0.2000000050001061]$
0.15 $ [0.1499999950003841, 0.1500000050003842]$
0.1 $ [0.09999999500016345, 0.1000000050001635]$
0.05 $ [0.04999999524378028, 0.05000000524378029]$

CPU
24.7

The differences in the running times of the two methods reflect the relative times required to compute the $ ulp$ versus setting the hardware rounding mode flag. In our experiments performed on an SGI Indy workstation the hardware rounding method is consistently faster than the $ ulp$ method, with problem-specific performance increases between 2 and 25%. Other researchers have found that hardware rounding is approximately 15% slower than the $ ulp$ method on a Power Macintosh [311]. Thus, it appears that the computational efficiency of the two methods is dependent on the host system architecture.


Table 4.7: Results of finding self-intersections of offset of degree six Bézier curve (adapted from [4]). Timings are reported in CPU seconds

Method
CPU Roots

Software
168.0 12
Hardware 124.6 12


next up previous contents index
Next: 5. Intersection Problems Up: 4.9 Interval Projected Polyhedron Previous: 4.9.1 Formulation of the   Contents   Index
December 2009