Scientific Computing
eBook - ePub

Scientific Computing

  1. 149 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Scientific Computing

About this book

Scientific Computing for Scientists and Engineers is designed to teach undergraduate students relevant numerical methods and required fundamentals in scientific computing.

Most problems in science and engineering require the solution of mathematical problems, most of which can only be done on a computer. Accurately approximating those problems requires solving differential equations and linear systems with millions of unknowns, and smart algorithms can be used on computers to reduce calculation times from years to minutes or even seconds. This book explains: How can we approximate these important mathematical processes? How accurate are our approximations? How efficient are our approximations?

Scientific Computing for Scientists and Engineers covers:

  • An introduction to a wide range of numerical methods for linear systems, eigenvalue problems, differential equations, numerical integration, and nonlinear problems;
  • Scientific computing fundamentals like floating point representation of numbers and convergence;
  • Analysis of accuracy and efficiency;
  • Simple programming examples in MATLAB to illustrate the algorithms and to solve real life problems;
  • Exercises to reinforce all topics.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Scientific Computing by Timo Heister, Leo G. Rebholz in PDF and/or ePUB format, as well as other popular books in Mathematics & Applied Mathematics. We have over one million books available in our catalogue for you to explore.

Information

Publisher
De Gruyter
Year
2015
eBook ISBN
9783110386806
Edition
1

1 Introduction

1.1 Why study numerical methods?

A fundamental questions one should ask before spending time and effort learning a new subject is “Why should I bother?”. Aside from the fun of learning something new, the need for this course arises from the fact that most mathematics done in practice (therefore by engineers and scientists) is now done on a computer. For example, it is common in engineering to need to solve more than 1 million linear equations simultaneously, and even though we know how to do this ‘by hand’ with Gaussian elimination, computers can be used to reduce calculation time from years (if you tried to do it by hand - but you would probably make a mistake!) to minutes or even seconds. Furthermore, since a computer has a finite number system and each operation requires a physical change in the computer system, the idea of having infinite processes such as limits (and therefore derivatives and integrals) or summing infinite series (which occur in calculating sin, cos, and exponential functions for example) cannot be performed on a computer. However, we still need to be able to calculate these important quantities, and thus we need to be able to approximate these processes and functions. Often in scientific computing, there are obvious ways to do approximations; however it is usually the case that the obvious ways are not the best ways. This raises some fundamental questions:
  • – How do we best approximate these important mathematical processes/operations?
  • – How accurate are our approximations?
  • – How efficient are our approximations?
It should be no surprise that we want to quantify accuracy as much as possible. Moreover, when the method fails, we want to know why it fails. In this course, we will see how to rigorously analyze the accuracy of several numerical methods. Concerning efficiency, we can never have the answer fast enough1, but often there is a trade-off between speed and accuracy. Hence we also analyze efficiency, so that we can ‘choose wisely’ 2 when selecting an algorithm.
Thus, to put it succinctly, the purpose of this course is to
  • – Introduce students to some basic numerical methods for using mathematical methods on the computer.
  • – Analyze these methods for accuracy and efficiency.
  • – Implement these methods and use them to solve problems.

1.2 Terminology

Here are some important definitions:
  • – A numerical method is any mathematical technique used to approximate a solution to a mathematical problem.
    Common examples of numerical methods you may already know include Newton’s method for root-finding and Gaussian elimination for solving systems of linear equations.
  • – An analytical solution is a closed form expression for unknown variables in terms of the known variables.
    For example, suppose we want to solve the problem
    Illustration
    for a given (known) a, b, and c. The quadratic formula tells us the solutions are
    Illustration
    Each of these solutions is an analytical solution to the problem.
  • – A numerical solution is a number that approximates a solution to a mathematical problem in one particular instance.
For the example above for finding the roots of a quadratic polynomial, to use a numerical method such as Newton’s method, we would need to start with a specified a,b, and c. Suppose we choose a = 1, b = -2, c = -1, and ran Newton’s method with an initial guess of x0 = 0. This returns the numerical solution of x = -0.414213562373095.
There are two clear disadvantages to numerical solutions compared to analytic solutions. First, they only work for a particular instance of a problem, and second, they are not as accurate. It turns out this solution is accurate to 16 digits (which is approximately the standard number of digits a computer stores for any number), but if you needed accuracy to 20 digits then you need to go through some serious work to get it. But many other numerical methods will only give ‘a few’ digits of accuracy in a reasonable amount of time.
On the other hand, there is a clear advantage to using numerical methods in that they can solve many problems that we cannot solve analytically. For example, can you analytically find the solution to
Illustration
Probably you cannot. But if we look at the plots of y = ex and y = x2 in Figure 1.1, it is clear that a solution exists. If we run Newton’s method to find the zero of x2 – ex, it takes no time at all to arrive at the approximation (correct to 16 digits) x = -0.703467422498392. In this sense, numerical methods can be an enabling technology.
Illustration
Fig. 1.1. Plots of ex and x2.
The plot in Figure 1.1 was created with the following commands:
Illustration
Some notes on these commands:
  • – The function linspace (a, b, n) creates a vector of n equally spaced points from a to b.
  • – In the definition of y1, we use a period in front of the power symbol. This denotes a ‘vector operation’. ...

Table of contents

  1. Introduction to Scientific Computing
  2. Also of Interest
  3. Titel
  4. Impressum
  5. Widmung
  6. Preface
  7. Inhaltsverzeichnis
  8. 1 Introduction
  9. 2 Computer representation of numbers and roundoff error
  10. 3 Solving linear systems of equations
  11. 4 Finite difference methods
  12. 5 Solving nonlinear equations
  13. 6 Accuracy in solving linear systems
  14. 7 Eigenvalues and eigenvectors
  15. 8 Fitting curves to data
  16. 9 Numerical integration
  17. 10 Initial value ODEs
  18. A. Getting started with Octave and MATLAB