1 Introduction

We consider the absolute value equation (AVE)

$$\begin{aligned} Ax-|x|=b, \end{aligned}$$
(1)

where \(A\in \mathbb {C}^{n\times n}\) and \(b\in \mathbb {C}^{n}\). In Eq. (1), \(|x|=(|x_1|,|x_2|,\ldots ,|x_n|)^T\) where \(x_i\)’s are the entries of \(x\). Many mathematical programming problems can be formulated as an AVE. For example, consider the linear complementarity problem (LCP)

$$\begin{aligned} z\ge 0,\quad w=Mz+q\ge 0,\quad z^Tw=0, \end{aligned}$$
(2)

for a given \(M\in \mathbb {R}^{n \times n}\) and \(q\in \mathbb {R}^n\). When the matrix \(M-I\) is nonsingular, the LCP (2) can be reduced to the following AVE (see for example [25])

$$\begin{aligned} (M-I)^{-1}(M+I)x-|x|=(M-I)^{-1}q, \end{aligned}$$
(3)

with

$$\begin{aligned} x=\frac{1}{2}( (M-I)z+q ). \end{aligned}$$

Mangasarian in [6] has shown that AVE is equivalent to a concave minimization problem and considered solving the latter problem instead of AVE. In [7], Prokopyev has discussed the unique solvability of AVE, and its relations with LCP and mixed integer programming. By invoking the connection between LCPs and AVE we can deduce that all singular values of \(A\) exceeding 1 implies existence of a unique solution for every right-hand side \(b\) [4]. Another condition for the existence and uniqueness of a solution for the problem (1) has been provided by [4, Proposition 4].

In fact, the authors have shown that AVE (1) has a unique solution for any \(b\) if \(\Vert A^{-1}\Vert _2<1\), where \(\Vert .\Vert _2\) is the 2-norm. In [5], Mangasarian proposed a generalized Newton method for AVE (1) and investigated its convergence properties. This method can be summarized as

$$\begin{aligned} x^{(k+1)}=\left( A-D(x^{(k)})\right) ^{-1}b, \quad k=0,1,2,\ldots , \end{aligned}$$
(4)

where \(x^{(0)}\) is an initial guess and \(D(x^{(k)})\) is a diagonal matrix of the form \(D(x^{(k)})=\mathrm{diag}(\mathrm{sign}(x^{(k)}))\) (for more details see [5]). In practical implementation of the generalized Newton method a linear system of equations with coefficient matrix \(A-D(x^{(k)})\) should be solved in each iteration. Since the coefficient matrices in (4) are changed with respect to the iteration index \(k\), the computations of the generalized Newton iterates can be much expensive. Rohn et al. in [8] proposed another method to solve AVE (1). In practice their method is reduced to the well known Picard iteration method (see also [9])

$$\begin{aligned} x^{(k+1)}=A^{-1}\left( |x^{(k)}|+b\right) , \quad k=0,1,2,\ldots , \end{aligned}$$
(5)

where \(x^{(0)}=A^{-1}b\) is the initial guess. In practice, in each iteration of the Picard method a linear system with the coefficient matrix \(A\), which is constant in all the iterations, should be solved. The main problem with the Picard iteration method is that if the matrix \(A\) is ill-conditioned then in each iteration of the Picard method an ill-conditioned linear system should be solved. Later, in [10] Noor et al. presented an iterative method to solve AVE (1) when \(C=A-D\) is symmetric positive definite for every diagonal matrix \(D\) with diagonal entries \(-1\), \(0\) or \(+1\). Bai and Yang in [11] have presented the Picard–HSS iteration method which incorporates the Picard iteration method and the Hermitian and skew-Hermitian splitting (HSS) method [12] to solve the nonlinear system \(Ax=\varphi (x)\) where the matrix \(A\) is non-Hermitian positive definite and \(\varphi :\mathbb {D}\subset \mathbb {C}^n \rightarrow \mathbb {C}^n\) is continuously differentiable function defined on the open complex domain \(\mathbb {D}\) in the \(n\)-dimensional complex linear space \(\mathbb {C}^n\). By comparing the nonlinear system \(Ax=\varphi (x)\) with our problem, we see that \(\varphi (x)=|x|+b\). However, this function does not satisfies the assumptions of [11] and the stated theorem for the convergence in [11] should be revised. In this paper, we show that these assumptions can be ignored for our problem and establish a theorem for the convergence of the method. Some numerical results are given to show the validity of the theoretical results and efficiency of the method. We also compare the numerical results of the Picard–HSS iteration method with those of the Picard and generalized Newton methods.

For convenience, some notations, definitions and results that will be used in the following parts are given below. For \(A\in \mathbb {C}^{n \times n}\), \(A^H\) represents the conjugate transpose of \(A\). A matrix \(A\in \mathbb {C}^{n \times n}\) is said to be positive definite if its Hermitian part \(H=(A^H+A)/2\) is positive definite, i.e., \(x^HHx>0\) for any \(x\in \mathbb {C}^n\backslash \{0\}\). The spectral radius of \(A\) is denoted by \(\rho (A)\). We have \(A^k\rightarrow 0\) as \(k\) tends to infinity if and only if \(\rho (A)<1\) (see [1, 13]).

The rest of the paper is organized as follows. In Sect. 2 we review the HSS iteration method. Section 3 is devoted to introducing the Picard–HSS iteration method to solve AVE (1) and investigate its convergence properties. Some numerical experiments are given in Sect. 4.

2 A brief description of the HSS method

Let \(A\in \mathbb {C}^{n \times n}\) be a non-Hermitian positive definite matrix. Then the matrix \(A\) possesses a Hermitian/skew-Hermitian (HS) splitting

$$\begin{aligned} A=H+S, \end{aligned}$$
(6)

where

$$\begin{aligned} H=\frac{1}{2}(A+A^H) \quad \mathrm{and} \quad S=\frac{1}{2}(A-A^H). \end{aligned}$$

Based on the HS splitting (2), Bai et al. [12] presented the HSS iteration method to solve positive definite system of linear equations \(Ax=b\). The HSS method to solve the system \(Ax=b\) can be written as:

The HSS iteration method: Given an initial guess \(x^{(0)}\in \mathbb {C}^{n}\), for \(\ell =0, 1, 2 \ldots ,\) until \(\{x^{(\ell )}\}_{\ell =0}^{\infty }\) converges, compute

$$\begin{aligned} \left\{ \begin{array}{ll} (\alpha I+H)x^{(\ell +\frac{1}{2})}=(\alpha I-S)x^{(\ell )}+b, \\ (\alpha I+S)x^{(\ell +1)}=(\alpha I-H)x^{(\ell +\frac{1}{2})}+b, \end{array}\right. \end{aligned}$$
(7)

where \(\alpha \) is a positive constant and \(I\) is the identity matrix.

The HSS iteration in the matrix-vector form can be equivalently rewritten as

$$\begin{aligned} x^{(\ell +1)}&= T(\alpha )x^{(\ell )}+G(\alpha )b \nonumber \\&= T(\alpha )^{\ell +1} x^{(0)}+\sum _{j=0}^{\ell } T(\alpha )^j G(\alpha ) b, \quad \ell =0,1,2,\ldots , \end{aligned}$$
(8)

where

$$\begin{aligned} T(\alpha )=(\alpha I+S)^{-1}(\alpha I-H)(\alpha I+H)^{-1} (\alpha I-S), \end{aligned}$$

and

$$\begin{aligned} G(\alpha )=2\alpha (\alpha I+S)^{-1}(\alpha I+H)^{-1}. \end{aligned}$$

It is easy to see that HSS is a stationary iterative method obtained from the splitting

$$\begin{aligned} A=B(\alpha )-C(\alpha ), \end{aligned}$$

where

$$\begin{aligned} B(\alpha )&= \frac{1}{2\alpha }(\alpha I+H)(\alpha I+S), \\ C(\alpha )&= \frac{1}{2\alpha }(\alpha I-H)(\alpha I-S). \end{aligned}$$

On the other hand, we have

$$\begin{aligned} T(\alpha )=B(\alpha )^{-1}C(\alpha ) \quad \mathrm{and}\quad G(\alpha )=B(\alpha )^{-1}. \end{aligned}$$

In [12], it has been shown that for any positive constant \(\alpha \) we have \(\rho (T(\alpha ))<1\). This shows that the HSS iteration method unconditionally converges to the exact solution of \(Ax=b\) for any initial guess \(x^{(0)}\in \mathbb {C}^n\).

3 The HSS–Picard for solving AVE

As we mentioned in Sect.  1 the Picard iteration method to solve Eq. (1) can be written in the form

$$\begin{aligned} Ax^{(k+1)}=|x^{(k)}|+b,\quad k=0,1,2,\ldots . \end{aligned}$$
(9)

We assume that the matrix \(A\) is non-Hermitian positive definite. In this case, the next iterate of \(x^{(k+1)}\) can be approximately computed by the HSS iteration by making use of \(A=B(\alpha )-C(\alpha )\) as following (see [11])

$$\begin{aligned} B(\alpha )x^{(k,\ell +1)}&= C(\alpha ) x^{(k,\ell )}+|x^{(k)}|+b,\quad \ell =0,1,\ldots ,l_k-1,\nonumber \\&k=0,1,2,\ldots , \end{aligned}$$
(10)

where \(B(\alpha )\) and \(C(\alpha )\) are the matrices defined in the previous section, \(\alpha \) is a positive constant, \(\{l_k\}_{k=0}^{\infty }\) a prescribed sequence of positive integers, and \(x^{(k,0)}=x^{(k)}\) is the starting point of the inner HSS iteration at \(k\)th outer Picard iteration. This leads to the inexact Picard iteration method, called Picard–HSS iteration method, for solving the system (1) which can be summarized as following (see [11]).

The Picard–HSS iteration method: Let the matrix \(A\in \mathbb {C}^{n \times n}\) be positive definite with \(H=\frac{1}{2}(A+A^H)\) and \(S=\frac{1}{2}(A-A^H)\) being the Hermitian and skew-Hermitian parts of \(A\), respectively. Given an initial guess \(x^{(0)}\in \mathbb {C}^n\) and a sequence \(\{l_k\}_{k=0}^{\infty }\) of positive integers, compute \(x^{(k+1)}\) for \(k=0,1,2,\ldots \), using the following iteration scheme until \(\{x^{(k)}\}\) satisfies the following stopping criterion:

(a):

Set \(x^{(k,0)}:=x^{(k)};\)

(b):

For \(\ell =0,1,\ldots ,l_k-1\), solve the following linear systems to obtain \(x^{(k,\ell +1)}\):

$$\begin{aligned} \left\{ \begin{array}{ll} (\alpha I+H)x^{(k,\ell +\frac{1}{2})}=(\alpha I-S)x^{(k,\ell )}+|x^{(k)}|+b,\\ (\alpha I+S)x^{(k,\ell +1)}=(\alpha I-H)x^{(k,\ell +\frac{1}{2})}+|x^{(k)}|+b, \end{array}\right. \end{aligned}$$

where \(\alpha \) is a given positive constant;

(c):

Set \(x^{(k+1)}:=x^{(k,l_k)}\).

The two linear sub-systems in all inner HSS iterations have the same shifted Hermitian and shifted skew-Hermitian coefficient matrices, which are constant with respect to the iteration index \(k\). The first sub-system can be solved exactly by making use of the Cholesky factorization and the second one by the LU factorization of the coefficient matrix. Moreover, these sub-systems can be solve approximately by the conjugate gradient method and a Krylov subspace method like GMRES, respectively.

The next theorem provides sufficient conditions for the convergence of the Picard–HSS method to solve system (1).

Theorem 1

Let \(A\in \mathbb {C}^{n \times n}\) be a positive definite matrix and \(H=\frac{1}{2}(A+A^H)\) and \(S=\frac{1}{2}(A-A^H)\) be its Hermitian and skew-Hermitian parts, respectively. Let also \(\eta =\Vert A^{-1}\Vert _2<1\). Then the AVE (1) has a unique solution \(x^*\), and for any initial guess \(x^{(0)}\in \mathbb {C}^n\) and any sequence of positive integers \(l_k\), \(k=0,1,2,\ldots \), the iteration sequence \(\{x^{(k)}\}_{k=0}^{\infty }\) produced by the Picard–HSS iteration method converges to \(x^*\) provided that \(l=\displaystyle \liminf _{k\rightarrow \infty } l_k \ge N\), where \(N\) is a natural number satisfying

$$\begin{aligned} \Vert T(\alpha )^s\Vert _2 < \frac{1-\eta }{1+\eta }\quad \forall s\ge N. \end{aligned}$$

Proof

Since \(\eta <1\), according to Proposition 4 in [4] AVE (1) has a unique solution \(x^* \in \mathbb {C}^n\). Invoking Eq. (8) we see that the \((k+1)\)th iterate of the Picard–HSS method can be written as

$$\begin{aligned} x^{(k+1)}= T(\alpha )^{l_k} x^{(k)}+\sum _{j=0}^{l_k-1} T(\alpha )^j G(\alpha )(|x^{(k)}|+b),\quad k=0,1,2,\ldots . \end{aligned}$$
(11)

On the other hand, since \(x^*\) is the solution of Eq. (1), we have

$$\begin{aligned} x^{*}= T(\alpha )^{l_k} x^*+\sum _{j=0}^{l_k-1} T(\alpha )^j G(\alpha )(|x^{*}|+b),\quad k=0,1,2,\ldots . \end{aligned}$$
(12)

Subtracting (12) from (11) yields

$$\begin{aligned} x^{(k+1)}-x^*= T(\alpha )^{l_k} (x^{(k)}-x^*)+\sum _{j=0}^{l_k-1} T(\alpha )^j G(\alpha )(|x^{(k)}|-|x^*|). \end{aligned}$$
(13)

On the other hand, since \(\rho (T(\alpha ))<1\), we have

$$\begin{aligned} \sum _{j=0}^{l_k-1} T(\alpha )^j G(\alpha )&= \left( I-T(\alpha )^{l_k}\right) (I-T(\alpha ))^{-1}G(\alpha ) \\&= (I-T(\alpha )^{l_k})\left( I-B(\alpha )^{-1} C(\alpha )\right) ^{-1}B(\alpha )^{-1} \\&= (I-T(\alpha )^{l_k})A^{-1}. \end{aligned}$$

Substituting this in Eq. (13) yields

$$\begin{aligned} x^{(k+1)}-x^*&= T(\alpha )^{l_k} (x^{(k)}-x^*)+(I-T(\alpha )^{l_k})A^{-1}(|x^{(k)}|-|x^*|) \\&= T(\alpha )^{l_k} \left[ (x^{(k)}-x^*)-A^{-1} (|x^{(k)}|-|x^*|)\right] + A^{-1} (|x^{(k)}|-|x^*|). \end{aligned}$$

It is easy to see that for any \(x,y\in \mathbb {C}^n\), \(\Vert |x|-|y|\Vert _2 \le \Vert x-y\Vert _2\). Therefore,

$$\begin{aligned} \left\| x^{(k+1)}-x^*\right\| _2 \le \left( \left\| T(\alpha )^{l_k}\right\| _2 (1+\eta )+\eta \right) \left\| x^{(k)}-x^*\right\| _2. \end{aligned}$$

Since \(\rho (T(\alpha ))<1\), \(T(\alpha )^s\rightarrow 0\) as \(s\) tends to infinity. Therefore, there is a natural number \(N\) such that

$$\begin{aligned} \left\| T(\alpha )^s\right\| _2 < \frac{1-\eta }{1+\eta }\quad \forall s\ge N. \end{aligned}$$

Now, if we assume \(l=\displaystyle \liminf _{k\rightarrow \infty } l_k \ge N\), then the desired result is obtained. \(\square \)

According to Theorem 1, we see that the Picard–HSS iteration method to solve the AVE (3) is convergent if the matrix \((M-I)^{-1}(M+I)\) is positive definite, \(\eta =\Vert (M+I)^{-1}(M-I)\Vert _2<1\) and the sequence \(l_k,\) \(k=0,1,2,\ldots ,\) is defined as in Theorem 1.

Similar to [11], the residual-updating form of the Picard–HSS iteration method can be written as following.

The Picard–HSS iteration method (residual-updating variant): Let the matrix \(A\in \mathbb {C}^{n \times n}\) be positive definite with \(H=\frac{1}{2}(A+A^H)\) and \(S=\frac{1}{2}(A-A^H)\) being the Hermitian and skew-Hermitian parts of \(A\), respectively. Given an initial guess \(x^{(0)}\in \mathbb {C}^n\) and a sequence \(\{l_k\}_{k=0}^{\infty }\) of positive integers, compute \(x^{(k+1)}\) for \(k=0,1,2,\ldots \), using the following iteration scheme until \(\{x^{(k)}\}\) satisfies the following stopping criterion:

(a):

Set \(s^{(k,0)}:=0\) and \(b^{(k)}:=|x^{(k)}|+b-Ax^{(k)}\);

(b):

For \(\ell =0,1,\ldots ,l_k-1\), solve the following linear systems to obtain \(s^{(k,\ell +1)}\):

$$\begin{aligned} \left\{ \begin{array}{ll} (\alpha I+H)s^{(k,\ell +\frac{1}{2})}=(\alpha I-S)s^{(k,\ell )}+b^{(k)},\\ (\alpha I+S)s^{(k,\ell +1)}=(\alpha I-H)s^{(k,\ell +\frac{1}{2})}+b^{(k)}, \end{array} \right. \end{aligned}$$

where \(\alpha \) is a given positive constant;

(c):

Set \(x^{(k+1)}:=x^{(k)}+s^{(k,l_k)}\).

4 Numerical experiments

In this section we give some numerical experiments to show the effectiveness of the Picard–HSS iteration method to solve AVE (1). To this end, we compare the numerical results of the Picard–HSS iteration with those of the Picard and generalized Newton methods. We use the residual-updating version of the Picard–HSS iteration method presented in the previous section. All the numerical experiments presented in this section have been computed in double precision using some MATLAB codes on a Pentium 4 PC, with a 2.10 GHz CPU and 1.99 GB of RAM. We use a null vector as an initial guess and the stopping criterion

$$\begin{aligned} \frac{\Vert Ax^{(k)}-|x^{(k)}|-b \Vert _{2}}{\Vert b\Vert _{2}}\le 10^{-7}, \end{aligned}$$

is always used where \(x^{(k)}\) is the computed solution by each of the methods at iterate \(k\). For the Picard–HSS iterations method, the stopping criterion

$$\begin{aligned} \frac{\Vert b^{(k)}-As^{(k,\ell )}\Vert _2}{\Vert b^{(k)}\Vert _2}\le 0.01 \end{aligned}$$

and a maximum number of iterations 10 (\(l_k=10\), \(k=0,1,2,\ldots \)) for the inner iterations are used. For all of the methods the maximum number of iterations (outer iterations) is set to be \(2,000\). The right-hand side vector of AVE (1) is taken such a way that the vector \(x=(x_1,x_2,\ldots ,x_n)^T\) with

$$\begin{aligned} x_i=(-1)^i i, \quad i=1,2,\ldots ,n, \end{aligned}$$

be the exact solution. In the implementation of the Picard–HSS iteration method, the optimal parameters have been obtained experimentally. In fact, the experimentally found optimal parameters \(\alpha _{\exp }\) are the ones resulting in the least numbers of iterations. As mentioned in [11] the computation of the optimal parameter is often problem-dependent and generally difficult to be determined. Subsystems with the coefficient matrix \((\alpha I+H)\) are solved by the Cholesky factorization of the coefficient matrix and subsystems with the coefficient matrix \((\alpha I+S)\) are solved by the LU factorization of the coefficient matrix.

We give two examples and the corresponding numerical results are adjusted in four tables. In the presented tables we give the number of iterations for the convergence (denoted by IT), CPU times for the convergence (denoted by CPU) and \(\alpha _{\exp }\). Here, we mention that the reported CPU times are the sum of the CPU times for the convergence and the CPU times for computing the Cholesky and LU factorizations of the coefficient matrices. It is also mentioned that the CPU times are given in seconds.

For our numerical experiments we consider the two-dimensional convection diffusion equation

$$\begin{aligned} \left\{ \begin{array}{ll} -(u_{xx}+u_{yy})+q(u_x+u_y)+p u =f(x,y),&{} \quad (x,y)\in \varOmega , \\ u(x,y)=0, &{}\quad (x,y)\in \partial \varOmega , \end{array} \right. \end{aligned}$$

where \(\varOmega =(0,1)\times (0,1)\), \(\partial \varOmega \) its boundary, \(q\) is a positive constant and \(p\) is a real number. We use the five-point finite difference scheme to the diffusive terms and the central difference scheme to the convective terms. Let \(h=1/(m+1)\) and \(Re=(qh)/2\) denote the equidistant step size and the mesh Reynolds number, respectively. Then we get a system of linear equations \(Bx=d\), where \(B\) is matrix of order \(n=m^2\) of the form

$$\begin{aligned} B=T_x \otimes I_m+I_m \otimes T_y+p I_n, \end{aligned}$$
(14)

wherein \(I_m\) and \(I_n\) are, respectively, the identity matrices of order \(m\) and \(n\), \(\otimes \) means the Kronecker product symbol, and \(T_x\) and \(T_y\) are the tridiagonal matrices

$$\begin{aligned} T_x=\mathrm{tridiag}(t_2,t_1,t_3)\quad \mathrm{and} \quad T_{y}=\mathrm{tridiag}(t_2,0,t_3), \end{aligned}$$

with

$$\begin{aligned} t_1=4,\quad t_2=-1-Re,\quad t_3=-1+Re. \end{aligned}$$

It is easy to see that for every nonnegative number \(q\) the matrix \(B\) is in general non-symmetric positive definite. We define the matrix \(A\) in AVE (1) by making use of the matrix \(B\) for our numerical experiments as follows.

Example 1

Let \(q=0\) and \(p=0\). In this case, the matrix \(B\) provided by (4) is symmetric positive definite. We set

$$\begin{aligned} A=B+5(L-L^T), \end{aligned}$$

where \(L\) is the strictly lower part of \(B\). It is easy to see that the marix \(A\) is non-symmetric positive definite. We present the numerical results for different values of \(n\) in Table 1. In this table “Gen. Newton” is denoted for the generalized Newton method. From Table 1 we see that the number of iteration of the Picard–HSS and Picard iteration methods are the same and the CPU times for the Picard method is always less than or equal to those of the Picard–HSS method. We also see that the number of iterations of the generalized Newton method is always less than those of the two other methods. Moreover, the CPU times for the generalized Newton method are comparable with those of the Picard iterative method. We now assume \(q=0\) and \(p=-1\) and set

$$\begin{aligned} A=B+0.5(L-L^T), \end{aligned}$$

where \(L\) is the strictly lower part of \(B\). In this case the matrix \(A\) is in general indefinite. We report the numerical results in Table 2. All of the assumptions are as before. As seen both of the Picard and the generalized Newton methods fail to converge in 2,000 iterations (in tables it is denoted by “Fail”). However, we see that the Picard–HSS method provides quite suitable results.

Table 1 Numerical results for Example 1 for different values of \(n\) and \((q,p)=(0,0)\)
Table 2 Numerical results for Example 1 for different values of \(n\) and \((q,p)=(0,-1)\)

Example 2

In this example, we first set \(A=B\) where \(B\) is defined by (4). Numerical results for different values of \(n\) (\(n=100,400,900,1,600,2,500\)), different values of \(q\) (\(q=1,10,100,1,000\)) and \(p=0\) are given in Table 3. All of the concluding remarks which we have given for Table 1 can be mentioned here. In addition, Table 2 shows that the Picard method for \(q=1\) and \(q=10\) fails to converge in 2,000 iterations, whereas the Picard–HSS method properly converges to the exact solution. Here, it is necessary to mention that the shifted matrices \(\alpha I+H\) and \(\alpha I+S\) are usually more well-conditioned than the matrix \(A\).

For the last set of the numerical results we consider \(A=B\) where \(B\) is defined by (4) with different values of \(n\) (\(n=100,400,900,1,600,2,500\)), different values of \(q\) (\(q=1,10,100,1,000\)) and \(p=-1\). The related numerical results are given in Table 4. As we see the Picard–HSS method always converges, but both of the Picard and generalized Newton methods fail to converge for several cases. For the rest of the cases, almost all of the previous observations can be concluded.

Table 3 Numerical results for Example 2 for different values of \(n\) and \(q\) and \(p=0\)
Table 4 Numerical results for Example 2 for different values of \(n\) and \(q\) and \(p=-1\)