My favorites | Sign in
igp
Project Home Downloads Wiki Issues Source
Search
for
NumericGuide  
Some information on how igp performs calculations.
Updated Feb 4, 2010 by pko...@gmail.com

Introduction

As all caluclation procedures were written from scratch, some basic information might be useful. All of these techniques were presented during a subject Numeric methods during my studies.

Arbitrary function values

Arbitrary expression strings are initially converted to RPN form for further calculations. The following functions are supported: sin, cos, tan, cot, sec, csc, asin, acos, atan, acot, sinh, cosh, tanh, coth, sech, csch, ln, abs.

Derivatives

In case of Polynomial type, the derivative can be calculated accurately. I guess this fact does not require further explainations.

Arbitrary functions use the following formula for calculating f'(x):

df = (f(x-h)-f(x+h))/(2*h)

where h = 1e-10.

Integrals

Definite integrals can be also calculated accurately for Polynomial datatype.

CAUTION In current version (0.9.0.50) there are problems with these calculations in case of spline functions - polynomials with not limited monomials are "safe".

The other supported method of integration is a complex trapezoidal quadrature with uniform range division.

Linear regression

Linear approximation is realized as a least square method - it minimizes the value of:

(y1 - (a*x1 + b))^2 + ... + (yn - (a*xn + b))^2

Lagrange and B-Spline interpolation

Lagrange interpolation is the simplest supported type. It is calculated by solving a system of linear equations defined by a Vandermonde matrix. This process is performed using Gauss elimination.

B-Splines are calculated the same way - ie. Gauss elimination on a properly constructed matrix. Both ordinary and normal B-Splines are supported.


Sign in to add a comment
Powered by Google Project Hosting