Numerical Analysis
Professor Donna Calhoun
Office : MG241A
Office Hours : Wednesday 10:00-12:00 and 1:00-3:00
Fall 2013
Math 465/565
What is Numerical Analysis
Numerical analysis is a branch of mathematics that deals with the understanding of how algorithms designed to
solve mathematically posed questions behave when carried out (mostly on a computer).
What is Numerical Analysis
Numerical analysis is a branch of mathematics that deals with the understanding of how algorithms designed to
solve mathematically posed questions behave when carried out (mostly on a computer).
•
Consistency (does our algorithm approximate ourWhat is Numerical Analysis
Numerical analysis is a branch of mathematics that deals with the understanding of how algorithms designed to
solve mathematically posed questions behave when carried out (mostly on a computer).
•
Consistency (does our algorithm approximate ourmathematically posed question in some way?
•
Stability (is our algorithm well-behaved in some senseWhat is Numerical Analysis
Numerical analysis is a branch of mathematics that deals with the understanding of how algorithms designed to
solve mathematically posed questions behave when carried out (mostly on a computer).
•
Consistency (does our algorithm approximate ourmathematically posed question in some way?
•
Stability (is our algorithm well-behaved in some senseand likely to run to completion?)
•
Convergence (do we approach the right answer as weincrease the time or computational resources we allocate to a problem?)
What is Numerical Analysis
Numerical analysis is a branch of mathematics that deals with the understanding of how algorithms designed to
solve mathematically posed questions behave when carried out (mostly on a computer).
•
Consistency (does our algorithm approximate ourmathematically posed question in some way?
•
Stability (is our algorithm well-behaved in some senseand likely to run to completion?)
•
Convergence (do we approach the right answer as weincrease the time or computational resources we allocate to a problem?)
•
Scalability (can we scale our algorithm to large versionsof our problem without requiring exponentially more resources?)
Numerical analysis and computational
science
Numerical analysis and computational
science
Sidebar 1
Definition of Computational Science
As a basis for responding to the charge from the Office of Science and
Technology Policy, the PITAC developed a definition of computational science. This definition recognizes the diverse components, ranging from algorithms, software, architecture, applications, and infrastructure that collectively represent
computational science.
Computational science is a rapidly growing multidisciplinary field that uses advanced computing capabilities to understand and solve complex problems. Computational science fuses three distinct elements:
• Algorithms (numerical and non-numerical) and modeling and simulation
software developed to solve science (e.g., biological, physical, and social), engineering, and humanities problems
• Computer and information science that develops and optimizes the advanced system hardware, software, networking, and data management components needed to solve computationally demanding problems
• The computing infrastructure that supports both the science and engineering problem solving and the developmental computer and information science
P R E S I D E N T ’ S I N F O R M AT I O N T E C H N O L O G Y A D V I S O R Y C O M M I T T E E
of disease, atom-by-atom construction of materials with previously
unimaginable properties, miniaturization of devices down to the quantum level, and new energy sources and fuel technologies. But we are not minding the store of U.S. intellectual resources needed to capitalize on the scientific opportunities of the new century.
A dangerous consequence of our current complacency is that, as on the eve of Sputnik’s launch, we have not marshaled and focused our efforts to elevate computational science and the computing infrastructure to their appropriate status as a long-term, strategic national priority in education as well as R&D. Without such a commitment and focus, the PITAC believes, we cannot
sustain U.S. scientific leadership, security, and economic prosperity in the decades ahead.
What Is Computational Science?
At one level, computational science is simply the application of computing capabilities to the solution of problems in the real world – for example,
enabling biomedical researchers rapidly to identify to which protein, and where on that protein, a candidate vaccine will most effectively bind. The PITAC’s definition of computational science (Sidebar 1, below, and Figure 1 on page 11) is intended, however, to underscore the reality that harnessing software, hardware, data, and connectivity to help solve complex problems necessarily draws on the multidisciplinary skills represented in the computing infrastructure as a whole.
Numerical analysis and computational
science
Sidebar 1
Definition of Computational Science
As a basis for responding to the charge from the Office of Science and
Technology Policy, the PITAC developed a definition of computational science. This definition recognizes the diverse components, ranging from algorithms, software, architecture, applications, and infrastructure that collectively represent
computational science.
Computational science is a rapidly growing multidisciplinary field that uses advanced computing capabilities to understand and solve complex problems. Computational science fuses three distinct elements:
• Algorithms (numerical and non-numerical) and modeling and simulation
software developed to solve science (e.g., biological, physical, and social), engineering, and humanities problems
• Computer and information science that develops and optimizes the advanced system hardware, software, networking, and data management components needed to solve computationally demanding problems
• The computing infrastructure that supports both the science and engineering problem solving and the developmental computer and information science
P R E S I D E N T ’ S I N F O R M AT I O N T E C H N O L O G Y A D V I S O R Y C O M M I T T E E
of disease, atom-by-atom construction of materials with previously
unimaginable properties, miniaturization of devices down to the quantum level, and new energy sources and fuel technologies. But we are not minding the store of U.S. intellectual resources needed to capitalize on the scientific opportunities of the new century.
A dangerous consequence of our current complacency is that, as on the eve of Sputnik’s launch, we have not marshaled and focused our efforts to elevate computational science and the computing infrastructure to their appropriate status as a long-term, strategic national priority in education as well as R&D. Without such a commitment and focus, the PITAC believes, we cannot
sustain U.S. scientific leadership, security, and economic prosperity in the decades ahead.
What Is Computational Science?
At one level, computational science is simply the application of computing capabilities to the solution of problems in the real world – for example,
enabling biomedical researchers rapidly to identify to which protein, and where on that protein, a candidate vaccine will most effectively bind. The PITAC’s definition of computational science (Sidebar 1, below, and Figure 1 on page 11) is intended, however, to underscore the reality that harnessing software, hardware, data, and connectivity to help solve complex problems necessarily draws on the multidisciplinary skills represented in the computing infrastructure as a whole.
Topics we will cover in this course
Some general topics we will cover
•
Floating point arithmetic•
Numerical root finding, (Bisection, fixed point iteration,Newton’s Method)
•
Solving large linear systems of equations (LUdecomposition, iterative methods)
•
Finding curves through a given set of data points usingpolynomial interpolation and approximation,
•
Numerical quadrature (approximating integrals)•
Introduction to solving initial value problemsWe will go beyond just learning the algorithms and how to
program them to understanding the convergence and stability properties of the algorithm.
But I don’t know how to program!
Yes, this course will require both hand-written exercises as well as programming.
I suggest you consider one of the following languages for doing programming assignments :
•
Matlab (nice graphics features, expensive)•
C or C++ (not ideal for scientific computing)•
Python (latest trend in scientific computing, free)But I don’t know how to program!
Yes, this course will require both hand-written exercises as well as programming.
I suggest you consider one of the following languages for doing programming assignments :
•
Matlab (nice graphics features, expensive)•
C or C++ (not ideal for scientific computing)•
Python (latest trend in scientific computing, free)•
Fortran (old-school, but still widely used).I strongly discourage you from trying to do your programming assignments in Java, Octave, Scilab, Maple, Mathematica, Excel, Haskell, Perl, Lisp, ...
Matlab might be the easiest choice
•
Matlab, along side more traditional programming languagessuch as C, C++, Fortran has become one of the major
Matlab might be the easiest choice
•
Matlab, along side more traditional programming languagessuch as C, C++, Fortran has become one of the major
platforms on which computational science is carried out.
•
Originally designed as a computational “laboratory” foreasily solving matrix equations, it has now branched into
most areas of mathematics, with numerical tools for solving a wide range of complex problems in science and
Matlab might be the easiest choice
•
Matlab, along side more traditional programming languagessuch as C, C++, Fortran has become one of the major
platforms on which computational science is carried out.
•
Originally designed as a computational “laboratory” foreasily solving matrix equations, it has now branched into
most areas of mathematics, with numerical tools for solving a wide range of complex problems in science and
engineering,
•
Integrated graphing capabilities make it an ideal tool forMatlab might be the easiest choice
•
Matlab, along side more traditional programming languagessuch as C, C++, Fortran has become one of the major
platforms on which computational science is carried out.
•
Originally designed as a computational “laboratory” foreasily solving matrix equations, it has now branched into
most areas of mathematics, with numerical tools for solving a wide range of complex problems in science and
engineering,
•
Integrated graphing capabilities make it an ideal tool forquickly prototyping codes and visualizing output,
Course schedule
•
Class time will be roughly 45 minutes lecture, followedCourse schedule
•
Class time will be roughly 45 minutes lecture, followedby time for homework questions.
•
You will each turn in a homework assignment roughlyCourse schedule
•
Class time will be roughly 45 minutes lecture, followedby time for homework questions.
•
You will each turn in a homework assignment roughlyevery two weeks, on Thursday in class.
Course schedule
•
Class time will be roughly 45 minutes lecture, followedby time for homework questions.
•
You will each turn in a homework assignment roughlyevery two weeks, on Thursday in class.
•
We will have regular in-class quizzes.Grading policy
Grading
Homeworks and quizzes will count for 25% of your final grade, and each of the midterms and the final will be 25% each of your final grade.