Scientific Computing: Numerical Integration

Similar documents
Numerical Integration

Integration, differentiation, and root finding. Phys 420/580 Lecture 7

CS 450 Numerical Analysis. Chapter 8: Numerical Integration and Differentiation

Numerical Methods I Orthogonal Polynomials

Numerical Methods I Solving Nonlinear Equations

you expect to encounter difficulties when trying to solve A x = b? 4. A composite quadrature rule has error associated with it in the following form

Numerical Integration of Functions

Differentiation and Integration

Romberg Integration and Gaussian Quadrature

Numerical Integration (Quadrature) Another application for our interpolation tools!

LECTURE 16 GAUSS QUADRATURE In general for Newton-Cotes (equispaced interpolation points/ data points/ integration points/ nodes).

(f(x) P 3 (x)) dx. (a) The Lagrange formula for the error is given by

Jim Lambers MAT 460/560 Fall Semester Practice Final Exam

Stat 451 Lecture Notes Numerical Integration

COURSE Numerical integration of functions (continuation) 3.3. The Romberg s iterative generation method

Romberg Integration. MATH 375 Numerical Analysis. J. Robert Buchanan. Spring Department of Mathematics

Scientific Computing: Monte Carlo

Numerical Methods I Monte Carlo Methods

(x x 0 )(x x 1 )... (x x n ) (x x 0 ) + y 0.

4. Numerical Quadrature. Where analytical abilities end... continued

Numerical Methods. King Saud University

LECTURE 14 NUMERICAL INTEGRATION. Find

PIECEWISE LINEAR FINITE ELEMENT METHODS ARE NOT LOCALIZED

Outline. 1 Numerical Integration. 2 Numerical Differentiation. 3 Richardson Extrapolation

3. Numerical Quadrature. Where analytical abilities end...

Numerical integration and differentiation. Unit IV. Numerical Integration and Differentiation. Plan of attack. Numerical integration.

EAD 115. Numerical Solution of Engineering and Scientific Problems. David M. Rocke Department of Applied Science

MA 3021: Numerical Analysis I Numerical Differentiation and Integration

Bindel, Spring 2012 Intro to Scientific Computing (CS 3220) Week 12: Monday, Apr 16. f(x) dx,

Lecture 10 Polynomial interpolation

Fixed point iteration and root finding

Lecture Note 3: Interpolation and Polynomial Approximation. Xiaoqun Zhang Shanghai Jiao Tong University

In practice one often meets a situation where the function of interest, f(x), is only represented by a discrete set of tabulated points,

APPM/MATH Problem Set 6 Solutions

Scientific Computing WS 2018/2019. Lecture 15. Jürgen Fuhrmann Lecture 15 Slide 1

Numerical Analysis Preliminary Exam 10 am to 1 pm, August 20, 2018

Monte Carlo Methods for Statistical Inference: Variance Reduction Techniques

Chapter 5 - Quadrature

AM205: Assignment 3 (due 5 PM, October 20)

MA2501 Numerical Methods Spring 2015

Numerical Integra/on

Numerical integration - I. M. Peressi - UniTS - Laurea Magistrale in Physics Laboratory of Computational Physics - Unit V

Mathematics for Engineers. Numerical mathematics

Spring 2012 Introduction to numerical analysis Class notes. Laurent Demanet

Lecture Note 3: Polynomial Interpolation. Xiaoqun Zhang Shanghai Jiao Tong University

Ch. 03 Numerical Quadrature. Andrea Mignone Physics Department, University of Torino AA

Principles of Scientific Computing Local Analysis

Scientific Computing: Optimization

Numerical Methods I: Numerical Integration/Quadrature

Lecture 28 The Main Sources of Error

Calculus Dan Barbasch. Oct. 2, Dan Barbasch () Calculus 1120 Oct. 2, / 7

NUMERICAL METHODS FOR ENGINEERING APPLICATION

Introductory Numerical Analysis

Numerical Methods I Non-Square and Sparse Linear Systems

Practice Exam 2 (Solutions)

x x2 2 + x3 3 x4 3. Use the divided-difference method to find a polynomial of least degree that fits the values shown: (b)

In numerical analysis quadrature refers to the computation of definite integrals.

8.3 Numerical Quadrature, Continued

Consistency and Convergence

Numerical Analysis Exam with Solutions

LECTURE-13 : GENERALIZED CAUCHY S THEOREM

TMA4220: Programming project - part 1

Spring 2012 Introduction to numerical analysis Class notes. Laurent Demanet

Contents. I Basic Methods 13

Chapter 5: Numerical Integration and Differentiation

Math 660-Lecture 15: Finite element spaces (I)

Algorithms for Scientific Computing

5 Numerical Integration & Dierentiation

Finite volume method on unstructured grids

Scientific Computing WS 2017/2018. Lecture 18. Jürgen Fuhrmann Lecture 18 Slide 1

(0, 0), (1, ), (2, ), (3, ), (4, ), (5, ), (6, ).

Math Numerical Analysis

Gregory's quadrature method

Lecture 4: Numerical solution of ordinary differential equations

Higher-Order Compact Finite Element Method

Notes for Lecture 10

Section 6.6 Gaussian Quadrature

Numerical Solutions to Partial Differential Equations

Fundamentals of Numerical Mathematics. Charles University Prague Faculty of Mathematics and Physics Czech Republic

Scientific Computing I

Applied Numerical Analysis Quiz #2

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

2tdt 1 y = t2 + C y = which implies C = 1 and the solution is y = 1

Boundary Value Problems and Iterative Methods for Linear Systems

Lecture 9 Approximations of Laplace s Equation, Finite Element Method. Mathématiques appliquées (MATH0504-1) B. Dewals, C.

COURSE Numerical integration of functions

Numerical Integra/on

NUMERICAL METHODS. x n+1 = 2x n x 2 n. In particular: which of them gives faster convergence, and why? [Work to four decimal places.

Weighted Regularization of Maxwell Equations Computations in Curvilinear Polygons

6 Lecture 6b: the Euler Maclaurin formula

Extrapolation Methods for Approximating Arc Length and Surface Area

Numerical Methods for Engineers. and Scientists. Applications using MATLAB. An Introduction with. Vish- Subramaniam. Third Edition. Amos Gilat.

Numerical Methods-Lecture VIII: Interpolation

Implementation of the dg method

Iterative Methods for Linear Systems

Numerical Methods in Physics and Astrophysics

Simpson s 1/3 Rule Simpson s 1/3 rule assumes 3 equispaced data/interpolation/integration points

NUMERICAL MATHEMATICS AND COMPUTING

A Survey of Numerical Methods in Fractional Calculus

Transcription:

Scientific Computing: Numerical Integration Aleksandar Donev Courant Institute, NYU 1 donev@courant.nyu.edu 1 Course MATH-GA.2043 or CSCI-GA.2112, Fall 2015 Nov 5th, 2015 A. Donev (Courant Institute) Lecture IX 11/5/2015 1 / 27

Outline 1 Numerical Integration in 1D 2 Adaptive / Refinement Methods 3 Higher Dimensions 4 Conclusions A. Donev (Courant Institute) Lecture IX 11/5/2015 2 / 27

Numerical Integration in 1D Numerical Quadrature We want to numerically approximate a definite integral J = b a f (x)dx. The function f (x) may not have a closed-form integral, or it may itself not be in closed form. Recall that the integral gives the area under the curve f (x), and also the Riemann sum: lim n n f (t i )(x i+1 x i ) = J, where x i t i x i+1 i=0 A quadrature formula approximates the Riemann integral as a discrete sum over a set of n nodes: n J J n = α i f (x i ) A. Donev (Courant Institute) Lecture IX 11/5/2015 3 / 27 i=1

Numerical Integration in 1D Midpoint Quadrature Split the interval into n intervals of width h = (b a)/n (stepsize), and then take as the nodes the midpoint of each interval: x k = a + (2k 1)h/2, k = 1,..., n J n = h n f (x k ), and clearly k=1 lim J n = J n A. Donev (Courant Institute) Lecture IX 11/5/2015 4 / 27

Numerical Integration in 1D Quadrature Error Focus on one of the sub intervals, and estimate the quadrature error using the midpoint rule assuming f (x) C (2) : [ ] xi ε (i) +h/2 = f (x)dx hf (x i ) x i h/2 Expanding f (x) into a Taylor series around x i to first order, f (x) = f (x i ) + f (x i )(x x i ) + 1 2 f [η(x)] (x x i ) 2, The linear term integrates to zero, so we get xi +h/2 x i h/2 f (x i )(x x i ) = 0 ε (i) = 1 2 xi +h/2 x i h/2 f [η(x)] (x x i ) 2 dx A. Donev (Courant Institute) Lecture IX 11/5/2015 5 / 27

Numerical Integration in 1D Composite Quadrature Error Using a generalized mean value theorem we can show ε (i) = f [ξ] 1 2 h (x x i ) 2 dx = h3 24 f [ξ] for some a < ξ < b Now, combining the errors from all of the intervals together gives the global error ε = b a f (x)dx h n k=1 f (x k ) = J J n = h3 24 n f [ξ k ] k=1 Use a discrete generalization of the mean value theorem to prove second-order accuracy ε = h3 24 n ( f [ξ] ) = b a 24 h2 f [ξ] for some a < ξ < b A. Donev (Courant Institute) Lecture IX 11/5/2015 6 / 27

Numerical Integration in 1D Interpolatory Quadrature Instead of integrating f (x), integrate a polynomial interpolant φ(x) f (x): A. Donev (Courant Institute) Lecture IX 11/5/2015 7 / 27

Numerical Integration in 1D Trapezoidal Rule Consider integrating an interpolating function φ(x) which passes through n + 1 nodes x i : φ(x i ) = y i = f (x i ) for i = 0, 2,..., m. First take the piecewise linear interpolant and integrate it over the sub-interval I i = [x i 1, x i ]: φ (1) i (x) = y i 1 + y i y i 1 (x x i ) x i x i 1 to get the trapezoidal formula (the area of a trapezoid): φ (1) i (x)dx = h f (x i 1) + f (x i ) x I i 2 A. Donev (Courant Institute) Lecture IX 11/5/2015 8 / 27

Numerical Integration in 1D Composite Trapezoidal Rule Now add the integrals over all of the sub-intervals we get the composite trapezoidal quadrature rule: b f (x)dx h n [f (x i 1 ) + f (x i )] 2 a i=1 = h 2 [f (x 0) + 2f (x 1 ) + + 2f (x n 1 ) + f (x n )] with similar error to the midpoint rule. A. Donev (Courant Institute) Lecture IX 11/5/2015 9 / 27

Numerical Integration in 1D Simpson s Quadrature Formula As for the midpoint rule, split the interval into n intervals of width h = (b a)/n, and then take as the nodes the endpoints and midpoint of each interval: x k = a + kh, k = 0,..., n x k = a + (2k 1)h/2, k = 1,..., n Then, take the piecewise quadratic interpolant φ i (x) in the sub-interval I i = [x i 1, x i ] to be the parabola passing through the nodes (x i 1, y i 1 ), (x i, y i ), and ( x i, ȳ i ). Integrating this interpolant in each interval and summing gives the Simpson quadrature rule: J S = h 6 [f (x 0) + 4f ( x 1 ) + 2f (x 1 ) + + 2f (x n 1 ) + 4f ( x n ) + f (x n )] (b a) ε = J J s = 2880 h4 f (4) (ξ). A. Donev (Courant Institute) Lecture IX 11/5/2015 10 / 27

Numerical Integration in 1D Gauss Quadrature To reach higher accuracy, instead of using higher-degree polynomial interpolants (recall Runge s phenomenon), let s try using n non-equispaced nodes: n J J n = w i f (x i ) i=0 It can be shown that there is a special set of n + 1 nodes and weights, so that the quadrature formula is exact for polynomials of degree up to m = 2n 1, b n p m (x)dx = w i p m (x i ). a This gives the Gauss quadrature based on the Gauss nodes and weights, usually pre-tabulated for the standard interval [ 1, 1]: b f (x)dx b a n w i f (x i ). 2 a A. Donev (Courant Institute) Lecture IX 11/5/2015 11 / 27 i=0 i=0

Numerical Integration in 1D Gauss Weights and Nodes The low-order Gauss formulae are: n = 1 : n = 2 : 1 1 1 1 f (x)dx f ( 1 ) + f 3 ) f (x)dx 5 15 ( 9 f 5 ( 1 3 ) ( ) + 8 9 f (0) + 5 15 9 f 5 The weights and nodes are either tabulated or calculated to numerical precision on the fly, for example, using eigenvalue methods. Gauss quadrature is very accurate for smooth functions even with few nodes. The MATLAB function quadl(f, a, b) uses (adaptive) Gauss-Lobatto quadrature. A. Donev (Courant Institute) Lecture IX 11/5/2015 12 / 27

Adaptive / Refinement Methods Asymptotic Error Expansions The idea in Richardson extrapolation is to use an error estimate formula to extrapolate a more accurate answer from less-accurate answers. Assume that we have a quadrature formula for which we have a theoretical error estimate: n J h = α i f (x i ) = J + αh p + O ( h p+1) i=1 Recall the big O notation: g(x) = O (h p ) if: (h 0, C) > 0 s.t. g(x) < C h p whenever h < h 0 For trapezoidal formula ε = b a 24 h2 f [ξ] = O ( h 2). A. Donev (Courant Institute) Lecture IX 11/5/2015 13 / 27

Adaptive / Refinement Methods Richardson Extrapolation Now repeat the calculation but with step size 2h (for equi-spaced nodes just skip the odd nodes): Solve for α and obtain J(h) = J + αh p + O ( h p+1) J(2h) = J + α2 p h p + O ( h p+1) J = 2p J(h) J(2h) 2 p 1 + O ( h p+1), which now has order of accuracy p + 1 instead of p. The composite trapezoidal quadrature gives J(h) with order of accuracy p = 2, J(h) = J + O ( h 2). A. Donev (Courant Institute) Lecture IX 11/5/2015 14 / 27

Adaptive / Refinement Methods Romberg Quadrature Assume that we have evaluated f (x) at n = 2 m + 1 equi-spaced nodes, h = 2 m (b a), giving approximation J(h). We can also easily compute J(2h) by simply skipping the odd nodes. And also J(4h), and in general, J(2 q h), q = 0,..., m. We can keep applying Richardson extrapolation recursively to get Romberg s quadrature: Combine J(2 q h) and J(2 q 1 h) to get a better estimate. Then combine the estimates to get an even better estimates, etc. ( ) b a J r,0 = J, r = 0,..., m 2 r J r,q+1 = 4q+1 J r,q J r 1,q 4 q+1, q = 0,..., m 1, r = q + 1,..., m 1 The final answer, J m,m = J + O ( h 2(m+1)) is much more accurate than the starting J m,0 = J + O ( h 2), for smooth functions. A. Donev (Courant Institute) Lecture IX 11/5/2015 15 / 27

Adaptive / Refinement Methods Adaptive (Automatic) Integration We would like a way to control the error of the integration, that is, specify a target error ε max and let the algorithm figure out the correct step size h to satisfy where ε is an error estimate. ε ε max, Importantly, h may vary adaptively in different parts of the integration interval: Smaller step size when the function has larger derivatives. The crucial step is obtaining an error estimate: Use the same idea as in Richardson extrapolation. A. Donev (Courant Institute) Lecture IX 11/5/2015 16 / 27

Adaptive / Refinement Methods Error Estimate for Simpson s Quadrature Assume we are using Simpson s quadrature and compute the integral J(h) with step size h. Then also compute integrals for the left half and for the right half with step size h/2, J(h/2) = J L (h/2) + J R (h/2). J = J(h) 1 2880 h5 f (4) (ξ) J = J(h/2) 1 2880 h4 32 [ f (4) (ξ L ) + f (4) (ξ R ) Now assume that the fourth derivative varies little over the interval, f (4) (ξ L ) f (4) (ξ L ) f (4) (ξ), to estimate: 1 2880 h5 f (4) (ξ) 16 [J(h) J(h/2)] 15 J(h/2) J ε = 1 [J(h) J(h/2)]. 16 A. Donev (Courant Institute) Lecture IX 11/5/2015 17 / 27 ].

Adaptive / Refinement Methods Adaptive Integration Now assume that we have split the integration interval [a, b] into sub-intervals, and we are considering computing the integral over the sub-interval [α, β], with stepsize h = β α. We need to compute this sub-integral with accuracy ε(α, β) = 1 h [J(h) J(h/2)] ε 16 b a. An adaptive integration algorithm is J J(a, b, ɛ) where the recursive function is: { J(h/2) if J(h) J(h/2) 16ε J(α, β, ɛ) = J(α, α+β 2, ɛ α+β 2 ) + J( 2, β, ɛ 2 ) otherwise In practice one also stops the refinement if h < h min and is more conservative e.g., use 10 instead of 16. A. Donev (Courant Institute) Lecture IX 11/5/2015 18 / 27

Adaptive / Refinement Methods Piecewise constant / linear basis functions A. Donev (Courant Institute) Lecture IX 11/5/2015 19 / 27

Higher Dimensions Regular Grids in Two Dimensions A separable integral can be done by doing integration along one axes first, then another: 1 1 1 [ 1 ] J = f (x, y)dxdy = dx f (x, y)dy x=0 y=0 x=0 y=0 Consider evaluating the function at nodes on a regular grid x i,j = {x i, y j }, f i,j = f (x i,j ). We can use separable basis functions: φ i,j (x) = φ i (x)φ j (y). A. Donev (Courant Institute) Lecture IX 11/5/2015 20 / 27

Higher Dimensions Bilinear basis functions Bilinear basis function φ 3,3 on a 5x5 grid 1 0.8 0.6 0.4 0.2 0 2 1 0 1 2 2 1 0 1 2 A. Donev (Courant Institute) Lecture IX 11/5/2015 21 / 27

Higher Dimensions Piecewise-Polynomial Integration Use a different interpolation function φ (i,j) : Ω i,j R in each rectange of the grid Ω i,j = [x i, x i+1 ] [y j, y j+1 ], and it is sufficient to look at a unit reference rectangle ˆΩ = [0, 1] [0, 1]. Recall: The equivalent of piecewise linear interpolation in 1D is the piecewise bilinear interpolation φ (i,j) (x, y) = φ (x) (i) (x) φ(y) (j) (y), where φ (x) (i) and φ(y) (j) are linear function. The global interpolant can be written in the tent-function basis φ(x, y) = i,j f i,j φ i,j (x, y). A. Donev (Courant Institute) Lecture IX 11/5/2015 22 / 27

Higher Dimensions Bilinear Integration The composite two-dimensional trapezoidal quadrature is then: 1 1 J φ(x, y)dxdy = f i,j φ i,j (x, y)dxdy = w i,j f i,j x=0 y=0 i,j i,j Consider one of the corners (0, 0) of the reference rectangle and the corresponding basis ˆφ 0,0 restricted to ˆΩ: ˆφ 0,0 (ˆx, ŷ) = (1 ˆx)(1 ŷ) Now integrate ˆφ 0,0 over ˆΩ: ˆφ 0,0 (ˆx, ŷ)dˆxdŷ = 1 4. ˆΩ Since each interior node contributes to 4 rectangles, its weight is 1. Edge nodes contribute to 2 rectangles, so their weight is 1/2. Corners contribute to only one rectangle, so their weight is 1/4. A. Donev (Courant Institute) Lecture IX 11/5/2015 23 / 27

Higher Dimensions Adaptive Meshes: Quadtrees and Block-Structured A. Donev (Courant Institute) Lecture IX 11/5/2015 24 / 27

Higher Dimensions Irregular (Simplicial) Meshes Any polygon can be triangulated into arbitrarily many disjoint triangles. Similarly tetrahedral meshes in 3D. A. Donev (Courant Institute) Lecture IX 11/5/2015 25 / 27

In MATLAB Conclusions The MATLAB function quad(f, a, b, ε) uses adaptive Simpson quadrature to compute the integral. The MATLAB function quadl(f, a, b, ε) uses adaptive Gauss-Lobatto quadrature. MATLAB says: The function quad may be more efficient with low accuracies or nonsmooth integrands. In two dimensions, for separable integrals over rectangles, use J = dblquad(f, x min, x max, y min, y max, ε) J = dblquad(f, x min, x max, y min, y max, ε, @quadl) There is also triplequad. A. Donev (Courant Institute) Lecture IX 11/5/2015 26 / 27

Conclusions Conclusions/Summary Numerical integration or quadrature approximates an integral via a discrete weighted sum of function values over a set of nodes. Integration is based on interpolation: Integrate the interpolant to get a good approximation. Piecewise polynomial interpolation over equi-spaced nodes gives the trapezoidal and Simpson quadratures for lower order, and higher order are generally not recommended. In higher dimensions we split the domain into rectangles for regular grids (separable integration), or triangles/tetrahedra for simplicial meshes. Integration in high dimensions d becomes harder and harder because the number of nodes grows as N d : Curse of dimensionality. Monte Carlo is one possible cure... A. Donev (Courant Institute) Lecture IX 11/5/2015 27 / 27