# A Two-Step Matrix-Free Secant Method for Solving Large-Scale Systems of Nonlinear Equations

Authors: M. Y. Waziri; W. J. Leong; M. Mamat
Journal: Journal of Applied Mathematics
 (2012)

---

## Abstract

We propose an approach to enhance the performance of a diagonal variant of secant method for solving large-scale systems of nonlinear equations. In this approach, we consider diagonal secant method using data from two preceding steps rather than a single step derived using weak secant equation to improve the updated approximate Jacobian in diagonal form. The numerical results verify that the proposed approach is a clear enhancement in numerical performance.


---

## Body

## 1. Introduction

Solving systems of nonlinear equations is becoming more essential in the analysis of complex problems in many research areas. The problem considered is to find the solution of nonlinear equations:(1.1)F(x)=0,
where F=:Rn→Rn is continuously differentiable in an open neighborhood Φ⊂Rn of a solution x*=(x1*,…,xn*) of the system (1.1). We assume that there exists x* with F(x*)=0 and F′(x*)≠0, where F′(xk) is the Jacobian of F at xk for which it is assumed to be locally Lipschitz continuous at x*. The prominent method for finding the solution to (1.1) is the Newton's method which generates a sequence of iterates {xk} from a given initial guess x0 via
(1.2)xk+1=xk-(F′(xk))-1F(xk),
where k=0,1,2…. However, Newton’s method requires the computation of the matrix entailing the first-order derivatives of the systems. In practice, computations of some functions derivatives are quite costly, and sometimes they are not available or could not be done precisely. In this case, Newton's method cannot be used directly.It is imperative to mention that some efforts have been already carried out in order to eliminate the well-known shortcomings of Newton's method for solving systems of nonlinear equations, particularly large-scale systems. These so-called revised Newton-type methods include Chord-Newton method, inexact Newton's method, quasi-Newton's method, and so forth (e.g., see [1–4]). On the other hand, most of these variants of Newton's method still have some shortcomings as Newton's counterpart. For example, Broyden's method [5] and Chord's Newton's method need to store an n×n matrix, and their floating points operations are O(n2).To deal with these disadvantages, a diagonally Newton's method has been suggested by Leong et al. [6] by approximating the Jacobian matrix into nonsingular diagonal matrix and updated in every iteration. Incorporating this updating strategy, Leong et al. [6], based upon the weak secant equation of Denis and Wolkonicz [7], showed that their algorithm is appreciably cheaper than Newton's method and some of its variants. It is worth to report that, they employ a standard one-step two-point approach in Jacobian approximation, which is commonly used by most Newton-like methods. In contrast, this paper presents a new diagonal-updating Newton's method by extending the procedure of [6] and employs a two-step multipoint scheme to increase the accuracy of the approximation of the Jacobian. We organize the rest of this paper as follows. In the next section, we present the details of our method. Some numerical results are reported in Section 3. Finally, conclusions are made in Section 4.


## 2. Two-Step Diagonal Approximation

Here, we define our new diagonal variant of Newton's method which generates a sequence of points{xk} via
(2.1)xk+1=xk-Qk-1F(xk),
where Qk is a diagonal approximation of the Jacobian matrix updated in each iteration. Our plan is to build a matrix Qk through diagonal updating scheme such that Qk is a good approximation of the Jacobian in some senses. For this purpose, we make use of an interpolating curve in the variable space to develop a weak secant equation which is derived initially by Dennis and Wolkowicz [7]. This is made possible by considering some of the most successful two-step methods (see [8–11] for more detail). Through integrating this two-step information, we can present an improved weak secant equation as follows:
(2.2)(sk-αksk-1)TQk+1(sk-αksk-1)=(sk-αksk-1)T(yk-αkyk-1).
By letting ρk=sk-αksk-1 and μk=yk-αkyk-1 in (2.2), we have
(2.3)ρkTQkρk=ρkTμk.
Since we used information from the last two steps instead of one previous step in (2.2) and (2.3), consequently we require to build an interpolating quadratic curves x(ν) and y(ν), where x(ν) interpolates the last two preceding iterates xk-1 and xk, and y(ν) interpolates the last two preceding function evaluation Fk-1 and Fk (which are assumed to be available).Using the approach introduced in [8], we can determine the value of αk in (2.2) by computing the values of ν0, ν1, and ν2. If ν2=0, {νj}j=02 can be computed as follows:
(2.4)-ν1=ν2-ν1=‖x(ν2)-x(ν1)‖Qk=‖xk+1-xk‖Qk=‖sk‖Qk=(skTQksk)1/2,(2.5)-ν0=ν2-ν0=‖x(ν2)-x(ν0)‖Qk=‖xk+1-xk-1‖Qk=‖sk+sk-1‖Qk=((sk+sk-1)TQk(sk+sk-1))1/2.Let us defineβ by
(2.6)β=ν2-ν0ν1-ν0,
then ρk and μk are give as
(2.7)ρk=sk-β21+2βsk-1,(2.8)μk=yk-β21+2βyk-1,
that is, α in (2.4) is given by α=β2/(1+2β).Assume thatQk is a nonsingular diagonal matrix, the updated version of Qk, that is, Qk+1 is then defined by
(2.9)Qk+1=Qk+Λk,
where Λk is the deviation between Qk and Qk+1 which is also a diagonal matrix. To preserve accurate Jacobian approximation, we update Qk+1 in such a way that the following condition is satisfied:
(2.10)ρkT(Qk+1)ρk=ρkTμk.
We proceed by controlling the growth error of Λk through minimizing its size under the Frobenius norm, such that (2.10) holds. Consequently we consider the following problem: (2.11)min⁡Λ(i)∈R12∑i=1n(Λk(i))2s.t∑i=1nΛk(i)(ρk(i))2=ρkTμk-ρkTQkρk,
where Λk(i); i=1,2,…,n are the diagonal elements of Λk and ρk(i); i=1,2,…,n are the components of vector ρk.In view of the fact that, the objective function in (2.11) is convex, and the feasible set is also convex, then (2.11) has an unique solution. Hence its Lagrangian function can be expressed as follows:
(2.12)L(Λk,λ)=12∑i=1n(Λk(i))2+λ(∑i=1nΛk(i)(ρk(i))2-ρkTμk+ρkTQkρk),
where λ is the Lagrangian multiplier associated with the constraint.Taking the partial derivative of (2.12) with respect to each component of Λk then set them equal to zero, multiply the relation by (ρk(i))2 and sum them all together, yields(2.13)Λk(i)=-λ(ρk(i))2,(2.14)∑i=1nΛk(i)(ρk(i))2=-λ∑i=1n(ρk(i))4,foreachi=1,2,…,n.
Using (2.14) and the constraint, we obtain after some simplifications
(2.15)λ=-ρkTμk-ρkTQkρk∑i=1n(ρk(i))4.
Next, by substituting (2.15) into (2.13) and performing some little algebra, we obtain(2.16)Λk(i)=ρkTμk-ρkTQkρk∑i=1n(ρk(i))4(ρk(i))2,∀i=1,2,…,n.
Letting Hk=diag((ρk(1))2,(ρk(2))2,…,(ρk(n))2) and ∑i=1n(ρk(i))4=Tr(Hk2), where Tr is the trace operation, we can finally present the updating formula for Q as follows. 						(2.17)Qk+1=Qk+(ρkTμk-ρkTQkρk)Tr⁡(Hk2)Hk,∥·∥ denotes the Euclidean norm of a vector.To safeguard on the possibly of generating undefinedQk+1, we propose to use our updating scheme for Qk+1:(2.18)Qk+1={Qk+(ρkTμk-ρkTQkρk)Tr⁡(Hk2)Hk;‖ρk‖>10-4,Qk;otherwise.
Now, we can describe the algorithm for our proposed method as follows:Algorithm 2.1 (2-MFDN).
Step 1.
Choose an initial guessx0 and Q0=I, let k:=0.Step 2 (ComputeF(xk)).
If∥F(xk)∥≤ϵ1 stop, where ϵ1=10-4.Step 3.
Ifk∶=0 define x1=x0-Q0-1F(x0). Else if k∶=1 set ρk=sk and μk=yk and go to 5.Step 4.
Ifk≥2 compute ν1,   ν0, and β via (2.4)–(2.6), respectively and find ρk and μk using (2.7) and (2.8), respectively. If ρkTμk≤10-4∥ρk∥2∥μk∥2 set ρk=sk and μk=yk.Step 5.
Letxk+1=xk-Qk-1F(xk) and update Qk+1 as defined by (2.17).Step 6.
Check if∥ρk∥2≥ϵ1,if yes retain Qk+1, that is, computed by Step 5. Else set, Qk+1=Qk.Step 7.
Setk∶=k+1 and go to 2.


## 3. Numerical Results

In this section, we analyze the performance of 2-MFDN method compared to four Newton-Like methods. The codes are written in MATLAB 7.0 with a double-precision computer, the stopping criterion used is(3.1)‖ρk‖+‖F(xk)‖≤10-4.
The methods that we considered are(i)
Newton's method (NM).(ii)
Chord (fixed) Newton-method (FN).(iii)
The Broyden method (BM).(iv)
MFDN stands for the method proposed by Leong et al. [6].The identity matrix has been chosen as an initial approximate Jacobian. Six (2.4) different dimensions are performed on the benchmark problems, that is, 25, 50, 100, 500, 1000, and 250000.The symbol “−” is used to indicate a failure due to:(i)
the number of iteration is at least 500 but no point ofxk that satisfies (3.1) is obtained;(ii)
CPU time in second reaches 500;(iii)
insufficient memory to initiate the run.In the following, we illustrate some details on the benchmarks test problems.Problem 1.
Trigonometric system of Shin et al. [12]:
(3.2)fi(x)=cos⁡⁡(xi)-1,i=1,2,…,n,x0=(0.87,0.87,…,0.87).Problem 2.
Artificial function:(3.3)fi(x)=ln⁡(xi)cos⁡((1-(1+(xTx)2)-1))exp⁡⁡((1-(1+(xTx)2)-1)),i=1,2,…,n,x0=(2.5,2.5,…,2.5).Problem 3.
Artificial function:(3.4)f1(x)=cos⁡x1-9+3x1+8exp⁡x2,fi(x)=cos⁡xi-9+3xi+8exp⁡xi-1,i=2,…,n,(5,5,…,5).Problem 4.
Trigonometric function of Spedicato [13]:
(3.5)fi(x)=n-∑j=1ncos⁡xj+i(1-cos⁡xi)-sin⁡xi,i=1,…,n,x0=(1n,1n,…,1n).Problem 5.
Spares system of Shin et al. [12]:
(3.6)fi(x)=xixi+1-1,fn(x)=xnx1-1,i=1,2,…,n-1,x0=(0.5,0.5,…,.5).Problem 6.
Artificial function:(3.7)fi(x)=n(xi-3)2+cos⁡(xi-3)2-xi-2exp⁡(xi-3)+log⁡(xi2+1),i=1,2,…,n,x0=(-3,-3,-3,…,-3).Problem 7 (see [14]).
(3.8)f1(x)=x1,fi(x)=cos⁡⁡xi+1+xi-1,i=2,3,…,n,x0=(0.5,0.5,…,.5).From Table1, it is noticeably that using the 2-step approach in building the diagonal updating scheme has significantly improved the performance of the one-step diagonal variant of Newton's method (MFDN). This observation is most significant when one considers CPU time and number of iterations, particularly as the systems dimensions increase. In addition, it is worth mentioning that, the result of 2-MFDN method in solving Problem 3 shows that the method could be a good solver even when the Jacobian is nearly singular.Table 1
Numerical results of NM, FN, BM, MFDN, and 2-MFDN methods.
ProbDimNMFNBMMFDN2-MFDNNICPUNICPUNICPUNICPUNICPU12570.0622360.047120.005220.008250.0065070.0942820.140120.015230.009270.00810070.8723560.168120.018240.016270.013500716.988——134.092260.048290.03110007101.471——147.167260.064310.048250000——————3213.949389.98222550.062——70.01680.01650.0165060.109——70.03180.01950.01810060.593——70.31280.03350.031500616.1305——72.16880.03850.03310006107.8747——78.73680.06850.047250000——————94.91963.666325——————240.031140.01850——————240.031140.022100——————240.047140.031500——————240.068140.0351000——————240.125140.062250000——————2512.612158.28442560.031680.062110.016120.009120.0095070.1871140.125120.032130.028130.02810070.8421810.718130.312140.036120.026500718.98541526.801146.099150.047110.03210007131.743——1928.205150.062140.039250000——————159.0013116.11552550.015——50.00360.00240.00150————50.02160.01640.011100————50.02560.01940.015500————51.56760.02940.0191000————56.11560.03250.024250000——————72.46452.371625130.190————220.018230.01650130.328————230.038240.031100141.232————240.064270.0415001539.578————270.187300.109100017280.830————290.216310.160250000——————3839.1044530.45172550.032210.01650.01560.00540.0055050.047360.03150.01860.01040.00910050.390620.20350.04760.01940.015500512.9481277.37951.37360.05640.0321000589.35713430.99756.53660.06140.032250000——————63.52442.777The numerical results presented in this paper shows that 2-MFDN method is a good alternative to MFDN method especially for extremely large systems.


## 4. Conclusions

In this paper, a new variant of secant method for solving large-scale system of nonlinear equations has been developed (2-MFDN). The method employs a two-step, 3-point scheme to update the Jacobian approximation into a nonsingular diagonal matrix, unlike the single-step method. The anticipation behind this approach is enhanced by the Jacobian approximation. Our method requires very less computational cost and number of iterations as compared to the MFDN method of Leong et al. [6]. This is more noticeable as the dimension of the system increases. Therefore, from the numerical results presented, we can wind up that, our method (2-MFDN ) is a superior algorithm compared to NM, FN, BM, and MFDN methods in handling large-scale systems of nonlinear equations.



---

*Source: 348654-2012-03-25.xml*