985
Views
5
CrossRef citations to date
0
Altmetric
Articles

Solving generalized inverse eigenvalue problems via L-BFGS-B method

& ORCID Icon
Pages 1719-1746 | Received 30 Jun 2019, Accepted 22 Apr 2020, Published online: 17 Jun 2020

ABSTRACT

The parameterized generalized inverse eigenvalue problems containing multiplicative and additive inverse eigenvalue problems appear in vibrating systems design, structural design, and inverse Sturm–Liouville problems. In this article, by using the Cholesky factorization and the Jacobi method, we propose two efficient algorithms based on Newton's method and the L-BFGS-B method for solving these problems. To demonstrate the effectiveness of the algorithms, we present three numerical examples.

AMS MSC 2010:

1. Introduction

In the eigenvalue problems, the information contains the elements of a matrix or a matrix pencil and the unknowns of these problems include all or some of the eigenvalues. Describing and solving these problems by using some effective methods are found in [Citation1,Citation2]. But in the corresponding inverse problems, the data contains the complete information, or part of the eigenvalues or eigenvectors. In fact, the inverse problems include finding a matrix or matrix pencils according to the given information under spectral and structural constraints [Citation3–6]. The current literature on the inverse eigenvalue problems shows that the creation of the inverse eigenvalue problems are inevitable in practical applications. Inverse eigenvalue problems, according to the application may be seen in different forms. In [Citation3], a set of inverse eigenvalue problems was recognized and categorized according to its specifications. A lot of inverse eigenvalue problems are generalized inverse eigenvalue problems. Since many physical problems can be modelled as generalized inverse eigenvalue problems, many different examples of these problems have appeared. For example, the generalized inverse eigenvalue problem over the Hermitian–Hamiltonian matrices with a submatrix constraint was studied in [Citation7]. In [Citation8], Liu et al. considered the generalized inverse eigenvalue problem for centrohermitian matrices. In [Citation9], the generalized inverse eigenvalue problem for generalized snow-like matrices was investigated. A generalized inverse eigenvalue problem in structural dynamic model updating was studied in [Citation10]. In [Citation11], a generalized inverse eigenvalue problem by the Jacobi matrix was considered. In these problems, a set of eigenvalues and a matrix pencil function that contained unknown parameters are given and the goal is finding unknown parameters under some conditions. Due to their many applications, these problems have always been a concern for researchers [Citation12,Citation13].

To simplify the discussion, we introduce the following notation. The symbols Hn and Un stand for the sets of all n×n upper triangular matrices and n×n lower triangular matrices, respectively. We use A>0 and A0, when the matrix A is a positive definite matrix and positive semi-definite matrix, respectively. The symbol . represents the Euclidean norm for vectors and induced norms for matrices. In addition, we denote a matrix pencil pair briefly with the notation (A,B).

The parameterized generalized inverse eigenvalue problem (PGIEP) can be described as follows:

Definition 1.1

Let A(c)=A(c1,c2,,cn) and B(c)=B(c1,c2,,cn) be two given n×n matrices whose entries are analytic functions of parameters (c1,c2,,cn). Given n real numbers λ1,λ2,,λn, find cRn such that the generalized eigenvalue problem A(c)x=λB(c)x has the prescribed eigenvalues λ1,λ2,,λn.

In many practical applications, such as structural design [Citation14–16], the pencil matrix pair (A(c),B(c)) is affine that causes the creation of the special cases of the PGIEP. In this paper, we consider the special case of this problem in the form below:

Problem 1.1

As special type of the PGIEP, in this problem, we set (1) A(c)=A0+i=1nciAi,B(c)=B0+i=1nciBi,(1) where Ai, i=0,1,2,,n, are n×n symmetric matrices, B0>0, Bi0 for i=1,2,,n, and the given eigenvalues λ1,λ2,,λn are ordered as λ1<λ2<<λn.

The algebraic inverse eigenvalue problem [Citation17] and the additive inverse eigenvalue problems [Citation18] are two special types of Problem 1.1.

Problem 1.1 is considered as one of the most frequent inverse eigenvalue problems that appears in various areas of mathematical and numerical analysis and engineering applications [Citation19–22]. Actually, Problem 1.1 arises in a variety of practical applications of structural engineering, mechanics, and physics. Some of these applications are as follows [Citation14,Citation23,Citation24]:

  • Studying a vibrating string and [Citation25,Citation26];

  • Nuclear spectroscopy;

  • The educational testing problem;

  • The graph partitioning problem;

  • Sturm–Liouville problems and preconditioning;

  • Factor analysis [Citation27] and the design of control systems [Citation18].

We will now describe several examples arising in various areas of applications.

Application 1.1

[Citation28]

Consider inverse Sturm–Liouville problems as follows: (2) u¨(x)+p(x)u(x)=λu(x)(2) (3) u(0)=u(π)=0,(3) where the purpose is to determine the density function p(x)>0 viewing the eigenvalues {λi}1. Using finite differences to solve these problems leads to the inverse eigenvalue problem as follows: Au+Du=λiu,i=1,2,,n, in which the goal is to find the matrix D=diag(d1,d2,.dn)=diag(p(h),p(2h),,p(nh))>0. This is a classical example of the parameterized generalized inverse eigenvalue problems.

Application 1.2

It is showed in [Citation29] that a vibrational mass-spring set can be modelled as a system of ordinary differential equations as fallow: x˙=Ax, where the multiplied matrix of this system is a symmetric matrix of physical parameters like A=[k1+k2k2k2k2+k3k3k3k3+k4k4knkn], and xRn. It is possible to write A as the following linear combination of physical parameters A=A(c)=A0+i=1nciAi, where ci=ki,B0=I,Bi=0,i=1,2,,n,A0=0,A1=e1e1T,Ai=(ei1ei)(ei1ei)T,i=2,3,,n, when it is assumed that we have the natural frequency of the system as eigenvalues of A, finding the matrix is changed to determining the multipliers ci>0,i=1,2,,n.

Also Problem 1.1 plays an important role in structure design and applied mechanics [Citation19].

Application 1.3

In many practical applications of structures with l elements and n displacement degrees of freedom, such as, truss structure design, by assuming that c=(c1,c2,,cl) is a set of design parameters, the global stiffness matrix A(c) and global mass matrix B(c) are defined as: A(c)=c1K1+c2K2++clKl,B(c)=M0+c1M1+c2M2++clMl, where Ki and Mi are the stiffness and mass matrices of the ith element of the structure. In these problems, the goal is to determine ci>0,i=1,2,,l such that it is the set {λ1,λ2,,λl}of the eigenvalues of the generalized eigenvalue problem A(c)x=λB(c)x.

On the other hand, various applications of the PGIEP have made it a favourite topic for analysis. Many recent studies have focused on the numerical methods and existence theory for different categories of these problems [Citation3,Citation30,Citation31]. Sufficient and necessary conditions for the solvability of the specific types of the PGIEP were presented in [Citation18,Citation31–36]. In addition, in [Citation37], Dai et al. presented sufficient conditions for guaranteeing the existence of a solution for the parameterized generalized inverse eigenvalue problem. More results in this area can be found in [Citation38,Citation39].

Further more, a review of recent literature on inverse eigenvalue problems shows that there are plenty of results for finding the answer to the PGIEP. In general, different approaches have been used to solve these problems according to their types. These methods can be categorized into three main categories of direct methods, iterative methods and continuous methods [Citation3]. However the similarity of these methods is the confrontation with a nonlinear system of equations or an optimization problem. Since the nonlinear system of equations is simpler in repetitive and continuous methods, these methods have been extensively considered in recent years [Citation3]. Also iterative methods were developed for solving the specific types of the PGIEP [Citation40–42]. Formulations of some of these methods were defined by solving the following nonlinear systems (4) F(c)=[λ1(c)λ1λ2(c)λ2λn(c)λn]=0,(4) (5) F(c)=[σmin(A(c)λ1B(c))σmin(A(c)λ2B(c))σmin(A(c)λnB(c))]=0,(5) in which λ1(c),λ2(c),,λn(c) are the eigenvalues of the generalized eigenvalue problem A(c)x=λB(c)x, the scalers λ1,λ2,,λn are the eigenvalues given in the problem and σmin(A(c)λiB(c)) is smallest singular value of the matrix A(c)λiB(c). In the above formulations, the system of nonlinear equations F(c)=0 should be solved. In [Citation42], Newton's method for solving the system of nonlinear equations (Equation4) has been presented, by extending the ideas which were developed by Friedland in [Citation34]. This method requires computing the complete solution of the generalized eigenvalue problem A(c)x=λB(c)x in each iteration of Newton's method. Also in [Citation43] Shu and Li introduced Homotopy solution for the system of nonlinear equations (Equation4). In [Citation41], an another form of the formulation has been presented by using a QR-like decomposition as follows: (6) F(c)=[rnn(1)(c)rnn(2)(c)rnn(n)(c))]=0,(6) in which rnn(i)(c) is obtained by computing QR-like decomposition of (A(c)λiB(c)) for i=1,2,,n as follows: (A(c)λiB(c))=Qi(c)Ri(c),Ri(c)=[R11(i)(c)R12(i)(c)0rnn(i)(c)]. In addition, Lancaster [Citation44] and Biegler-Konig [Citation45] presented a formulation based on the determinant evaluation for the additive and multiplicative inverse eigenvalue problems, by the following form: (7) F(c)=[det(A(c)λ1I)det(A(c)λ2I)det(A(c)λnI)]=0.(7) It should be noted that the formulations (Equation4)–(Equation7) are not computationally attractive. To avoid solving an eigenvalue problem in each iteration and to lower computational complexity, we propose a numerical algorithm based on the Cholesky factorization and the Jacobi method. In this paper, we consider the formulation of both methods for solving the Problem 1.1, assuming the existence of a solution.

This paper is organized as follows. We review some basic definitions and theorems for the Cholesky factorization and the Jacobi method in Section 2. In Section 3, first we consider necessary theories for the Cholesky factorization of a matrix dependent on several parameters and then two new algorithms based on the Cholesky factorization and the Jacobi method is proposed. Finally in Section 4 some numerical experiments are presented.

2. Some definitions and theorems

Before starting, we review some basic definitions and theorems for the Cholesky factorization and the Jacobi method quickly.

The Cholesky factorization is a factorization of a positive-definite matrix into the product of a lower triangular matrix and its conjugate transpose, which is helpful for effective numerical solutions [Citation46]. Actually, positive-definite matrices possess numerous significant properties, specifically they can be represented in the form A=HHT for a non-singular matrix H. The Cholesky factorization is a special type of this factorization, where H is a lower triangular matrix with positive diagonal elements. By a form of Gaussian elimination, we can compute the Cholesky factorization [Citation46]. Balancing (i,j) elements in the equation A=HHT shows aij=k=1ihki2,i=j,aij=k=1ihkihkj,i>j. These equations can be solved to make a column of the matrix H at a time, according to the following form: h11=a11andfori=1,2,..n,hii=(aiik=1i1hki2)1/2,hij=(aiik=1i1hikhjk)hii,j=1,2,,n. There are theorems that show the existence of a Cholesky factorization for symmetric and positive definite matrices. According to one of this theorem if all leading principal minors a matrix ARn×n are non-singular, then there exist a diagonal matrix D and two unit upper triangular matrices L and M so that A=LDMT, and if ARn×n be a symmetric and non-singular matrix, then, matrices L and M are equal and we can also write A=LDLT. Jacobi method constructs a sequence of similar matrices by using the orthogonal transformations. Jacobi methods for the symmetric eigenvalue problem attract current attention because they are inherently parallel [Citation47]. This method uses Jacobi rotation matrices for diagonalization of symmetric matrices, by the following theorem:

Theorem 2.1

[Citation46]

Let A be an n×n real matrix. For each pair of integers (p,q),1p<qn, there exist a θ[π/4,π/4] such that (p,q) element of matrix G(p,q,θ)TAG(p,q,θ) is zero, where G(p,q,θ) is a rotation matrix.

Actually, the idea of Jacobi method is to reduce the quantity off(A)=i=1nj=1jinaij2 by the above theorem and a sequence of rotation matrices.

3. Main results

In this section, we offer two iterative algorithms based on the Cholesky factorization and the Jacobi method for solving the Problem 1.1.

3.1. Smooth Cholesky factorization

In this subsection, we first review a theorem for the matrix pencil pair (A,B) [Citation48] and then we extend it for pencil of matrix-valued function (A(c),B(c)).

Theorem 3.1

Let (A,B) be the matrix pencil pair and matrices A and B be symmetric and positive definite, respectively, then there exist a real nonsingular matrix X such that matrix XTAX is a real diagonal matrix and XTBX=I, and eigenvalues of the matrix pencil pair (A,B) equal to the diagonal elements of the matrix XTAX.

Since matrices A(c) and B(c) are matrix-valued functions dependent on several parameters, we present smooth Cholesky factorization for a differentiable matrix-valued function of multiple parameters.

Let B(c)=(bkl(c))Rn×n be differentiable matrix defined on F, where F is a connected open subset of Rn. Such that (8) B(c)=B(c(0))+i=1nδB(c(0))δci(cici(0))+O(cc(0)2),(8) in which (9) δB(c(0))δci=(δbkl(c)δci|c=c(0))Rn×n.(9) Now, we present an existence for the Cholesky factorization of the matrix B(c). Then we present a smooth form of Theorem 3.1 for pencil of matrix-valued function (A(c),B(c)). To this end, we need a preparatory lemma as follows:

Lemma 3.1

If B(c)Rn×n is a differentiable matrix-valued function defined on an open connected domain FRn, then there exists a unit lower-triangular matrix L(c) and an upper-triangular matrix U(c), both unique and differentiable in F, such that B(c)=L(c)U(c), provided that all leading principal minors of B(c) are nonzero for any cF. This lemma obtains by using mathematical induction [Citation37].

Also, the Cholesky decomposition has continuity and smoothness properties as explained in the following theorem:

Theorem 3.2

Let B(c)Rn×n be a differentiable matrix-valued function on the a connected open subset FRn such that at a given point c(0), B(c(0)) is a matrix full rank. Assume that there exists one permutation matrix Πr such that ΠrB(c0)ΠrT has a Cholesky factorization ΠrB(c0)ΠrT=H0H0T, where H0 is a lower triangular matrix. Then there exists a neighbourhood of c(0), say, N(c(0)), such that for all cN(c(0)), the matrix-valued function ΠrB(c)ΠrT has a Cholesky factorization as ΠrB(c)ΠrT=H(c)HT(c),forcN(c(0)), where H(c) is a lower triangular matrix.

Proof.

From LDLT factorization, there exists a diagonal matrix D0 and an unit lower triangular matrix L0 such that ΠrB(c(0))ΠrT=L0D0L0T=(L0)(D0L0T)=(L0)(U0), where U0 is an upper triangular matrix. By defining Bd(c) as Bd(c)=k=1nδδB(c(0))δck(ckck(0))+O(cc(0)2), we have B(c)=B(c(0))+Bd(c), and L01ΠrB(c)ΠrT=L01ΠrB(c(0))ΠrT+L01ΠrBd(c)ΠrT:=U0+B~(c), where B~(c)=L01Πrk=1nδδB(c(0))δckΠrT(ckck(0))+O(cc(0)2), Let B~(c)=[B~11(c)B~12(c)B~21(c)b~nn(c)],U0=[U11U120unn], where B~11(c)C(n1)×(n1) and U11Un1. For as much as the matrix-valued function U11+B~11(c) is invertible on a neighbourhood of c0, as N(c(0))Cn, and all of its leading principal minors are nonzero for any cN(c(0)), we can define the matrix-valued function, Lr(c), as follows: Lr(c)=[I0B~21(c)+(U11+B~11(c))11]. Straight computations show that Lr(c)1L01ΠrB(c)ΠrT=[U~11(c)U~12(c)0unn(c)]. It follows from Lemma 3.1 that there exist an LU decomposition of the matrix U~11(c) as follow: U~11(c)=L~l(c)U~l(c), where L~l(c)and U~l(c) are two unit lower-triangular and unit upper-triangular matrix and both unique.

Assuming Lπ(c)=[L~l(c)001],Uπ(c)=[U~l(c)L~l(c)U~12(c)0unn(c)], let L(c)=L0Lr(c)Lπ(c)andU(c)=Uπ(c). Then L(c(0))=L0, U(c(0))=U0 and L(c)U(c) is the LU decomposition of ΠrB(c)ΠrT, ΠrB(c)ΠrT=L(c)U(c)forcN(c(0)). We define the matrix-valued function D(c) as D(c)=diag(u11(c),u22(c),,unn(c)), where uii(c),i=1,2,,n are diagonal entries of U(c), then ΠrB(c)ΠrT=L(c)U(c)=L(c)D(c)(D(c)1U(c)). Finally, by defining M=(D(c)1U(c)), we can obtain ΠrB(c)ΠrT=L(c)D(c)MT(c) and ΠrB(c)ΠrT=(L(c)D(c)(1/2))(D(c)(1/2)LT(c)). Let H(c)=L(c)D1/2(c), then ΠrB(c)ΠrT possesses the Cholesky decomposition ΠrB(c)ΠrT=H(c)HT(c)forcN(c(0)). Now the proof is complete.

Corollary 3.1

Let B(c),A(c)Rn×n be differentiable matrices defined on a connected open subset FRn such that at a given point, as c(0)F, the rank B(c(0))n1. Assume that matrices A(c(0)) and B(c(0)) are symmetric and positive definite respectively and there exists one lower triangular matrix H(c(0)) such that H(c(0))HT(c(0)) has a Cholesky factorization for matrix B(c(0)), then there exists a neighbourhood of c(0), say, N(c(0)), such that for all cN(c(0)), there exists a nonsingular matrix-valued function X(c) such that matrix XT(c)A(c)X(c) is real diagonal matrix and X(c)TB(c)X(c)=I, and eigenvalues of the matrix pencil pair (A(c),B(c)) are equal to the diagonal elements of the matrix XT(c)A(c)X(c).

3.2. Two algorithms based on the smooth Cholesky factorization

In this subsection, we present two algorithms based on the Cholesky factorization for Problem 1.1. At first, we make a system of nonlinear equations which is equivalent to Problem 1.1. For this end, we begin by computing the Cholesky factorization of B(c), with complete pivoting as follows: (10) ΠT(B(c))Π=H(c)HT(c),(10) where Π is a permutation matrix and H is a lower triangular matrix. We know that (11) H1ΠT(A(c))ΠHTλH1ΠT(B(c))ΠHT=H1ΠT(A(c))ΠHTλI.(11) According to the symmetry of H1ΠT(A(c))ΠHT, we obtain matrix Q=Q1Q2Qk, such as (12) H1ΠT(A(c))ΠHT=QTDAQ,(12) and by assuming P=ΠHTQ, we get (13) PTA(c)P=DA,PTB(c)P=I,(13) where (14) DA=[d11(c)000d22(c)000dnn(c)].(14) The diagonal elements of DA are not necessarily in descending order, but this can be achieved by a simple sorting algorithm or use a sorted Jacobi algorithm [Citation49]. So let's assume d11(c)d22(c)dnn(c). Based on Corollary 3.1, the matrices (A(c)λB(c)) and DAλI are similarity matrices and therefor they have equal eigenvalues. As a result, the generalized eigenvalue problem A(c)x=λB(c)x has the eigenvalues λ1,λ2,,λn if and only if dii(c)λi=0,i=1,2,,n. Now, we create a system of nonlinear equations for solving Problem 1.1 as following (15) F(c)=[d11(c)λ1d22(c)λ2dnn(c)λn]=0.(15) We use Newton's method to solve the system of the nonlinear equations (Equation15). Suppose flow iterate c(k) be sufficiently close to a solution of the nonlinear system (Equation15), then one step of Newton's method for the solution of (Equation15) has the form (16) JF(c(k))(c(k+1)c(k))=F(c(k)),(16) where the Jacobian matrix JF(c) has the following form: (17) JF(c)=[d11(c)c1d11(c)cnd22(c)c1d22(c)cndnn(c)c1dnn(c)cn],(17) in which, using (Equation13) and the results of Theorem 2.1 of [Citation50], Jacobian matrix JF(c) has elements (18) dii(c)cj=piT(c)(A(c)cjdii(c)B(c)cj)pi(c),i,j=1,2,,n.(18) Clearly, from the definition of matrices A(c) and B(c) in (Equation1), we obtain (19) dii(c)cj=piT(c)(Ajdii(c)Bj)pi(c).(19) Thus this method for solving the Problem 1.1 be summarized as follows:

Algorithm 3.1

The algorithm for finding a solution of Problem 1.1

Input: Given matrices {Ai}i=0n and {Bi}i=0n, eigenvalues λ1,λ2,,λn and initial guess c(0)0

Output: Computed solution c(k+1)

For k=0,1,2, until the iteration sequence {c(k)}k=0 is convergent,

Step 1.

Compute A(c(k)) and B(c(k));

Step 2.

Compute the Cholesky factorization of B(c(k)) with complete pivoting; Πr(B(c(k))ΠrT=H(c(k))HT(c(k)),where H(c(k)) is the upper triangular matrix.

Step 3.

Find the rotation matrices Q1,Q2,,Qk such that (l=1kQlT)H1(c(k))ΠrTA(c(k))ΠrHT(c(k))(l=1kQl)=DA(c(k)),where DA(c(k)) is a diagonal matrix;

Step 4.

Compute F(c(k)) using (Equation15);

Step 5.

If F(c(k))2=i=1ndiiλi2 is small enough, then stop, otherwise go to next step;

Step 6.

Compute the Jacobian matrix JF(c(k)) using (Equation17);

Step 7.

Find c(k+1) by solving linear system (Equation16);

Step 8.

Go to Step 1.

Let Problem 1.1 have a solution c. We conclude that if the eigenvalues λ1(c),λ2(c),,λn(c) have the smooth dependence near c=c, and the Jacobian at c is non-singularity, the Newton's method given in Algorithm 3.1 converges.

Theorem 3.3

Suppose that the Problem 1.1 has a solution c, and λ1,λ2,,λn are given and that λ=λ(c). Assume that the Jacobian matrix JF(c) with elements corresponds to Equation (Equation17) is nonsingular, then there is a neighbourhood N(c) such that, for all c(0)N(c), the Algorithm 3.1 generates a well-defined sequence c(k) for which c(k)c, and convergence is locally quadratic.

Our numerical experiments with the Algorithm 3.1 illustrate that quadratic convergence indeed obtain in practice, but the strong hypotheses of Theorem 3.3 and the absence of the Cholesky factorization of the matrix B(c) when c<0, suggest there is still some degree of uncertainty about its performance. So, we provide another formulation. In the first step, the formulation leads to a constrained optimization problem, and then we will solve the constrained optimization problem by using an improved BFGS method. Many algorithms are proposed for solving constrained optimization problems. BFGS is the Newton's approximation method for solving several nonlinear optimization problems that was proposed by (Broyden–Fletcher–Goldfarb–Shanno). In addition, Byrd et al proposed a version of the L-BFGS algorithm for the bound-constrained optimization, namely the L-BFGS-B [Citation51].

In L-BFGS-B algorithm the idea of limited memory matrices to approximate the Hessian of the objective function [Citation52] is used. This algorithm does not require second derivatives or knowledge of the structure of the objective function and can therefore be feasible when the Hessian matrix is not practical to compute [Citation53].

Therefore, we create a constrained optimization problem of the form: (20) minh(c),h(c)=g(c)22(20) subject tocj0j=1,2,,n, where (21) g(c)=[d11(c)λ1d22(c)λ2dnn(c)λn].(21) Allow the running iterate c(k) be enough close to a solution c() of the nonlinear optimization problem (Equation20), then from (Equation21), (Equation12) and Corollary 3.1, we know that the functions dii(c)λi(i=1,2,,n) are twice continuously differentiable at c(k), and their differentiate with respect to cj can be expressed as (22) dii(c(k))cj=piT(Ajdii(c(k))Bj)pi.(22) Therefore, due to the definition of the function g, its gradient will be as follows (23) h(c)=J(c)Tg(c),(23) where Jij(c)=dii(c)/cj.

Now, we are going to use L-BFGS-B method to solve the the nonlinear optimization problem (Equation20) and attain an iteration method for solving Problem 1.1. considering the current iterative c(k) to be at step kth of the L-BFGS-B method, the objective function has to be approximated by a quadratic model at a point c(k) in the following form: (24) mk(c)=h(c(k))+h(c(k))(cc(k))+12(cc(k))TH(c(k))(cc(k)),(24) where H(c(k)) is the limited memory BFGS matrix which approximates the Hessian matrix at point c(k). Then the algorithm minimizes mk according to the bounds given [Citation51]. This is done by finding an active set of bounds using the gradient projection method and minimizing mk, treating those bounds as equality constraints.

To do this, first we should find the generalized Cauchy point cc which is determined as the first local minimizer of mk(c(t)) on the piece-wise linear path c(t)=P(c(k)th(c(k)),0), where (25) P(c,0)i={0if ci<0ciif ci0.(25) Then, by assuming that the variables whose value at cc is at lower or upper bound, the active set A(cc) is constituted, the following quadratic problem over the subspace of free variables is considered, (26) min{mk(c):ci=cic,iA(cc)}Subject toci0iA(cc).(26) In [Citation51], an algorithm is presented for computation of the generalized Cauchy point. Also, three approaches to minimize mk over the space of free variables have been introduced, including a primal iterative method using the conjugate gradient method, a direct primal method based on the Sherman- Morrison-Woodbury formula and a direct dual method using Lagrange multipliers. Global convergence of the L-BFGS Algorithm is presented in [Citation54], and the analyses similar to those methods is possible for the l-BFGS-B Algorithm [Citation52]. More details of L-BFGS-B algorithm was presented in [Citation54].

By using L-BFGS-B algorithm for solving Problem 1.1, an iteration method based on Cholesky decomposition for solving Problem 1.1 is given as follows:

Algorithm 3.2

The algorithm for finding a solution of Problem 1.1

Input: Given matrices {Ai}k=0n and {Bi}i=0n, eigenvalues λ1,λ2,,λn and initial guess c(0)0

Output: Computed solution c(k+1)

For k=0,1,2, until the iteration sequence {c(k)}k=0 is convergent,

Step 1.

Compute A(c(k)) and B(c(k));

Step 2.

Compute the Cholesky factorization of B(c(k)), with complete pivoting; Πr(B(c(k))ΠrT=H(c(k))HT(c(k)),where H(c(k)) is the upper triangular matrix.

Step 3.

Find the rotation matrices Q1,Q2,,Qk such that (l=1kQlT)H1(c(k))ΠrTA(c(k))ΠrHT(c(k))(l=1kQl)=DA(c(k)),where DA(c(k)) is a diagonal matrix;

Step 4.

Compute g(c(k))and J(c(k)) using (Equation21) and (Equation22);

Step 5.

Find h(c(k)) by using (Equation26);

Step 6.

If P(c(k)h(c(k)),0)c(k)<ϵ is satisfied (where ε is small enough), than stop, otherwise go to next step;

Step 7.

Find c(k+1) by use L-BFGS-B algorithm;

Step 8.

Go to Step 2.

In the next section, we will show demeanor of the Algorithms 3.1 and 3.2 by the numerical examples.

4. Numerical experiments

In this section, we apply three numerical experiments to examine convergence of Algorithms 3.1 and 3.2, and show the effectiveness of these algorithms for iteratively computing a solution of Problem 1.1. Also, all codes are run in MATLAB. In our implementations, the iterations were terminated when the current iterate satisfies f(c(k))1012 for the Algorithm 3.1, and in the Algorithm 3.2, the iterations were stopped when the norm g(c(k))22 was less than 108.

Example 4.1

In this example, we have a parameterized inverse eigenvalue problem in which n = 5, A0=diag(9,11,10,8,14),B0=diag(11,13,15,11,10),A1=B1,A2=(0200020100010100010100010),B2=(0100010100010100010100010),A3=(0030000020300010200000100),A4=(0001000001000001000001000),B3=(0010000010100010100000100),B4=(0002000001000002000001000),A5=(0000100000000000000010000)=B5,A(c)=A0+i=15ciAi,B(c)=B0+i=15ciBi.

The eigenvalues are defined to be λ=(0.43278721102,0.66366274839,0.94385900467,1.10928454002,1.49235323254)T. Algorithm 3.1 is used to find the unknown vector c. This algorithm supposing the starting vectors c(0)={(1.25,1.15,1.05,0.9,1.05)T,Case(a),(1.15,1.15,1.05,.075,1.05)T,Case(b),(1.1,1.2,1.3,1.4,1.5)T,Case(c), to the same solution c()=(1,1,1,1,1)T. In addition, we solved this example by using Algorithm 3.2 with assuming these starting vectors and c(0)=(1,2,3,4,5)T, we get the similar solution.

Our results show that the linear convergence to the similar solution is also achieved from the starting vector c(0)=(1,2,3,4,5)T, and the number of iterations with this starting vector is 24. The numerical results for Algorithms 3.1 and 3.2 are displayed in Tables  and , respectively. For simplicity, we displayed only every second iterate in Table . In Table , we also compare the numerical accuracy of Algorithms 3.1 and 4.1 in [Citation37].

Table 1. Numerical results for Example 4.1 by using Algorithm 3.1 and 4.1 in [Citation37].

Table 2. Numerical results for Example 4.1 by using the Algorithm 3.2.

Example 4.2

In this example, a parameterized generalized inverse eigenvalue problem is presented which n = 6, λ=(1.46162105,1.5,1.5158215835,3.23414222485,19.2978957724,33.8769603728)T and A0=(216889.2135245.4141.6858.12889.266.3483.75820.39413.121598.29135483.75204.3752.425131.5541.325245.4820.392.425158.495367.365693.021141.6413.12131.5367.365209.035154.057858.121598.290541.325693.021316.63),B0=I,B1=diag[43,2222995816,43.5245534248,43.2978630424,43.6484775005,43.3099531961,43.6635901927], matrices Ak and Bk for k=1,2,3,,6 are determined Ak=ukukT,k=1,2,,6,Bk=j=k6vk1,j(ek1ejT+ejeTek1T),k=1,2,,6, where u1=(01200.500.2),u2=(1210.50.40.20.1),u3=(001210.50.4),u4=(0001200.5),u5=(0000120.1),u6=(0000012),v=(00.84675009590.42337504790.33870003840.846750095900.22465130952.87553676170.42337504790.224651309500.90045084460.33870003842.87553676170.900450844600.16935001920.08986052380.45022542230.60970952310.08467500961.12325654750.35796611456.87500048510.16935001920.08467500960.08986052381.12325654750.45022542230.35796611450.60970952316.875000485100.69119656330.69119656330), Algorithms 3.1 and 3.2, on the assumption that the starting vector c(0)=(3,15,3,15,1,18)T, converges to a solution c()=(3.311692,14.030946,2.226167,13.539465,0.953318,17.892122)T. Table  displays the residual for these two algorithms. Also, considering the starting vector c(0)=(3,13,3,13,3,13)T, Algorithm 3.2 converges the same solution. We report the obtained results in Table  (for convenience, only every second iterate is displayed).

Table 3. Numerical results for Example 4.2 by using Algorithms 3.1 and 3.2.

Table 4. Numerical results for Example 4.2 by using Algorithm 3.2.

Example 4.3

As the Third example, we consider a 10-bar truss problem and present some computational results to show the usefulness of the Problem 1.1 in structural design. Each bar consists of the following parameters: Young's modulus E=6.95×1010N/m2, eight density P=2650kg/m3, acceleration of gravity g=9.81m/s2, non-structural mass at all nodes m0=425kg and the length l=10m of horizontal and vertical bars. In this problem, the design variables are the areas of cross section of the bars for which the seventh and the eighth bars are fixed with the values 0.000865m2 and 0.000165m2. The stiffness and the mass matrices of the structure can be expreseed respectively as, A(c)=A0+i=18ciAi,B(c)=B0+i=18ciBi.A0=EL[0000000000000000000.0001650000.00016500000000000000000000000.00016500.000165000.0001650000.0001650000000.00016500.000165],A1=EL[1000000000000000000000000000000000000000000000000000000000000000],A2=EL[0000000001010000000000000101000000000000000000000000000000000000],A3=EL[0000000000000000001000000000000000000000000000000000000000000000],A4=EL[000000000000000000aa000000aa000000000000000000000000000000000000],A5=EL[aa000000aa000000001000000000000000000000000000000000000000000000],A6=EL[1000100000000000000000000000000010001000000000000000000000000000],A7=EL[aa0000aaaa0000aa00000000000000000000000000000000aa000000aa000000],A8=EL[000000000000000000aaaa0000aaaa0000aaaa0000aaaa000000000000000000], with a=122,b=pl/6g B0=425I8+b[0000000000000000000.000330000.0001650000000000000000.000330000000.00017300.000865000.0001650000.0001650000000.00086500.000173],B1=b[2000000000000000000000000000000000000000000000000000000000000000],B2=b[000000000201000000000000010200000000000000000000000000000000000],B3=b[0000000000000000002000000000000000000000000000000000000000000000],B4=b[0000000000000000002200000022000000000000000000000000000000000000],B5=b[2200000022000000001000000000000000000000000000000000000000000000],B6=b[2000100000000000000000000000000010002000000000000000000000000000],B7=2b[aa0000aaaa0000aa00000000000000000000000000000000aa000000aa000000],B8=2b[000000000000000000110.50.50000110.50.500000.50.51100000.50.511000000000000000000], We have to determine the areas of cross sections of the bars such that the given eigenvalues of the structure are λi=(2πωi)(i=1,2,,8), where ωi=5i(i=1,2,,8) are the specified natural frequencies of the structure.

We apply Algorithm 3.1 with the starting vectors c(0)={103×(1.7,0.4,1.7,1.6,0.7,1.1,0.4,1.1)T,Case(a),103×(1.7,0.4,1.6,1.6,0.6,1,0.5,1.3)T,Case(b),103×(2,0.3,1.6,1.7,0.7,0.9,0.6,1.3)T,Case(c), both Algorithms 3.1 and 4.1 in [Citation37] correspondingly converge to solutions c()={103×(1.702,0.420,1.700,1.606,0.702,1.120,0.439,1.115)T,Case(a),103×(1.714,0.385,1.585,1.569,0.732,1.075,0.459,1.289)T,Case(b),103×(1.955,0.264,1,489,1,758,0,664,0,945,0.647,1.286)T,Case(c). We demonstrate the results in Table . It is known that there may be as many as n! different solutions (see [Citation55]) and, in practice, we may choose the one among them such that it is optimal in a certain sense. Also, we use Algorithm 3.2 with starting vectors parametrized by the first component c(0)=(c1(0),0.0003,0.0015,0.0017,0.0007,0.0009,0.0006,0.00136)T, and our exams and numerical results show that Algorithm 3.2 always converges to the same solution if 0.01c1(0)0.029. In Table , the numerical results for Algorithm 3.2 are shown, for two assumptions c1(0)=0.01 and c1(0)=0.02. However, our implementation showed that the sequence generated by Algorithm 4.1 fails to converge, in these cases and many more.

Table 5. Numerical results for Example 4.3 by using Algorithm 3.1 and 4.1 in [Citation37].

Table 6. Numerical results for Example 4.3 by using Algorithm 3.2.

From the above three examples, we can see that Algorithms 3.1 and 3.2 are feasible for solving Problem 1.1.

But, on the other hand, the potential frailty of the numerical methods to solving optimization problems, such as Problem (Equation20), is the sensitivity to the initial guess. To eliminate this frailty, we consider a metaheuristic method as follows.

Particle swarm optimizer (PSO) is a stochastic population-based optimization algorithm that is inspired by the social cooperative and competitive behaviour, such as bird flocking and fish schooling. PSO was proposed by Kennedy and Eberhart [Citation56,Citation57] in 1995. Recently, PSO has emerged as a promising algorithm in solving various optimization problems in the field of engineering and science [Citation58–60]. In PSO, a swarm consists of a number of particles, that each particle represents a potential solution of the optimization task. Each particle moves to a new position according to the new velocity and the previous positions of the particle. PSO shows powerful ability to find optimal solutions and is known for low computational complexity, ease of implementation and few parameters to be adjusted.

In summary, in the PSO each particle moves to a new position according to the new velocity and the previous positions of the particle. This is compared with the best position generated by previous particles in the cost function, and the best one is kept. So each particle accelerates in the direction of not only the local best solution but also the global best position. If a particle discovers a new probable solution, other particles will move closer to it to explore the region more completely in the process [Citation61]. In other words, the algorithm is guided by personal experience (pbest), overall experience (gbest) and the present movement of the particles to decide their next positions in the search space.

Let S denote the swarm size (initial population) in PSO and D denote it's dimension. In general, there are three attributes, current position xi, current velocity vi and past best position pbesti, for particles in the search space to present their features. Each particle in the swarm is iteratively updated according to the aforementioned attributes. Assuming that the function h is the objective function of an optimization problem and the function h need to be minimized, the new velocity of every particle is updated by (27) vi,j(r+1)=vi,j(r)+γ1ω1i,j(r)[pbesti,j(r)xi,j(r)]+γ2ω2i,j(r)[gbestj(r)xi,j(r)],(27) and the new position of a particle is calculated as follows: (28) xi,j(r+1)=xi,j(r)+vi,j(r+1),(28) where vi,j is the velocity of jth dimension of the ith particle for i=1,2,,S,j=1,2,,D, the γ1 and γ2 denote the acceleration coefficients, ω1 and ω2 are elements from two uniform random sequences in the range (0,1), and r is the number of generations. The past best position of each particle is updated using pbesti(r+1)={pbesti(r),if h(xi(r+1))h(pbesti(r))xi(r+1),if h(xi(r+1))<h(pbesti(r)), and the global best position gbest found from all particles during the previous three steps is defined as: (29) gbest(r+1)=argminpbestih(pbesti(r+1)),1iS.(29) Here, by presenting an example we show that the PSO method can be used to determine the answer or an initial guess for problem (Equation20).

Example 4.4

In this example, we have a parameterized inverse eigenvalue problem in which n = 5, A0=diag(9,11,10,8,14),B0=diag(11,13,15,11,10),A1=B1,A2=(0200020100010100010100010),B2=(0100010100010100010100010),A3=(0030000020300010200000100),B3=(0010000010100010100000100),A4=(0001000001000001000001000),B4=(0002000001000002000001000),A5=B5=(0000100000000000000010000),A(c)=A0+i=1nciAi,B(c)=B0+i=1nciBi. The eigenvalues are given by λ=(0.43278721102,0.66366274839,0.94385900467,1.10928454002,1.49235323254)T.

In this example, PSO method is implemented by using a random initial population with size 100 within the interval [0,5] for 20 times. Results for these implementations are illustrated in Table , where k is the number of times the PSO method has been implemented. Also, Figure  indicates the results obtained for the objective function.

Figure 1. PSO convergence characteristic for Example 4.4.

Figure 1. PSO convergence characteristic for Example 4.4.

Table 7. Numerical results for Example 4.4 by using PSO method for 20 times.

This example, demonstrate that the PSO method is very effective to find an initial guess.

5. Conclusions

In this work, two iterative methods were presented based on the Cholesky decomposition and the Jacobi method for solving some problems appeared in vibrating systems design and the design of control systems. In these methods, at first we have applied the Cholesky decomposition and rotation matrices to create a system of nonlinear equations or a constrained optimization problem and then we have solved this created system of nonlinear equations and the constrained optimization problem using Newton's method and the L-BFGS-B method, respectively. Numerical results have demonstrated the convergence of these methods and their effect for solving Problem 1.1. In addition, the second algorithm can be easily applied to parameterized generalized inverse eigenvalue problem with constrained unknown parameters. Both algorithms have used the Jacobi method, which is numerically stable and well-suited for implementation on parallel processors.

Acknowledgements

The authors are deeply grateful to the editor and anonymous referees for helpful comments and suggestions which led to a significant improvement of the original manuscript of this paper.

Disclosure statement

No potential conflict of interest was reported by the authors.

References

  • Saad Y. Numerical[Q3] methods for large eigenvalue problems. Vol. 66 of 2nd revised ed. Philadelphia: SIAM; 2011.
  • Güttel S, Tisseur F. The nonlinear eigenvalue problem. Acta Numer. 2017;26:1–94.
  • Chu MT, Golub GH. Inverse eigenvalue problems. Oxford: Oxford University Press; 2005. (Algorithms and Applications).
  • Hajarian M, Abbas H. Least squares solutions of quadratic inverse eigenvalue problem with partially bisymmetric matrices under prescribed submatrix constraints. Comput Math Appl. 2018;76(6):1458–1475.
  • Hajarian M. An efficient algorithm based on Lanczos type of BCR to solve constrained quadratic inverse eigenvalue problems. J Comput Appl Math. 2019;346:418–431.
  • Hajarian M. BCR algorithm for solving quadratic inverse eigenvalue problems with partially bisymmetric matrices. Asian J Control. 2020;22(2):687–695.
  • Cia J, Chen J. Least-squares solutions of generalized inverse eigenvalue problem over Hermitian-Hamiltonian matrices with a submatrix constraint. Comput Appl Math. 2018;37(1):593–603.
  • Liu ZY, Tan YX, Tian ZL. Generalized inverse eigenvalue problem for centrohermitian matrices. J Shanghai Univ Eng Ed. 2004;8(4):448–453.
  • Gu W, Li Z. Generalized inverse eigenvalue problem for generalized snow-like matrices. Fourth International Conference on Computational and Information Sciences; 2012; Chongqing, China. IEEE. p. 662–664.
  • Yuan YX, Dai H. A generalized inverse eigenvalue problem in structural dynamic model updating. J Comput Appl Math. 2009;226(1):42–49.
  • Ghanbari K, Parvizpour F. Generalized inverse eigenvalue problem with mixed eigendata. Linear Algebra Appl. 2012;437(8):2056–2063.
  • Gladwell GM. Inverse problems in vibration. Appl Mech Rev. 1986;39(7):1013–1018.
  • Gigola S, Lebtahi L, Thome N. Inverse eigenvalue problem for normal J-hamiltonian matrices. Appl Math Lett. 2015;48:36–40.
  • Chu MT, Golub GH. Structured inverse eigenvalue problems. Acta Numer. 2002;11:1–71.
  • Joseph KT. Inverse eigenvalue problem in structural design. Numer Linear Algebra Appl. 1992;30(12):2890–2896.
  • Jiang J, Dai H, Yuang Y. A symmetric generalized inverse eigenvalue problem in structural dynamics model updating. Linear Algebra Appl. 2013;439(5):1350–1363.
  • Zhang ZZ, Han XL. Solvability conditions for algebra inverse eigenvalue problem over set of anti-Hermitian generalized anti-Hamiltonian matrices. J Cent South Univ Technol. 2005;12(1):294–297.
  • Byrnes CI, Wang X. The additive inverse eigenvalue problem for Lie perturbations. SIAM J Matrix Anal Appl. 1993;14(1):113–117.
  • Majkut L. Eigenvalue based inverse model of beam for structural modification and diagnostics: examples of using. Lat Am J Solids Struct. 2010;7(4):437–456.
  • Cox SJ, Embree M, Hokanson JM. One can hear the composition of a string: experiments with an inverse eigenvalue problem. SIAM Rev. 2012;54(1):157–178.
  • Li K, Liu J, Han J, et al. Identification of oil-film coefficients for a rotor-journal bearing system based on equivalent load reconstruction. Tribol Int. 2016;104:285–293.
  • Liu J, Meng X, Zhang D, et al. An efficient method to reduce ill-posedness for structural dynamic load identification. Mech Syst Signal Process. 2017;95:273–285.
  • Liu J, Sun X, Han X, et al. Dynamic load identification for stochastic structures based on gegenbauer polynomial approximation and regularization method. Mech Syst Signal Process. 2015;56:3–54.
  • Bonnet M, Constantinescu A. Inverse problems in elasticity. Inverse Probl. 2005;21(2):R1.
  • Barcilon V. On the multiplicity of solutions of the inverse problem for a vibrating beam. SIAM J Appl Math. 1979;37(3):605–613.
  • Hasanov A, Baysal O. Identification of an unknown spatial load distribution in a vibrating cantilevered beam from final overdetermination. J Inverse Ill-posed Probl. 2015;23(1):85–102.
  • Mulaik SA. Fundamentals of common factor analysis. In: The Wiley Handbook of psychometric testing: a multidisciplinary reference on survey, scale and test development. New Jersey; 2018. p. 209–251.
  • Yang Y, Wei G. Inverse scattering problems for Sturm–Liouville operators with spectral parameter dependent on boundary conditions. Math Notes. 2018;103(1–2):59–66.
  • Jensen JS. Phononic band gaps and vibrations in one-and two-dimensional mass–spring structures. J Sound Vib. 2003;266(5):1053–1078.
  • Li LL. Sufficient conditions for the solvability of algebraic inverse eigenvalue problems. Linear Algebra Appl. 1995;221:117–129.
  • Xu SF. On the sufficient conditions for the solvability of algebraic inverse eigenvalue problems. J Comput Math. 1992;10:17–80.
  • Biegler-König FW. Suffcient conditions for the solubility of inverse eigenvalue problems. Linear Algebra Appl. 1981;40:89–100.
  • Alexander J. The additive inverse eigenvalue problem and topological degree. Proc Amer Math Soc. 1978;70:5–7.
  • Friedland S, Nocedal J, Overto ML. The formulation and analysis of numerical methods for inverse eigenvalue problems. SIAM J Numer Anal. 1987;24(3):634–667.
  • Xu S. On the necessary conditions for the solvability of algebraic inverse eigenvalue problems. J Comput Math. 1992;10:93–97.
  • Ji X. On matrix inverse eigenvalue problems. Inverse Probl. 1998;14(2):275–285.
  • Dai H, Bai ZZ, Wei Y. On the solvability condition and numerical algorithm for the parameterized generalized inverse eigenvalue problem. SIAM J Matrix Anal Appl. 2015;36(2):707–726.
  • Rojo O, Soto R. New conditions for the additive inverse eigenvalue problem for matrices. Comput Math Appl. 1992;23:41–46.
  • Li L. Some sufficient conditions for the solvability of inverse eigenvalue problems. Linear Algebra Appl. 1991;148:225–236.
  • Xu SF. A smallest singular value method for solving inverse eigenvalue problems. J Comput Math. 1996;1:23–31.
  • Dai H. An algorithm for symmetric generalized inverse eigenvalue problems. Linear Algebra Appl. 1999;296:79–98.
  • Dai H, Lancaster P. Newton's method for a generalized inverse eigenvalue problem. Numer Linear Algebra Appl. 1997;4:1–21.
  • Shu L, Wang B, Hu JZ. Homotopy solution of the inverse generalized eigenvalue problems in structural dynamics. Appl Math Mech. 2004;25(5):580–586.
  • Lancaster P. Algorithms for lambda-matrices. Numer Math. 1964;6(1):388–394.
  • Biegler-König FW. A newton iteration process for inverse eigenvalue problems. Numer Math. 1981;37(3):349–354.
  • Golub GH, VanLoan CF. Matrix computations. Vol. 3. Baltimore: JHU Press; 2012.
  • Yamamoto Y, Lan Z, Kudo S. Convergence analysis of the parallel classical block Jacobi method for the symmetric eigenvalue problem. JSIAM Lett. 2014;6:57–60.
  • Johnson C, Horn R. Matrix analysis. Cambridge: Cambridge university press; 1985.
  • Xu D, Liu Z, Xu Y, et al. A sorted jacobi algorithm and its parallel implementation. Trans Beijing Inst Technol. 2010;12:1470–1474.
  • Ji-guang S. Sensitivity analysis of multiple eigenvalues (i). Int J Comput Math. 1988;1:28–38.
  • Byrd RH, Lu P, Nocedal J, et al. A limited memory algorithm for bound constrained optimization. SIAM J Sci Comput. 1995;16(5):1190–1208.
  • Keskar N, Wächter A. A limited-memory quasi-newton algorithm for bound-constrained non-smooth optimization. Optim Methods Softw. 2019;34(1):150–171.
  • Haarala N, Miettinen K, Mäkelä MM. Globally convergent limited memory bundle method for large-scale nonsmooth optimization. Math Program. 2007;109(1):181–205.
  • Mokhtari A, Ribeiro A. Global convergence of online limited memory BFGS. J Mach Learn Res. 2015;16(1):3151–3181.
  • Friedland S. Inverse eigenvalue problems. Linear Algebra Appl. 1977;17(1):15–51.
  • Kennedy J, Eberhart R. Particle swarm optimization. Proceedings of the IEEE international conference on neural networks. Vol. 4; 1995. IEEE. p. 1942–1948.
  • Shi Y, Eberhart R. A modified particle swarm optimizer. 1998 IEEE international conference on evolutionary computation proceedings. IEEE World Congress on Computational Intelligence (Cat. No. 98TH8360); 1998. p. 69–73.
  • AlRashidi MR, El-Hawary ME. A survey of particle swarm optimization applications in electric power systems. IEEE Trans Evol Comput. 2008;13(4):913–918.
  • Robinson J, Rahmat-Samii Y. Particle swarm optimization in electromagnetics. IEEE Trans Antennas Propag. 2004;52(2):397–407.
  • Abousleiman R, Rawashdeh O. Electric vehicle modelling and energy-efficient routing using particle swarm optimisation. IET Intell Transp Syst. 2016;10(2):65–72.
  • Gudise VG, Venayagamoorthy GK. Comparison of particle swarm optimization and backpropagation as training algorithms for neural networks. Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No. 03EX706); 2003; Indianapolis, USA. p. 110–117.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.