Skip to content
Projects
These are the docs of the development version (the devel branch). See the docs of the latest release.

example_pkg.grid

A uniform 1D grid.

Classes

NameDescription
GridA uniform grid of cells on [start, stop].

Functions

NameDescription
linspace_midpointsThe midpoints of cells uniform cells on [start, stop].
midpoint_integralThe integral of f on [start, stop] by the composite midpoint rule.

Gridclassdataclass#

class Grid(start: float, stop: float, cells: int)

A uniform grid of cells on [start, stop].

Attributes

NameTypeDescription
startfloatLeft end of the domain.
stopfloatRight end of the domain.
cellsintNumber of cells.

cellsattributeinstance attribute#

cells: int

startattributeinstance attribute#

start: float

stopattributeinstance attribute#

stop: float

spacingproperty#

spacing: float

The cell width h=(b−a)/nh = (b - a) / n.

nodesmethod#

def nodes() -> np.ndarray

The cells + 1 cell boundaries.

Returns

np.ndarray
The node coordinates.

linspace_midpointsfunction#

def linspace_midpoints(start: float, stop: float, cells: int) -> np.ndarray

The midpoints of cells uniform cells on [start, stop].

Parameters

NameTypeDescription
startfloatLeft end of the domain.
stopfloatRight end of the domain.
cellsintNumber of cells.

Returns

np.ndarray
An array of length cells.

midpoint_integralfunction#

def midpoint_integral(f, start: float, stop: float, cells: int) -> float

The integral of f on [start, stop] by the composite midpoint rule.

Parameters

NameTypeDescription
fThe integrand, called on an array of points.
startfloatLeft end of the domain.
stopfloatRight end of the domain.
cellsintNumber of cells.

Returns

float
The approximate integral.

Numerics

rule

∫abf(x) dx≈h∑i=0n−1f(xi+xi+12)\int_a^b f(x)\,dx \approx h \sum_{i=0}^{n-1} f\left(\frac{x_i + x_{i+1}}{2}\right)

error

∣E∣≤(b−a)h224max⁡[a,b]∣f′′∣\left|E\right| \le \frac{(b - a) h^2}{24} \max_{[a, b]} |f''|

Order of accuracy: 2.

Assumptions:

  • f twice continuously differentiable on [a, b]

References:

  • Süli and Mayers, An Introduction to Numerical Analysis (2003), section 7.2