Algorithms For Solving Linear Systems of Equations
Algorithms For Solving Linear Systems of Equations
Received October 9, 2013; revised November 9, 2013; accepted November 16, 2013
Copyright © 2014 Moawwad El-Mikkawy, Faiz Atlan. This is an open access article distributed under the Creative Commons Attri-
bution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited. In accordance of the Creative Commons Attribution License all Copyrights © 2014 are reserved for SCIRP and the owner of
the intellectual property Moawwad El-Mikkawy, Faiz Atlan. All Copyright © 2014 are guarded by law and by SCIRP as a guardian.
ABSTRACT
Numeric algorithms for solving the linear systems of tridiagonal type have already existed. The well-known
Thomas algorithm is an example of such algorithms. The current paper is mainly devoted to constructing sym-
bolic algorithms for solving tridiagonal linear systems of equations via transformations. The new symbolic algo-
rithms remove the cases where the numeric algorithms fail. The computational cost of these algorithms is given.
MAPLE procedures based on these algorithms are presented. Some illustrative examples are given.
KEYWORDS
Tridiagonal Matrix; Permutation Matrix; Algorithm; MAPLE
1. Introduction
Linear systems of equations of tridiagonal type arise in solving problems in a wide variety of disciplines includ-
ing physics [1,2], mathematics [3-8], engineering [9,10] and others. Many researchers have been devoted to
dealing with such systems (see [11-27]). When a system of linear equations has a coefficient matrix of special
structure, it is recommended to use a tailor-made algorithm for such systems of equations. The tailor-made algo-
rithms are not only more efficient in terms of computational time and computer memory, but also accumulate
smaller round-off errors. As a matter of fact, many problems arising in practice lead to the solution of linear
system of equations with special coefficient matrices. The current paper is mainly devoted to developing new
algorithms for solving linear system of equations of tridiagonal type of the form:
Tx = f , (1)
where
d1 a1 0 0
b d a
2 2 2
T =0 0 , (2)
bn −1 d n −1 an −1
0 0 bn d n
The coefficient matrix T in (2) can be stored in 3n memory locations by using three vectors:
a = [ a1 , a2 ,, an ] , b = [b1 , b2 ,, bn ] , and d = [ d1 , d 2 ,, d n ] , with an= b=
1 0. This is always a good habit
in computation in order to save memory space.
Of course, the non-singularity of the coefficient matrix should be checked firstly to make sure that the system
OPEN ACCESS AM
414 M. EL-MIKKAWY, F. ATLAN
(1) has a non-trivial solution. The DETGTRI algorithm [28] can be used efficiently for this purpose.
Definition 1.1 [29]. The symmetric matrix A = ( aij )
n
is called positive definite if and only if
i , j =1
Theorem 1.2 [29]. The symmetric matrix A ∈ n×n is positive definite if and only if any of the following
conditions is satisfied:
1) A has only positive eigenvalues.
a11 a1k
2) =Fk > 0, for=
k 1, 2,, n.
ak1 akk
In particular, the author in [30] proved that for the tridiagonal matrix (2), it is true that
= Fk c= k Fk −1 , k 1, 2, , n, provided that F0 = 1. Thus the tridiagonal matrix (2) is positive definite if and only
if ci > 0, i = 1, 2, , n. This is an easy way to check weather a tridiagonal matrix is positive definite or not.
3) A can be written as: A = B T B for a non-singular matrix B ∈ n×n .
Definition 1.3 [29]. An n × n matrix A is called diagonally dominant if
n
aii ≥ ∑ aij , 1 ≤ i ≤ n,
j =1,
j ≠i
The current paper is organized as follows. In Section 2, new algorithms for solving linear systems of
equations of tridiagonal type via transformations are given. In Section 3, concluding remarks are given. MAPLE
procedures are given in Section 4. Illustrative examples are presented in Section 5.
Throughout this paper, the word “simplify” means simplifying the expression under consideration to its sim-
plest rational form.
2. Main Results
In this Section, we are going to consider the derivation of new algorithms for solving linear systems of equations
of tridiagonal type (1) via transformations. For this purpose it is convenient to introduce three vectors
c = [ c1 , c2 ,, cn ] , y = [ y1 , y2 ,, yn ] and z = [ z1 , z2 ,, zn ] where
c=i di − bi yi −1 ,
a1 f1
ai
=c1 d=
1 , y1 = , z1 and =
yi , =
for i 2,3, , n (3)
c1 c1 ci
1
= zi ( fi − bi zi −1 ) .
ci
By using the vectors c, y and z, together with the suitable elementary row operations (ERO’s), we see that the
system (1) may be transformed to the equivalent linear system:
1 y1 0 0 x1 z1
0 1 y x z
2 2 2
0 x3 = z3 . (4)
1 yn −1
0 0 1 xn zn
OPEN ACCESS AM
M. EL-MIKKAWY, F. ATLAN 415
The transformed system (4) is easy to solve by backward substitution. Consequently, the linear system (1) can
be solved using the following algorithm:
To solve the linear system of the form (1), we may proceed as follows:
INPUT: Order of the matrix n and the components, ai , di , bi , fi , i = 1,2,, n, ( a=
n
b=
1
0 ).
Step 1: Use the DETGTRI algorithm [28] to check the non-singularity of the coefficient matrix of the system (1).
Step 2: If det (T ) = 0 , then Exiterror (‘”No solutions”) end if.
a1 f
Step 3: Set c1 = d1 , y1 = and z1 = 1 .
c1 c1
Step 4:=
For i 2,3,, n − 1 do
Compute and simplify:
c=i di − bi yi−1 ,
ai
yi = ,
ci
1
=zi ( fi − bi zi−1 ).
ci
End do.
c=
n
d n − bn yn−1.
1
=zn ( f n − bn zn−1 ).
cn
Step 5: Compute the solution vector x = [ x1 , x2 ,, xn ]
T
using
xn = zn ,
For i =n − 1, n − 2,,1 do
x=i zi − yi xi+1
End do.
The Algorithm 2.1, will be referred to as TRANSTRI-I algorithm. The cost of the algorithm is 5n − 4
multiplications/divisions and 3n − 3 additions/subtractions.
Note that the algorithm TRANSTRI-I works properly only if ci ≠ 0 for all i ∈ {1, 2,, n}.
At this point, it should be mentioned that if the coefficient matrix, T of the system (1) is positive definite or
diagonally dominant, then the numeric algorithm TRANSTRI-I will never fail.
The following symbolic version algorithm is developed in order to remove the cases where the numeric
algorithm TRANSTRI-I fails. The parameter “s” in the algorithm is just a symbolic name. It is a dummy
argument and its actual value is zero.
To solve the linear system of the form (1), we may proceed as follows:
INPUT: Order of the matrix n and the components, ai , di , bi , fi , i = 1,2,, n, ( a=
n
b=
1
0 ).
Step 1: Use the DETGTRI algorithm [28] to check the non-singularity of the coefficient matrix of the system (1).
Step 2: If det (T ) = 0 , then Exiterror(“No solutions”) end if.
Step 3: Set c1 = d1. If c1 = 0 then c1 = s end if.
a1 f
Set y1 = and z1 = 1 .
c1 c1
Step 4:=
For i 2,3,, n − 1 do
Compute and simplify:
c=i di − bi yi−1. If ci = 0 then ci = s end if.
ai
yi = ,
ci
OPEN ACCESS AM
416 M. EL-MIKKAWY, F. ATLAN
1
=zi ( fi − bi zi−1 ).
ci
End do.
c=
n
d n − bn yn−1. If cn = 0 then cn = s end if.
1
=zn ( f n − bn zn−1 ).
cn
Step 5: Compute the solution vector x = [ x1 , x2 ,, xn ]
T
using
xn = zn ,
For i =n − 1, n − 2,,1 do
x=i zi − yi xi+1
End do.
Step 6: Substitute s = 0 in all expressions of the solution vector xi , i = 1,2,, n.
e= i di − aiYi +1 ,
b f b
en =d n , Yn = n , Z n = n and Yi = i , for i =n − 1, n − 2, ,1 (5)
en en ei
1
= Zi ( fi − ai Zi +1 ) .
ei
1 0 0 x1 Z1
Y 1 x2 Z 2
2
0 x3 = Z 3 . (6)
1 0
0 0 Yn 1 xn Z n
The transformed system (6) is easy to solve using forward substitution. Therefore the linear system (1) can be
solved using the following algorithm:
Algorithm 2.3. Symbolic version algorithm for solving tridiagonal linear system.
To solve the linear system of the form (1), we may proceed as follows:
INPUT: Order of the matrix n and the components, ai , di , bi , fi , i = 1,2,, n, ( a=
n
b=
1
0 ).
Step 1: Use the DETGTRI algorithm [28] to check the non-singularity of the coefficient matrix of the system (1).
Step 2: If det (T ) = 0 , then Exiterror(“No solutions”) end if.
Step 3: Set en = d n . If en = 0 then en = s end if.
bn f
Yn = and Z n = n .
en en
Step 4: For i =n − 1, n − 2,,2 do
Compute and simplify:
e=i di − ai Yi+1. If ei = 0 then ei = s end if.
bi
Yi = ,
ei
OPEN ACCESS AM
M. EL-MIKKAWY, F. ATLAN 417
1
=
Zi ( fi − ai Zi+1 ).
ei
End do.
e=
1
d1 − a1Y2 . If e1 = 0 then e1 = s end if.
1
=
Z1 ( f1 − a1Z 2 ).
e1
Step 5: Compute the solution vector x = [ x1 , x2 ,, xn ]
T
using
x1 = Z1 ,
For i = 2,3,, n do
x=i Z i − Yi xi−1
End do.
Step 6: Substitute s = 0 in all expressions of the solution vector xi , i = 1,2,, n.
Tˆ [u1 , u2 ,, un ] = f
T
(8)
[ x1 , x2 ,, xn ]
T
has the solution:= ui xn +=
1− i , i 1, 2,, n , where k is the floor function of k and is the
solution vector of the linear system (1).
Proof. Consider the n × n permutation matrix P defined by:
0 0 1
1 0
P = . (9)
0 1
1 0 0
and
n ( n −1) n ( n −1)
( )
n n
( −1) 2 ∏cr =
det Tˆ = ( −1) 2 ∏er , (13)
=r 1=r 1
OPEN ACCESS AM
418 M. EL-MIKKAWY, F. ATLAN
3. Conclusions
There are many numeric algorithms in current use for solving linear systems of tridiagonal type. The Thomas
algorithm is the well known numeric algorithm for solving such systems. However, all Thomas and Thomas-like
numeric algorithms including the TRANSTRI-I algorithm of the current paper, fail to solve the tridiagonal linear
system if ci = 0 for any i ∈ {1, 2,, n}. For example, all these numeric algorithms fail to solve the linear system:
1 1 0 x1 3
1 1 2 x = 9 ,
2
0 3 4 x3 18
since c2 = 0, although its coefficient matrix is invertible and its inverse is the following matrix
1 2 1
3 −
3 3
2 −
2 1
.
3 3 3
− 1 1
0
2 2
The symbolic algorithms TRANSTRI-II and TRANSTRI-III of the current paper are constructed in order to
remove the cases where the numeric algorithms fail. These are the only symbolic algorithms for solving linear
systems of tridiagonal type. Consequently, we are not going to compare them with numeric algorithms.
4. Computer Programs
In this Section, we are going to introduce MAPLE procedures for solving linear system of tridiagonal type (1).
These procedures are based on the algorithms DETGTRI, TRANSTRI-II and TRANSTRI-III. The procedure
of Program 1, alters the contents of the vectors d , a and f . Eventually, the contents of the vectors c, y
and z are stored in d , a and f , respectively. The procedure of Program 2, alters the contents of the
vectors d , a and f . Eventually, the contents of the vectors e, Y and Z are stored in d , b and
f , respectively.
OPEN ACCESS AM
M. EL-MIKKAWY, F. ATLAN 419
x[n]:=simplify(f[n]);
for i from n-1 by -1 to 1 do
x[i]:=simplify((f[i]-a[i]*x[i+1]));
od;
eval(x);
fi:
end proc :
Based on the algorithm TRANSTRI-III, a MAPLE procedure for solving the linear system of tridiagonal type (1) is given
below.
> restart:
tritrans := proc(d::vector, a::vector, b::vector,f::vector,n::posint)
local i:
global x,T:
x:= vector(n):
if d[n] = 0 then d[n]:=s fi:
b[n]:=simplify(b[n]/d[n]): f[n]:=simplify(f[n]/d[n]):
for i from n-1 by -1 to 2 do
d[i] := simplify(d[i]-b[i+1]*a[i]);
if d[i] = 0 then d[i] := s; fi:
b[i] := simplify(b[i]/d[i]);
f[i] := simplify((f[i]-f[i+1]*a[i])/d[i]);
od:
d[1] := simplify(d[1]-b[2]*a[1]);
if d[1] = 0 then d[1] := s; fi:
f[1] := simplify((f[1]-f[2]*a[1])/d[1]);
#To compute the determinant of the tridiagonal matrix#
T := simplify(subs(s =0,simplify(product(d[r],r= 1..n)))):
if T = 0 then
error(“Singular Matrix”)
else
# To compute the Solution of the system X. #
x[1]:=simplify(f[1]);
for i from 2 to n do
x[i]:=simplify((f[i]-b[i]*x[i-1]));
od;
eval(x);
fi:
end proc :
5. Illustrative Examples
All results in this section are obtained by executing the MAPLE procedures of Program 1 and Program 2 pre-
sented in the previous section.
Example 5.1. Solve the tridiagonal linear system
6 0 0 0 0 0 0 x1 0
1
4 1 0 0 0 0 x2 1
0 1 4 1 0 0 0 x3 2
0 0 1 4 1 0 0 x4 = −6 (14)
0 0 0 1 4 1 0 x5 2
0 0 0 0 1 4 1 x6 1
0
0 0 0 0 0 6 x7 0
Solution: We have
OPEN ACCESS AM
420 M. EL-MIKKAWY, F. ATLAN
=
and f [0,1, 2, −6, 2,1,0]T .
By applying the TRANSTRI-I algorithm, we get
15 56 209 780
• c = 6, 4, , , , ,6 .
4 15 56 209
7
• (T )
det = ∏
=ci 28080.
i =1
=
• The solution vector is given by: x [0,0,1, −2,1,0,0]T .
Note that the coefficient matrix T in (14) is positive definite.
By applying the algorithms TRANSTRI-II and TRANSTRI-III, we obtain the same solution vector.
Example 5.2. Solve the tridiagonal linear system
2 1 0 0 0 0 0 0 0 0 x1 1
1
3 2 0 0 0 0 0 0 0 x2 2
0 1 3 1 0 0 0 0 0 0 x3 6
0 0 7 2 6 0 0 0 0 0 x4 34
0 0 0 6 2 1 0 0 0 0 x5 10
=
0 0 0 0 3 4 3 0 0 0 x6 1
0 0 0 0 0 8 1 5 0 0 x7 4
0 0 0 0 0 0 6 2 7 0 x8 22
0 0 0 0 0 0 0 5 4 3 x9 25
0 0 0 0 0 0 0 0 4 5 x10 3
By using the algorithms TRANSTRI-II and TRANSTRI-III, we obtain the same solution vector.
Example 5.3. Solve the tridiagonal linear system
1 1 0 0 0 0 0 0 0 0 x1 4
1
1 10 0 0 0 0 0 0 0 x2 14
0 7 1 2 0 0 0 0 0 0 x3 26
0 0 2 11 1 0 0 0 0 0 x4 25
0 0 0 2 3 7 0 0 0 0 x5 0
= (15)
0 0 0 0 3 1 2 0 0 0 x6 2
0 0 0 0 0 −1 2 2 0 0 x7 1
0 0 0 0 0 0 2 1 1 0 x8 3
0 0 0 0 0 0 0 5 2 4 x9 10
0 0 0 0 0 0 0 0 1 5 x10 8
OPEN ACCESS AM
M. EL-MIKKAWY, F. ATLAN 421
The numeric algorithm TRANSTRI-I fails to solve the linear system (15) since c2 = 0. Applying the
TRANSTRI-II algorithm, it gives:
( s − 70 ) 7 × ( s − 110 ) 1 (19 × s − 2170 ) −16 × (8 × s − 875) 1 (109 × s − 11830 )
c= 1, s, , , × , , × ,
s ( s − 70 ) 7 ( s − 110 ) (19 × s − 2170 ) 8 (8 × s − 875)
•
−147 × ( s − 110 ) 1 ( 839 × s − 91490 ) ( 3607 × s − 392770 )
,× , .
(109 × s − 11830 ) 147 ( s − 110 ) (839 × s − 91490 )
10
• det (T ) = ∏ci =( 7214 × s − 785540 ) s = 0 =−785540.
i =1 s = 0
• The solution vector is given by:
2 × ( 7214 × s − 196385 ) −1178310 2 × ( 60719 × s − 196385 ) −4 × ( 3457 × s + 196385 )
x= , , , ,
( 3607 × s − 392770 ) ( 3607 × s − 392770 ) ( 3607 × s − 392770 ) ( 3607 × s − 392770 )
− ( 593 × s + 392770 ) 5 × ( 841 × s + 78554 ) 2394 × s 1512 × s
, , , ,
( 3607 × s − 392770 ) ( 3607 × s − 392770 ) ( 3607 × s − 392770 ) ( 3607 × s − 392770 )
3 × (1507 × s − 392770 ) 31 × (157 × s − 12670 )
T
,
( 3607 × s − 392770 ) ( 3607 × s − 392770 ) s =0
= [1,3,1, 2,1, −1,0,0,3,1] .
T
Acknowledgements
The authors wish to thank anonymous referees and the editorial board for useful comments that enhanced the
quality of this paper.
REFERENCES
[1] G. Y. Hu and R. F. O’Connell, “Analytical Inversion of Symmetric Tridiagonal Matrices,” Journal of Physics A, Vol. 29, No. 7,
1996, pp. 1511-1513.
[2] I. Mazilu, D. A. Mazilu and H. T. Williams, “Applications of Tridiagonal Matrices in Non-Equilibrium Statistical Physics,”
Electronic Journal of Linear Algebra, Vol. 24, 2012, pp. 7-17.
[3] J. A. Marrero, M. Rachidi and V. Tomeo, “Non-Symbolic Algorithms for the Inversion of Tridiagonal Matrices,” Journal of
Computational and Applied Mathematics, Vol. 252, 2013, pp. 3-11. http://dx.doi.org/10.1016/j.cam.2012.05.003
[4] Q. Al-Hassan, “On Powers of Tridiagonal Matrices with Nonnegative Entries,” Journal of Applied Mathematical Sciences, Vol.
6, No. 48, 2012, pp. 2357-2368.
[5] C. M. da Fonseca and J. Petronilho, “Explicit Inverses of Some Tridiagonal Matrices,” Linear Algebra and Its Applications,
Vol. 325, No. 1-3, 2001, pp. 7-21. http://dx.doi.org/10.1016/S0024-3795(00)00289-5
[6] Y. Huang and W. F. McColl, “Analytic Inversion of General Tridiagonal Matrices,” Journal of Physics A, Vol. 30, No. 22,
1997, pp. 7919-7933. http://dx.doi.org/10.1088/0305-4470/30/22/026
[7] A. Kavcic and J. M. F. Moura, “Matrices with Banded Inverses: Inversion Algorithms and Factorization of Gauss-Markov
Processes,” IEEE Transactions on Information Theory, Vol. 46, No. 4, 2000, pp. 1495-1509.
http://dx.doi.org/10.1109/18.954748
[8] H.-B. Li, T.-Z. Huang, X.-P. Liu and H. Li, “On the Inverses of General Tridiagonal Matrices,” Linear Algebra and Its Appli-
cations, Vol. 433, No. 5, 2010, pp. 965-983. http://dx.doi.org/10.1016/j.laa.2010.04.042
OPEN ACCESS AM
422 M. EL-MIKKAWY, F. ATLAN
[9] A. Martin and I. D. Boyd, “Variant of the Thomas Algorithm for Opposite-Bordered Tridiagonal Systems of Equations,” In-
ternational Journal for Numerical Methods in Biomedical Engineering, Vol. 26, No. 6, 2010, pp. 752-759.
[10] E. Olcayto, “Recursive Formulae for Ladder Network Optimization,” Electronics Letters, Vol. 15, No. 9, 1979, pp. 249-250.
http://dx.doi.org/10.1049/el:19790176
[11] T. M. Austin, M. Berndt and J. D. Moulton, “A Memory Efficient Parallel Line Solver,” Submitted to SISC, 2004.
[12] J.-J. Climent, L. Tortosa and A. Zamora, “A Note on the Recursive Decoupling Method for Solving Tridiagonal Linear Sys-
tems,” Applied Mathematics and Computation, Vol. 140, No. 1, 2003, pp. 159-164.
http://dx.doi.org/10.1016/S0096-3003(02)00218-7
[13] O. Egecioglu, C. K. Koc and A. J. Laub, “A Recursive Doubling Algorithm for Solution of Tridiagonal Systems on Hypercube
Multiprocessors,” Journal of Computational and Applied Mathematics, Vol. 27, No. 1-2, 1989, pp. 95-108.
http://dx.doi.org/10.1016/0377-0427(89)90362-2
[14] M. E. A. El-Mikkawy, “An Algorithm for Solving Tridiagonal Systems,” Journal of Institute of Mathematics and Computer
Science Computer Science Series, Vol. 4, No. 2, 1991, pp. 205-210.
[15] M. E. A. El-Mikkawy, “On the Inverse of a General Tridiagonal Matrix,” Applied Mathematics and Computation, Vol. 150, No.
3, 2004, pp. 669-679. http://dx.doi.org/10.1016/S0096-3003(03)00298-4
[16] M. E. A. El-Mikkawy, “A New Computational Algorithm for Solving Periodic Tri-Diagonal Linear Systems,” Applied Mathe-
matics and Computation, Vol. 161, No. 2, 2005, pp. 691-696. http://dx.doi.org/10.1016/j.amc.2003.12.114
[17] M. E. A. El-Mikkawy and A. Karawia, “Inversion of General Tridiagonal Matrices,” Applied Mathematics Letters, Vol. 19, No.
8, 2006, pp. 712-720. http://dx.doi.org/10.1016/j.aml.2005.11.012
[18] M. E. A. El-Mikkawy and E.-D. Rahmo, “A New Recursive Algorithm for Inverting General Tridiagonal and Anti-Tridiagonal
Matrices,” Applied Mathematics and Computation, Vol. 204, No. 1, 2008, pp. 368-372.
http://dx.doi.org/10.1016/j.amc.2008.06.053
[19] M. E. A. El-Mikkawy, “A Generalized Symbolic Thomas Algorithm,” Applied Mathematics, Vol. 3, No. 4, 2012, pp. 342-345.
http://dx.doi.org/10.4236/am.2012.34052
[20] D. Fanache, “A Parallel Solution of Tridiagonal Linear Systems by Continued Fractions,” Journal of Arts & Sciences, Vol. 11,
No. 1, 2011, pp. 21-30.
[21] R. K. Mallik, “The Inverse of a Tridiagonal Matrix,” Linear Algebra and Its Applications, Vol. 325, No. 1-3, 2001, pp. 109-139.
http://dx.doi.org/10.1016/S0024-3795(00)00262-7
[22] B. V. Minchev, “Some Algorithms for Solving Special Tridiagonal Block Toeplitz Linear Systems,” Journal of Computational
and Applied Mathematics, Vol. 156, No. 1, 2003, pp. 179-200. http://dx.doi.org/10.1016/S0377-0427(02)00911-1
[23] T. Sogabe, “On a Two-Term Recurrence for the Determinant of a General Matrix,” Applied Mathematics and Computation,
Vol. 187, No. 2, 2007, pp. 785-788. http://dx.doi.org/10.1016/j.amc.2006.08.156
[24] T. Sugimoto, “On an Inverse Formula of a Tridiagonal Matrix,” Operators and Matrices, Vol. 6, No. 3, 2012, pp. 465-480.
http://dx.doi.org/10.7153/oam-06-30
[25] R. Usmani, “Inversion of a Tridiagonal Jacobi Matrix,” Linear Algebra and Its Applications, Vol. 212-213, 1994, pp. 413-414.
http://dx.doi.org/10.1016/0024-3795(94)90414-6
[26] T. Yamamoto and Y. Ikebe, “Inversion of Band Matrices,” Linear Algebra and Its Applications, Vol. 24, 1979, pp. 105-111.
http://dx.doi.org/10.1016/0024-3795(79)90151-4
[27] Y. Zhang, J. Cohen and J. D. Owens, “Fast Tridiagonal Solvers on the GPU,” Proceedings of the 15th ACM SIGPLAN Sympo-
sium on Principles and Practice of Parallel Programming (PPoPP 2010), Bangalore, 9-14 January 2010, pp. 127-136.
[28] M. E. A. El-Mikkawy, “A Fast Algorithm for Evaluating nth Order Tri-Diagonal Determinants,” Applied Mathematics and
Computation, Vol. 202, No. 1, 2008, pp. 210-215. http://dx.doi.org/10.1016/j.amc.2008.01.032
[29] J. W. Demmel, “Applied Numerical Linear Algebra,” Society for Industrial and Applied Mathematics, Philadelphia, 1997.
http://dx.doi.org/10.1137/1.9781611971446
[30] M. E. A. El-Mikkawy, “A Note on a Three-Term Recurrence for a Tridiagonal Matrix,” Applied Mathematics and Computation,
Vol. 139, No. 2-3, 2003, pp. 503-511. http://dx.doi.org/10.1016/S0096-3003(02)00212-6
OPEN ACCESS AM