<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">AJCM</journal-id><journal-title-group><journal-title>American Journal of Computational Mathematics</journal-title></journal-title-group><issn pub-type="epub">2161-1203</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ajcm.2015.53023</article-id><article-id pub-id-type="publisher-id">AJCM-59296</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  A New Symbolic Algorithm for Solving General Opposite-Bordered Tridiagonal Linear Systems
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>aiz</surname><given-names>Atlan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Moawwad</surname><given-names>El-Mikkawy</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Mathematics Department, Faculty of Science, Mansoura University, Mansoura, Egypt</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>faizatlan11@yahoo.com(AA)</email>;<email>m_elmikkawy@yahoo.com(ME)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>20</day><month>08</month><year>2015</year></pub-date><volume>05</volume><issue>03</issue><fpage>258</fpage><lpage>266</lpage><history><date date-type="received"><day>16</day>	<month>June</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>28</month>	<year>August</year>	</date><date date-type="accepted"><day>31</day>	<month>August</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In the current article we propose a new efficient, reliable and breakdown-free algorithm for solving general opposite-bordered tridiagonal linear systems. An explicit formula for computing the determinant of an opposite-bordered tridiagonal matrix is investigated. Some illustrative examples are given.
 
</p></abstract><kwd-group><kwd>Opposite-Bordered Tridiagonal Matrix</kwd><kwd> Algorithm</kwd><kwd> Linear System of Equations</kwd><kwd> Schur Complement</kwd><kwd> MATLAB</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x6.png" xlink:type="simple"/></inline-formula> general tridiagonal matrix <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x7.png" xlink:type="simple"/></inline-formula> takes the form:</p><disp-formula id="scirp.59296-formula480"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x8.png"  xlink:type="simple"/></disp-formula><p>The matrix in (1) frequently appears in many applications, for example, in parallel computing, telecommu- nication system analysis, solving differential equations using finite differences, heat conduction and fluid flow problems. The interested reader may refer to [<xref ref-type="bibr" rid="scirp.59296-ref1">1</xref>] - [<xref ref-type="bibr" rid="scirp.59296-ref12">12</xref>] and the references therein.</p><p>Inverting tridiagonal matrices in (1) have been considered by many authors. See for instance, [<xref ref-type="bibr" rid="scirp.59296-ref13">13</xref>] - [<xref ref-type="bibr" rid="scirp.59296-ref22">22</xref>] . To study matrices of the form (1) it is advantageous to introduce an n-dimensional vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x9.png" xlink:type="simple"/></inline-formula> in the following way [<xref ref-type="bibr" rid="scirp.59296-ref23">23</xref>] :</p><disp-formula id="scirp.59296-formula481"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x10.png"  xlink:type="simple"/></disp-formula><p>whose components <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x11.png" xlink:type="simple"/></inline-formula> are given by:</p><disp-formula id="scirp.59296-formula482"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x12.png"  xlink:type="simple"/></disp-formula><p>The symbolic algorithm DETGTRI [<xref ref-type="bibr" rid="scirp.59296-ref23">23</xref>] is based on (2) and (3). By using the LU factorization of<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x13.png" xlink:type="simple"/></inline-formula>, it is known that [<xref ref-type="bibr" rid="scirp.59296-ref23">23</xref>]</p><disp-formula id="scirp.59296-formula483"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x14.png"  xlink:type="simple"/></disp-formula><p>There are great interests in solving general opposite-bordered tridiagonal linear system, and hereafter it will be referred to as OBTLS, of the form:</p><disp-formula id="scirp.59296-formula484"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x15.png"  xlink:type="simple"/></disp-formula><p>in which the coefficient matrix A is given by:</p><disp-formula id="scirp.59296-formula485"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x16.png"  xlink:type="simple"/></disp-formula><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x17.png" xlink:type="simple"/></inline-formula>and</p><p>This system frequently occurs in engineering computation and science, e.g. in the numerical solution of an ablation and heat transfer problem as referred in [<xref ref-type="bibr" rid="scirp.59296-ref24">24</xref>] - [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] . The matrix A in (6) can be stored in <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x19.png" xlink:type="simple"/></inline-formula> memory locations only.</p><p>In [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] , the author presented a numeric algorithm for solving the linear system (5) with<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x20.png" xlink:type="simple"/></inline-formula>. The algorithm is based on the elementary column operations (ECO’s). It is noted that the numerical algorithm in [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] fails to solve some OBTLS of the form (5). Therefore, the main objective of the present paper is to construct a new symbolic and breakdown-free algorithm for solving the OBTLS in (5).</p><p>Throughout this paper, the word “simplify” means simplifying the algebraic expression under consideration to its simplest rational form. Also, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x21.png" xlink:type="simple"/></inline-formula>is a formal parameter which can be treated as a symbolic name whose actual value is 0 as we will see later.</p><p>The organization of the paper is as follows. The main results are given in the next section. Some illustrative examples are given in Section 3. In Section 4, we present some concluding remarks.</p></sec><sec id="s2"><title>2. Main Results</title><p>In this section, we are going to formulate a new algorithm for solving OBTLS of the form (5). We begin by considering the singly bordered tridiagonal linear systems of the form (7)-(8) below.</p><sec id="s2_1"><title>2.1. A Symbolic Algorithm for Solving Singly Bordered Tridiagonal Linear Systems</title><p>The <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x22.png" xlink:type="simple"/></inline-formula> singly bordered tridiagonal linear system takes the form:</p><disp-formula id="scirp.59296-formula486"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x23.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.59296-formula487"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x24.png"  xlink:type="simple"/></disp-formula><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x25.png" xlink:type="simple"/></inline-formula>and</p><p>The Doolittle LU factorization of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x27.png" xlink:type="simple"/></inline-formula> is given by [<xref ref-type="bibr" rid="scirp.59296-ref1">1</xref>] :</p><disp-formula id="scirp.59296-formula488"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x28.png"  xlink:type="simple"/></disp-formula><p>where</p><disp-formula id="scirp.59296-formula489"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x29.png"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.59296-formula490"><label>(11)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x30.png"  xlink:type="simple"/></disp-formula><p>where the quantities <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x31.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x32.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x33.png" xlink:type="simple"/></inline-formula> are given, respectively, by:</p><disp-formula id="scirp.59296-formula491"><label>(12)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x34.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.59296-formula492"><label>(13)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x35.png"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.59296-formula493"><label>(14)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x36.png"  xlink:type="simple"/></disp-formula><p>It follows from (9)-(11) that</p><disp-formula id="scirp.59296-formula494"><label>(15)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x37.png"  xlink:type="simple"/></disp-formula><p>At this point, it should be mentioned that the above <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x38.png" xlink:type="simple"/></inline-formula> factorization is always possible even if the matrix <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x39.png" xlink:type="simple"/></inline-formula> is singular.</p><p>The solution of the system in (7) reduces to solving the two standard linear systems:</p><disp-formula id="scirp.59296-formula495"><label>(16)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x40.png"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.59296-formula496"><label>(17)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x41.png"  xlink:type="simple"/></disp-formula><p>We are now ready to formulate the following algorithm for solving the linear system (7).</p><disp-formula id="scirp.59296-formula497"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x42.png"  xlink:type="simple"/></disp-formula></sec><sec id="s2_2"><title>2.2. A Symbolic Algorithm for Solving General OBTLS</title><p>In order to solve the general OBTLS (5) it is convenient to introduce the following notations:</p><disp-formula id="scirp.59296-formula498"><label>(18)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x43.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.59296-formula499"><label>(19)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x44.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.59296-formula500"><label>(20)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x45.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.59296-formula501"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x46.png"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.59296-formula502"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x47.png"  xlink:type="simple"/></disp-formula><p>Based on the above notations, the linear system in (5) can be written in the partitioned form:</p><disp-formula id="scirp.59296-formula503"><label>(21)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x48.png"  xlink:type="simple"/></disp-formula><p>The solution of the linear system (21), may be obtained by solving the two linear systems:</p><disp-formula id="scirp.59296-formula504"><label>(22)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x49.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.59296-formula505"><label>(23)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x50.png"  xlink:type="simple"/></disp-formula><p>It is not difficult to prove that:</p><disp-formula id="scirp.59296-formula506"><label>(24)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x51.png"  xlink:type="simple"/></disp-formula><p>As can be seen from (24), we need to compute <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x52.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x53.png" xlink:type="simple"/></inline-formula> By solving the following singly bordered systems with two right-hand sides we obtain the solution vectors <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x54.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x55.png" xlink:type="simple"/></inline-formula>:</p><disp-formula id="scirp.59296-formula507"><label>(25)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x56.png"  xlink:type="simple"/></disp-formula><p>Consequently, we have from (24)</p><disp-formula id="scirp.59296-formula508"><label>(26)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x57.png"  xlink:type="simple"/></disp-formula><p>and</p><disp-formula id="scirp.59296-formula509"><label>(27)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x58.png"  xlink:type="simple"/></disp-formula><p>By substituting (26) and (27) into (22), it follows that</p><disp-formula id="scirp.59296-formula510"><label>(28)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x59.png"  xlink:type="simple"/></disp-formula><p>Therefore, we get</p><disp-formula id="scirp.59296-formula511"><label>(29)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x60.png"  xlink:type="simple"/></disp-formula><p>Hence, the solution vector of the OBTLS (5) is <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x61.png" xlink:type="simple"/></inline-formula></p><p>The proofs of the following result may be found in [<xref ref-type="bibr" rid="scirp.59296-ref29">29</xref>] .</p><p>Theorem 1. (Schur determinant identity) Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula> are <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x65.png" xlink:type="simple"/></inline-formula> <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x66.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x67.png" xlink:type="simple"/></inline-formula> matrices, respectively. Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x68.png" xlink:type="simple"/></inline-formula> be a <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x67.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x69.png" xlink:type="simple"/></inline-formula> block matrix given by</p><disp-formula id="scirp.59296-formula512"><label>(30)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x70.png"  xlink:type="simple"/></disp-formula><p>Then</p><disp-formula id="scirp.59296-formula513"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x71.png"  xlink:type="simple"/></disp-formula><p>By noticing (21), we see that the matrix <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x72.png" xlink:type="simple"/></inline-formula> in (6) can be written in the partitioned form:</p><disp-formula id="scirp.59296-formula514"><label>(31)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x73.png"  xlink:type="simple"/></disp-formula><p>Hence, by applying Theorem 1 on this matrix, we get the following result:</p><p>Corollary 1. Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x74.png" xlink:type="simple"/></inline-formula> be the <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x75.png" xlink:type="simple"/></inline-formula> matrix given in (31), then the determinant of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x75.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x76.png" xlink:type="simple"/></inline-formula> is given by:</p><disp-formula id="scirp.59296-formula515"><label>(32)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x77.png"  xlink:type="simple"/></disp-formula><p>provided <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x78.png" xlink:type="simple"/></inline-formula> is a nonsingular matrix.</p><p>The main result of the present paper may now be formulated as follows:</p><disp-formula id="scirp.59296-formula516"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x79.png"  xlink:type="simple"/></disp-formula><p>This algorithm will be referred to as the OBS algorithm. The computational cost for OBS is <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x80.png" xlink:type="simple"/></inline-formula> in terms of total number of flops, where each flop represents one of the four basic arithmetic floating point operations.</p><p>A MATLAB code based on the OBS algorithm is available upon request from the authors.</p></sec></sec><sec id="s3"><title>3. Illustrative Examples</title><p>In this section we are going to consider some illustrative examples. The, symbolic computations are performed in Example 1 by using MATLAB with Symbolic Math Toolbox. Also, we compare the proposed algorithm with MATLAB back-slash and the algorithm in [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] by means of execution times and accuracy of the solutions in Example 2. Finally, we give Example 3 in order to demonstrate the validity of the OBS algorithm. All experiments were carried out using MATLAB 7.10.0.499 (R2010a) on a PC with Intel(R) Core(TM) i7-3770 CPU processor.</p><p>Example 1. Solve the opposite-bordered tridiagonal linear system:</p><disp-formula id="scirp.59296-formula517"><label>(33)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x81.png"  xlink:type="simple"/></disp-formula><p>Solution.</p><p>Here, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x85.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x85.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x85.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x83.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x87.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x86.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x85.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x83.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x82.png" xlink:type="simple"/></inline-formula>and</p><disp-formula id="scirp.59296-formula518"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x88.png"  xlink:type="simple"/></disp-formula><p>The numeric algorithm in [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] fails to solve the linear system (33) although <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x89.png" xlink:type="simple"/></inline-formula> Applying the OBS algorithm, we obtain:</p><disp-formula id="scirp.59296-formula519"><graphic  xlink:href="http://html.scirp.org/file/4-1100450x90.png"  xlink:type="simple"/></disp-formula><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x91.png" xlink:type="simple"/></inline-formula>(Step 1).</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x92.png" xlink:type="simple"/></inline-formula>(Step 2) and</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x93.png" xlink:type="simple"/></inline-formula>(Step 3).</p><p>The solution vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x94.png" xlink:type="simple"/></inline-formula> (Step 4).</p><p>Example 2. Consider the opposite-bordered tridiagonal linear system:</p><disp-formula id="scirp.59296-formula520"><label>(34)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x95.png"  xlink:type="simple"/></disp-formula><p>The exact solution of this system is <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x96.png" xlink:type="simple"/></inline-formula> <xref ref-type="table" rid="table1">Table 1</xref> shows the CPU times (after 100 tests) ob-</p><p>tained from the OBS algorithm, the algorithm in [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>] and MATLAB back-slash operator for n = 1000, 2000, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x97.png" xlink:type="simple"/></inline-formula>, 10,000. The absolute errors <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x97.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x98.png" xlink:type="simple"/></inline-formula> are shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. Here, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x97.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x98.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x99.png" xlink:type="simple"/></inline-formula>is the Euclidean vector norm.</p><p>Example 3. Consider the opposite-bordered tridiagonal linear system:</p><disp-formula id="scirp.59296-formula521"><label>(35)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/4-1100450x100.png"  xlink:type="simple"/></disp-formula><p><xref ref-type="table" rid="table2">Table 2</xref> gives the absolute errors and CPU times (after 100 tests) obtained from the OBS algorithm for n = 1000, 5000, 10,000, 20,000, 30,000, 40,000, 50,000.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Mean value of the CPU times after 100 tests</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >n</th><th align="center" valign="middle" >1000</th><th align="center" valign="middle" >2000</th><th align="center" valign="middle" >3000</th><th align="center" valign="middle" >4000</th><th align="center" valign="middle" >5000</th><th align="center" valign="middle" >6000</th><th align="center" valign="middle" >7000</th><th align="center" valign="middle" >8000</th><th align="center" valign="middle" >9000</th><th align="center" valign="middle" >10,000</th></tr></thead><tr><td align="center" valign="middle" >OBS Algorithm</td><td align="center" valign="middle" >2.360e−4</td><td align="center" valign="middle" >2.503e−4</td><td align="center" valign="middle" >3.290e−4</td><td align="center" valign="middle" >4.531e−4</td><td align="center" valign="middle" >5.536e−4</td><td align="center" valign="middle" >6.607e−4</td><td align="center" valign="middle" >7.613e−4</td><td align="center" valign="middle" >8.7950e−4</td><td align="center" valign="middle" >9.870e−4</td><td align="center" valign="middle" >0.0011</td></tr><tr><td align="center" valign="middle" >Algorithm in [<xref ref-type="bibr" rid="scirp.59296-ref28">28</xref>]</td><td align="center" valign="middle" >2.372e−4</td><td align="center" valign="middle" >2.56e−4</td><td align="center" valign="middle" >3.420e−4</td><td align="center" valign="middle" >4.578e−4</td><td align="center" valign="middle" >5.849e−4</td><td align="center" valign="middle" >6.974e−4</td><td align="center" valign="middle" >8.129e−4</td><td align="center" valign="middle" >9.267e−4</td><td align="center" valign="middle" >0.0011</td><td align="center" valign="middle" >0.0012</td></tr><tr><td align="center" valign="middle" >MATLAB</td><td align="center" valign="middle" >0.0013</td><td align="center" valign="middle" >0.0027</td><td align="center" valign="middle" >0.0043</td><td align="center" valign="middle" >0.0056</td><td align="center" valign="middle" >0.0069</td><td align="center" valign="middle" >0.0084</td><td align="center" valign="middle" >0.0100</td><td align="center" valign="middle" >0.0114</td><td align="center" valign="middle" >0.0125</td><td align="center" valign="middle" >0.0145</td></tr></tbody></table></table-wrap><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Absolute errors for Example 2</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/4-1100450x101.png"/></fig><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Absolute errors and CPU times of Example 3 for the OBS algorithm</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >n</th><th align="center" valign="middle" >1000</th><th align="center" valign="middle" >5000</th><th align="center" valign="middle" >10,000</th><th align="center" valign="middle" >20,000</th><th align="center" valign="middle" >30,000</th><th align="center" valign="middle" >400,000</th><th align="center" valign="middle" >50,000</th></tr></thead><tr><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/4-1100450x102.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >3.6333e−15</td><td align="center" valign="middle" >7.9060e−15</td><td align="center" valign="middle" >1.1142e−14</td><td align="center" valign="middle" >1.5729e−14</td><td align="center" valign="middle" >1.9252e−14</td><td align="center" valign="middle" >2.2224e−14</td><td align="center" valign="middle" >2.4843e−14</td></tr><tr><td align="center" valign="middle" >CPU time (s)</td><td align="center" valign="middle" >1.635e−4</td><td align="center" valign="middle" >7.849e−4</td><td align="center" valign="middle" >0.0011</td><td align="center" valign="middle" >0.0022</td><td align="center" valign="middle" >0.0035</td><td align="center" valign="middle" >0.0045</td><td align="center" valign="middle" >0.0057</td></tr></tbody></table></table-wrap></sec><sec id="s4"><title>4. Conclusion</title><p>In this paper, we proposed a new efficient and reliable algorithm for solving general opposite-bordered tridia- gonal linear systems in linear time. An explicit formula for computing the determinant of an opposite-bordered tridiagonal matrix is obtained. Some illustrative examples are given.</p></sec><sec id="s5"><title>Acknowledgements</title><p>The authors wish to thank anonymous referees and the editorial board of the AJCM for careful reading of the manuscript and their useful comments.</p></sec><sec id="s6"><title>Cite this paper</title><p>FaizAtlan,MoawwadEl-Mikkawy, (2015) A New Symbolic Algorithm for Solving General Opposite-Bordered Tridiagonal Linear Systems. American Journal of Computational Mathematics,05,258-266. doi: 10.4236/ajcm.2015.53023</p></sec><sec id="s7"><title>NOTES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.59296-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Burden, R.L. and Faires, J.D. (2001) Numerical Analysis. 7th Edition, Books &amp; Cole Publishing, Pacific Grove.</mixed-citation></ref><ref id="scirp.59296-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">da Fonseca, C.M. and Petronilho, J. (2001) Explicit Inverses of Some Tridiagonal Matrices. Linear Algebra and its Applications, 325, 7-21. http://dx.doi.org/10.1016/S0024-3795(00)00289-5</mixed-citation></ref><ref id="scirp.59296-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M.E.A. (2005) A New Computational Algorithm for Solving Periodic Tri-Diagonal Linear Systems. Applied Mathematics and Computation, 161, 691-696. http://dx.doi.org/10.1016/S0024-3795(00)00289-5</mixed-citation></ref><ref id="scirp.59296-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M.E.A. and Karawia, A. (2006) Inversion of General Tridiagonal Matrices. Applied Mathematics Letters, 19, 712-720. http://dx.doi.org/10.1016/j.aml.2005.11.012</mixed-citation></ref><ref id="scirp.59296-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M. and Atlan, F. (2014) Algorithms for Solving Linear Systems of Equations of Tridiagonal Type via Transformations. Applied Mathematics, 5, 413-422. http://dx.doi.org/10.4236/am.2014.53042</mixed-citation></ref><ref id="scirp.59296-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M. and Atlan, F. (2014) Algorithms for Solving Doubly Bordered Tridiagonal Linear Systems. British Journal of Mathematics &amp; Computer Science, 4, 1246-1267. http://dx.doi.org/10.9734/BJMCS/2014/8835</mixed-citation></ref><ref id="scirp.59296-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M., El-Shehawy, M. and Shehab, N. (2015) Solving Doubly Bordered Tridiagonal Linear Systems via Partition. Applied Mathematics, 6, 967-978. http://dx.doi.org/10.4236/am.2015.66089</mixed-citation></ref><ref id="scirp.59296-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Golub, G.H. and van Loan, C.F. (1996) Matrix Computations. 3rd Edition, Johns Hopkins University Press, Baltimore.</mixed-citation></ref><ref id="scirp.59296-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Kavcic, A. and Moura, J.M.F. (2000) Matrices with Banded Inverses: Inversion Algorithms and Factorization of Gauss-Markov Processes. IEEE Transactions on Information Theory, 46, 1495-1509.  
http://dx.doi.org/10.1109/18.954748</mixed-citation></ref><ref id="scirp.59296-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Li, H.-B., Huang, T.-Z., Liu, X.-P. and Li, H. (2010) On the Inverses of General Tridiagonal Matrices. Linear Algebra and Its Applications, 433, 965-983. http://dx.doi.org/10.1016/j.laa.2010.04.042</mixed-citation></ref><ref id="scirp.59296-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Mazilu, I., Mazilu, D.A. and Williams, H.T. (2012) Applications of Tridiagonal Matrices in Non-Equilibrium Statistical Physics. Electronic Journal of Linear Algebra, 24, 7-17.</mixed-citation></ref><ref id="scirp.59296-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Olcayto, E. (1979) Recursive Formulae for Ladder Network Optimization. Electronics Letters, 15, 249-250.  
http://dx.doi.org/10.1049/el:19790176</mixed-citation></ref><ref id="scirp.59296-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M.E.A. (2004) On the Inverse of a General Tridiagonal Matrix. Applied Mathematics and Computation, 150, 669-679. http://dx.doi.org/10.1016/S0096-3003(03)00298-4</mixed-citation></ref><ref id="scirp.59296-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M.E.A. and El-Desouky, R. (2008) A New Recursive Algorithm for Inverting General Tridiagonal and Anti-Tridiagonal Matrices. Applied Mathematics and Computation, 204, 368-372.  
http://dx.doi.org/10.1016/j.amc.2008.06.053</mixed-citation></ref><ref id="scirp.59296-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Huang, Y. and McColl, W.F. (1997) Analytic Inversion of General Tridiagonal Matrices. Journal of Physics A, 30, 7919-7933. http://dx.doi.org/10.1088/0305-4470/30/22/026</mixed-citation></ref><ref id="scirp.59296-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Hu, G.Y. and O’Connell, R.F. (1996) Analytical Inversion of Symmetric Tridiagonal Matrices. Journal of Physics A, 29, 1511-1513. http://dx.doi.org/10.1088/0305-4470/29/7/020</mixed-citation></ref><ref id="scirp.59296-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Mallik, R.K. (2001) The Inverse of a Tridiagonal Matrix. Linear Algebra and Its Applications, 325, 109-139.  
http://dx.doi.org/10.1016/S0024-3795(00)00262-7</mixed-citation></ref><ref id="scirp.59296-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Marrero, J.A., Rachidi, M. and Tomeo, V. (2013) Non-Symbolic Algorithms for the Inversion of Tridiagonal Matrices. Journal of Computational and Applied Mathematics, 252, 3-11. http://dx.doi.org/10.1016/j.cam.2012.05.003</mixed-citation></ref><ref id="scirp.59296-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Ran, R.-S., Huang, T.-Z., Liu, X.-P. and Gu, T.-X. (2009) An Inversion Algorithm for General Tridiagonal Matrix. Applied Mathematics and Mechanics, 30, 247-253. http://dx.doi.org/10.1007/s10483-009-0212-x</mixed-citation></ref><ref id="scirp.59296-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Sugimoto, T. (2012) On an Inverse Formula of a Tridiagonal Matrix. Operators and Matrices, 6, 465-480.  
http://dx.doi.org/10.7153/oam-06-30</mixed-citation></ref><ref id="scirp.59296-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Usmani, R. (1994) Inversion of a Tridiagonal Jacobi Matrix. Linear Algebra and Its Applications, 212/213, 413-414.  
http://dx.doi.org/10.1016/0024-3795(94)90414-6</mixed-citation></ref><ref id="scirp.59296-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Yamamoto, T. and Ikebe, Y. (1979) Inversion of Band Matrices. Linear Algebra and Its Applications, 24, 105-111.  
http://dx.doi.org/10.1016/0024-3795(79)90151-4</mixed-citation></ref><ref id="scirp.59296-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">El-Mikkawy, M.E.A. (2004) A Fast Algorithm for Evaluating nth Order Tri-Diagonal Determinants. Journal of Computational and Applied Mathematics, 166, 581-584. http://dx.doi.org/10.1016/j.cam.2003.08.044</mixed-citation></ref><ref id="scirp.59296-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Amar, A.J., Blackwell, B.F. and Edward, J.R. (2006) One-Dimensional Ablation Using a Full Newton’s Method and Finite Control Volume Procedure. 9th AIAA/ASME Joint Thermophysics and Heat Transfer Conference, AIAA-2006-2910, San Francisco, 5-8 June 2006, 26. http://dx.doi.org/10.2514/6.2006-2910</mixed-citation></ref><ref id="scirp.59296-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Amar, A.J., Blackwell, B.F. and Edward, J.R. (2007) One-Dimensional Ablation with Pyrolysis Gas Flow Using a Full Newton’s Method and Finite Control Volume Procedure. 39th AIAA Thermophysics Conference, AIAA-2007-4535, Miami, 25-28 June 2007, 41. http://dx.doi.org/10.2514/6.2007-4535</mixed-citation></ref><ref id="scirp.59296-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Martin, A., Reggio, M., Trepanier, J.Y. and Guo, X. (2007) Transient Ablation Regime in Circuit Breakers. Plasma Science and Technology, 9, 653-656. http://dx.doi.org/10.1088/1009-0630/9/6/02</mixed-citation></ref><ref id="scirp.59296-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Martin, A. and Boyd, I.D. (2008) Simulation of Pyrolysis Gas within a Thermal Protection System. 40th AIAA Thermophysics Conference, AIAA-2008-3805, Seattle, 23-26 June 2008. http://dx.doi.org/10.2514/6.2008-3805</mixed-citation></ref><ref id="scirp.59296-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Martin, A. and Boyd, I.D. (2010) Variant of the Thomas Algorithm for Opposite-Bordered Tridiagonal Systems of Equations. International Journal for Numerical Methods in Biomedical Engineering, 26, 752-759.</mixed-citation></ref><ref id="scirp.59296-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Meyer, C.D. (2000) Matrix Analysis and Applied Linear Algebra. SIAM, Philadelphia.  
http://dx.doi.org/10.1137/1.9780898719512.</mixed-citation></ref></ref-list></back></article>