Numerical Methods, - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Numerical Methods,

Description:

Numerical Methods in Scientific Computation Lecture 2 Programming and Software Introduction to error analysis Numerical Methods, Lecture 2 Prof. Jinbo Bi CSE, UConn* ... – PowerPoint PPT presentation

Number of Views:317
Avg rating:3.0/5.0
Slides: 52
Provided by: leiw153
Category:

less

Transcript and Presenter's Notes

Title: Numerical Methods,


1
Numerical Methods in Scientific Computation
  • Lecture 2
  • Programming and Software
  • Introduction to error analysis

2
Packages vs. Programming
  • Packages
  • MATLAB
  • Excel
  • Mathematica
  • Maple
  • Packages do the work for you
  • Most offer an interactive environment

3
MATLAB
  • Software product from The MathWorks, Inc.
  • Originally focused on matrix manipulations
  • Interactive tool to do numerical functions, and
    visualization
  • Commands can be saved into user scripts call and
    m-file
  • Graphics and graphical user interfaces (GUI) are
    built into program

4
MATLAB
  • Base product is extended with a variety of
    toolboxes
  • Optimization
  • Statistics
  • Curve fitting
  • Image processing

5
MATLAB
  • Example Find roots of
  • gtgt p 1 -6 -72 -27
  • gtgt r roots (p)
  • gtgt r
  • 12.1229
  • -5.7345
  • -0.3884

6
MATLAB
  • Advantages
  • Large library of functions to evaluate a wide
    variety of numerical problems
  • Interactive tool allows immediate evaluation of
    results
  • Disadvantages
  • Expensive
  • Not as fast as C/C/FORTRAN code

7
Programming language concepts
  • Interpreted Languages
  • MATLAB
  • Usually integrated with an interactive GUI
  • Allows quick evaluation of algorithms
  • Ideal for debugging and one-time analysis and in
    cases where high speed is not critical

8
Programming language concepts
  • Compiled Languages
  • FORTRAN, C, C
  • Source code is created with an editor as a plain
    text file
  • Programs then needs to be compiled (converted
    from source code to machine instructions with
    relative addresses and undefined external
    routines still needed).
  • The compiled routines (called object modules)
    need then to be linked with system libraries.
  • Faster execution than interpreted languages

9
Programming concepts
  • Data representation
  • Constants, variables, type declarations
  • Data organization and structures
  • Arrays, lists, trees, etc.

10
Programming concepts
  • Mathematical formulas
  • Assignment, priority rules
  • Input/Output
  • Stdin / Stdout, files, GUI

11
Programming concepts
  • Structured programming
  • Set of rules that prescribe good programming
    style
  • Single entry point and exit point to all control
    structures
  • Flexible enough to allow creativity and personal
    expression
  • Easy to debug, test and update

12
Structured programming
  • Control structures
  • Sequence
  • Selection
  • Repetition
  • Computer code is clearer and easier to follow

13
Algorithm expression
  • Flowcharts
  • Visual representation
  • Useful in planning
  • Pseudocode
  • Simple representation of an algorithm
  • Basic program constructs without being
    language-specific
  • Easy to modify and share with others

14
Flowcharts
15
Control structures
  • Sequence
  • Implement one instruction at a time

16
Control structures
  • Selection
  • Branching
  • IF/THEN/ELSE
  • CASE/ELSE

17
Control structures
18
Control structures
19
Control structures
  • Repetition
  • DOEXIT loops (break loop)
  • Similar to C while loop
  • DOFOR loop (count-controlled)

20
Control structures
  • pretest
  • posttest
  • midtest

21
Control structures
22
Modular programming
  • Break complicated tasks into manageable parts
  • Independent and self-contained
  • Well-defined modules with a single entry point
    and single exit point
  • Always a good idea to return a value for status
    or error code

23
Modular programming
  • Makes logic easier to understand and digest
  • Allows black-box development of modules
  • Requires well-defined interfaces with no side
    effects
  • Isolates errors
  • Allows for reuse of modules and development of
    libraries

24
Software engineering approach
  • Specification A clear statement of the problem,
    the requirements, and any special parameters of
    operation
  • Algorithm/Design A flow chart or pseudo code
    representation of how exactly how will the
    problem be solved.

25
Software engineering approach
  • Implementation Breaking the algorithm into
    manageable pieces that can be coded into the
    language of choice, and putting all the pieces
    together to solve the problem.
  • Verification Checking that the implementation
    solves the original specification. In numerical
    problems, this is difficult because most of the
    time you dont know what the correct answer is.

26
Example case
  • How do you solve the sum of integers problem?
  • Simplest
  • sum 1 2 3 4 5 .... N
  • Coded specifically for specific values of N.

27
Possible solutions
  • Intermediate solution
  • Does not require much thought, takes advantage of
    looping ability of most languages
  • C/C
  • MATLAB

28
Possible solutions
  • Analytical solution
  • Requires some thought about the sequence remember
    back to one of your math classes.

29
Verification of algorithm
  • What can fail in the above algorithms. (To know
    all the possible failure modes requires knowledge
    of how computers work). Some examples of failures
    are
  • For (b) This algorithm is fairly robust.
  • But, when N is large execution will be slow
    compared to (c)

30
Algorithm (c)
  • This is most common algorithm for this type of
    problem, and it has many potential failure modes.
    For example
  • (c.1) What if N is less than zero?
  • Still returns an answer but not what would be
    expected. (What happens in (b) if N is
    negative?).

31
Algorithm (c)
  • (c.2) In which order will the multiplication and
    division be done.
  • For all values of N, either N or N1 will be even
    and therefore N(N1) will always be even but
    what if the division is done first? Algorithm
    will work half of the time.
  • If division is done first and N1 is odd, the
    algorithm will return a result but it will not be
    correct. This is a bug. For verification, it
    means the algorithm works sometimes but not
    always.

32
Algorithm (c)
  • (c.3) What if N is very large?
  • What is the maximum value N(N1) can have?
  • There are maximum values that integers can be
    represented in a computer and we may overflow.
    What happens then? Can we code this to handle
    large values of N?

33
Verification
  • By breaking the program into small modules, each
    of which can be checked, the sum of the parts is
    likely to be correct but not always..
  • Problems can be that the program only works some
    of the time or it may not work on all platforms.
  • The critical issue to realize all possible cases
    that might occur.

34
Introduction to error analysis
  • Error is the difference between the exact
    solution and a numerical method solution
  • In most cases, you dont know what the exact
    solution is, so how do you calculate the error
  • Error analysis is the process of predicting what
    the error will be even if you dont know what the
    exact solution
  • Errors can also be introduced by the fact that
    the numerical algorithm has been implemented on a
    computer

35
Significant digits
  • Can a number be used with confidence?
  • How accurate is the number?
  • How many digits of the number do we trust?

36
Significant digits
  • Can the speed be estimated to one decimal place?

37
Significant digits
  • The significant digits of a number are those that
    can be used with confidence
  • The digits that are known with certainty plus one
    estimated digit
  • zeros are not always significant digits
  • 0.0001845, 0.001845, 0.01845
  • 4.53x104, 4.530x104, 4.5300x104
  • Exact numbers vs. measured numbers
  • Exact numbers have an infinite number of
    significant digits
  • ? is an exact number but usually subject to
    round-off

38
Significant digits
39
Accuracy and precision
  • Accuracy is how close a computed or measured
    value is to the true value
  • Precision is how close individual computed or
    measured values agree with each other
  • Reproducibility
  • Inaccuracy/Bias vs. Imprecision/Uncertainty
  • Inaccuracy systematic deviation from the truth
  • imprecision magnitude of the scatter

40
Accuracy and precision
41
Accuracy and precision
  • The level of accuracy and precision required
    depend on the problem
  • Error to represent both the inaccuracy and
    imprecision of predictions

42
Error definitions
  • Two general types of errors
  • Truncation errors due to approximations of
    exact mathematical functions
  • Round-off errors due to limited significant
    digit representation of exact numbers
  • Et true value approximation

43
Error definitions
  • Et does not capture the order of magnitude of
    error
  • 1V error probably doesnt matter if youre
    measuring line voltage, but it does matter if
    youre measuring the voltage supply to a VLSI
    chip
  • Therefore, its better to normalize the error
    relative to the value

44
Error definitions
  • Example
  • Line voltage
  • Chip supply voltage

45
Error definitions
  • What if we dont know the true value?
  • Use an approximation of the true value
  • How do we calculate the approximate error?
  • Use an iterative approach
  • Approximate error current approximation
    previous approximation
  • Assumes that the iteration will converge

46
Error Definitions
  • For most problems, we are interested in keeping
    the error less than specified error tolerance
  • How many iterations do you do, before youre
    satisfied that the result is correct to at least
    n significant digits?

47
Example
  • Infinite series expansion of ex
  • As we add terms to the expansion, the expression
    becomes more exact
  • Using this series expansion, can we calculate
    e0.5 to three significant digits?

48
Example
  • Calculate the error tolerance
  • First approximation
  • Second approximation
  • Error approximation

49
Example
  • Third approximation
  • Error approximation

50
Example
51
Next class
  • HW1, due 9/5
  • Chapra Canale 6th Edition
  • 1.8 (typo dy/dx -gt dy/dt), 1.12, 2.5 (choose
    order n6), 2.14
  • Next class
  • Continue on error analysis
Write a Comment
User Comments (0)
About PowerShow.com