e-mail : fordj@essex.ac.uk Present address : Natural Science Division , Beirut University College , P.O. Box 13 -LCB- 5053 , Beirut , Lebanon Department of Computer Science , University of Essex , Wivenhoe Park , Colchester , Essex , United Kingdom Abstract We consider multi-step quasi-Newton methods for unconstrained optimization problems . Such methods were introduced by the authors -LSB- 1 , 2 , 3 -RSB- and employ interpolating polynomials to utilize data from the most recent iterations . For the case = 2 , we observe that there is a free parameter -LRB- used in constructing the interpolation -RRB- which is essentially at our disposal . We propose -LRB- as a criterion for determining this parameter -RRB- the minimization of a measure of the curvature of the interpolating polynomial , thus producing a \ smooth '' interpolant . We show how this \ minimum curvature '' problem may be solved cheaply and effectively at each iteration . The performance of an algorithm which employs this technique is compared -LRB- numerically -RRB- with that of the standard BFGS method and of previously-introduced multi-step methods -LSB- 2 , 3 -RSB- . 1 J.A. FORD and I.A. MOGHRABI MINIMUM CURVATURE MULTI-STEP QUASI-NEWTON METHODS FOR UNCONSTRAINED OPTIMIZATION m m ? y ? y +1 +1 +1 1 1 +1 +1 +1 1 +1 1 +1 +1 +1 +1 2 2 2 +1 +1 2 2 +1 +1 We consider the class of algorithms known as \ gradient methods '' for the solution of unconstrained optimization problems : -LRB- -RRB- -LRB- -RRB- Such methods require not only values of the objective function to be available , but also those of the gradient -LRB- which we denote by -RRB- . Further , we denote the Hessian of the function by , though it should be noted that the algorithms we shall discuss do not require to be explicitly available . Our special concern in this paper will be to consider the two-step quasiNewton methods , which are particular instances of the more general multi-step methods introduced recently by Ford and Moghrabi -LSB- 1 , 2 , 3 -RSB- . These are very similar in structure to the better-known -LRB- one-step -RRB- quasi-Newton methods , the major difference being that , in the two-step methods , the approximation to the Hessian -LRB- -RRB- is required to satisfy a relation of the form -LRB- + -RRB- = + -LRB- 1 -RRB- such a relation being employed in place of the more commonly-used Secant Equation -LRB- Dennis and Schnabel -LSB- 4 -RSB- -RRB- = -LRB- 2 -RRB- satisfied by standard quasi-Newton methods . -LRB- In these equations , is the step between the latest iterates and , while is the difference between the corresponding gradient values . -RRB- The derivation of equation -LRB- 1 -RRB- is described by Ford and Moghrabi -LSB- 1 -RSB- . Essentially , quadratic interpolating curves -LRB- -RRB- and ~ -LRB- -RRB- are constructed which interpolate , respectively , the iterates , and and the known gradient values -LRB- -RRB- , -LRB- -RRB- and -LRB- -RRB- . The derivatives of these curves at / -LRB- -RRB- are then computed and substituted into the Newton Equation -LRB- Ford and Saadallah -LSB- 5 -RSB- -RRB- : -LRB- -RRB- -LRB- -RRB- = -LRB- -LRB- -RRB- -RRB- -LRB- 3 -RRB- where the derivatives have been taken with respect to and is the value of corresponding to / -LRB- -RRB- . -LSB- It should be noted that the derivative ~ -LRB- -RRB- will , of course , only be an approximation to -LRB- -LRB- -RRB- -RRB- , in general . -RSB- On making the stated substitutions into -LRB- 3 -RRB- , we obtain a relation of the form -LRB- 1 -RRB- for -LRB- -RRB- to satisfy . One of the many interesting features of such an approach is the exibility obtained through the appearance of an additional parameter . If , without loss of generality , we stipulate that the curves -LRB- -RRB- and ~ -LRB- -RRB- are to interpolate 2 1 INTRODUCTION n i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i min F x xfflR : x F g G G B G x B ae s ss s ae y ss y ; B s y s x x x x y x o g o x x x g x g x g x x g x G x x o g x o ; o o o x g x g o g x o B G x x o g o ? ? ? ? ? ss 1 1 +1 +1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 1 2 1 / -LRB- -RRB- and / -LRB- -RRB- for the values = and = 1 , respectively , then we are free to choose the value -LRB- , say -RRB- of for which the remaining interpolation conditions -LRB- -RRB- = ; ~ -LRB- -RRB- = -LRB- -RRB- -LRB- 4 -RRB- are to be satisfied . In the remainder of this paper , we shall introduce a criterion for choosing and discuss how a suitable value satisfying this criterion may be determined efficiently . Finally , we will examine and compare the numerical behaviour of an algorithm based upon this approach . 1 It is straightforward to show that the first and -LRB- constant -RRB- second derivatives of the quadratic interpolating curve -LRB- -RRB- are given by -LRB- -RRB- -LRB- 1 -RRB- -LRB- 2 -RRB- -LRB- 2 1 -RRB- ; -LRB- 5 -RRB- -LRB- -RRB- 2 -LRB- 1 -RRB- 2 -LRB- 6 -RRB- We observe that -LRB- as expected -RRB- , when is near 0 -LRB- = -RRB- or 1 -LRB- = -RRB- , the second derivative will , in general , be large , giving rise to rapid variation in -LRB- -RRB- . In order to reduce this variation as far as possible , we therefore propose that be chosen to minimize -LRB- -RRB- in an appropriate norm : = -LRB- 7 -RRB- for some suitable symmetric-positive-definite matrix . It is convenient , at this point , to specify a new variable and to re-cast the problem in terms of this variable . We therefore de ne = -LRB- -RRB- -LRB- -RRB- = -LRB- 1 -RRB- -LRB- 8 -RRB- so that = -LRB- 1 + -RRB- -LRB- 9 -RRB- Using , we may now construct the \ curvature '' function -LRB- -RRB- -LRB- -RRB- 4 -LRB- 10 -RRB- -LRB- 1 + -RRB- 2 -LRB- 1 + -RRB- -LRB- 1 + -RRB- + -LRB- 1 + -RRB- -LRB- 11 -RRB- 3 2 A CRITERION FOR CHOOSING i i i i i i i i i i M def T M i i i x g x x g x o o o o x o x g o g x o x o x o o o o s o o o s x o o s o s : o o o x o o x o z z Mz ; M ffi o o = o o o = o ; o ffi : ffi OE ffi x o = ffi oe ffi ffi ? ffi oe ; o ? ? ? ? ? 00 ? ? ? 00 ? 00 ? ? ? ? ? ? ? ? ? ? ? ? k k ? ? ? ? k k ? ? 2 1 3 1 3 1 2 1 1 3 2 1 1 2 1 2 1 2 2 1 22 22 1 2 1 2 1 3 from equations -LRB- 6 -RRB- and -LRB- 9 -RRB- , where = and = -LRB- 12 -RRB- Since our objective is to minimize the curvature , we differentiate -LRB- equation -LRB- 11 -RRB- -RRB- and obtain -LRB- -RRB- 2 -LRB- 1 + -RRB- -LRB- -RRB- -LRB- 13 -RRB- where -LRB- -RRB- -LRB- -RRB- + -LRB- -RRB- -LRB- -RRB- + say , -LRB- 14 -RRB- with = and = -LRB- 15 -RRB- Since is symmetric-positive-definite , it has non-singular Cholesky factors -LRB- = , say -RRB- , so that = -LRB- -RRB- = -LRB- -RRB- say , where = Hence , by the Cauchy-Schwartz Inequality , = -LRB- 16 -RRB- by -LRB- 12 -RRB- . Thus , = -LRB- -RRB- -LRB- 17 -RRB- by -LRB- 15 -RRB- and -LRB- 16 -RRB- . Finally , we observe that , provided that null steps -LRB- that is , = -RRB- are prohibited , is finite and positive . The following Lemmas -LRB- whose proofs may be found in the Appendix -RRB- will be used in the next section to determine the minimum of the curvature function . If = 1 , then has a zero at = 1 . If = 1 , the remaining zeroes of are complex . If = 1 , then has a double zero at = 1 . If = 0 , then has a positive zero at = , while the remaining zeroes are complex . 4 Lemma 1 Lemma 2 j def j M j def Tj j i def i i i i i i i i i i T i Ti T i Ti i k def T k i i i i i i i j = oe s ? s Ms : OE OE ffi ffi ffi oe ffi ; ffi ffi ? = oe ffi ? = oe ffi oe = oe ffi ? ffi ? ffi oe ; ? ? = oe oe oe = oe : M M LL ? s LL s v v ; v L s : ? v v oe oe ; ? ? = oe oe ; s oe OE oe ffi ? ? ffi ? ffi oe ? ? ? ? ? ? ? ? ? ? ? ? ? k k > = ? ? ? ? ? ? ? < = k k k k < = 6 ? ? ? 1 2 1 3 1 3 1 2 1 4 2 1 2 2 1 2 2 1 2 1 2 1 2 1 1 +1 1 1 If 1 and 0 , then has a positive zero in -LSB- -RRB- and the remaining zeroes are complex . If 1 and 0 , then has a positive zero , , in the interval -LSB- -LRB- -RRB- -RSB- . Furthermore , -LRB- i -RRB- if + 2 -LSB- 3 -RSB- 3 , has one real zero and two complex zeroes ; -LRB- ii -RRB- if + 2 -LSB- 3 -RSB- 3 , has three real zeroes . If 1 , and + 2 -LSB- 3 -RSB- 3 , then has one positive real zero -LRB- -RRB- and two negative real zeroes -LRB- and , say -RRB- which satisfy the following inequalities : Before concluding this section , it is necessary to observe that , although -LRB- by equation -LRB- 11 -RRB- -RRB- = 1 gives a global minimum of the function , it is not admissible as a solution to the \ minimum curvature '' problem as it has been posed , because , by equation -LRB- 9 -RRB- , it corresponds to being infinite , so that the interpolation condition at -LRB- see equation -LRB- 4 -RRB- -RRB- is effectively violated . We shall therefore ignore the \ solution '' = 1 in what follows . -LRB- Note that it follows , from equation -LRB- 17 -RRB- , that is less than or equal to one in this case . -RRB- By Lemma 1 , we know that has a zero at = 1 . -LRB- In the case = 1 , also has a double zero at = 1 , but then -LRB- by the CauchySchwartz Inequality -RRB- it may be shown that = , so that = . Such an event is unlikely to occur in any practical optimization algorithm and , if it ever did occur , could be dealt with by the use of linear -LRB- that is , zero second derivative -RRB- interpolations . We therefore disregard this case . -RRB- Otherwise , the remaining zeroes of are complex , so that = 1 is the desired solution , giving = 1 2 and 5 = 1 Lemma 3 Lemma 4 Lemma 5 3.1 Case I : 3 DETERMINING THE MINIMUM = = = = = = = = i i i i i oe < ? > oe ; oe oe < ? < ffi max oe ; ? ; oe ffi > ? ? ? = ffi ? ? ? = oe < ? < ffi ? ? ? = ffi ffi ffi ffi ffi ; ffi < : ffi OE o x ffi ? ffi ? ffi s s x x ffi o = oe ? ? ? ? ? ? ? ? f ? g f ? g < = f ? g < = f ? g ? < = ? ? j j ? ? ? 2 1 1 + 1 3 + 1 + 1 2 1 + + 1 + 1 + 1 1 2 + + + 1 2 1 4 2 1 2 + 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 2 1 -LRB- -RRB- = 3 ; -LRB- 18 -RRB- -LRB- -RRB- 4 -LRB- -RRB- -LRB- 19 -RRB- = By Lemma 2 , has a zero at = = 1 and two complex zeroes . The desired minimum of is therefore at = and we obtain 1 2 = -LRB- 1 + -RRB- 1 ; -LRB- 20 -RRB- -LRB- -RRB- = -LRB- 2 + -RRB- ; -LRB- 21 -RRB- -LRB- -RRB- 2 -LRB- 1 + -RRB- -LRB- 22 -RRB- In this case , by Lemma 3 , has a positive zero -LRB- -RRB- in the interval -LSB- -RRB- and two complex zeroes . Therefore , is the required minimum of and equations -LRB- 20 -RRB- to -LRB- 22 -RRB- hold , with replaced by . We know , from Lemma 4 , that has a real zero , , in the interval -LSB- -LRB- -RRB- -RSB- . It also follows , from Lemma 4 , that , if + 2 -LSB- 3 -RSB- 3 -LRB- 23 -RRB- then is the only real zero of . Once more , therefore , is the required minimum of and equations -LRB- 20 -RRB- to -LRB- 22 -RRB- still apply -LRB- with again replaced by -RRB- . On the other hand , if -LRB- 23 -RRB- does not hold , then we know -LRB- Lemma 5 -RRB- that , in addition to , has two further real zeroes -LRB- denoted by and -RRB- which satisfy -LRB- 24 -RRB- Assume , without loss of generality , that -LRB- 25 -RRB- Then examination of the sign of -LRB- see equation -LRB- 13 -RRB- -RRB- shows that and are both local minima of . It remains to determine which of these two values gives the lower value of the curvature . To this end , we consider the ratio of the two function-values : -LRB- -RRB- -LRB- -RRB- = -LRB- 1 + -RRB- -LRB- 1 + -RRB- 2 + 1 2 + 1 -LRB- 26 -RRB- 6 1 3.2.1 -LRB- i -RRB- 3.2.2 -LRB- ii -RRB- 3.2.3 -LRB- iii -RRB- 3.2 Case II : i i i i def = i i i i = = = = x o s s x o s s : ? ffi ffi oe < OE ffi ffi = < o ffi < x o ffi s ffi s x o ffi ffi s s : ? > ffi oe ; ffi ffi OE ffi ffi ? < ffi max ffi ; ? ; oe ffi > ? ? ? = ; ffi ffi OE ffi ffi ffi ffi ffi ffi ffi ; ffi < : ffi ffi : OE ffi ffi OE OE ffi OE ffi ffi ffi ffi oe ffi ? ffi oe ffi ? ; oe < ? 00 ? ? ? ? 00 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? ? ? ? ? ? f ? g f ? g f ? g ? < = < = f ? g f ? g 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1 3 1 3 1 1 2 2 2 1 2 2 1 2 2 2 1 2 2 1 2 2 2 1 2 1 using equations -LRB- 11 -RRB- and -LRB- 15 -RRB- . Clearly , since we know -LRB- from Lemma 5 -RRB- that and 1 0 , it follows that -LRB- 1 + -RRB- -LRB- 1 + -RRB- 1 -LRB- 27 -RRB- Now we subtract the upper expression in braces in -LRB- 26 -RRB- from the lower one : 2 + 1 2 + 1 = -LRB- -RRB- -LSB- -LRB- + -RRB- 2 -RSB- -LRB- 28 -RRB- Because = -LRB- since is the product of the zeroes of -RRB- , it follows that and , therefore , that -LRB- + -RRB- 2 -LRB- -RRB- 2 = -LRB- -RRB- 2 -LRB- 29 -RRB- Since is a zero of , we have -LRB- -RRB- = -LRB- 1 -RRB- from -LRB- 14 -RRB- , so that -LRB- 29 -RRB- becomes -LRB- + -RRB- 2 -LRB- 1 + -RRB- because and 0 . Therefore , the right-hand-side of -LRB- 28 -RRB- is positive -LRB- because and 0 -RRB- . Finally , since the expression 2 + 1 is positive -LRB- because 0 , and 0 -RRB- and since , moreover , the expression 2 + 1 is at least non-negative -LRB- being a positively-scaled version of a squared norm -RRB- , it follows that 2 + 1 2 + 1 1 Combining this result with -LRB- 27 -RRB- , we see that , from -LRB- 26 -RRB- , -LRB- -RRB- -LRB- -RRB- 1 Therefore , gives the required minimum of and , since we know that 1 0 , we have = -LRB- 1 + -RRB- 1 ; -LRB- 30 -RRB- 7 ffi > < ffi ffi < < ffi ffi < : ffi oe ffi ? ffi oe ffi ? ffi ffi ffi ffi oe ? : ffi ffi oe = ffi ffi oe ffi ffi = oe ffi ffi oe ? ffi ffi = oe oe ? ffi oe ffi ? : ffi ffi oe ffi ? ffi ; ffi ffi oe ? ? ffi > ; ? < ffi > ffi < ffi > ffi oe ffi ? oe > ? < ffi > ffi oe ffi ? ffi oe ffi ? ffi oe ffi ? < : OE ffi OE ffi < : ffi OE < ffi < o ffi > ? ? ? ?? ?? ? ? ?? ? ?? ? ? ? ? ? ?? ? ?? ? ?? ? ? ?? ? ? ?? ? ? ? ? ?? ?? ? ? ? ? ? ?? ?? ? ? ? ? < = f ? g ? f ? g ? ? ? < = > = ? ? > = ? ? ? ? ? ? ? > = ? ? ? < = ? ? < = ? 2 1 2 2 1 2 1 2 1 1 2 1 +1 1 2 1 1 1 1 2 1 2 1 3 3 2 1 3 2 1 2 + 1 + 2 1 2 + 1 3 1 3 + 1 + 1 3 1 + 2 -LRB- -RRB- = -LRB- 2 + -RRB- ; -LRB- 31 -RRB- -LRB- -RRB- 2 -LRB- 1 + -RRB- -LRB- 32 -RRB- The interesting feature of this solution is that -LRB- = 1 -RRB- , so that the interpolating curve -LRB- -RRB- does not pass through the iterates in the \ natural '' sequence but , rather , in the order , and . This case may be dealt with in the same way as Case II , after \ inverting '' the problem . Thus , we define = , so that = 1 = -LRB- 1 + -RRB- -LSB- compare equation -LRB- 9 -RRB- -RSB- , and the curvature function now becomes ~ -LRB- -RRB- -LSB- -LRB- -RRB- -RSB- -LRB- 1 + -RRB- 2 + -LRB- 33 -RRB- It follows that ~ -LRB- -RRB- 2 -LRB- 1 + -RRB- ~ -LRB- -RRB- -LRB- 34 -RRB- where ~ -LRB- -RRB- -LRB- -RRB- + -LRB- -RRB- -LRB- -RRB- ~ + ~ ~ , say , -LRB- 35 -RRB- with ~ = and ~ = -LRB- 36 -RRB- Then , it is easily verified that the cubic polynomial ~ -LRB- -RRB- is -LRB- essentially -RRB- of the same form as -LRB- -RRB- , with ~ ~ and ~ 1 -LRB- 37 -RRB- Thus , we may apply the theory developed above for Case II -LRB- \ 1 '' -RRB- and hence deal with the remaining case . For completeness , we give the relevant details below . -LRB- Any subscripted is now de ned to be the reciprocal of the corresponding ; for example , = ; = , etc. -RRB- = In this case , ~ will have its only real zero at = = ~ = 1 . Then = = 1 is the required value of , so that = 1 -LRB- 1 + -RRB- 1 2 -LRB- 38 -RRB- and -LRB- -RRB- and -LRB- -RRB- are given by equations -LRB- 21 -RRB- and -LRB- 22 -RRB- , respectively . 8 1 3.3.1 -LRB- i -RRB- 3.3 Case III : i i i i i i i i i i i def i i i i i i def def def = = = x o ffi s ffi s x o ffi ffi s s : o > o x o x x x '' ffi o o o '' OE '' OE '' '' oe '' ? '' oe : OE '' '' '' oe '' ; '' '' ? = oe '' ? = oe '' oe = oe '' ? '' ? '' oe ? ? = oe oe oe : '' ffi ? oe < oe < : oe < '' ffi '' ffi '' ffi ? '' '' oe oe < ffi '' oe > ffi < o = ffi < = ; x o x o oe > ? ? 00 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 00 ? ? f ? g ? ? ? ? f ? g ? ? ? ? ? ? ? < = 1 2 + 1 + 1 + 2 1 2 1 + 2 1 2 1 2 2 2 1 2 1 2 1 1 +1 1 +1 1 2 1 1 2 1 We know that ~ has a positive zero -LRB- denoted by -RRB- in the interval -LSB- ~ -RRB- , in addition to two complex zeroes . Thus , the required value of is = , = 1 -LRB- 1 + -RRB- 1 2 -LRB- 39 -RRB- and equations -LRB- 21 -RRB- and -LRB- 22 -RRB- again hold -LRB- with replaced by -RRB- . If -LRB- the known positive zero of ~ -RRB- satisfies ~ + 2 -LSB- ~ 3 ~ -RSB- 3 -LRB- 40 -RRB- then the remaining zeroes of ~ are complex . Hence = is the appropriate value of and -LRB- 39 -RRB- holds again , while -LRB- 21 -RRB- and -LRB- 22 -RRB- give -LRB- with once more replaced by -RRB- the required forms of -LRB- -RRB- and -LRB- -RRB- . If , on the other hand , inequality -LRB- 40 -RRB- is not satisfied , then ~ has three real zeroes : and , which are negative and satisfy 1 -LRB- 41 -RRB- From the analysis presented above in 3.2.3 , we know that the minimum value of ~ is achieved for , so that = 1 is the appropriate value for . Thus , = -LRB- 1 + -RRB- -LRB- 42 -RRB- and equations -LRB- 31 -RRB- and -LRB- 32 -RRB- apply , in this case . We therefore note that the interpolating curve -LRB- -RRB- traverses the iterates in the sequence , and . It is of some interest to check the solution produced by the foregoing analysis in the situation when the three iterates , and are collinear , in which case we would expect the minimum curvature interpolation to be a straight line . We therefore suppose that = -LRB- 43 -RRB- from which it follows that = ; = ; = -LRB- 44 -RRB- We exclude the three values = 0 , = 1 and = from consideration , since they correspond to coincident pairs among the three iterates -LRB- compare the discussion in section 3.1 above -RRB- . 9 3.3.2 -LRB- ii -RRB- 3.3.3 -LRB- iii -RRB- 3.4 The Collinear Case = = i i i i i i i i i i i i i i i ? > '' oe ; '' ffi ffi '' > ffi < o = ffi < = ; ffi ffi ? < '' '' > ? ? ? = ; ffi '' ffi ffi ffi x o x o '' > '' '' < '' '' ; '' < : OE '' ffi '' < ffi o ffi < x o x x x x x x s > = s ; oe > = oe ? > = oe ? oe oe : > = > = > = ? ? ?? ? ? ? ? ? ?? ? 00 ? ? ? ? ? ? ? ? ? ? f ? g ? < = ? ? 1 1 1 1 1 2 1 3 2 2 2 2 3 2 2 1 2 1 1 2 1 2 2 We first observe that , since -LRB- by equation -LRB- 6 -RRB- -RRB- -LRB- -RRB- may be expressed in the form -LRB- -RRB- 2 -LRB- 1 + -RRB- -LRB- 45 -RRB- it follows immediately -LRB- from equation -LRB- 43 -RRB- -RRB- that the second derivative of the minimum curvature interpolation will be zero -LRB- as desired -RRB- if we can show that = -LRB- or , equivalently , that = -RRB- . -LRB- a -RRB- 1 We have = = 1 ; = = From -LRB- 14 -RRB- , -LRB- -RRB- + -LRB- -RRB- -LRB- + -RRB- Thus , has only one real zero -LRB- at = -RRB- and the desired result is obtained . -LRB- b -RRB- 1 Since = 1 , we use the inverse polynomial ~ -LRB- -RRB- -LRB- 1 -RRB- + -LRB- 1 -RRB- -LRB- 1 -RRB- -LRB- -RRB- -LRB- + -RRB- which has one real zero -LRB- at = -RRB- , giving the expected result , again . -LRB- a -RRB- 1 In this case , may be factorized in the form -LRB- -RRB- -LRB- -RRB- -LRB- + -RRB- with real zeroes at = and = -LRB- -RRB- . Since 1 , it may be seen that is the smaller of the two negative zeroes . Therefore , in the notation of 3.2.3 , = is the required zero and -LRB- -RRB- will be null . 10 3.4.1 -LRB- i -RRB- 3.4.2 -LRB- ii -RRB- i i i i i i = x o x o ffi ffi s s ; ffi > = '' > = > = > < > = oe oe = oe > = ? ? = oe > = > : ffi ffi > = ffi > = ffi > = ffi > = ffi > = : ffi > = > = > oe > = > '' '' = > = '' = > = '' = > = '' > = '' > = ; '' > = > = < < > = < ffi ffi > = ffi > = ; ffi > = ffi > = > = < > = ffi > = x o 00 00 ? ? ? ? ? ? ? ? 00 ? f ? g < = < = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? j j 3 2 2 1 2 1 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 2 2 2 2 2 -LRB- b -RRB- 1 Since = 1 , we again use the inverse polynomial : ~ -LRB- -RRB- -LRB- 1 -RRB- + -LRB- 1 -RRB- -LRB- 1 -RRB- -LRB- -RRB- -LRB- + -RRB- whose zeroes are located at = -LRB- -RRB- 0 , = -LRB- -RRB- and = 0 . -LRB- Note that is the smaller of the two negative zeroes , because = -LRB- -RRB- 1 . -RRB- The required zero is therefore , an observation which yields the anticipated conclusion . An algorithm based upon the \ minimum curvature '' criterion discussed above was tested against the standard one-step BFGS method -LRB- Broyden -LSB- 6 -RSB- , Fletcher -LSB- 7 -RSB- , Goldfarb -LSB- 8 -RSB- , Shanno -LSB- 9 -RSB- -RRB- . The new method also used the BFGS formula , but with and replaced , respectively , by the derivatives -LRB- -RRB- and ~ -LRB- -RRB- , according to the construction described in Section 1 . For simplicity , the matrix which defines the norm used in minimizing the curvature was chosen to be the unit matrix . For the new method , we chose to find the positive zero by using Brent 's Method -LRB- Brent -LSB- 10 -RSB- -RRB- , since good bounds on are available -LRB- Lemmas 3 and 4 -RRB- when is not already known precisely -LRB- as it is in Cases I and II -LRB- i -RRB- -RRB- . In Case II -LRB- iii -RRB- , when other real zeroes exist , it is then necessary to find . Since is , numerically , the largest zero -LRB- by -LRB- 24 -RRB- -RRB- , we use backward deflation to obtain the remaining quadratic factor of and , hence , . Finally , after numerical experimentation , the safeguarding parameter introduced by Ford and Moghrabi -LSB- 3 -RSB- was set to 7 for the new method , although it should be stressed that this value does not appear to be critical . The numerical experiments were carried out using a set of sixty test functions -LRB- each with four different starting-points -RRB- , giving a total of 240 test problems with dimensions ranging from two to eighty . This set -LRB- with some modifications to starting-points and convergence criteria -RRB- is described in Ford and Moghrabi -LSB- 1 -RSB- , where more details concerning the general mode of implementation of such methods may be found . As in -LSB- 1 -RSB- , the sixty functions were classified into subsets of \ low '' -LRB- 2 15 -RRB- , \ medium '' -LRB- 16 45 -RRB- and \ high '' -LRB- 46 80 -RRB- dimension . Space does not permit a full description of the results ; instead , we give summaries -LRB- total number of function/gradient evaluations , total iterations , total time -RRB- of the performance of the methods on each of these subsets and on the complete set . For each problem , the method yielding the best performance -LRB- judged by the number of function/gradient evaluations required for convergence , with ties resolved by the number of iterations required -RRB- is awarded one 11 4 NUMERICAL EXPERIMENTS = = = i i max > = < oe > = > '' '' = > = '' = > = '' = > = '' > = '' > = ; '' > = > '' > = < '' > = < '' '' = '' > = < '' s y x o g o M ffi ffi ffi ffi ffi ffi ffi : n n n ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? < = < = < = < = < = < = 2 = 0 1 +1 point . The total number of points gained by each method over the test set under consideration is indicated in each table of results by the entry against the heading \ Scores '' . The comparisons between the BFGS method and the new method are given in Tables 1 to 4 . These results show clearly that the new method exhibits a superior numerical performance , by comparison with the BFGS method , and that this superiority appears to grow as the problem dimension increases . For problems of low dimension , the gain in evaluations and iterations is offset by the time required to solve the cubic at each iteration , but this requirement becomes an increasingly negligible fraction of the total computational effort necessary as the dimension rises . As a further test of the new method , we compared it with the two-step method F2 introduced by Ford and Moghrabi -LSB- 2 -RSB- . This method showed the best numerical performance of all the two-step methods discussed there . For this method , the parameters are determined by the relative distances between the three most recent iterates , and . In addition , the safeguarding parameter was set to 3 8 for this method , in line with the experiments reported in Ford and Moghrabi -LSB- 3 -RSB- . The comparative performance of the two methods is summarised in Tables 5 to 8 . These results show that , despite its evident superiority over the BFGS method , the new method is somewhat inferior to the method F2 . The general picture appears to be that , in terms of both evaluations and iterations , the new method is better than F2 for problems of low dimension -LRB- although , again , such an advantage is at least partially offset by the computational cost of solving the cubic polynomial at each iteration -RRB- , but that , as the dimension rises , the method F2 overhauls and then overtakes the new method . A new criterion for determining the parametrization of the interpolating curves in two-step quasi-Newton methods has been proposed and it has been shown how the minimization problem which thus arises may be solved efficiently at each iteration . Numerical experiments have shown that a method based on this criterion -LRB- using the standard 2-norm -RRB- yields a substantial improvement in numerical performance over the BFGS method , but that it is not quite competitive with the method F2 recently introduced by the authors . Work currently in progress is focussed upon alternative -LRB- and , possibly , more appropriate -RRB- choices for the matrix which defines the norm in which the curvature minimization is carried out . We anticipate that this work will be reported in a future paper . 12 5 SUMMARY AND FURTHER WORK k k i i i max o x x x ffi : M ? f g 5122 4762 3928 3625 15 25 7.44 8.39 Table 1 : 40 problems of dimension 2 to 15 20871 17313 18910 15116 18 85 199.7 168.0 Table 2 : 100 problems of dimension 16 to 45 18575 14527 17694 13447 13 88 717.0 568.4 Table 3 : 100 problems of dimension 46 to 80 44568 36602 40532 32188 46 198 923.9 744.2 Table 4 : Overall results for 240 problems 13 BFGS New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- BFGS New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- BFGS New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- BFGS New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- 5060 4762 3818 3625 18 23 7.64 8.39 Table 5 : 40 problems of dimension 2 to 15 17016 17313 14633 15116 61 43 155.4 168.0 Table 6 : 100 problems of dimension 16 to 45 13376 14527 12245 13447 73 31 514.2 568.4 Table 7 : 100 problems of dimension 46 to 80 35452 36602 30696 32188 152 97 677.0 744.2 Table 8 : Overall results for 240 problems 14 F2 New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- F2 New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- F2 New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- F2 New Method Total Evaluations Total Iterations Scores Total Time -LRB- sec . -RRB- 3 2 2 + 1 3 + 1 3 1 1 3 One of us -LRB- I.A.M. -RRB- acknowledges , with gratitude , the assistance and support of the Hariri Foundation during the initial stages of this research . The other author -LRB- J.A.F. -RRB- is grateful for the provision of a grant by C.N.R. -LRB- Italy -RRB- which supported part of this research , and also for the generous hospitality and the research facilities provided by the University of Bologna and , in particular , Professor Charles Broyden . We consider the location of the zeroes of the cubic polynomial -LRB- -RRB- + -LRB- 46 -RRB- where 0 ; -LRB- 47 -RRB- We define = -LRB- 0 -RRB- -LRB- 48 -RRB- The first two results -LRB- which are straightforward to prove -RRB- deal with the simple cases \ = 1 '' -LRB- from which it follows , by the second inequality in -LRB- 47 -RRB- , that 1 -RRB- and \ = 0 '' . If = 1 , then has a zero at = 1 . If = 1 , the remaining zeroes of are complex . If = 1 , then has a double zero at = 1 . If = 0 , then has a positive zero at = = , while the remaining zeroes are complex . We may now assume that the constant term , , is less than one . -LRB- Otherwise , as pointed out above in section 3.3 , we can consider the inverse polynomial in = : ~ -LRB- -RRB- -LRB- -RRB- 15 Lemma 1 Lemma 2 6 ACKNOWLEDGMENTS APPENDIX def def = = def ffi ffi ? ffi ? ffi oe ; oe > ? oe : ffi oe > : oe ? ? oe ffi ? ? ffi ? ffi ffi oe oe '' ffi '' oe ffi ffi ? ? ? ? ? ? < = j j < = 6 ? ? ? ? ? 3 2 1 3 2 2 2 + + + + 1 3 + + 1 2 1 2 1 2 1 2 + 2 2 1 2 -LRB- -RRB- + -LRB- -RRB- ~ + ~ ~ , say . This cubic is clearly of the general form -LRB- 46 -RRB- and , moreover , it satisfies ~ = 1 1 ; ~ = -LRB- -RRB- 1 = ~ using -LRB- 47 -RRB- . -RRB- Therefore , under the assumption that 1 , we see that must have a zero in the open interval -LRB- 0 1 -RRB- , because -LRB- 0 -RRB- = 0 , while -LRB- 1 -RRB- = 1 0 . In addition , since -LRB- -RRB- = -LRB- 1 -RRB- and = 1 , we deduce that this zero -LRB- which we denote by -RRB- will be located in the following intervals : -LRB- 0 -RRB- if 0 ; -LRB- 49 -RRB- -LRB- 1 -RRB- if -LRB- 50 -RRB- Furthermore , by Descartes 's Rule of Signs , -LRB- a -RRB- if 0 , has no negative zeroes and either three or one positive zeroes ; -LRB- b -RRB- if 0 , has one positive zero and either two or no negative zeroes . Since -LRB- -RRB- = -LRB- -RRB- -LRB- -RRB- -LRB- using 1 and equation -LRB- 47 -RRB- -RRB- , we infer that the bounds on the zero given by -LRB- 49 -RRB- can be sharpened to -LSB- -RRB- if -LRB- 51 -RRB- Deflating by means of this zero , we obtain -LRB- -RRB- -LRB- -RRB- -LRB- + + -RRB- -LRB- 52 -RRB- where = = + -LRB- -RRB- = -LRB- 53 -RRB- The discriminant of this quadratic factor is 4 = -LRB- -RRB- -LRB- 3 -RRB- 4 -LRB- because and , using -LRB- 47 -RRB- and -LRB- 51 -RRB- -RRB- . Therefore , we have established 16 -LRB- i -RRB- = = = = = = '' ? = oe '' ? = oe '' oe '' ? '' ? '' oe < oe = oe < ? ? = oe = oe oe ; oe < ; oe < oe > ffi ? ffi ffi ffi oe < ffi ffi ffl ; ffi ? > ffi ffl ffi ; ? < : ? > ? < oe oe oe oe ? ; oe < ffi ffi ffl oe ; ffi ? > : ffi ffi ffi ffi ffi ; ffi ? ; ? ffi ffi ? oe = ffi : ffi ? ffi ? ? < ? > ; ffi > ffi oe ? ? > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? < = ? ? ? ? ? < = ? ? ? ? ? ? ? ? ? > = > = 1 2 1 3 1 4 1 2 2 2 + 2 2 2 2 1 2 1 3 1 2 1 4 2 1 2 2 1 2 If 1 and 0 , then has a positive zero in -LSB- -RRB- and the remaining zeroes are complex . We now define the quantities = -LRB- 54 -RRB- = -LRB- -RRB- -LRB- 55 -RRB- Then -LRB- -RRB- = -LRB- 1 -RRB- -LRB- + -RRB- using 1 and -LRB- 47 -RRB- . Also , -LRB- -RRB- = Because -LRB- by the Rule of Signs -RRB- we know that has only one positive zero -LRB- which must be , therefore -RRB- , we see that the bounds stated in -LRB- 50 -RRB- can be sharpened to give : -LSB- -RSB- if -LRB- 56 -RRB- Deflating , as above , we obtain equation -LRB- 52 -RRB- again , where the relations -LRB- 53 -RRB- still hold . This time , we choose to write the discriminant of the quadratic factor in the form 3 + 2 + 4 -LRB- -RRB- say -LRB- 57 -RRB- The quadratic factor -LRB- + + -RRB- of will hence have real zeroes if and only if lies between the two -LRB- real -RRB- zeroes of -LRB- noting that the leading coefficient of is negative -RRB- . These zeroes -LRB- of -RRB- are given by the pair of values 2 -LSB- 3 -RSB- 3 Since 0 , the lesser of these two zeroes is negative and therefore not of interest , since is known to be positive . Thus , we have If 1 and 0 , then has a positive zero , , in the interval -LSB- -LRB- -RRB- -RSB- . Furthermore , -LRB- i -RRB- if + 2 -LSB- 3 -RSB- 3 , has one real zero and two complex zeroes ; -LRB- ii -RRB- if + 2 -LSB- 3 -RSB- 3 , has three real zeroes . 17 Lemma 3 Lemma 4 -LRB- ii -RRB- = = U = L = U U U U L L U def = = = = = = oe < ? > oe ; oe ffi oe ; ffi ? : ffi ffi ffi ffi ? ; oe < ffi ? oe : ffi ffi ffl max ffi ; ffi ; ffi ; ? < : ffi ? ffi ? ? q ffi ; : ffi ffi ffi q q q ? ? ? = : ? < ffi oe < ? < ffi max oe ; ? ; oe ffi > ? ? ? = ffi ? ? ? = ? < ? ? ? ? ? ? ? ? ? ? ? ? > = ? < = f g ? ? ? f ? ? g f ? g f ? g < = f ? g 3 2 3 2 2 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 3 + 1 2 2 1 2 1 2 1 2 In the latter case -LRB- three real zeroes -RRB- , consider the value -LRB- -RRB- : -LRB- -RRB- = By definition , = -LRB- -RRB- = + Adding these two relations , we obtain -LRB- -RRB- = 2 -LRB- + -RRB- 2 -LRB- + -RRB- by -LRB- 56 -RRB- 2 -LRB- + -RRB- 0 , by -LRB- 54 -RRB- . Hence , denoting the zeroes of the factor + + by and -LRB- which are , therefore , with the zeroes of -RRB- , we infer that either -LRB- 58 -RRB- or -LRB- 59 -RRB- Assume that inequality -LRB- 59 -RRB- holds . Then it immediately follows -LRB- because is minus the sum of the zeroes of the quadratic factor -RRB- that = 2 -LRB- 60 -RRB- However , from -LRB- 53 -RRB- , = + + because 1 , = + 2 by -LRB- 50 -RRB- This contradicts -LRB- 60 -RRB- and , thus , -LRB- 59 -RRB- can not be true . Hence , -LRB- 58 -RRB- holds and , furthermore , by the Rule of Signs , and must both be negative . Therefore , our final result is If 1 , and + 2 -LSB- 3 -RSB- 3 , then has one positive real zero -LRB- -RRB- and two negative real zeroes -LRB- and , say -RRB- which satisfy the following inequalities : 18 Lemma 5 U = = = = = ffi ffi ffi ? ffi ? ffi oe : ffi ffi ? ffi ? ffi oe : ffi ? ffi oe ? ffi oe ; ; oe ? oe ffi ffi ffi ffi ffi ffi ffi ; ffi ffi ; ffi ffi : ffi ffi ffi : ffi ? ffi oe < ffi oe ; oe < ffi ffi < ffi ; : ffi ffi oe < ? < ffi ? ? ? = ffi ffi ffi ffi ffi ; ffi < : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? < = ? < = ? < = ? < = < = ? ? ? > = ? < = < = f ? g ? < = -LSB- 1 -RSB- J.A. Ford and I.A. Moghrabi , , J. Comput . Appl . Math . -LRB- 1994 -RRB- , 305-323 . -LSB- 2 -RSB- J.A. Ford and I.A. Moghrabi , , Optimization Methods and Software -LRB- 1993 -RRB- , 357 - 370 . -LSB- 3 -RSB- J.A. Ford and I.A. Moghrabi , , Scientia Iranica -LRB- to appear -RRB- . -LSB- 4 -RSB- J.E. Dennis and R.B. Schnabel , , SIAM Review -LRB- 1979 -RRB- , 443-459 . -LSB- 5 -RSB- J.A. Ford and A.F. Saadallah , , Colloquia Mathematica Societatis J?anos Bolyai -LRB- 1986 -RRB- , 539-563 . -LSB- 6 -RSB- C.G. Broyden , , J. Inst . Math . Applic . -LRB- 1970 -RRB- , 222-231 . -LSB- 7 -RSB- R. Fletcher , , Comput . J. -LRB- 1970 -RRB- , 317-322 . -LSB- 8 -RSB- D. Goldfarb , , Math . Comp . -LRB- 1970 -RRB- , 23-26 . -LSB- 9 -RSB- D.F. Shanno , , Math . Comp -LRB- 1970 -RRB- , 647-656 . -LSB- 10 -RSB- R. Brent , \ Algorithms for minimization without derivatives '' , PrenticeHall , Englewood Cliffs , New Jersey , 1973 . 19 50 2 21 50 6 13 24 24 References Multi-step quasi-Newton methods for optimization Alternative parameter choices for multi-step quasi-Newton methods Further investigation of multi-step quasiNewton methods Least change secant updates for quasiNewton methods A rational function model for unconstrained optimization The convergence of a class of double-rank minimization algorithms - Part 2 : The new algorithm A new approach to variable metric algorithms A family of variable metric methods derived by variational means Conditioning of quasi-Newton methods for function minimization

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O