Skip to main content

A multilevel parallel algorithm to solve symmetric Toeplitz linear systems

Abstract

This paper presents a parallel algorithm to solve a structured linear system with a symmetric-Toeplitz matrix. Our main result concerns the use of a combination of shared and distributed memory programming tools to obtain a multilevel algorithm that exploits the actual different hierarchical levels of memory and computational units present in parallel architectures. This gives, as a result, a so-called parallel hybrid algorithm that is able to exploit each of these different configurations. Our approach has been done not only by means of combining standard implementation tools like OpenMP and MPI, but performing the appropriate mathematical derivation that allows this derivation. The experimental results over different representations of available parallel hardware configurations show the usefulness of our proposal.

This is a preview of subscription content, access via your institution.

References

  1. Schur I. (1917 (1986)) On power series which are bounded in the interior of the unit circle I, II. In: Gohberg I. (ed) I. Schur methods in operator theory and signal processing. Operator theory: advances and applications, vol 18. Birkhäuser, Basel, pp 31–59

  2. Kailath T, Kung SY, Morf M (1979) Displacement ranks of matrices and linear equations. J Math Anal Appl 68:395–407

    Article  MATH  MathSciNet  Google Scholar 

  3. Bareiss EH (1969) Numerical solution of linear equations with Toeplitz and vector Toeplitz matrices. Numer Math 13:404–424

    Article  MATH  MathSciNet  Google Scholar 

  4. Rissanen J (1973) Algorithms for triangular decomposition of block Hankel and Toeplitz matrices with application to factoring positive matrix polynomials. Math Comput 27(121):147–154

    Article  MATH  MathSciNet  Google Scholar 

  5. Morf M (1974) Fast algorithms for multivariable systems. PhD thesis, Stanford University

  6. Levinson N (1946) The Wiener RMS (root mean square) error criterion in filter design and prediction. J Math Phys 25:261–278

    MathSciNet  Google Scholar 

  7. Durbin J (1960) The fitting of time series models. Rev Int Stat Inst 28:233–243

    Article  Google Scholar 

  8. Trench WF (1964) An algorithm for the inversion of finite Toeplitz matrices. J Soc Ind App Math 12(3):515–522

    Article  MATH  MathSciNet  Google Scholar 

  9. Zohar S (1969) Toeplitz matrix inversion: The algorithm of W.F. Trench. J ACM 16(4):592–601

    Article  MATH  MathSciNet  Google Scholar 

  10. Zohar S (1974) The solution of a Toeplitz set of linear equations. J ACM 21(2):272–276

    Article  MATH  MathSciNet  Google Scholar 

  11. Kailath T, Sayed AH (eds) (1999) Fast reliable algorithms for matrices with structure. SIAM, Philadelphia

    MATH  Google Scholar 

  12. Brent R, Luk F (1983) A systolic array for the linear time solution of Toeplitz systems of equations. J VLSI Comput Syst 1:1–22

    MATH  MathSciNet  Google Scholar 

  13. Kung SY, Hu YH (1983) A highly concurrent algorithm and pipelined architecture for solving Toeplitz systems. IEEE Trans Acoust Speech Signal Process ASSP-31(1):66

    Article  Google Scholar 

  14. Ipsen I (1987) Systolic algorithms for the parallel solution of dense symmetric positive-definite Toeplitz systems. Technical Report YALEU/DCS/RR-539, Department of Computer Science, Yale University, New Haven, CT, May 1987

  15. Brent RP (1990) Parallel algorithms for Toeplitz matrices. In: Golub GH, Van Dooren P (eds) Numerical linear algebra, digital signal processing and parallel algorithms. Computer and systems sciences, number 70. Springer, pp 75–92

  16. Huang Y, McColl WF (1999) A BSP Bareiss algorithm for Toeplitz systems. J Parallel Distributed Comput 56(2):99–121

    Article  MATH  Google Scholar 

  17. de Doncker E, Kapenga J (1990) Parallelization of Toeplitz solvers. In: Golub GH, Van Doore P (eds) Numerical linear algebra, digital signal processing and parallel algorithms. Computer and systems sciences, number 70. Springer, pp 467–476

  18. Gohberg I, Koltracht I, Averbuch A, Shoham B (1991) Timing analysis of a parallel algorithm for Toeplitz matrices on a MIMD parallel machine. Parallel Comput 17(4–5):563–577

    Article  Google Scholar 

  19. Aho AV, Hopcroft JE, Ullman JD (1974) The design and analysis of computer algorithms. Addison-Wesley, Reading

    MATH  Google Scholar 

  20. Pan V (2000) Parallel complexity of computations with general and Toeplitz-like matrices filled with integers and extensions. SICOMP SIAM J Comput 30

  21. Reif JH (2005) Efficient parallel factorization and solution of structured and unstructured linear systems. JCSS J Comput Syst Sci 71

  22. Alonso P, Badía JM, Vidal AM (2001) A parallel algorithm for solving the Toeplitz least squares problem. In: Lecture Notes in Computer Science, vol 1981. Springer, Berlin, pp 316–329

    Google Scholar 

  23. Alonso P, Badía JM, Vidal AM (2005) Solving the block-Toeplitz least-squares problem in parallel. Concurr Comput Pract Experience 17:49–67

    Article  Google Scholar 

  24. Alonso P, Badía JM, Vidal AM (2005) An efficient parallel algorithm to solve block-Toeplitz systems. J Supercomput 32:251–278

    Article  Google Scholar 

  25. Alonso P, Badía JM, Vidal AM (2004) Parallel algorithms for the solution of Toeplitz systems of linear equations. In: Lecture Notes in Computer Science, vol 3019. Springer, Berlin, pp 969–976

    Google Scholar 

  26. Gohberg I, Kailath T, Olshevsky V (1995) Fast Gaussian elimination with partial pivoting for matrices with displacement structure. Math Comput 64(212):1557–1576

    Article  MATH  MathSciNet  Google Scholar 

  27. Thirumalai S (1996) High performance algorithms to solve Toeplitz and block Toeplitz systems. PhD thesis, Graduate College of the University of Illinois at Urbana-Champaign

  28. Alonso P, Vidal AM (2005) The symmetric-Toeplitz linear system problem in parallel. In: Lecture Notes in Computer Science, vol 3514. Springer, Berlin, pp 220–228

    Google Scholar 

  29. Alonso P, Vidal AM (2005) An efficient parallel solution of complex Toeplitz linear systems. In: PPAM. Lecture Notes in Computer Science, vol 3911. Springer, Berlin, pp 486–493

    Google Scholar 

  30. Alonso P, Bernabeu MO, Vidal AM (2006) A parallel solution of hermitian Toeplitz linear systems. In: Computational Science—ICCS. Lecture Notes in Computer Science, vol 3991. Springer, Berlin, pp 348–355

    Google Scholar 

  31. Alonso P, Badía JM, Vidal AM (2005) An efficient and stable parallel solution for non–symmetric Toeplitz linear systems. In: Lecture Notes in Computer Science, vol 3402. Springer, Berlin, pp 685–692

    Google Scholar 

  32. Van Loan C (1992) Computational frameworks for the fast Fourier transform. SIAM, Philadelphia

    MATH  Google Scholar 

  33. Heinig G (1994) Inversion of generalized Cauchy matrices and other classes of structured matrices. Linear Algebra Signal Process IMA Math Appl 69:95–114

    Google Scholar 

  34. Thirumalai S (1996) High performance algorithms to solve Toeplitz and block Toeplitz systems. PhD thesis, Graduate College of the University of Illinois at Urbana-Champaign

  35. Alonso P, Vidal AM (2005) An efficient and stable parallel solution for symmetric Toeplitz linear systems. TR DSIC-II/2005, DSIC-Univ Polit Valencia

  36. Chan RH, Ng MK, Wong CK (1996) Sine transform based preconditioners for symmetric Toeplitz systems. Linear Algebra Appl 232(1–3):237–259

    Article  MATH  MathSciNet  Google Scholar 

  37. Blikberg R, Sørevik T (2001) Nested parallelism: Allocation of threads to tasks and openmp implementation. Sci Program 9(2-3):185–194

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miguel O. Bernabeu.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bernabeu, M.O., Alonso, P. & Vidal, A.M. A multilevel parallel algorithm to solve symmetric Toeplitz linear systems. J Supercomput 44, 237–256 (2008). https://doi.org/10.1007/s11227-007-0157-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-007-0157-x

Keywords

  • Toeplitz matrix
  • Cauchy-like matrix
  • Rank displacement
  • Multilevel parallel programming
  • MPI
  • OpenMP