+ All Categories
Home > Documents > Computational Physics Numerical Integration

Computational Physics Numerical Integration

Date post: 25-Feb-2016
Category:
Upload: honora
View: 77 times
Download: 3 times
Share this document with a friend
Description:
Computational Physics Numerical Integration. Dr. Guy Tel- Zur. Tulips by Anna Cervova , publicdomainpictures.net. MHJ- Chap. 7 – Numerical Integration. Agenda 1D integration (Trapezoidal and Simpson rules) Gaussian quadrature (when the abscissas are not equally spaced) - PowerPoint PPT Presentation
31
Computational Physics Numerical Integration Dr. Guy Tel-Zur Tulips by Anna Cervova, publicdomainpictures.net
Transcript
Page 1: Computational Physics Numerical Integration

Computational PhysicsNumerical Integration

Dr. Guy Tel-Zur

Tulips by Anna Cervova, publicdomainpictures.net

Page 2: Computational Physics Numerical Integration

MHJ- Chap. 7 – Numerical Integration

• Agenda– 1D integration (Trapezoidal and Simpson rules)– Gaussian quadrature (when the abscissas are not

equally spaced)– Singular integrals– Physics case study– Parallel Computing (part 1)

Page 3: Computational Physics Numerical Integration

Newton-Cotes quadrature: equal step methods

Step size:

Page 4: Computational Physics Numerical Integration

The strategy then is to find a reliable Taylor expansion for f(x) in the smaller sub intervals

Let’s define x0 = a + h and use x0 as the midpoint.The general form for the Taylor expansion around x0 goes like:

7.2

Page 5: Computational Physics Numerical Integration

Let us now suppose that we split the integral in Eq. (7.2) in two parts, one from x0−h to x0 and the other from x0 to x0 + h, that is, our integral is rewritten as:

Next we assume that we can use the two-point formula for the derivative, meaning that we approximate f(x) in these two regions by a straight line, as indicated in the figure. This means that every small element under the function f(x) looks like a trapezoid.

we are trying to approximate ourfunction f(x) with a first order polynomial, that is f(x) = a + bx. The constant b is the slope given by the first derivative at x = x0:

Page 6: Computational Physics Numerical Integration

The Trapezoidal Rule:

Page 7: Computational Physics Numerical Integration

Trapezoidal Rule• A worked out example in “C”.• We will learn how to Integrate a general form

of a function?• The code is under: lecture02/code_ch_07/trapez.c

Page 8: Computational Physics Numerical Integration

// Computational Physics // Guy Tel-Zur, August 2010// Trapezoidal Rule// Based on MHJ Page 129, Chapter 7, 2009 Fall Edition// Usage: standard gcc -o fn fn.c -lm#include <math.h>#include<stdio.h>

int main() {// functions declarations: double TrapezoidalRule(double a , double b , int n, double(*func )(double)); double MyFunction(double x);// variables declarations: double a = 0.0; double b = 10.0; int n = 1000; double s; s = TrapezoidalRule(a, b, n, &MyFunction); printf("Trapezoidal Rule Integral=%Lf\n",s); return 0;} // end of main

Page 9: Computational Physics Numerical Integration

double TrapezoidalRule (double a , double b , int n, double(*func )(double)) {double TrapezSum;double fa ,fb ,x ,step ;int j;step =(b-a)/((double)n );fa =(*func)(a)/2.;fb =(*func)(b)/2.;TrapezSum= 0.;for(j=1;j<=n-1;j++) { x=j*step+a; TrapezSum+=(*func)(x);}TrapezSum=(TrapezSum+fb+fa)*step;return TrapezSum;} // end TrapezoidalRule

double MyFunction(double x) { // write below the mathematical expression of the // function to be integrated return x*x;}

Page 10: Computational Physics Numerical Integration

Section 7.5 – Rectangle Rule

Another very simple approach is the so-called midpoint or rectangle method. In this case the integrationarea is split in a given number of rectangles with length h and height given by the mid-point valueof the function. This gives the following simple rule for approximating an integral

• Demo: ch7 code folder. Program: rectangle_trapez.c

double RectangleRule (double a , double b , int n, double(*func )(double)) {double RectangleSum;double fa ,fb ,x ,step ;int j;step =(b-a)/((double)n );RectangleSum= 0.;for(j=0;j<=n;j++) { x=(j+0.5)*step+a; RectangleSum+=(*func)(x);}RectangleSum *= step;return RectangleSum;} // end Rectangle Rule

Page 11: Computational Physics Numerical Integration

Error analysis• Trapezoidal & Rectangle rules:– Local error: α h^3– Global error: α h^2– Global error: α (b-a)

Page 12: Computational Physics Numerical Integration

Can’t we do better?• So far: Linear two-points approximations for f• Now (Simpson’s): three-points formula (a parabola):

• Recall from Chapter 3, the 1st and the 2nd derivatives approximations:

• f’=

• f’’=

Page 13: Computational Physics Numerical Integration

• With the latter two expressions we can now approximate the function f as:

I gave up using Equation Editor – Sorry…

Next Slide…

Page 14: Computational Physics Numerical Integration

Simpson’s Rule

Page 15: Computational Physics Numerical Integration

Note that the improved accuracy in the evaluation of the derivatives gives abetter error approximation, O(h5) vs. O(h3) . - This is the local error.The global error goes like: O(h4).

The full integral is therefore:

Page 16: Computational Physics Numerical Integration

Simpson’s Rule

Page 17: Computational Physics Numerical Integration

7.3 Adaptive Integration• Naïve approach, for example, two parts of

Trapezoidal Integration with a different step size

Page 18: Computational Physics Numerical Integration

Recursive Adaptive Integration

Page 19: Computational Physics Numerical Integration
Page 20: Computational Physics Numerical Integration

7.4 Gaussian Quadrature (GQ)

We could fit a polynomial of order N with N equally spaced points, but Gauss, who was a genius, suggested to fit a polynomial of order 2N-1 with N points!!!

Page 21: Computational Physics Numerical Integration

Recommended online video:

http://physics.orst.edu/~rubin/COURSES/VideoLecs/Integration/Integration.html

Page 22: Computational Physics Numerical Integration

Speaking about references, you can always check Google Books

http://www.google.com/search?tbs=bks%3A1&tbo=1&q=computational+physics&btnG=Search+Books

Page 23: Computational Physics Numerical Integration

Another recommended reference: Computational Physics By Steven E.

Koonin

So far – equally spaced points:

Our derivation is exact if f is polynomial

4.9

Note: This is a set of N linear equations (for each p) !!!

Page 24: Computational Physics Numerical Integration

Legendre Polynomials:

Page 25: Computational Physics Numerical Integration

Guy: Scaling of the weights: ωn’=(b-a)/2* ω n

Page 26: Computational Physics Numerical Integration

Sage demo• Upload: “Gaussian Quadrature Demo.sws”• Reference: http://

wiki.sagemath.org/interact/calculus

Page 27: Computational Physics Numerical Integration
Page 28: Computational Physics Numerical Integration

Let’s sum what we did so far

2 points integration: Trapezoidal Rule (+Rectangle Rule),fit straight line3 points integration: Simpson’s Rule, fit a parabola

Quadrature Formula:

Gauss Quadrature:

Page 29: Computational Physics Numerical Integration

More Orthogonal Functions

Page 30: Computational Physics Numerical Integration
Page 31: Computational Physics Numerical Integration

The program1.cpp is a ready for comparing the 3 integrations methods mentioned.The Trapezoidal, Simpson’s and GQ function are to be written.

>> Explain this program (open DevC++ IDE)


Recommended