Affiliation:
1. University of California, Berkeley, Berkeley, CA
2. Lawrence Berkeley National Laboratory, Berkeley, CA
Abstract
We consider the efficient and accurate computation of Givens rotations. Whenfandgare positive real numbers, this simply amounts to computing the values ofc=f/√f2+g2,s=g/√f2+g2, andr= √f2+g2. This apparently trivial computation merits closer consideration for the following three reasons. First, while the definitions ofc,sandrseem obvious in the case of two nonnegative argumentsfandg, there is enough freedom of choice when one or more offandgare negative, zero or complex that LAPACK auxiliary routines SLARTG, CLARTG, SLARGV and CLARGV can compute rather different values ofc,sandrfor mathematically identical values offandg. To eliminate this unnecessary ambiguity, the BLAS Technical Forum chose a single consistent definition of Givens rotations that we will justify here. Second, computing accurate values ofc,sandras efficiently as possible and reliably despite over/underflow is surprisingly complicated. For complex Givens rotations, the most efficient formulas require only one real square root and one real divide (as well as several much cheaper additions and multiplications), but a reliable implementation using only working precision has a number of cases. On a Sun Ultra-10, the new implementation is slightly faster than the previous LAPACK implementation in the most common case, and 2.7 to 4.6 times faster than the corresponding vendor, reference or ATLAS routines. It is also more reliable; all previous codes occasionally suffer from large inaccuracies due to over/underflow. For real Givens rotations, there are also improvements in speed and accuracy, though not as striking. Third, the design process that led to this reliable implementation is quite systematic, and could be applied to the design of similarly reliable subroutines.
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Reference18 articles.
1. Anderson E. Bai Z. Bischof C. Demmel J. Dongarra J. Du Croz J. Greenbaum A. Hammarling S. McKenney A. Blackford S. and Sorensen D. 1999. LAPACK Users' Guide 3rd ed. SIAM Philadelphia Pa. Anderson E. Bai Z. Bischof C. Demmel J. Dongarra J. Du Croz J. Greenbaum A. Hammarling S. McKenney A. Blackford S. and Sorensen D. 1999. LAPACK Users' Guide 3rd ed. SIAM Philadelphia Pa.
2. ANSI/IEEE Std 754-1985 IEEE Standard for Binary Floating Point Arithmetic. ANSI/IEEE New York. ANSI/IEEE Std 754-1985 IEEE Standard for Binary Floating Point Arithmetic. ANSI/IEEE New York.
3. Bindel D. Demmel J. Kahan W. and Marques O. 2002. Software for reliable and efficient Givens rotations. www.cs.berkeley.edu/∼demmel/Givens. Bindel D. Demmel J. Kahan W. and Marques O. 2002. Software for reliable and efficient Givens rotations. www.cs.berkeley.edu/∼demmel/Givens.
4. Basic Linear Algebra Subprograms Technical (BLAST) Forum;Blackford S.;Standard. Intern. J. High Performance Comput.,2001
Cited by
57 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献