Simplex Algorithm

SimplexNumerica provides the following algorithm (see this as part of the user manual)

Main Manual V12 (here)

1             Algorithm in SimplexNumerica  

 SimplexNumerica provides the following algorithm:

1.1     Function Plot

Here you will find the following functions:

ˇ         Regular Function f(x)

ˇ         Parametric Function x(t), y(t)

ˇ         Polar Function r(t)

ˇ         Relations (Equation/Inequality)

ˇ         Add Tangent

ˇ         Add Normal

ˇ         Fill Area

ˇ         Custom Function Constants


1.2     Regression

ˇ         Linear Least Squares Fit

ˇ         Robust Linear Regression

ˇ         Exponential Least Squares Fit

ˇ         Logarithmic Least Squares Fit

ˇ         Power Least Squares Fit

ˇ         Invers Least Squares Fit

ˇ         Invers Least Squares Fit2

ˇ         n-dim. Polynomial

ˇ         Quadratic Polynomial

ˇ         Cubic Polynomial

ˇ         Sine Wave

ˇ         Line Form

ˇ         Circle Form

ˇ         Ellipse Form

ˇ         Inner Circle Arcs

1.3     Sample Consensus

ˇ         Random Sample Consensus (RANSAC)

ˇ         Progressive Sample Consensus (PROSAC)

ˇ         Randomized RANSAC (RRANSAC)

ˇ         Least Median of Squares (LMEDS)

ˇ         M-Estimator Sample Consensus (MSAC)

ˇ         Randomized MSAC (RMSAC)

ˇ         Maximum LikeLihood Estimation Sample Consensus (MLESAC)

1.4     Approximation

ˇ         Standard Simplex Algorithm

ˇ         Gauß Algorithm

ˇ         Bezier

ˇ         Bezier V2

ˇ         B-Spline

ˇ         Smoothing Spline

ˇ         Param. Smoothing Spline

ˇ         Cyclic Smoothing Spline

 1.4.1          Simplex-Fit

The Simplex-Algorithm or shorter Simplex-Fit is a very effective procedure for a nonlinear Fit. The Simplex algorithm function performs non-linear approximation of all the parameters that have been in the formula marked to be floated. As always in non-linear approximation, good starting guesses are essential (for the nonlinear parameters). 

1.4.2          Gauß-Fit

The Gauss-Fit proceeds from the same problem definition as the Simplex-Fit.

1.4.3          Bézier-Curves

1.4.4          Smoothing Spline

1.4.5          Parametric Smoothing Splines

1.4.6          Cyclic Smoothing Splines

1.5     Interpolation

SimplexNumerica provides the following interpolation algorithm:

ˇ         Polygonal Segments

ˇ         Forwardflat Segments

ˇ         Backwardflat Segments

ˇ         Additional Segments

ˇ         Cubic Spline

ˇ         Parametric Spline

ˇ         Periodic Spline

ˇ         Cyclic Spline

ˇ         Smooth Spline

ˇ         Akima Subspline

ˇ         Renner Subspline

ˇ         Polynomial Interpolation

ˇ         (n-1) Polynomial

ˇ         Lagrange

ˇ         Newton

ˇ         Rationale

ˇ         Aitken/Neville

ˇ         Hermite Splines

ˇ         Catmull-Rom Spline

ˇ         Kochanek-Bartel Spline

ˇ         Cardinal Spline

ˇ         Modified Cubic Splines

ˇ         Natural Overshooting

ˇ         Non-overshooting in 1st Derivative

ˇ         Non-overshooting in 2nd Derivative

ˇ         Parabolic Interpolation

ˇ         Fritsch-Butland Interpolation

ˇ         Akima Interpolation

ˇ         Kruger Interpolation

ˇ         Extrapolation Cubic Spline

1.5.1          Polygonal Curve

1.5.2          Additive Segmentation

1.6     2D Surface Interpolation & Approximation

2D Surface Interpolation

ˇ         Bi-Linear

ˇ         Nearest Neighbors Linear

ˇ         Smoothing Spline

ˇ         Thin Plate Surface Spline

2D Surface Approximation

ˇ         Nearest Neighbors Distance

ˇ         Nearest Neighbors Around Distance

ˇ         Thin Plate Surface Spline

ˇ         Bivariate Cubic Spline

3D Approximation and Interpolation is sometimes difficult to handle. The result is very depended from the sample data and the used algorithm.

SimplexNumerica has integrated some different algorithm for 3D fits. The following fits are implemented:

  • Thin Plate Surface Spline Interpolation
  • Thin Plate Surface Spline Approximation
  • Bivariate Cubic Spline Approximation
  • Nearest Neighbours Distance Weighted
  • Nearest Neighbours Linear Interpolation
  • Nearest Neighbours Around Distance Weighting


1.6.1          Thin Plate Surface Spline

Thin Plate Surface Spline, or TPS for short, is an interpolation method that finds a "minimally bended" smooth surface that passes through all given points. TPS of 3 control points is a plane, more than 3 is generally a curved surface and less than 3 is undefined.


1.6.2          Bivariate Cubic Spline                       Nearest Neighbor Algorithm


1.7     Digital Signal Processing

1.7.1          Simple Waveforms

§  Sine Waveform

§  Sine Waveform with Harmonics

§  Square Waveform

§  Triangle Waveform

§  Sawtooth Waveform

§  Gaussian Noise

1.7.2          Complex Waveforms

§  Summation of sine waves

§  Sawtooth wave by summation

§  Sawtooth wave by direct calculation

§  Inverse sawtooth wave

§  Triangle wave

§  Square waves

§  Pulse wave                                                                     

§  Frequency modulation FM

§  Phase modulation PM

§  Amplitude modulation AM

§  Ring modulation AM                                                                  

§  Pulse wave buzz

§  Pulse wave buzz2                                                                         

§  Dynamic spectrum

§  Bandwidth limited

§  Waveshaping

§  White noise

1.7.3          Envelope Generators                    

o   Simple Linear Integration

o   Convex Exponential Interpolation

o   Variable Exponential Interpolation

o   Logarithmic Interpolation

o   DB Interpolation

o   Simple State Machine

o   Multiple Segments ADSR

o   Multiple Segments State Machine                                                        

o   Constant Rate ADSR

o   Constant Rate ADSR Transformed                                                        

o   Amplitude Envelope                                   

1.8     DFT 

ˇ         Approximation

ˇ         Spectrum

ˇ         Phase

ˇ         Real Part

ˇ         Imaginary Part

1.9     FFT 

ˇ         Approximation

ˇ         Spectrum (Simplex FFT)

ˇ         Spectrum (Complex FFT

ˇ         Spectrum (Real FFT)

ˇ         Phase

ˇ         Real Fourier Analysis

ˇ         Real Fourier Synthesis

ˇ         Real Part

ˇ         Imaginary Part

ˇ         Interpolation (2:1 ratio)


1.9.1          Fast Fourier Transform (FFT)                       Fourier Subtotal                       Spectrum                       Phase Angle                       Fourier Analysis                       Fourier Synthesis                       Imaginary part

1.10    Window Functions

ˇ         None Window (Rectangle)

ˇ         Hamming Window

ˇ         Hanning Window

ˇ         Hann Window (Matlab)

ˇ         Blackman Window

ˇ         Triangular Window

ˇ         Sqrt Window

ˇ         Hann Window (Numerical Recipes)

ˇ         Blackman-Harris Window

ˇ         Bartlett Window

ˇ         Parzen Window

ˇ         Welch Window

ˇ         Steeper Window

ˇ         Kaiser Window

ˇ         Flat Top Window

ˇ         Flat Top Window (Stanford)     

1.11    Goertzel DFT (Filter)   

ˇ         Scaled Magnitude

ˇ         Tone detection


1.12    FIR Filter      

ˇ         FIR Coefficients (Remez Algorithm)

ˇ         FIR Filter Graph (Remez Algorithm)                                      

ˇ         FIR Coefficients (Parks McClellan Algorithm)

ˇ         FIR Filter Graph (Parks McClellan Algorithm)                                    

ˇ         FIR Coefficients (Iowa Hills Algorithm)

ˇ         FIR Filter Graph (Iowa Hills Algorithm)


1.13    IIR Filter

ˇ         RBJ Biquad

ˇ         Butterworth

ˇ         Chebyshev I

ˇ         Chebyshev II

ˇ         Elliptic

ˇ         Bessel

ˇ         Legendre

ˇ         Custom                                             


1.14    Time-series Filter  

ˇ         Simple Moving Averages

ˇ         Exponential Moving Averages

ˇ         Linear Moving Averages                                            

ˇ         Savitzky-Golay Filter

ˇ         FIR / IIR Real Filter


1.15    Audio Signals

ˇ         Play                                     

ˇ         Change Sound Tempo

ˇ         Change Sound Pitch

ˇ         Change Sound Rate

ˇ         Adjust Tempo to BPM


1.16    Math Operations

ˇ         Add Array

ˇ         Add Number

ˇ         Sub Array

ˇ         Sub Number

ˇ         Mul Array

ˇ         Mul Number

ˇ         Div Array

ˇ         Div Number

1.17    Math Functions

ˇ         Use Formula Parser

ˇ         Bernstein Polynomial [0,1]

ˇ         Bernstein Polynomial [a,b]

ˇ         Bernoulli Polynom of order N

ˇ         Euler Beta Function (Euler's Integral)

ˇ         Gaus Error Function

ˇ         Gaus Error Function Inverse

ˇ         Legendre Polynomial

ˇ         Hermite Polynomial

ˇ         POPUP Bessel Functions

ˇ         Bessel Function of the first kind

ˇ         Bessel Function of the second kind

ˇ         Modified Bessel Function of the first kind

ˇ         Modified Bessel Function of the second kind

ˇ         Spherical Bessel Function of the first kind

ˇ         Spherical Bessel Function of the second kind


1.17.1     Airy Functions

ˇ         Airy function Ai

ˇ         Airy function Bi

ˇ         Airy function Ai'

ˇ         Airy function Bi'


1.17.2     Elliptic Integrals

ˇ         Carlson's elliptic integral RC

ˇ         Legendre's complete elliptic integral of the first kind

ˇ         Legendre's complete elliptic integral of the second kind

ˇ         Legendre's complete elliptic integral of the third kind


1.17.3     Jacobi Elliptic Functions

ˇ         Function cd

ˇ         Function cn

ˇ         Function cs

ˇ         Function dc

ˇ         Function dn

ˇ         Function ds

ˇ         Function nc

ˇ         Function nd

ˇ         Function ns

ˇ         Function sc

ˇ         Function sd

ˇ         Function sn

ˇ         Riemann Zeta Function (left)

ˇ         Riemann Zeta Function (right)

1.18    Differentiation

1.19    Integration

1.20    Outlier Algorithm

ˇ         Auto Detection

ˇ         Dean-Dixon Outlier Test

ˇ         Nalimov Outlier Test

ˇ         Grubbs Outlier Test

ˇ         Significance of extreme values

ˇ         Show Outlier Test Limit

ˇ         Show Outliers in Output Window

ˇ         Acoustics Alarm if any Outlier

1.21    Data Reduction

ˇ         Routine from MIR (Russian Space Station)

ˇ         Band Slope Method

ˇ         Scherenschnitt Method

ˇ         Removing nth Data Points

ˇ         Radial Vertex Reduction

ˇ         Perpendicular Vertex Reduction

ˇ         Retake Perpendicular Vertex Reduction

ˇ         Reumann/Witkam Reduction

ˇ         Ramer/Douglas/Peucker Reduction

ˇ         Optimized Ramer/Douglas/Peucker Reduction

ˇ         Opheim Simplification

ˇ         Lang Simplification

1.22    Convex Hull

ˇ         Hull Edge Points

ˇ         Hull Polygon

ˇ         Hull Curve

1.23    Misc.

ˇ         Histogram

ˇ         Inter Line

ˇ         Stochastic Alpha, BetaRho (SABR)

1.24   Peak Detection / Peak Finder

ˇ         Emission Peak Finder

ˇ         Absorption Peak Finder



The author makes no warranty of any kind, expressed or implied, including any warranties of
fitness for a particular purpose. In no event will the author be liable for any incidental
or consequential damages arising from the use of, or inability to use, this algorithm
from the programs SimplexNumerica or Simplexety.

In particular you must NOT assume
 that the algorithm shown
are always
correct in SimplexNumerica or Simplexety!

Next Page...







Address special questions to the following email address:

Copyright 1988-2018 Dipl.-Phys.-Ing. Ralf Wirtz. All rights reserved.