# ALGORITHM

Algorithm in SimplexNumerica

SimplexNumerica provides the following algorithm:

*** Function Plots ***

• Regular Function f(x)
• Parametric Function x(t), y(t)
• Polar Function r(t)
• Relations (Equation/Inequality)
• Fill Area
• Custom Function Constants

*** Differentiation ***

*** Integration ***

*** Histograms ***

*** Regression ***

• Linear Least Squares Fit
http://en.wikipedia.org/wiki/Regression_analysis
• Robust Linear Regression
http://en.wikipedia.org/wiki/Robust_regression
• Exponential Least Squares Fit
http://mathworld.wolfram.com/LeastSquaresFittingExponential.html
• Logarithmic Least Squares Fit
http://mathworld.wolfram.com/LeastSquaresFittingLogarithmic.html
• Power Least Squares Fit
http://mathworld.wolfram.com/LeastSquaresFittingPowerLaw.html
• Invers Least Squares Fit
http://mathworld.wolfram.com/LeastSquaresFitting.html
• Invers Least Squares Fit2
http://mathworld.wolfram.com/LeastSquaresFitting.html
• n-dim. Polynomial
http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html
• Cubic Polynomial
http://en.wikipedia.org/wiki/Cubic_function
• Sine Wave
https://www.researchgate.net/publication/272677187_A_Fast_Sine-Wave_Fit_Algorithm
• Line Form
• Circle Form
• Ellipse Form
• Inner Circle Arcs
https://www.researchgate.net/publication/220146330_Robust_Fitting_of_Circle_Arcs

*** Sample Consensus ***

• Random Sample Consensus (RANSAC)
http://en.wikipedia.org/wiki/RANSAC
• Progressive Sample Consensus (PROSAC)
https://en.wikipedia.org/wiki/Random_sample_consensus
• Randomized RANSAC (RRANSAC)
• Least Median of Squares (LMEDS)
• M-Estimator Sample Consensus (MSAC)
• Randomized MSAC (RMSAC)
• Maximum LikeLihood Estimation Sample Consensus (MLESAC)

*** Approximation ***

• Simplex Algorithm
• Gauß Algorithm
• Bezier
• Bezier V2
• B-Spline
• Smoothing Spline
• Parametric Smoothing Spline
• Cyclic Smoothing Spline

Simplex-Fit

https://en.wikipedia.org/wiki/Simplex_algorithm

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).

Gauß-Fit

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

https://mathematica.stackexchange.com/questions/89246/gauss-fit-to-list-of-2d-points

Bézier-Curves

https://en.wikipedia.org/wiki/B%C3%A9zier_curve

Smoothing Spline

https://en.wikipedia.org/wiki/Smoothing_spline

http://www.rxmlwebtech.org/~tcmlee/PDFfiles/2003csda.pdf

Parametric Smoothing Splines

https://www.sciencedirect.com/science/article/abs/pii/0010448583900854

Cyclic Smoothing Splines

https://www.sciencedirect.com/science/article/abs/pii/0010448583900854

*** Interpolation ***

• Polygonal Segments
https://en.wikipedia.org/wiki/Polygon
• Forwardflat Segments
• Backwardflat Segments
• Cubic Spline
https://de.wikipedia.org/wiki/Spline-Interpolation
• Parametric Spline
• Periodic Spline
• Cyclic Spline
• Smooth Spline
• Akima Subspline
• Renner Subspline
• Polynomial Interpolation
• (n-1) Polynomial
• Lagrange
• Newton
https://en.wikipedia.org/wiki/Polynomial_interpolation
• Rationale Polynoms
• Aitken/Neville Polynom
• Hermite Splines
https://en.wikipedia.org/wiki/Cubic_Hermite_spline

• Catmull-Rom Spline
https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline

• Kochanek-Bartel Spline
https://en.wikipedia.org/wiki/Kochanek%E2%80%93Bartels_spline
• Cardinal Spline
• Modified Cubic Splines
• Natural Overshooting
• Non-overshooting in 1st Derivative
• Non-overshooting in 2nd Derivative
• Parabolic Interpolation
• Fritsch-Butland Interpolation
https://www.researchgate.net/figure/Fritsch-Butland-FB-a-interpolating-spline-b-y-points_fig17_3806257
• Akima Interpolation
https://en.wikipedia.org/wiki/Akima_spline
• Kruger Interpolation
• Extrapolation Cubic Spline
• Polygonal Curve

*** 3D Approximation and Interpolation ***

• 2D Surface Interpolation & Approximation
• 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:

1. Thin Plate Surface Spline Interpolation
2. Thin Plate Surface Spline Approximation
3. Bivariate Cubic Spline Approximation
4. Nearest Neighbours Distance Weighted
5. Nearest Neighbours Linear Interpolation
6. Nearest Neighbours Around Distance Weighting

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.

Bivariate Cubic Spline

Nearest Neighbor Algorithm

*** Digital Signal Processing ***

• Simple Waveforms
• Sine Waveform
• Sine Waveform with Harmonics
• Square Waveform
• Triangle Waveform
• Sawtooth Waveform
• Gaussian Noise
• 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

*** Envelope Generators ***

• Simple Linear Integration
• Convex Exponential Interpolation
• Variable Exponential Interpolation
• Logarithmic Interpolation
• DB Interpolation
• Simple State Machine
• Multiple Segments State Machine
• Amplitude Envelope

*** Discrete Fourier Transform (DFT) ***

• Approximation
• Spectrum
• Phase
• Real Part
• Imaginary Part

*** Fast Fourier Transform (FFT) ***

• Approximation
• Spectrum (Simplex FFT)
• Spectrum (Complex FFT
• Spectrum (Real FFT)
• Phase Angle
• Real Fourier Analysis
• Real Fourier Synthesis
• Real Part
• Imaginary Part
• Interpolation

*** 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)

*** Goertzel DFT (Filter) ***

• Scaled Magnitude
• Tone detection

*** 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)

*** IIR Filter ***

• Butterworth
• Chebyshev I
• Chebyshev II
• Elliptic
• Bessel
• Legendre
• Custom

*** Time-series Filter ***

• Simple Moving Averages
• Exponential Moving Averages
• Linear Moving Averages
• Savitzky-Golay Filter
• FIR / IIR Real Filter

*** Audio Signals ***

• Play Audio Wave
• Change Sound Tempo
• Change Sound Pitch
• Change Sound Rate

*** Array Math Operations ***

• Sub Array
• Sub Number
• Mul Array
• Mul Number
• Div Array
• Div Number

*** 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

*** Airy Functions ***

• Airy function Ai
• Airy function Bi
• Airy function Ai'
• Airy function Bi'

*** 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

*** 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)

*** 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

*** Data Reduction ***

• Routine from MIR (Russian Space Station)
• Band Slope Method
• Scherenschnitt Method
• Removing nth Data Points
• Perpendicular Vertex Reduction
• Retake Perpendicular Vertex Reduction
• Reumann/Witkam Reduction
• Ramer/Douglas/Peucker Reduction
• Optimized Ramer/Douglas/Peucker Reduction
• Opheim Simplification
• Lang Simplification

*** Convex Hull ***

• Hull Edge Points
• Hull Polygon
• Hull Curve

*** Inter Lines ***

*** Stochastics ***

*** Peak Detection ***

*** Peak Finder ***

Emission Peak Finder

Absorption Peak Finder

etc.