skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Benefits of IEEE-754 features in modern symmetric tridiagonaleigensolvers

Journal Article · · SIAM Journal on Scientific Computing (SISC)
DOI:https://doi.org/10.1137/050641624· OSTI ID:920062

Bisection is one of the most common methods used to compute the eigenvalues of symmetric tridiagonal matrices. Bisection relies on the Sturm count: For a given shift a, the number of negative pivots in the factorization T - {sigma}I = LDL{sup T} equals the number of eigenvalues of T that are smaller than a. In IEEE-754 arithmetic, the value oo permits the computation to continue past a zero pivot, producing a correct Sturm count when T is unreduced. Demmel and Li showed that using oo rather than testing for zero pivots within the loop could significantly improve performance on certain architectures. When eigenvalues are to be computed to high relative accuracy, it is often preferable to work with LDL{sup T} factorizations instead of the original tridiagonal T. One important example is the MRRR algorithm. When bisection is applied to the factored matrix, the Sturm count is computed from LDL{sup T} which makes differential stationary and progressive qds algorithms the methods of choice. While it seems trivial to replace T by LDL{sup T}, in reality these algorithms are more complicated: In IEEE-754 arithmetic, a zero pivot produces an overflow followed by an invalid exception (NaN, or 'Not a Number') that renders the Sturm count incorrect. We present alternative, safe formulations that are guaranteed to produce the correct result. Benchmarking these algorithms on a variety of platforms shows that the original formulation without tests is always faster provided that no exception occurs. The transforms see speed-ups of up to 2.6x over the careful formulations. Tests on industrial matrices show that encountering exceptions in practice is rare. This leads to the following design: First, compute the Sturm count by the fast but unsafe algorithm. Then, if an exception occurs, recompute the count by a safe, slower alternative. The new Sturm count algorithms improve the speed of bisection by up to 2x on our test matrices. Furthermore, unlike the traditional tiny-pivot substitution, proper use of IEEE-754 features provides a careful formulation that imposes no input range restrictions.

Research Organization:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Director, Office of Science; National ScienceFoundation
DOE Contract Number:
DE-AC02-05CH11231; NSF:ACI-9619020
OSTI ID:
920062
Report Number(s):
LBNL-58944; SJOCE3; R&D Project: KC6636; BnR: YN0100000; TRN: US200822%%708
Journal Information:
SIAM Journal on Scientific Computing (SISC), Vol. 28, Issue 5; Related Information: Journal Publication Date: 2006; ISSN 1064-8275
Country of Publication:
United States
Language:
English