Numerical Differentiation
![]() |
Numerical differentiation is a technique of numerical analysis to produce an estimate of the derivative of a mathematical function or function subroutine using values from the function and perhaps other knowledge about the function.
In this tutorial numerical differentiation is implemented using the GSSE. The discretization method used here is the method of finite differences.
Links:
en.wikipedia.org/wiki/Numerical_differentiation
Tasks
![]() |
- L1: Write the function
on the vertices of the domain. - L1: Determine a formula for numerical differentiation with the finite difference method. Use the three-point approximation.
- L2: Implement the formula for the 2nd derivate using the vertex_on_edge_iterator and the edge_on_vertex_iterator.
Try to implement the formula for the non-boundary regions, if you handled this easily try to implement a boundary handling.
- L2: Derive a formula for boundary regions. Note that not all neighbor points are available at the boundary.
- L2: Detect the boundary vertices of the domain. If necessary determine the type of boundary (left, right, upper, lower)
- L2: Implement the formula for the boundary regions.
- L2: Implement the 2nd derivate by using the Taylor-series, this is a 5-point approximation.
- L3: Write a method which can be parameterized with the order of derivative approximation.

