Table of Contents
ISRN Applied Mathematics
Volume 2011, Article ID 236727, 6 pages
Research Article

A Solution Approach for Lower Hessenberg Linear Systems

Chief Technology Office, Naval Undersea Warfare Center, 1176 Howell Street, Newport, RI 02841, USA

Received 28 October 2011; Accepted 17 November 2011

Academic Editors: P. J. García Nieto and F. Lebon

Copyright © 2011 Anthony A. Ruffa. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


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.

1. Introduction

A number of researchers have studied the inverses of lower Hessenberg matrices [14], that is, inverses of square matrices of the form 𝐴=(𝑎𝑖,𝑗), 𝑖,𝑗=1,,𝑛 such that 𝑎𝑖,𝑗=0 when 𝑗>𝑖+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 𝐴, as well as an additional unknown). The basic strategy involves generating solution vectors for 𝑚 such extended systems (where 𝑚 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 𝑚 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., 𝑛=3) with general entries in Section 2. Section 3 provides a proof of the validity of the approach for systems having an arbitrary dimension 𝑛.

2. Three-Dimensional Systems

This section details the approach to solve a lower Hessenberg linear system with 𝑛=3 and general entries. Consider the following system: 𝑎1,1𝑎1,20𝑎2,1𝑎2,2𝑎2,3𝑎3,1𝑎3,2𝑎3,3𝑥1𝑥2𝑥3=𝑏1𝑏2𝑏3.(2.1)

This can be solved via an extended system developed by adding an additional column to the coefficient matrix, and an additional unknown 𝑥4:𝑎1,1𝑎1,2𝑎002,1𝑎2,2𝑎2,30𝑎3,1𝑎3,2𝑎3,31𝑥1𝑥2𝑥3𝑥4=𝑏1𝑏2𝑏3+𝑥4,(2.2) where 𝑎𝑖,𝑖+10 for all 𝑖. The coefficient 𝑎3,4 is set to 1 to simplify the solution process. Note that the third equation in (2.2) is 𝑎3,1𝑥1+𝑎3,2𝑥2+𝑎3,3𝑥3+𝑥4=𝑏3+𝑥4,(2.3) or 𝑎3,1𝑥1+𝑎3,2𝑥2+𝑎3,3𝑥3=𝑏3.(2.4)

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 𝑣(1), 𝑣(2), and 𝑣(3), and then using superposition. The first such system, 𝑎1,1𝑎1,2𝑎002,1𝑎2,2𝑎2,30𝑎3,1𝑎3,2𝑎3,31𝑣1(1)𝑣2(1)𝑣3(1)𝑣4(1)=100,(2.5) is solved by choosing 𝑣1(1) arbitrarily and then determining the remaining terms using the subsequent equations in (2.5). Setting 𝑣1(1)=𝑎1,2𝑎2,3 leads to 𝑣2(1)=1𝑎1,2𝑎1,1𝑎2,3,𝑣3(1)𝑎=2,2𝑎1,2𝑎2,3+𝑎1,1𝑎2,2𝑎1,2𝑎2,1,𝑣4(1)=𝑎3,3𝑎2,2𝑎1,2𝑎2,3𝑎3,2𝑎1,2+𝑎1,1𝑎2,3𝑎3,2𝑎2,2𝑎3,3+𝑎1,2𝑎2,1𝑎3,3𝑎2,3𝑎3,1.(2.6)

This process can be continued to compute all of the 𝑣𝑗(𝑘) terms. The next system to be considered is: 𝑎1,1𝑎1,2𝑎002,1𝑎2,2𝑎2,30𝑎3,1𝑎3,2𝑎3,31𝑣1(2)𝑣2(2)𝑣3(2)𝑣4(2)=010.(2.7)

Setting 𝑣1(2)=𝑎1,2𝑎2,3 leads to 𝑣2(2)=𝑎1,1𝑎2,3,𝑣3(2)=1𝑎2,3+𝑎1,1𝑎2,2𝑎1,2𝑎2,1,𝑣4(2)𝑎=3,3𝑎2,3+𝑎1,1𝑎2,3𝑎3,2𝑎2,2𝑎3,3+𝑎1,2𝑎2,1𝑎3,3𝑎2,3𝑎3,1.(2.8)

The third system is: 𝑎1,1𝑎1,2𝑎002,1𝑎2,2𝑎2,30𝑎3,1𝑎3,2𝑎3,31𝑣1(3)𝑣2(3)𝑣3(3)𝑣4(3)=001.(2.9)

Setting 𝑣1(3)=𝑎1,2𝑎2,3 leads to 𝑣2(3)=𝑎1,1𝑎2,3,𝑣3(3)=𝑎1,1𝑎2,2𝑎1,2𝑎2,1,𝑣4(3)=1+𝑎1,1𝑎2,3𝑎3,2𝑎2,2𝑎3,3+𝑎1,2𝑎2,1𝑎3,3𝑎2,3𝑎3,1.(2.10)

Superposition of the vectors 𝑣(1), 𝑣(2), and 𝑣(3) leads to a solution for (2.2), that is, 𝑥1𝑥2𝑥3𝑥4=𝑏1𝑣1(1)𝑣2(1)𝑣3(1)𝑣4(1)+𝑏2𝑣1(2)𝑣2(2)𝑣3(2)𝑣4(2)+𝑏3+𝑥4𝑣1(3)𝑣2(3)𝑣3(3)𝑣4(3).(2.11)

From (2.11), note that 𝑥4=𝑏1𝑣4(1)+𝑏2𝑣4(2)+𝑏3+𝑥4𝑣4(3).(2.12)

Substituting into (2.12) for 𝑣4(1), 𝑣4(2), and 𝑣4(3) (and performing some algebra) yields 𝑥4=𝑏1𝑏2𝑏3+𝑏1𝑎det(𝐴)3,3𝑎2,2𝑎1,2𝑎2,3𝑎3,2𝑎1,2𝑏2𝑎det(𝐴)3,3𝑎2,3+𝑏3det(𝐴),(2.13) where det(𝐴)=𝑎1,1𝑎2,2𝑎3,3𝑎2,3𝑎3,2+𝑎1,2𝑎2,3𝑎3,1𝑎2,1𝑎3,3.(2.14)

Finally, substituting 𝑥4 and 𝑣(1), 𝑣(2), and 𝑣(3) into (2.11) leads to the solution to (2.1), after some algebra: 𝑥1=𝑏1𝑎2,2𝑎3,3𝑎2,3𝑎3,2𝑏2𝑎1,2𝑎3,3+𝑏3𝑎1,2𝑎2,3,𝑥det(𝐴)2=𝑏1𝑎2,3𝑎3,1𝑎2,1𝑎3,3+𝑏2𝑎1,1𝑎3,3𝑏3𝑎1,1𝑎2,3,𝑥det(𝐴)3=𝑏1𝑎2,1𝑎3,2𝑎2,2𝑎3,1+𝑏2𝑎1,2𝑎3,1𝑎1,1𝑎3,2+𝑏3𝑎1,1𝑎2,2𝑎2,1𝑎1,2.det(𝐴)(2.15)

The next section extends the process for a system having an arbitrary dimension 𝑛. However, few comments are first warranted. It can be inferred by inspection of (2.11) that computations are minimized when 𝑚, the number of nonzero right hand side terms, is small. For example, when 𝑚=1, only two of the 𝑣(𝑘) vectors need to be computed, regardless of 𝑛. (Only one vector needs to be computed if 𝑏𝑛 is the only nonzero right hand side term.) The number of operations to compute a single vector 𝑣(𝑘) 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 𝑚𝑛. However, even when 𝑚𝑛, the solution for the 𝑣(𝑘) vectors can be performed on 𝑚 parallel processors, since each 𝑣(𝑘) 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 𝑣(𝑘) vectors.

A considerable amount of recent work has involved attempts to parallelize the solutions of linear systems [57] (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 𝐴 and requires varying degrees of communication between processors. In contrast, this approach provides a framework for full parallelization with 𝑚 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 dimension 𝑛. Consider the system of equations 𝑛𝑗=1𝑎𝑖,𝑗𝑥𝑗=𝑏𝑖,(3.1) for each value of 𝑖 where 1𝑖𝑛, and 𝑎𝑖,𝑗=0 when 𝑗>𝑖+1. Following the procedure in the last section, consider the extended system 𝑖+1𝑗=1𝑎𝑖,𝑗𝑥𝑗=𝑏𝑖+𝛿𝑖,𝑛𝑥𝑛+1,(3.2) for each value of 𝑖, where 1𝑖𝑛. Here 𝑎𝑖,𝑗=0 when 𝑗>𝑖+1, 𝛿𝑖,𝑛 is the Kronecker delta, 𝑎𝑛,𝑛+1=1, and 𝑎𝑖,𝑖+10 for all 𝑖. Consider further the 𝑛 related systems of the form 𝑖+1𝑗=1𝑎𝑖,𝑗𝑣𝑗(𝑘)=𝛿𝑘,𝑖,(3.3) for each 𝑘, where 1𝑘𝑛, and for each 𝑖, where 1𝑖𝑛.

For a given 𝑘, each successive term of 𝑣(𝑘) 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).

The 𝑛+1 solutions 𝑣(𝑘) for 𝑘=1,,𝑛, once obtained, can then be superimposed as follows for 𝑖𝑛+1: 𝑥𝑖=𝑛𝑘=1𝑏𝑘𝑣𝑖(𝑘)+𝑥𝑛+1𝑣𝑖(𝑛).(3.4)

Equation (3.4) satisfies (3.2) and provides an equation to determine 𝑥𝑛+1, that is, 𝑥𝑛+1=𝑛𝑘=1𝑏𝑘𝑣(𝑘)𝑛+1+𝑥𝑛+1𝑣(𝑛)𝑛+1.(3.5)

Since (3.4) satisfies (3.2) and 𝑏1,𝑏2,,𝑏𝑛 are arbitrary, it follows that (3.5) leads to a solution for 𝑥𝑛+1. Substituting 𝑥𝑛+1 obtained from (3.5) into (3.4) then determines all of the 𝑥𝑖 terms. Finally, the 𝑛th equation of (3.2) is 𝑛𝑗=1𝑎𝑛,𝑗𝑥𝑗+𝑥𝑛+1=𝑏𝑛+𝑥𝑛+1,(3.6) or 𝑛𝑗=1𝑎𝑛,𝑗𝑥𝑗=𝑏𝑛,(3.7) which is identical to the 𝑛th 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 𝑥𝑛+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 with 𝑛=3, and then extending the procedure to arbitrary 𝑛. The approach involving the development of 𝑚 solution vectors from an extended system (having an additional column in the coefficient matrix and an additional introduced unknown) is highly parallelizable on 𝑚 processors.

It should be noted that this approach also lends itself to lower 𝑞-Hessenberg linear systems, that is, involving square matrices 𝐴=(𝑎𝑖,𝑗), 𝑖,𝑗=1,,𝑛 such that 𝑎𝑖𝑗=0 when 𝑗>𝑖+𝑞. For example, 𝑞=2 leads to two additional columns and two additional introduced variables 𝑥𝑛+1 and 𝑥𝑛+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 to 𝐴. The process can thus be extended to many systems of practical interest, providing a framework for parallelization of such systems.


  1. M. Elouafi and A. D. Aiat Hadj, “A new recursive algorithm for inverting Hessenberg matrices,” Applied Mathematics and Computation, vol. 214, no. 2, pp. 497–499, 2009. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  2. Y. Ikebe, “On inverses of Hessenberg matrices,” Linear Algebra and its Applications, vol. 24, pp. 93–97, 1979. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  3. M. J. Piff, “Inverses of banded and κ-Hessenberg matrices,” Linear Algebra and its Applications, vol. 85, pp. 9–15, 1987. View at Publisher · View at Google Scholar
  4. X. Zhong, “On inverses and generalized inverses of Hessenberg matrices,” Linear Algebra and its Applications, vol. 101, pp. 167–180, 1988. View at Google Scholar · View at Zentralblatt MATH
  5. J. W. Demmel, M. T. Heath, and H. A. van der Vorst, “Parallel numerical linear algebra,” Acta Numerica, vol. 2, pp. 111–197, 1993. View at Publisher · View at Google Scholar
  6. G. A. Geist and C. H. Romine, “LU factorization algorithms on distributed-memory multiprocessor architectures,” Society for Industrial and Applied Mathematics, vol. 9, no. 4, pp. 639–649, 1988. View at Publisher · View at Google Scholar · View at Zentralblatt MATH
  7. I. E. Venetis and G. R. Gao, “Mapping the LU decomposition on a many-core architecture: challenges and solutions,” in Proceedings of the 6th ACM Conference on Computing Frontiers (CF '09), pp. 71–80, Ischia, Italy, 2009.