Page 28 - 《软件学报》2020年第12期
P. 28

3694                                Journal of Software  软件学报 Vol.31, No.12, December 2020

                     y
             Require: {( , ) | yε i    i  =   y    ,1≤≤  } n ,f(x 1 ,x 2 ,…,x n ),ε>0;
                                     i
                               i
                      i
                                   i ε
             Ensure:返回一个 4 元组 D =   (, , ,y k ε 0  enough ) .若 enough=true,则|y−arctan(f(y 1 ,y 2 ,…,y n ))|<ε;否则,当 enough=
         false 时, y   的精度ε k 不能满足计算的要求,其精度需要提高至ε 0 .
                 k
             1:   Calculate and Judge ({( , ) |1y ε    i  i  ≤≤  n }, , / 2)f ε  ;
                            _
                                            i
                        _
             2:   y ⇐    arctan( )f       ε /2  ;
             3:   return (y,0,0,true);
             (5)  自然对数函数

             定理 2.6.  若命题 2.2 成立,并且 f(Y)>0,那么存在一个算法,对于 Y 的一个计算值 Y 与ε,或者能够判定,利用
         此计算值可以获得一个值 y,使得:
                                               |y−ln(f(Y))|<ε                                (30)
         成立,或者可以获得一个更为精确的计算值,使得利用此新的计算值,可以获得一个满足式(30)的 y.
             证明:首先,由拉格朗日中值定理,在 z 与 f(Y)之间存在一个 c,使得|ln(z)−ln(f(Y))|=|(z−f(Y))/c|.
             已知不等式组:
                                          |z−f(Y)|<ε′,z>2ε′≤(z−ε′)ε                          (31)
         其中,ε′=ε.
             若式(31)成立,则有| ln(z)  ε/2 −ln(f(Y))|≤| ln(z)  ε/2 −ln(z)|+|ln(z)−ln(f(Y))|<ε/2+|(z−f(Y))/c|<ε/2+ε′/(z−ε′)≤ε.
         这时,只要令 y= ln(z)  ε/2 ,则有式(30)成立.
                                      n
             否则,若式(31)不成立,则令ε′=0.1 ε(n∈ ).这时,由 f(Y)>0 与假设知:只要 n 足够大,总可以获得一个计算值

          (, )Y ε′ 以及对应的 z,使得式(31)成立.这样,新获得的 z 的函数值 ln(z)  ε/2 能够满足式(30).证明完毕.                 □
             算法 8. AccurateEnough_Ln( {( , ) |1y ε  ≤≤ n }, ( , ,...,f x x  x  ),ε ).

                                             i
                                      i  i           1  2  n
             Require: {( , ) | yε     =   y    ,1≤≤  } n ,f(x 1 ,x 2 ,…,x n ),f(y 1 ,y 2 ,…,y n )>0,ε>0;
                     y
                                     i
                      i  i  i  i    i ε
             Ensure:返回一个 4 元组 D =   (, , ,y k ε 0  enough ) .若 enough=true,则|y−ln(f(y 1 ,y 2 ,…,y n ))|<ε;否则,当 enough=false
         时, y   的精度ε k 不能满足计算的要求,其精度需要提高至ε 0 .
             k
             1:   ε′⇐0.1ε;

                            _
             2:   Calculate and Judge ({( , ) |1y ε i  ≤≤  n }, , )f ε′ ;
                                            i
                        _
                                     i
             3:   while  (| f    |≤  2ε′ ∨  2ε  (| f −     | ε′  ′  ) )ε >    do
             4:      ε′⇐0.1ε′;
                                              i

                              _
             5:      Calculate and Judge ({( , ) |1y ε i  ≤≤  n }, , )f ε′ ;
                          _
                                       i
             6:   end while
             7:   y ⇐    ln( )f       ε /2  ;
             8:   return (y,0,0,true);
             (6)  指数函数

             定理 2.7.  若命题 2.2 成立,那么存在一个算法,对于 Y 的一个计算值 Y 与ε,或者能够判定,利用此计算值可
         以获得一个值 y,使得:
                                                |y−e f(Y) |<ε                                (32)
         成立,或者可以获得一个更为精确的计算值,使得利用此新的计算值,可以获得一个满足式(32)的 y.
             证明:已知不等式:
                                                |z−f(Y)|<ε′                                  (33)
                                ()
         其中, ε   min{0.1, ( /(2( eδ′ =  ε        fY  0.1 0.1+    0.2  +  0.2)))} .
                                             z
                                                           z
                                                 z
                              z
                                         z
             若式(33)成立,则有| e   ε/2 −e f(Y) |≤| e   ε/2 −e |+|e −e f(Y) |<ε/2+|e −e f(Y) |.由拉格朗日定理,在 z 与 f(Y)之间存在一个
                                                                         z
                            c
               z
         c,使得|e −e f(Y) |=|(z−f(Y))e |≤|(y−f(Y))e z+0.1 |<ε′( e z+0.1   0.2 +0.2)<ε/2.这时,只要令 y= e   ε/2 ,则有式(32)成立.
   23   24   25   26   27   28   29   30   31   32   33