Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

On computing givens rotations reliably and efficiently

Published: 01 June 2002 Publication History

Abstract

We consider the efficient and accurate computation of Givens rotations. When f and g are positive real numbers, this simply amounts to computing the values of c = f/√f2 + g2, s = g/√f2 + g2, and r = √f2 + g2. This apparently trivial computation merits closer consideration for the following three reasons. First, while the definitions of c, s and r seem obvious in the case of two nonnegative arguments f and g, there is enough freedom of choice when one or more of f and g are negative, zero or complex that LAPACK auxiliary routines SLARTG, CLARTG, SLARGV and CLARGV can compute rather different values of c, s and r for mathematically identical values of f and g. 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 of c, s and r as 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.

References

[1]
Anderson, E. 2000. Discontinuous plane rotations and the symmetric eigenvalue problem. Computer Science Dept. Tech. Rep. CS-00-454. Univ. Tennessee, Knoxville, Tenn. www.netlib.org/lapack/lawns/lawn150.ps.
[2]
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.
[3]
Anderson, E. and Fahey, M. 1997. Performance improvements to LAPACK for the Cray scientific library. Computer Science Dept. Tech. Rep. CS-97-359. Univ. Tennessee, Knoxville, Tenn. www.netlib.org/lapack/lawns/lawn126.ps.
[4]
ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating Point Arithmetic. ANSI/IEEE, New York.
[5]
Bindel, D., Demmel, J., Kahan, W., and Marques, O. 2002. Software for reliable and efficient Givens rotations. www.cs.berkeley.edu/∼demmel/Givens.
[6]
Blackford, S., Corliss, G., Demmel, J., Dongarra, J., Duff, I., Hammarling, S., Henry, G., Heroux, M., Hu, C., Kahan, W., Kaufman, L., Kearfott, B., Krogh, F., Li, X., Maany, Z., Petitet, A., Pozo, R., Remington, K., Walster, W., Whaley, C., Wolff v. Gudenberg, J., and Lumsdaine, A. 2001. Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard. Intern. J. High Performance Comput. 15, 3--4 (also available at www.netlib.org/blas/blast-forum/).
[7]
Demmel, J. 1997. Applied Numerical Linear Algebra. SIAM, Philadelphia, Pa.
[8]
Demmel, J. and Li, X. 1994. Faster numerical algorithms via exception handling. IEEE Trans. Comput. 43, 8, 983--992. LAPACK Working Note 59.
[9]
Dongarra, J., Bunch, J., Moler, C., and Stewart, G. W. 1979. LINPACK User's Guide. SIAM, Philadelphia, Pa.
[10]
Golub, G. and Van Loan, C. 1996. Matrix Computations, 3rd ed. Johns Hopkins University Press, Baltimore, Md.
[11]
Hull, T., Fairgrieve, T., and Tang, P. T. P. 1994. Implementing complex elementary functions using exception handling. ACM Trans. Math. Softw. 20, 2 (June), 215--244.
[12]
Hull, T., Fairgrieve, T., and Tang, P. T. P. 1997. Implementing complex Arcsine and Arccosine using exception handling. ACM Trans. Math. Softw. 23, 3 (Sept), 299--335.
[13]
IEEE 754-2002. IEEE Standard for Binary Floating Point Arithmetic Revision.grouper.ieee.org/groups/754.
[14]
Kato, T. 1980. Perturbation Theory for Linear Operators, 2 ed. Springer-Verlag, Berlin, Germany.
[15]
Kunkel, P. and Mehrmann, V. 1991. Smooth factorizations of matrix valued functions and their derivatives. Num. Math. 60, 115--132.
[16]
Lawson, C., Hanson, R., Kincaid, D., and Krogh, F. 1979. Basic linear algebra subprograms for Fortran usage. ACM Trans. Math. Softw. 5, 308--323.
[17]
Smith, B. T., Boyle, J. M., Dongarra, J. J., Garbow, B. S., Ikebe, Y., Klema, V. C., and Moler, C. B. 1976. Matrix Eigensystem Routines---EISPACK Guide. Lecture Notes in Computer Science, vol. 6. Springer-Verlag, Berlin, Germany.
[18]
Stewart, G. W. 1976. The economical storage of plane rotations. Numer. Math. 25, 2, 137--139.
[19]
Wilkinson, J. H. 1965. The Algebraic Eigenvalue Problem. Oxford University Press, Oxford, England.

Cited By

View all
  • (2024)Personalized Multimedia Recommendation Systems Using Higher-Order Tensor Singular-Value-DecompositionIEEE Transactions on Broadcasting10.1109/TBC.2023.327811170:1(148-160)Online publication date: Mar-2024
  • (2024)Enhancing efficiency in spaceborne phased array systems: MVDR algorithm and FPGA integrationDigital Signal Processing10.1016/j.dsp.2024.104732(104732)Online publication date: Aug-2024
  • (2024)Givens rotations for QR decomposition, SVD and PCA over database joinsThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-023-00818-933:4(1013-1037)Online publication date: 1-Jul-2024
  • Show More Cited By

Index Terms

  1. On computing givens rotations reliably and efficiently

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Mathematical Software
    ACM Transactions on Mathematical Software  Volume 28, Issue 2
    June 2002
    151 pages
    ISSN:0098-3500
    EISSN:1557-7295
    DOI:10.1145/567806
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 2002
    Published in TOMS Volume 28, Issue 2

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. BLAS
    2. Givens rotation
    3. linear algebra

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)52
    • Downloads (Last 6 weeks)9
    Reflects downloads up to 12 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Personalized Multimedia Recommendation Systems Using Higher-Order Tensor Singular-Value-DecompositionIEEE Transactions on Broadcasting10.1109/TBC.2023.327811170:1(148-160)Online publication date: Mar-2024
    • (2024)Enhancing efficiency in spaceborne phased array systems: MVDR algorithm and FPGA integrationDigital Signal Processing10.1016/j.dsp.2024.104732(104732)Online publication date: Aug-2024
    • (2024)Givens rotations for QR decomposition, SVD and PCA over database joinsThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-023-00818-933:4(1013-1037)Online publication date: 1-Jul-2024
    • (2023)An Efficient Hardware Implementation for Complex Square Root Calculation Using a PWL MethodElectronics10.3390/electronics1214301212:14(3012)Online publication date: 9-Jul-2023
    • (2023)Bayesian inverse scattering theory for multiparameter full-waveform inversion in transversely isotropic mediaGEOPHYSICS10.1190/geo2022-0140.188:3(C91-C109)Online publication date: 20-Apr-2023
    • (2023)An Efficient Data-Driven Switched Predictive Control Strategy With Online Data for Vehicle Lateral Stabilization in Ice and Snow-Rutted ConditionsIEEE Transactions on Systems, Man, and Cybernetics: Systems10.1109/TSMC.2023.329169153:11(7011-7024)Online publication date: Nov-2023
    • (2023)Variable Elimination in Model Predictive Control Based on K-SVD and QR FactorizationIEEE Transactions on Automatic Control10.1109/TAC.2021.313872868:2(782-797)Online publication date: Feb-2023
    • (2023)GMRES algorithms over 35 yearsApplied Mathematics and Computation10.1016/j.amc.2023.127869445(127869)Online publication date: May-2023
    • (2023)A Mixed Precision Randomized Preconditioner for the LSQR Solver on GPUsHigh Performance Computing10.1007/978-3-031-32041-5_9(164-181)Online publication date: 21-May-2023
    • (2022)Robust level-3 BLAS Inverse Iteration from the Hessenberg MatrixACM Transactions on Mathematical Software10.1145/354478948:3(1-30)Online publication date: 10-Sep-2022
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media