[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters]

Arc de Triomphe clipart (2486 bytes)

MOOMBA: Modern, Object-Oriented Math(s)-Based Algorithms


Written by Daniel Prager.

Version 0.1

moomba-v01.zip 219 ( kilobytes) - source code
Daniel.Prager@cmis.csiro.au Daniel Prager (maintainer) mail address.


The MOOMBA project is envisaged as a place to collect together clean, correct, changeable, mathematical algorithms and applications.

It would be an Open Source project.

Objectives

Technical

Library classes (Highlights only)

Applications

I have compiled these programs using the lastest SmallEiffel on Windows 98 and Windows NT. There are some problems with C-code-generation, so I recommend compilation with require_checks (or lower) if problems arise.

Status

This has been an exercise for me to learn a bit more about Eiffel, OO, and the FFT algorithm.

More ambitiously, I believe that there would be tremendous spin-offs if a library was constructed in Eiffel that implemented --- and in the process classified --- a broad selection of useful numerical algorithms/structures without significant use of external routines. I expect that such a library would complement EiffelMath nicely.

Pipe-dream ;-) Some very rudimentary classes (see above).

Requires

References

FOURIERIZABLE_VECTOR

A FOURIERIZABLE_VECTOR has two "forms", corresponding to -- say -- time-domain and frequency_domain.

The transform feature tells the vector to switch between these forms. This is implemented using a fast-fourier transform.

Additionally, vector operations are only permitted if they are in the same form.

Possible extensions:

  1. ARRAYED_VECTOR as a non-deferred ancestor

    Instead of inheriting directly from VECTOR and ARRAY

  2. REAL_FOURIERIZABLE_VECTOR as a descendant

    Use symmetry to pack a real (in the mathematical sense - not shortened DOUBLEs!) into a COMPLEX vector of half the length in one form, and presents itself as full length, but with appropriate symmetry in the other form.

    LEGENDRE_FOURIER_VECTORs, CHEBYSHEV_FOURIER_VECTORs, or even WAVELET_VECTORs etc.

  3. COMPLEX

    Features standard mathematical functions (exp, sin, cos, tan etc. and inverses) extended to take complex arguments, and zealous post-conditions.

Maintainer

Daniel Prager, as at October 1999.


[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters]