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
  • Get Citation Alerts
  • 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)47
      • Downloads (Last 6 weeks)4
      Reflects downloads up to 10 Aug 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