Hierarchical Polynomial Approximation Vincent LEFÈVRE, Jean-Michel MULLER, Serge TORRES Arénaire, INRIA Grenoble – Rhône-Alpes / LIP, ENS-Lyon Journées TaMaDi, Lyon, 2011-12-13 [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii]
Outline Two-Level Polynomial Approximations Computation of the Coefficients of a i ( k ) Computation of Consecutive Values of a Polynomial Error Bound on the Approximation of P k by Q k Summary for the Search for HR-Cases [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 2 / 11
Two-Level Polynomial Approximations The problem: After scaling, values of f ( 0 ) , f ( 1 ) , f ( 2 ) , . . . , f ( T I − 1 ) on a large interval I , of width T I ? On I , f is approximated by a degree- d polynomial P , with an approximation error bounded by ǫ . I is split into sub-intervals J 0 , J 1 , J 2 , . . . of width T J , where J k = J k − 1 + T J . On each of the J k , we are looking for an approximation Q k of degree δ < d . a 0 ( k ) + a 1 ( k ) · X + a 2 ( k ) · X ( X − 1 ) P k ( X ) = P ( X + k · T J ) = + 2 · · · + a d ( k ) · X ( X − 1 )( X − 2 ) · · · ( X − d + 1 ) d ! a 0 ( k ) + a 1 ( k ) · X + a 2 ( k ) · X ( X − 1 ) Q k ( X ) = + · · · + 2 δ a δ ( k ) · X ( X − 1 )( X − 2 ) · · · ( X − δ + 1 ) � X � � = a i ( k ) · δ ! i i = 0 [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 3 / 11
Computation of the Coefficients of a i ( k ) The problem: Compute the values of a i ( k ) . For each i ∈ � 0 , δ � , a i ( k ) is a degree- ( d − i ) polynomial function of k . We can compute the a i ( k ) from the d − i consecutive values P k ( 0 ) , P k ( 1 ) , P k ( 2 ) , . . . , P k ( d − i − 1 ) for the first values of k ; the following a i ( k ) ’s are computed with the difference table method . Let P k ( u ) be the “true” value, and ˆ P k ( u ) be the “computed” value. For 0 ≤ k ≤ d − i : a 0 ( k ) = ˆ ˆ ˆ ˆ P k ( 0 ) P k ( 1 ) P k ( 2 ) P k ( 3 ) · · · Let e be an upper bound ◗ ✑ ◗ ✑ ◗ ✑ ◗ ✑ s ◗ ✰ ✑ ◗ s ✰ ✑ s ◗ ✑ ✰ ◗ s ✑ ✰ � � � P k ( u ) − ˆ on � . P k ( u ) − − − − � � ❤ ❤ ❤ ❤ a 1 ( k ) ◗ ✑ ◗ ✑ ◗ ✑ s ◗ ✑ ✰ ◗ s ✰ ✑ s ◗ ✑ ✰ With exact subtractions, − ❤ − ❤ − ❤ a 2 ( k ) a i ( k ) will be known with ◗ ✑ ◗ ✑ ◗ s ✰ ✑ s ◗ ✰ ✑ an error ≤ 2 i e . − ❤ − ❤ a 3 ( k ) [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 4 / 11
Computation of the Coefficients of a i ( k ) [2] Define values b i , j ( k ) as b i , 0 ( k ) + b i , 1 ( k ) · k + b i , 2 ( k ) · k ( k − 1 ) a i ( k ) = + · · · + 2 d − i b i , d − i ( k ) · k ( k − 1 )( k − 2 ) · · · ( k − d + i + 1 ) � k � � = b i , j ( k ) · ( d − i )! j j = 0 b i , 0 ( 0 ) = a i ( 0 ) a i ( 1 ) a i ( 2 ) a i ( 3 ) · · · ◗ ✑ ◗ ✑ ◗ ✑ ◗ ✑ s ◗ ✰ ✑ s ◗ ✑ ✰ ◗ s ✑ ✰ ◗ s ✑ ✰ − ❤ − ❤ − ❤ − ❤ b i , 1 ( 0 ) The term b i , j ( 0 ) is known ◗ ✑ ◗ ✑ ◗ ✑ ◗ s ✑ ✰ ◗ s ✰ ✑ ◗ s ✑ ✰ with an error ≤ 2 i + j e . − ❤ − ❤ − ❤ b i , 2 ( 0 ) ◗ ✑ ◗ ✑ ◗ s ✑ ✰ s ◗ ✰ ✑ − − ❤ ❤ b i , 3 ( 0 ) The a i ( k ) will be computed with additions from these coefficients b i , j ( 0 ) . . . [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 5 / 11
Computation of Consecutive Values of a Polynomial δ � X � � Let Q ( X + k ) = of degree (at most) δ , where the q i ( k ) ’s are q i ( k ) · i i = 0 assumed to be the exact coefficients. The problem: Knowing the initial coefficients q i ( 0 ) of Q ( X ) , compute the consecutive values Q ( 0 ) , Q ( 1 ) , Q ( 2 ) , . . . q 0 ( k − 1 ) q 1 ( k − 1 ) q 0 ( k ) = + q 1 ( k − 1 ) q 2 ( k − 1 ) q 1 ( k ) = + We have: . . . q δ − 1 ( k − 1 ) q δ ( k − 1 ) q δ − 1 ( k ) = + q δ being a constant, and Q ( k ) = q 0 ( k ) . The coefficients q i ( k ) will be represented by ˆ q i ( k ) with n i bits after the fractional point, i.e. on n i bits as we are interested in the values modulo 1, and an initial error of one ulp: u i = 2 − n i . Since q i ( k ) depends on q i + 1 ( k − 1 ) , we assume that ( n i ) is increasing: n i ≤ n i + 1 . And n δ = n δ − 1 for the constant coefficient q δ (using more precision would be useless). [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 6 / 11
Computation of Consecutive Values of a Polynomial [2] Formally: n i ≤ n i + 1 , u i = 2 − n i , ˆ q i ( k ) ∈ u i Z or u i Z / Z , and | ˆ q i ( 0 ) − q i ( 0 ) | ≤ u i . q 0 ( k − 1 ) q 1 ( k − 1 )) ˆ q 0 ( k ) = ˆ + ◦ (ˆ q 1 ( k − 1 ) q 2 ( k − 1 )) q 1 ( k ) ˆ = ˆ + ◦ (ˆ . . Basic iteration: . q δ − 2 ( k − 1 ) q δ − 1 ( k − 1 )) q δ − 2 ( k ) ˆ = ˆ + ◦ (ˆ q δ − 1 ( k − 1 ) ˆ q δ − 1 ( k ) = ˆ + ˆ q δ where | ˆ q δ − q δ | ≤ u δ − 1 and ◦ denotes the truncation of the value to the precision of the result (said otherwise, when doing an addition, the trailing bits of the more precise value are ignored). Let ǫ i ( k ) be a bound on the error on q i ( k ) , i.e. | ˆ q i ( k ) − q i ( k ) | ≤ ǫ i ( k ) . Initially, ǫ i ( 0 ) = u i for 0 ≤ i ≤ δ − 1. We have: ǫ i ( k ) = ǫ i ( k − 1 ) + ǫ i + 1 ( k − 1 ) + u i for 0 ≤ i ≤ δ − 1, with ǫ δ ( 0 ) = 0 in order to satisfy ǫ δ − 1 ( k ) = ǫ δ − 1 ( k − 1 ) + u δ − 1 . � k + 1 δ − 1 � � We can prove by induction that ǫ i ( k ) = . u j · j − i + 1 j = i [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 7 / 11
Computation of Consecutive Values of a Polynomial [3] � k + 1 δ − 1 � � Proof by induction that ǫ i ( k ) = . u j · j − i + 1 j = i This is true for k = 0 and for i = δ , and � k δ − 1 δ − 1 � � k � � � ǫ i ( k − 1 ) + ǫ i + 1 ( k − 1 ) + u i = u i + u j · + u j · j − i + 1 j − i j = i + 1 j = i �� k δ − 1 � � k �� � = u j · + j − i + 1 j − i j = i � k + 1 δ − 1 � � = u j · = ǫ i ( k ) j − i + 1 j = i [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 8 / 11
Computation of Consecutive Values of a Polynomial [4] If ℓ denotes the length of the interval (the number of values), i.e. 0 ≤ k < ℓ , then the error is bounded by: δ − 1 δ − 1 � ℓ � � ℓ � � � 2 − n i · max 0 ≤ k <ℓ ǫ 0 ( k ) ≤ u i · = . i + 1 i + 1 i = 0 i = 0 The values of n i will be determined so that this error bound is less than some given error bound E . This can be done by determining n 0 , then n 1 , then n 2 , and so on, each time by taking the smallest n i (multiple of the word size) such that � ℓ � 2 − n i · is less than a fraction of the remaining error bound. i + 1 Note: if n i + 1 = n i , one could have taken ǫ ′ i ( k ) = ǫ i + 1 ( k ) , but the gain would probably be low (since ǫ i + 1 ( k ) ∼ k · u i + 1 = k · u i at least) and the formulas would probably be much more complicated. [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 9 / 11
Error Bound on the Approximation of P k by Q k d � m � � On the interval J k : P k ( m ) − Q k ( m ) = a i ( k ) · i i = δ + 1 d � kT J � � with a i ( k ) = ∆ i P ( kT J ) = a j ( 0 ) · . j − i j = i Thus d j � kT J �� m � � � a j ( 0 ) P k ( m ) − Q k ( m ) = j − i i j = δ + 1 i = δ + 1 with 0 ≤ m ≤ T J − 1 and 0 ≤ kT J ≤ T I − T J . This gives the following error bound on the approximation of P k by Q k : j d �� T J − 1 � T I − T J � � � | a j ( 0 ) | j − i i j = δ + 1 i = δ + 1 but one can get better dynamical bounds by considering the sign of a j ( 0 ) . [tamadi2011b.tex 48259 2011-12-13 01:43:10Z vinc17/xvii] Vincent LEFÈVRE (INRIA / LIP, ENS-Lyon) Hierarchical Polynomial Approximation Journées TaMaDi, Lyon, 2011-12-13 10 / 11
Recommend
More recommend