steinerberger


steinerberger, a Fortran90 code which evaluates the Steinerberger functions f(n,x), which are continuous but have derivative discontinuities, are hard to accurately plot, interpolate, integrate, and minimize. Plots are made of several of the functions.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

steinerberger is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

steinerberger_test

fn, a Fortran90 code which approximates elementary and special functions using Chebyshev polynomials, by Wayne Fullerton.

humps, a Fortran90 code which evaluates the humps() function, its first and second derivatives, and its antiderivative. The functions are plotted.

polpak, a Fortran90 code which evaluates a variety of mathematical functions.

runge, a Fortran90 code which evaluates the Runge() function, its first and second derivatives, and its antiderivative. This function causes a breakdown for polynomial interpolation over equally spaced nodes in [-1,+1]. The functions are plotted.

sigmoid, a Fortran90 code which evaluates the sigmoid function s(x)=1/(1+exp(-x)) or its derivatives of any order. The test code creates graphic images.

sinc, a Fortran90 code which evaluates the sinc() function, its first and second derivative and its antiderivative. The normalized function is defined by sincn=sin(pi*x)/(pi*x), the unnormalized function is sincu=sin(x)/x. Plots of these functions are made.

Reference:

  1. John D Cook,
    Pushing numerical integration software to its limits,
    https://www.johndcook.com/blog/2023/06/12/stressing-numerical-integration/
    Posted 12 June 2023.
  2. John D Cook,
    Plotting a function with lots of local minima,
    https://www.johndcook.com/blog/2023/06/12/lots-of-local-minima/
    Posted 12 June 2023.
  3. Stefan Steinerberger,
    A amusing sequence of functions,
    Mathematics Magazine,
    Volume 91, Number 4, October 2018, pages 262-266.

Source Code:


Last modified on 29 March 2025.