Algol 60 Procedures Libraries

Library NumAl of Algol 60 procedures in numerical mathematics.

README file to read first

NumAl 1 library part 1 with complex number operations, Vector and Matrix arithmetic, long integer and double precision arithmetic, matrix triangulation, determinant calculation, matrix inversion, linear equation solution, Cholesky decomposition, Householder triangulation, linear least squares problem, Sin/cosine/Fourier series, continued fractions, Orthogonal polynomials

NumAl 2 library part 2 with vector sorting, matrix eigenvalues and eigenvectors, Gram-Schmidt method, singular values of matrix, roots of polynomials, definite integrals, function minimization, initial value problem FOR ordinary differential equations

NumAl 3 library part 3 with an initial value problem, two points boundary value problem, estimation of unknown variables in a system of first orderdifferensial equations, value of PI and E, parameters of computer arithmetic, hyperbolic functions, exponential integrals, The gamma function, The error function, the sine integral SI(X) ald the cosine integral CI(X), Bessel functions, Airy functions

index of the NumAl library

NumAl original Original texts of NumAl library

Proposal of Algol 60 standard library in numerical mathematics.

(proposal is in development...)

Multi integer arithmetics:

Multi integer is integer array with dimension.

MintNeg( ) - negate multi integer

MintAdd( ) - addition of two multi integers

MintMult( ) - multi integer multiplication

MintDiv( ) - multi integer division

MintRes( ) - multi integer residual of division

MintDivisor( ) - multi integer minimal divisor

Fractional arithmetics:

Fraction = couple of two integers, numerator and denominator.

FracAdd() - addition of two fractions

Frac() - multiplication of two fractions

Frac() - division of two fractions

Frac() - chain presentation of fraction

Complex arithmetics:

complex number = couple of real numbers (real part and imaginery part)

CompAdd() - addition of two complex numbers

CompMult() - multiplication of two complex numbers

CompDiv() - division of two complex numbers

CompNorm() - norm of complex number

CompTrig() - trigonometric form (r, arg) of complex number

CompExp() - exponent of complex number

CompLn() - logarithm of complex number

Real vectors:

Real vector = real 1-dim array

OutVector() - vector output to file in text form

InVector() - vector input from text file

VectGen() - generation of vector with values (a + i * s)

VectRand() - generation of vector with random components from 0 to 1.0

VectCopy() - copying of vector to another vector

VectAddNumber() - addition of scalar to vector

VectAdd() - addition of two vectors

VectMultNumber() - multiplication of vector to scalar

VectScalarMult() - scalar multiplication of two vectors

VectNorm() - Euclid norm of vector

VectAngle() - angle between two vectors

Real square matrices:

Real square matrix = real square 2-dim array

OutMatrix() - matrix output to file in text form

InMatrix() - matrix input from text file

MatrDiag() - generation of matrix with const value on diagonal

MatrDiag3() - generation of three diagonal matrix matrix with const values on diagonal and upper/lower sub diagonals

MatrGen() - generation of matrix with values (a + i*s1 + j*s2)

MatrRand() - generation of matrix with random components from 0 to 1.0

MutrCopy() - copying of matrix to another matrix

MatrAddNumber() - addition of scalar to matrix

MatrAdd() - addition of two matrices

MatrMultNumber() - multiplication of matrix to scalar

MatrMultVect() - multiplication of matrix to vector

MatrMult() - multiplication of matrix to another matrix

MatrTranspose() - multiplication of matrix to another matrix

MatrDeterm() - determinant of matrix

Linear equations and Linear algebra:

LinalgGauss(matr, vect, vect) -

LinalgEigen() -

Analytical Geometry on Plane:

point (x,y), line coefficients (a,b,c), line segment (x1,y1,x2,y2)

GeomInPoint() - point coordinates reading

GeomOutPoint() - point coordinates writing

GeomInLine() - line coefficients reading

GeomOutLine() - line coefficients writing

GeomPointShift() - point shift

GeomPointRadius() - point shift

GeomDist() - distance between points

Polynomials and their roots:

polynomial represented as real 1-dim array with polynomials coefficients

PolyCalc() - fast polynomial value calculation

PolyAdd() - addition of two polynomials

PolyMult() - multiplication of two polynomials

Poly2Roots() - roots of second order polynomial

Poly3Root() - real root of third order polynomial

PolyDivision() - division of two polynomials

Fourier series:

FourierFFT() - fast Fourier transform

FourierInverse() - Inverse Fourier transform

Non-linear equations:

Differential equations (initial value problems):

Differential equations (boundary value problems):

Numerical integration and differentiation:

Time series filtration:

Time series represented as Real vector


Regression analysis:

Statistical calculations:

StatAverage() - average value of data collection

StatAveStd() - average value and Standard Deviation of data collection

StatMedian() - median value of data collection

StatCorr() - correlation value between two data vectors