Skip to main content
Birkhäuser
Book cover

Elementary Functions

Algorithms and Implementation

  • Textbook
  • © 2006

Overview

  • Gives an up-to-date presentation of hardware-oriented and software-oriented methods used to compute elementary functions (sine, cosine, exponential, and logarithms), the most commonly used mathematical functions in science and engineering
  • The second edition adds a chapter on multiple-precision arithmetic, and new algorithms invented since 1997
  • The introductory presentation on floating-point arithmetic has been expanded with more emphasis on the use of the fused multiply-accumulate instruction
  • May be used as a textbook for such graduate courses as Mathematical Functions and Algorithms, Introduction to Scientific Computing, or Software and Computer Engineering

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 44.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (12 chapters)

  1. Introduction

  2. Some Basic Things About Computer Arithmetic

  3. Algorithms Based on Polynomial Approximation and/or Table Lookup, Multiple-Precision Evaluation of Functions

  4. Shift-and-Add Algorithms

  5. Range Reduction, Final Rounding and Exceptions

Keywords

About this book

"An important topic, which is on the boundary between numerical analysis and computer science …. I found the book well written and containing much interesting material, most of the time disseminated in specialized papers published in specialized journals difficult to find. Moreover, there are very few books on these topics and they are not recent." Numerical Algorithms (review of the first edition)

This unique book provides concepts and background necessary to understand and build algorithms for computing the elementary functions. The author presents and structures the algorithms (hardware-oriented as well as software-oriented), and also discusses issues related to accurate floating-point implementation. The purpose is not to give "cookbook recipes" that allow one to implement a given function, but rather to provide the reader with tools necessary to build, or adapt, algorithms to their specific computing environment.

The expanded second edition contains a number of revisions and additions, which incorporate numerous new results obtained during the last few years. New algorithms invented since 1997 – such as Matula’s bipartite method, another table-based method due to Ercegovac, Lang, Tisserand, and Muller – as well as a new chapter on multiple-precision arithmetic have been added. In addition, the section on correct rounding of elementary functions has been fully reworked, also in the context of new results. Finally, the introductory presentation of floating-point arithmetic has been expanded, with more emphasis given to the use of the fused multiply-accumulate instruction. The book is an up-to-date presentation of information needed to understand and accurately use mathematical functions and algorithms in computational work and design. Graduates, professionals, and researchers in scientific computing, software engineering, and computer engineering will find the book a useful reference and resource.

Reviews

"There a few classic books on algorithms for computing elementary functions.... These books focused on software implementation using polynomial approximations. Perhaps Muller's book is destined to become a new classic in this subject, but only time will tell.... Muller's book contains few theorems and even fewer proofs. It does contain many numerical examples, complete with Maple code.... In summary, this book seems like an essential reference for the experts (which I'm not). More importantly, this is an interesting book for the curious (which I am). In this case, you'll probably learn many interesting things from this book. If you teach numerical analysis or approximation theory, then this book will give you some good examples to discuss in class."   —MAA Reviews (Review of Second Edition)

"The rich content of ideas sketched or presented in some detail in this book is supplemented by a list of over three hundred references, most of them of 1980 or more recent. The book also contains some relevant typical programs."   —Zentralblatt MATH (Review of Second Edition)

"This book is devoted to the computation of elementary functions (such as sine, cosine, tan, exponentials and logarithms) and it is intended for specialists and inquiring minds as the author says in his preface. I also think that the book will be very valuable to students both in numerical analysis and in computer science.  The author is well known among people working on computer arithmetic. I found the book well written and containing much interesting material, most of the time disseminated in specialized papers published in specialized journals difficult to find. Moreover, there are very few books on these topics and they are not recent."   Numerical Algorithms (Review of First Edition)

"This book is intended for two different audiences:specialists, who have to design floating-point systems…or to do research on algorithms, and inquiring minds, who just want to know what kind of methods are used to compute mathematical functions in current computers or pocket calculators. Because of this, it will be helpful for postgraduate and advanced undergraduate students in computer science or applied mathematics as well as for professionals engaged in the design of algorithms, programs or circuits that implement floating-point arithmetic, or simply for engineers or scientists who want to improve their culture in that domain. Much of the book can be understood with only a basic grounding in computer science and mathematics."   Mathematica Bohemia (Review of First Edition)

"The author presents a state-of-the-art review of techniques used to compute the values of common elementary functions. Chapter 1 introduces the goals of techniques that produce good approximations. Chapter 2 reviews topics in computer arithmetic, including number representation (redundant and nonredundant) and the IEEE standard for binary floating-point arithmetic. Chapters 3 and 4 review the techniques (polynomial, rational, and table-based) used in some current microprocessors. Chapters 5, 6, and 7 review shift-and-add techniques, including the CORDIC method frequently used by calculator designers. Chapter 8 discusses range reduction. Chapter 9 discusses techniques that help produce correctly rounded results."   Mathematical Reviews (Review of First Edition)

"A must for those involved with designing numerical processors or mathematical software, the book should also interest calculus students for the new perspectives it offers on topics they might think they know very well. Suitable for upper-division undergraduates through faculty."   Choice (Review of First Edition)

"Thisfascinating book describes the techniques used by high-level compilers and by pocket book calculators to generate values of the common elementary mathematical functions."   ASLIB Book Guide (Review of First Edition)

"The author fully accomplishes his aim of giving the necessary theoretical background in order to both understand and build algorithms for the computation of elementary functions (such as sine, cosine, exponential, logarithms), that are the most commonly used mathematical functions. Hardware- as well as software-oriented algorithms are presented, together with a pertinent analysis of accurate floating-point implementations…Good examples are always chosen in order to introduce or to illustrate the methods, following the given cases. The book is very well structured…"   —Analele Stiintifice ale Universitatii “Al. I. Cuza” din Iasi

Authors and Affiliations

  • CNRS-Laboratoire LIP, Ecole Normale Superieure de Lyon, Lyon Cedex 07, France

    Jean-Michel Muller

Bibliographic Information

Publish with us