Skip to content

A collection of Generic Ada packages for basic numerical analysis

License

Notifications You must be signed in to change notification settings

BrentSeidel/Numerical

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Numerical

This will contain a collection of Ada (and possibly lisp, if I get really ambitious) packages for numerical operations.

A rough outline of what I plan is below. Obviously, this will be subject to change. I expect that most, if not all of these packages will be generic so that they can be used on different numerical types.

Complex Numbers

In general, you should probably use the complex package in the Ada standard numerics library. This is more of a practice run for me. The one difference is that complex numbers are a tagged record so that object notation can be used for some of the operations, if that's important to you.

Integration

Implemented algorithms are:

  • Composite trapezoid
  • Composite Simpson's
  • Adaptive Simpson's

Differentiation

Differential Equations

These are basic algorithms for finding numerical solutions to differential equations.

the implemented algorithms are:

  • Euler's method
  • 4th order Runge-Kutta
  • 4/5th order Runge-Kutta-Fehlberg
  • 4th order Adams-Bashforth/Adams-Moulton
  • 4th order Runge-Kutta for systems of differential equations

Root Finding

These are used to find roots (zero crossings) of functions. There are a number of different methods with diffrent pros and cons. It is important to understand the nature of the function before selecting the root finding algorithm.

The implemented algorithms are:

  • Bisection
  • Secant
  • Mueller (versions for real roots and complex roots)

Polynomials

A polynomial is implemented as an array with the lower index value set to 0. The index represents the exponent for the independant variable and the array value at that index is the coefficient.

Implemented operations include

  • Addition and subtraction of polynomials
  • Multiplication of polynomial by a scalar
  • Multiplication of polynomial by polynomial
  • Evaluation of polynomial
  • Integral of polynomial
  • Derivative of polynomial

Quaternions

Some basic operations are implemented.

Regression

Simple linear regression is implemented.

About

A collection of Generic Ada packages for basic numerical analysis

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages