Academia.eduAcademia.edu

Initial value problems for system of differential-algebraic equations in Maple

Objectives: In this paper, we discuss a Maple package, deaSolve, of the symbolic algorithm for solving an initial value problem for the system of linear differential-algebraic equations with constant coefficients. Results: Using the proposed Maple package, one can compute the desired Green’s function of a given IVP. Sample computations are presented to illustrate the Maple package.

Thota BMC Res Notes (2018) 11:651 https://doi.org/10.1186/s13104-018-3748-0 BMC Research Notes Open Access RESEARCH NOTE Initial value problems for system of diferential-algebraic equations in Maple Srinivasarao Thota* Abstract Objectives: In this paper, we discuss a Maple package, deaSolve, of the symbolic algorithm for solving an initial value problem for the system of linear differential-algebraic equations with constant coefficients. Results: Using the proposed Maple package, one can compute the desired Green’s function of a given IVP. Sample computations are presented to illustrate the Maple package. Keywords: Initial value problems, Differential-algebraic systems, Symbolic algorithm, Green’s function, Maple packages Mathematics Subject Classiication: 34A09, 65L05, 15A29 Introduction Applications of DAEs arise naturally in many ields, for example, various dynamic processes, mechanical systems, simulation of electric circuits and chemical reactions subject to invariants etc., and these are often expressed by DAEs, which consist of algebraic equations and diferential operations. Several methods and algorithms have been introduced by many researchers and engineers to solve the IVPs for systems of DAEs. Most of them are tried to ind an approximate solution of the given system. However, we recall a symbolic algorithm to compute the exact solution of a given system of DAEs (See [1] for further details of the algorithm). In this paper, we discuss the Maple package of the symbolic algorithm that computes the exact solution. here are several implemented methods available in various mathematical softwares tools like Matlab, Mathematica, SCIlab etc. All these implementations are applied to ind the general solution of a given system DAEs with free parameters. hen, we could ind values of parameters by substituting the initial conditions. For example, the implemented method in Mathematica is based on decomposing the coeicient matrices, A and B, into *Correspondence: srinithota@ymail.com; srinivasarao.thota@astu.edu.et Department of Applied Mathematics,School of Applied Natural Sciences, Adama Science and Technology University, Post Box No. 1888, Adama, Ethiopia nonsingular and nilpotent part. hen generalized inverse for A and B is calculated, and the problem is reduced to solving a system of ODEs. So existing solvers for ODEs can be used. In Matlab, the equation is also converted to system of ODEs by reducing the diferential index and then we ind the general solution with free parameters. However, in the proposed algorithm, we compute the exact solution directly without free parameters. he implemented Maple packege is based on the convertion of the given system into a canonical form using the shule algorithm which produces another simple equivalent system, and the canonical system can be solved easily. he Maple implementation includes computing the canonical system and the exact solution of a given IVP. he comparison of the implemented Maple package with existing methods implemented in other mathematical software like Matlab and Mathematica is also discussed in Results Section. In this paper, we focused on Maple implementation of an IVP with homogeneous initial conditions, however we also discuss an algorithm to check the consistency of the non-homogeneous initial conditions. Symbolic algorithm of IVPs for systems of lDAEs In this paper, we focused on a system of DAEs has the general form ADy(x) + By(x) = f (x). (1) © The Author(s) 2018. This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/ publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated. Thota BMC Res Notes (2018) 11:651 Page 2 of 9 he system (1) is purely algebraic system if A = 0, and there exist many methods and algorithms to compute all possible solutions, see, for example, [2, 3]. he system (1) becomes a system of ordinary diferential equations if det(A) � = 0 (we call A is regular matrix), and the solution of irst order system of LDEs is discussed in [2–9]. herefore, we focused on a system of the form (1) where the coeicient matrix A is non-zero singular matrix. Suppose F = C ∞ [a, b] for simplicity, and [a, b] ⊂ R. Now the operator form of an IVP for DAEs can be represented as Ly = f , Ey = 0, where L = AD + B ∈ F n×n [D] is the matrix diferential d operator, D = dx , y ∈ F n is unknown vector to be determined, f ∈ F n is the vector forcing function and E is the evaluation operator. We want to ind the matrix Green’s operator G ∈ F n×n [D, A] such that Gf = y and EG = 0. he following Lemma 1 is one of the essential steps for the proposed algorithm. he lemma gives the variation of parameters formula of an IVP for higher-order scalar linear diferential equations over integro-diferential algebras. Lemma 1 (hota and Kumar [1, 2, 5, 7, 9]) Let (F , D, A) be an ordinary integro-diferential algebra. Suppose T = Dm + am−1 Dm−1 + · · · + a0 ∈ F [D] is a monic scalar diferential operator of order m and v1 , . . . , vm is fundamental system for T. hen the right inverse operator of T is given by T = m  vi Aw−1 wi ∈ F [D, A], (2) i=1 where w is the determinant of the Wronskian matrix W for v1 , . . . , vm and wi the determinant of the matrix Wi obtained from W by replacing the i-th column by m-th unit vector. In order to obtain the Green’s function and the exact solution of a given system of DAEs, we irst ind a canonical form of the given DAEs system using the shule algorithm [1, 10] that transforms the given system into another equivalent and simpler system that can be solved easily. he Green’s operator and Green’s function of the given system of DAEs with initial conditions, with the help of the canonical form, are computed in the following theorem. heorem 2 (hota and Kumar [1]) be an ordinary integro-diferential Let (F , D, A) algebra. Let L̃ = ÃD + B̃ ∈ F n×n [D] be the canonical form of L = AD + B with initial conditions; and {v1 , . . . , vn } be a fundamental system for T = det(L̃). hen the regular IVP for system of DAEs Ly = f , Ey = 0, has the unique solution   �n i+1 L1 T  f˜ i i=1 (−1) i   .. y= , . �n (−1)i+n Ln T  f˜i i=1 (3) i j where Li is the determinant of L̃ after removing i-th row and j-th column; T  is the right inverse of T; and f˜ = (f˜1 , . . . , f˜n )t. he Green’s operator is   (−1)1+1 L11 T  · · · (−1)n+1 L1n T    .. .. .. G=  (4) . . . (−1)1+n L1n T  · · · (−1)n+n Lnn T  such that G f˜ = y and E G = 0. Non‑homogeneous initial conditions In general, there is no freedom to choose non-homogeneous initial conditions for proposed method. Hence, in [1, Proposition 2.5] authors presented an algorithm to check the consistency of a given non-homogeneous initial conditions. In this section, we recall the algorithm in Proposition 3 to check the consistency of the non-homogeneous initial conditions. Proposition 3 (hota and Kumar [1]) Let (F , D, A) be an ordinary integro-diferential algebra. Suppose T̃ = ÃD + B̃ ∈ F n×n [D] is a canonical form of T = AD + B with non-homogeneous initial conditions. he non-homogeneous initial condition Eu = α is consistent, if UUa−1 α ∈ Ker(T ), (5) where U is the fundamental matrix of T̃ and Ua is the value of U at initial point a. he following example shows the computation of the exact solution using the algorithm presented in heorem 2, and also check the consistency of the non-homogeneous initial conditions using the algorithm presented in Proposition 3. Thota BMC Res Notes (2018) 11:651 Page 3 of 9 Example 4 Consider the following diferential-algebraic equations. y′1 + y′2 + y1 + y2 = x y1 − y2 = sin x (6) with initial condition y1 (0) = y2 (0) = 0. he matrix diferential operator and the canonical form of (6) are    1+D 1+D D 2+D , T̃ = 1 −1 D −D   x − sin x and f˜ = . cos x T= −x 2e 1 −x 2e One can easily check that Ty = f and Ey = 0. Consider the non-homogeneous initial conditions y1 (0) = α, y2 (0) = β with given system (6). From Proposition 3, the initial conditions are consistent if UU0−1 α ∈ Ker(T ), where       1 e−x 1 1 α . , U0 = , and α = −x 0 1 β 0 e  1+D 1+D 1 −1 sin x + 21 x − sin x + 21 x − 1 2 1 2  .   x = , sin x     y α , α − β = 0, E 1 = β y2 y1 y2   Main text In this section, we discuss the Maple package daeSolve to solve the IVPs for system of DAEs. Algorithm Canonical matrix diferential system he following algorithm produces the canonical form of a given system of DAEs. Input: Coeicient Matrices A, B and vector function f. Canonical system L̃ and f˜ . Algorithm1  1: M ← A ... B ... f (Augmented matrix).  1 e−x 0 e−x      −x  1 −1 α e β +α−β = −x 0 1 β e β and  1+D 1+D 1 −1   α−β = , α−β T (UU0−1 α) =  e−x β + α − β e−x β 2: r ← 0 3: Do 4: M_reduced ← ReducedRowEchelonForm(M)     A1 B1 , , B_reduced ← 5: A_reduced ← 0 B2  which gives α − β = 0 for UU0−1 α ∈ Ker(T ), and hence the consistent initial conditions are y1 (0) = α, y2 (0) = β, such that α − β = 0. he solution yc of the IVP Ty = 0, Ey = (α, β)T computed as (see [1] for more details),  −x  e β +α−β , yc = UU0−1 α = −x e β and from (7) 1 2 1 2 is y = yc + yp, i.e.,  1 −x 1  e + 2 sin x + 12 x − 21 + e−x β + α − β 2 y= . 1 −x − 12 sin x + 21 x − 12 + e−x β 2e Output: Now UU0−1 α = + − he exact solution of the regular system  Following the algorithm in heorem 2, we have the exact solution  1 −x 1  e + 2 sin x + 12 x − 12 2 y = 1 −x 1 . (7) − 2 sin x + 12 x − 21 2e U= yp = 1 f _reduced ← 6: Ã ← 7: 8: 9: 10:   f1 f2       f1 A1 B1 ˜ , B̃ ← ,f = d  B2 0 dx f2 M ← M_reduced r ← rank(Ã) While (r < n) L̃ ← Ã · D + B̃, f˜ Thota BMC Res Notes (2018) 11:651 Exact solution he following algorithm produces the exact solution of a given system of DAEs. Page 4 of 9 4: Det_Sol ← Solve linear DE (dsolve(Det_L, ics)) 5: Exact_Sol ← Adj_L ∙ Det_Sol ∙ F Maple package, deaSolve, for IVPs for system of DAEs Input: Output: Coeicient Matrices A, B and vector function f. Exact Solution Algorithm 2 1: L, F ← CanonicalMatrixDiffSys(A,B,f). 2: Adj_L ← Adjoint Matrix of L 3: Det_L ← Determinant of L In this section, we present the Maple procedures of the proposed algorithm. he data type MatrixDiffOperator(A,B) is created to generate the matrix diferential operator L of a given system, where A and B are the coeicient matrices of a given system. MatrixDiffOperator := proc (A::Matrix, B::Matrix) local r, c, coef mat, i, j, l, final mat op comp, final mat diff op, mat diff op rows, mat diff op comp; coef mat := [A, B]; r, c := ArrayTools[Size](A); for i to r do for j to c do mat diff op comp[i,j]:=DIFFOP(seq(op(ListTools[Reverse] (coef mat))[k][i,j],k=1..2)) end do; end do; for l to c do mat diff op rows[l]:=Matrix(‘<,>‘(seq(mat diff op comp[m,l],m=1..r))); end do; final mat op comp:=seq(mat diff op rows[n],n=1..c); final mat diff op:=Matrix(r,c,[final mat op comp]); return final mat diff op; end proc: Thota BMC Res Notes (2018) 11:651 he function CanonicalMatrixSystem(A,B,f) produces the canonical form of a given DAEs, where f is a given vector forcing function. CanonicaMatrixDiffSystem:=proc(A1::Matrix,A2::Matrix,f::Matrix) local r, c, coef mat, i, j, l, final mat op comp, final mat diff op, mat diff op rows, mat diff op comp, r1, c1, F, AB, rank A1, g, ABf reduced, A1 reduced, A2 reduced, f reduced, A2 replaced, A1 replaced, f replaced, rk; AB := Matrix([A1, A2]); r, c := op(1,A1); rank A1 := LinearAlgebra[Rank](A1); F := f; for rk from rank A1 while rk < r+1 do ABf reduced:=LinearAlgebra[ReducedRowEchelonForm](‘<|>‘(AB,F)); A1 reduced:ABf reduced[1..r,1..c]; A2 reduced:=ABf reduced[1..r,c+1..2*c]; f reduced:=ABf reduced[1..r,2*c+1..2*c+1]; A1 replaced:=Matrix([[LinearAlgebra[DeleteRow](A1 reduced,rank A1+1..r)], A2 reduced[rank A1+1..r,1..c]]); A2 replaced:=Matrix([[LinearAlgebra[DeleteRow](A2 reduced,rank A1+1..r)], [LinearAlgebra[ZeroMatrix](r-rank A1,r)]]); f replaced:=Matrix([[LinearAlgebra[DeleteRow](f reduced, rank A1+1..r)], [[diff]~(f reduced[rank A1+1..r,1..1),x)]]); if LinearAlgebra[Rank](A1 replaced) = r then rk := r+1 end if; AB := Matrix([[A1 replaced, A2 replaced]]); F := f replaced; end do; coef mat := [A1 replaced, A2 replaced]; r1, c1 := ArrayTools[Size](A1 replaced); for i to r do for j to c do mat diff op comp[i,j]:=DIFFOP(seq(op(ListTools[Reverse] (coef mat))[k][i,j],k=1..2)) end do; end do; for l to c do mat diff op rows[l]:=Matrix(‘<,>‘(seq(mat diff op comp[m,l],m=1..r))) end do; final mat op comp:=seq(mat diff op rows[n],n=1..c); final mat diff op := Matrix(r, c, [final mat op comp]); return final mat diff op, f replaced end proc: Page 5 of 9 Thota BMC Res Notes (2018) 11:651 Page 6 of 9 Finally ExactSolution(A,B,f) generates the exact solution of a given system. ExactSolution:=proc(A1::Matrix, A2::Matrix, f::Matrix) local nl, r op, c op, mat coeff, tr mat coeff, coef mat, num mat, lc mat, det diffop, inv det op, adj mat poly, adj mat diffop, fund right inv mat, coef,coeff mat poly, mat poly det, L, F,exact sol; L,F:=CanonicaMatrixDiffSystem(A1,A2,f); nl := nops(L[1, 1]); r op, c op :=ArrayTools[Size](L); coef := op (L); mat coeff:=seq(seq(coef[i,j],j=1..c op),i=1..r op); tr mat coeff:=LinearAlgebra[Transpose](Matrix(r op,r op*nl,[mat coeff])); coef mat:=seq(Matrix([seq(LinearAlgebra[Transpose] (tr mat coeff[nl*i-j]),i=1..r op)]),j=0..nl-1); num mat := nl; lc mat:=coef mat[1]; coeff mat poly:=Matrix(add(‘.‘~(x^(num mat-i),coef mat[i]),i=1..num mat)); mat poly det:=LinearAlgebra[Determinant](coeff mat poly); det diffop:=DIFFOP(op(PolynomialTools[CoefficientList](mat poly det,x))); inv det op:=IntDiffOp[FundamentalRightInverse](det diffop); adj mat poly:=expand (simplify(LinearAlgebra[Multiply] (LinearAlgebra[MatrixInverse](coeff mat poly),mat poly det))); adj mat diffop:=Matrix(DIFFOP (op (PolynomialTools [CoefficientList]~(adj mat poly, x)))); fund right inv mat:=simplify (IntDiffOp[MultiplyOperator] ~(adj mat diffop,inv det op)); exact sol:=ApplyMatrixOperator(fund right inv mat,F); return exact sol; end proc: he following procedure, ApplyMatrixOperator (T,f), will help to verify the solution of the given problem. he implemented Maple package daeSolve is available with examples worksheet at http://www.srinivasar aothota.webs.com/research. ApplyMatrixOperator := proc (T, f) local c1, c2, r1, r2, elts,j; r1, c1 := ArrayTools[Size](T); r2, c2 := ArrayTools[Size](f); j := 1; elts:=seq(add(seq(IntDiffOp[ApplyOperator] (T[i,k],f[k,j]),k=1..c1)[t],t=1..c1),i=1..r1); simplify(Matrix(r1, c2, [elts])); end proc: Results he following examples, shows the sample computations using the Maple package daeSolve as results of proposed maple package. We have also presented the comparison with existing method implemented in other mathematical software, namely Mathematica, in Example 5. Thota BMC Res Notes (2018) 11:651 Page 7 of 9 Example 5 Consider an IVP with homogeneous initial conditions at zero.  y′1 − y′2 + 2y′3 + y1 − 2y2 + 4y3 = x2 − x, y′2 − y′3 − y2 + y3 = e−x , y1 − y2 + y3 = sin x. (8) Matrix representation of the given system in Maple is • • • • • CanonicaMatrixDiffSystem(A,B,f); A := Matrix([[1,−1,2],[0,1,−1],[0,0,0]]); B := Matrix([[1,−2,4],[0,−1,1],[1,−1,1]]); f := Matrix([[x∧2-x],[exp(-x)],[sin(x)]]); L := MatrixDiffOperator(A,B);   1 −1 2 A :=  0 1 − 1  0 0 0   D −2 4+D x2 − x − sin(x) + e−x  0 − 1 + D 1 − D ,   e−x D −D D cos(x)   D −2 4+D Here the irst matrix denotes L̃ =  0 − 1 + D 1 − D  D −D D   x2 − x − sin(x) + e−x ˜  . Now and second denotes f = e−x cos(x) the following command is used to compute the exact solution of the given IVP. • y := ExactSolution(A,B,f);    1 −2 4 B :=  0 − 1 1  1 −1 1   x2 − x f :=  e−x  sin(x)   1 + D − 2 − D 4 + 2D −1+D 1−D  L :=  0 1 −1 1 he following command is used to generate the canonical form of the given IVP. y :=  1 x 1 −x + sin(x) 2e − 2e 1 2 1 1 1 −2x e + x − x + − cos(x) − 53 sin(x) − e−x + 32 ex 30 2 2 5 1 2 1 1 1 −2x + 2 x − x + 2 − 5 cos(x) − 53 sin(x) − 21 e−x + 61 ex 30 e   One can also cross check the solution by substituting y into the given IVP as follows. • ApplyMatrixOperator(L,y);   x2 − x  e−x  sin(x) Using Mathematica (online computations from wolframalpha.com), we have a general solution with free parameters c1 , c2 as follows 1 y1 (x) = c2 ex − e−x + sin x,  2   21 1 1 4 y2 (x) = c2 ex − e−x + c1 e−2x + c2 e−2x (e3x − 1) 16 2 64 3  2 −4x + e (5(48e4x (x − 1)2 − 33e3x ) + 192e4x sin x − 96e4x cos x) − sin x, 15    1 1 −x 4 5 x c2 e − e c1 e−2x + c2 e−2x (e3x − 1) + y3 (x) = 16 2 64 3  2 −4x 4x 2 3x 4x 4x + e (5(48e (x − 1) − 33e ) + 192e sin x − 96e cos x) − sin x. 15 Thota BMC Res Notes (2018) 11:651 Page 8 of 9 After simpliication, we have 1 y1 (x) = c2 ex − e−x + sin x, 2 1 1 −2x c1 e y2 (x) = − c2 e−2x + 64 48 1 1 c1 e−2x − c2 e−2x + y3 (x) = 64 48 4 x c2 e + 3 1 x c2 e + 3 1 1 1 2 3 x − x − e−x − sin x − cos x + 2 5 5 2 1 2 1 −x 3 1 1 x − x − e − sin x − cos x + . 2 2 5 5 2 We can ind the values of c1 and c2 by substituting x = 0 and y = 0. Now the exact solution is 1 x 1 −x e − e + sin x, 2 2 1 −2x 1 2 e y2 (x) = + x −x+ 30 2 1 −2x 1 2 e + x −x+ y3 (x) = 30 2 y1 (x) = 1 1 − cos x − 2 5 1 1 − cos x − 2 5 3 2 sin(x) − e−x + ex 5 3 3 1 1 sin x − e−x + ex . 5 2 6 One can check that the exact solution obtained by Maple implementation and the Mathematica implementation is same. Using the Maple package, we computed the solution directly without any free parameters. Example 6 Consider an IVP given in [1, Example 2.8] with homogeneous initial conditions at zero. Authors computed the solution manually using the algorithm proposed. Here, we compute the exact solution using the Maple implementation.       1 −1 2 1 −2 4 ex 0 1 − 1 u′ + 0 − 1 1 u = cos x . 0 0 0 0 0 1 sin x (9) Matrix diferential operator L and forcing function f of (9) are • • • • A B f L := Matrix([[1,-1,2], [0,1,-1], [0,0,0]]); := Matrix([[1,-2,4], [0,-1,1], [0,0,1]]); := Matrix([[exp(x)], [cos(x)], [sin(x)]]); := MatrixDiffOperator(A,B);   1 −1 2 A :=  0 1 − 1  0 0 0   1 −2 4 B :=  0 − 1 1  0 0 1   ex f :=  cos(x)  sin(x)   1 + D − 2 − D 4 + 2D −1+D 1−D  L :=  0 0 0 1 he canonical form of the given IVP is computed as, • CanonicaMatrixDiffSystem(A,B,f);    1+D −3 D ex − 5 sin(x) + cos(x)   0 − 1 + D − D ,  cos(x) − sin(x) cos(x) 0 0 D   1+D −3 D −1+D −D L̃ =  0 Here and 0 0 D   ex − 5 sin(x) + cos(x) . Now the exact solution of cos(x) − sin(x) f˜ =  cos(x) the given IVP is Thota BMC Res Notes (2018) 11:651 Page 9 of 9 • y := ExactSolution(A,B,f);  y :=  5 x 3 −x − 12 cos x − sin x 4e − 4e 1 x 1 3  2 e − 2 cos x + 2 sin x  sin x One can verify the solution by substituting y into the given IVP as follows. • ApplyMatrixOperator(L,y); Availability of data and materials The datasets generated and analyzed during the current study are available from the corresponding author on reasonable request. Consent to publish Not applicable. Ethics approval and consent to participate Not applicable. Funding Not applicable. Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.   ex  cos(x)  sin(x) Limitations he proposed algorithm presented in [1] for solving differential-algebraic equations is focused on the regular linear equations, hence the maple package presented in this paper is valid for the regular linear diferential-algebraic equations. We have also presented an algorithm to check the regularity of the given problem. Abbreviations IVP: initial value problem; DAE: differential-algebraic equation. Authors’ contributions In this paper, we presented a Maple package, deaSolve, of a symbolic algorithm for solving a given IVP for the system of linear DAEs. Using the proposed Maple package, one can compute the desired Green’s function of a given IVP. Two examples are presented to illustrate the Maple package. The implemented Maple package deaSolve is available at http://www.srinivasar aothota.webs.com/research with examples worksheet. The author read and approved the final manuscript. Acknowledgements The author is thankful to the reviewer and editor for providing valuable inputs to improve the quality and present format of manuscript. Received: 5 July 2018 Accepted: 30 August 2018 References 1. Thota S, Kumar SD. Symbolic algorithm for a system of differential-algebraic equations. Kyungpook Math J. 2016;56(4):1141–60. 2. Coddington E, Levinson N. Theory of ordinary differential equations. New York: McGraw-HillBook Company Inc; 1955. 3. Apostol TM. Calculus, vol. 2. New York: Wiley; 2002. 4. Stakgold I. Green’s functions and boundary value problems. New York: Wiley; 1979. 5. Thota S, Kumar SD. Solving system of higher-order linear differential equations on the level of operators. Int J Pure Appl Math. 2016;106(1):11–21. 6. Thota S, Kumar SD. On a mixed interpolation with integral conditions at arbitrary nodes. Cogent Math. 2016;3(1):1–10. 7. Thota S, Kumar SD. A new method for general solution of system of higher-order linear differential equations. Int Conf Inter Discip Res Eng Technol. 2015;1:240–3. 8. Thota S, Kumar SD. Symbolic method for polynomial interpolation with Stieltjes conditions. In: International conference on Frontiers in mathematics. 2015. p. 225-8. 9. Thota S, Rosenkranz M, Kumar SD. Solving systems of linear differential equations over integro-differential algebras. In: International conference on applications of computer algebra, Sofia, Bulgaria. June 24–29, 2012. 10. Gerdin M. Identification and estimation for models described by differential-algebraic equations, Linkoping studies in science and technology, Dissertations; 2006. p. 1046. Competing interests The author declares no competing interests. Ready to submit your research ? Choose BMC and benefit from: • fast, convenient online submission • thorough peer review by experienced researchers in your field • rapid publication on acceptance • support for research data, including large and complex data types • gold Open Access which fosters wider collaboration and increased citations • maximum visibility for your research: over 100M website views per year At BMC, research is always in progress. Learn more biomedcentral.com/submissions