Computer Science

pp 349-384


Numerical Thinking in Algorithm Design and Analysis

  • Shang-Hua TengAffiliated withDepartment of Computer Science, Viterbi School of Engineering, University of Southern California Email author 

* Final gross prices may vary according to local VAT.

Get Access


To me, numerical analysis is one of the most fascinating fields in computing. It is at the intersection of computer science and mathematics; it concerns subjects that can be either continuous or discrete; it involves algorithm design as well as software implementation; and it has success throughout engineering, business, medicine, social sciences, natural sciences, and digital animation fields. Its community has both theorists and practitioners, who often respect and admire each other’s work – in fact, in this area there are many practitioners who are also great theoreticians. Its objectives to solve larger and larger problems have pushed the envelope of computer science, particularly in the advancement of computer architectures, compiler technologies, programming languages, and software tools. Its collaborative culture and genuine need to share data and information among scientists and engineers have led a physicist to make a connection between the hypertext idea and the Internet protocols to create the world wide web. Many pioneers in computing including John von Neumann, Alan Turing, Claude Shannon, Richard Hamming, James Wilkinson, Velvel Kahan, and Gene Golub contributed to this field, not to mention the foot prints left by many great minds before them, e.g., Newton’s method, Lagrange interpolation, Gaussian elimination, Euler’s method, Jacobi iteration, and Chebyshev polynomials.