# A Solution Approach for Lower Hessenberg Linear Systems

Authors: Anthony A. Ruffa
Journal: ISRN Applied Mathematics
 (2011)

---

## Abstract

An approach is developed to obtain solutions to lower Hessenberg linear systems with general entries. The approach involves developing solution vectors for an extended lower Hessenberg linear system (having an extra column and an extra introduced unknown) for each nonzero term on the right hand side. The overall solution is then found through superposition and determination of the extra introduced unknown. The approach supports parallel solution algorithms without communication between processors, since each solution vector is computed independently of the others. The number of parallel processors needed will be equal to the number of nonzero right hand side terms.


---

## Body

## 1. Introduction

A number of researchers have studied the inverses of lower Hessenberg matrices [1–4], that is, inverses of square matrices of the form  A=(ai,j), i,j=1,…,n such that ai,j=0 when j>i+1.  Most recently, a recursive algorithm has been developed for inverting Hessenberg matrices [1].  This paper proposes an alternate solution approach.  It is shown here that lower Hessenberg linear systems in particular lend themselves to a solution via an extended system (that adds a column to A, as well as an additional unknown).  The basic strategy involves generating solution vectors for m such extended systems (where m is the number of nonzero right hand side terms).  In each such extended system, all of the right hand side terms are set to zero except for one entry.  The first term of each solution vector is chosen arbitrarily, and then each subsequent term is found directly through a forward-substitution-like process similar to that used in LU decomposition, with a number of operations on the order of that required for forward substitution, that is, an order of magnitude smaller than that required for performing the LU decomposition itself.  The overall solution is found through superposition and solution of the extra introduced variable (which is common to all of the m extended systems).  The process is highly parallelizable, since each solution vector can be computed independently of the others.This approach will first be illustrated for a three-dimensional system (i.e.,n=3) with general entries in Section 2.  Section 3 provides a proof of the validity of the approach for systems having an arbitrary dimension  n.


## 2. Three-Dimensional Systems

This section details the approach to solve a lower Hessenberg linear system withn=3 and general entries.  Consider the following system: (2.1)[a1,1a1,20a2,1a2,2a2,3a3,1a3,2a3,3]{x1x2x3}={b1b2b3}.This can be solved via an extended system developed by adding an additional column to the coefficient matrix, and an additional unknownx4:(2.2)[a1,1a1,200a2,1a2,2a2,30a3,1a3,2a3,31]{x1x2x3x4}={b1b2b3+x4},
where ai,i+1≠0 for all  i.  The coefficient a3,4 is set to 1 to simplify the solution process.  Note that the third equation in (2.2) is (2.3)a3,1x1+a3,2x2+a3,3x3+x4=b3+x4,
or (2.4)a3,1x1+a3,2x2+a3,3x3=b3.The strategy for solving (2.2) involves first solving three such systems, each with a different nonzero right hand side term to obtain the solution vectors v(1), v(2), and v(3), and then using superposition.  The first such system, (2.5)[a1,1a1,200a2,1a2,2a2,30a3,1a3,2a3,31]{v1(1)v2(1)v3(1)v4(1)}={100},
is solved by choosing v1(1) arbitrarily and then determining the remaining terms using the subsequent equations in (2.5).  Setting v1(1)=a1,2a2,3 leads to (2.6)v2(1)=1a1,2-a1,1a2,3,v3(1)=-a2,2a1,2a2,3+a1,1a2,2-a1,2a2,1,v4(1)=a3,3a2,2a1,2a2,3-a3,2a1,2+a1,1(a2,3a3,2-a2,2a3,3)+a1,2(a2,1a3,3-a2,3a3,1).This process can be continued to compute all of thevj(k) terms.  The next system to be considered is:
(2.7)[a1,1a1,200a2,1a2,2a2,30a3,1a3,2a3,31]{v1(2)v2(2)v3(2)v4(2)}={010}.Settingv1(2)=a1,2a2,3 leads to
(2.8)v2(2)=-a1,1a2,3,v3(2)=1a2,3+a1,1a2,2-a1,2a2,1,v4(2)=-a3,3a2,3+a1,1(a2,3a3,2-a2,2a3,3)+a1,2(a2,1a3,3-a2,3a3,1).The third system is:(2.9)[a1,1a1,200a2,1a2,2a2,30a3,1a3,2a3,31]{v1(3)v2(3)v3(3)v4(3)}={001}.Settingv1(3)=a1,2a2,3 leads to
(2.10)v2(3)=-a1,1a2,3,v3(3)=a1,1a2,2-a1,2a2,1,v4(3)=1+a1,1(a2,3a3,2-a2,2a3,3)+a1,2(a2,1a3,3-a2,3a3,1).Superposition of the vectorsv(1), v(2), and v(3) leads to a solution for (2.2), that is,
(2.11){x1x2x3x4}=b1{v1(1)v2(1)v3(1)v4(1)}+b2{v1(2)v2(2)v3(2)v4(2)}+(b3+x4){v1(3)v2(3)v3(3)v4(3)}.From (2.11), note that (2.12)x4=b1v4(1)+b2v4(2)+(b3+x4)v4(3).Substituting into (2.12) for v4(1), v4(2), and v4(3) (and performing some algebra) yields (2.13)x4=-b1-b2-b3+b1det⁡(A)(a3,3a2,2a1,2a2,3-a3,2a1,2)-b2det⁡(A)a3,3a2,3+b3det⁡(A),
where
(2.14)det⁡(A)=a1,1(a2,2a3,3-a2,3a3,2)+a1,2(a2,3a3,1-a2,1a3,3).Finally, substitutingx4 and v(1),  v(2), and v(3) into (2.11) leads to the solution to (2.1), after some algebra:
(2.15)x1=b1(a2,2a3,3-a2,3a3,2)-b2a1,2a3,3+b3a1,2a2,3det⁡(A),x2=b1(a2,3a3,1-a2,1a3,3)+b2a1,1a3,3-b3a1,1a2,3det⁡(A),x3=b1(a2,1a3,2-a2,2a3,1)+b2(a1,2a3,1-a1,1a3,2)+b3(a1,1a2,2-a2,1a1,2)det⁡(A).The next section extends the process for a system having an arbitrary dimensionn.  However,  few comments are first warranted.  It can be inferred by inspection of (2.11) that computations are minimized when m, the number of nonzero right hand side terms, is small.  For example, when m=1, only two of the v(k) vectors need to be computed, regardless of n.  (Only one vector needs to be computed if bn is the only nonzero right hand side term.)  The number of operations to compute a single vector v(k) is on the order of that for the forward substitution process used in LU decomposition, or an order of magnitude smaller than performing the LU decomposition process itself.  Thus, the approach can be useful when m≪n.  However, even when m≈n, the solution for the v(k) vectors can be performed on m parallel processors, since each v(k) can be determined simultaneously on a single processor without any communication needed with any of the other processors.  Thus, the run time in such a parallel algorithm should approach that for computing just one of the v(k) vectors.A considerable amount of recent work has involved attempts to parallelize the solutions of linear systems [5–7] (e.g., involving LU or QR decompositions).  Typically, the degree of parallelism achieved is only partial and is highly dependent on the structure and sparseness of A  and requires varying degrees of communication between processors.  In contrast, this approach provides a framework for full parallelization with m processors without any communication required between processors.


## 3. Proof of the General Case

This section provides a proof that the algorithm from the previous section is valid for the general case, that is, a lower Hessenberg linear system having arbitrary dimensionn.  Consider the system of equations
(3.1)∑j=1nai,jxj=bi,
for each value of i where 1≤i≤n, and ai,j=0 when  j>i+1.  Following the procedure in the last section, consider the extended system
(3.2)∑j=1i+1ai,jxj=bi+δi,nxn+1,
for each value of i, where 1≤i≤n.  Here ai,j=0 when j>i+1, δi,n is the Kronecker delta, an,n+1=1, and ai,i+1≠0 for all i.  Consider further the n related systems of the form (3.3)∑j=1i+1ai,jvj(k)=δk,i,
for each k, where 1≤k≤n, and for each i, where 1≤i≤n.For a givenk, each successive term of v(k) can thus be obtained by solving a single equation of the system (3.3) for one unknown (similar to the forward substitution process used in LU decomposition).Then+1 solutions v(k) for k=1,…,n, once obtained, can then be superimposed as follows for i≤n+1: (3.4)xi=∑k=1nbkvi(k)+xn+1vi(n).Equation (3.4) satisfies (3.2) and provides an equation to determine xn+1, that is, (3.5)xn+1=∑k=1nbkvn+1(k)+xn+1vn+1(n).Since (3.4) satisfies (3.2) and b1,b2,…,bn are arbitrary, it follows that (3.5) leads to a solution for xn+1.  Substituting xn+1 obtained from (3.5) into (3.4) then determines all of the xi terms.  Finally, the nth equation of (3.2) is
(3.6)∑j=1nan,jxj+xn+1=bn+xn+1,
or
(3.7)∑j=1nan,jxj=bn,
which is identical to the nth equation in (3.1).  Thus, this approach solves (3.2) and also solves (3.1), since (3.1) is a subset of (3.2) and is further isolated from the additional variable xn+1.


## 4. Concluding Remarks

It has been shown that lower Hessenberg linear systems can be solved by considering related extended systems, first by directly solving a system withn=3, and then extending the procedure to arbitrary n.  The approach involving the development of m solution vectors from an extended system (having an additional column in the coefficient matrix and an additional introduced unknown) is highly parallelizable on m processors.It should be noted that this approach also lends itself to lowerq-Hessenberg linear systems, that is, involving square matrices A=(ai,j), i,j=1,…,n such that aij=0 when j>i+q.  For example, q=2 leads to two additional columns and two additional introduced variables xn+1 and xn+2, that are solved with two additional equations.  The proof is similar.There is no limit in principle to the number of diagonals that can be added.  Each will lead to an additional introduced unknown and an additional column toA.  The process can thus be extended to many systems of practical interest, providing a framework for parallelization of such systems.



---

*Source: 236727-2011-12-25.xml*