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

Arc de Triomphe clipart (2486 bytes)

An Eiffel Math Library for Algebraic Structures

Written by Chris Saunders.

Version 0.1

saunders-math-v01.zip 32 ( kilobytes) - source code
saunders@wchat.on.ca Chris Saunders (maintainer) mail address.


I have noticed discussions on comp.lang.eiffel that a lot of people were not satisfied with class NUMERIC as a basis for various classes that would be used for numeric computation. NUMERIC models a commutative ring but this model in inadequate for matrix arithmatic. Matrix operations require that the operands satisfy the properties of a field. It is also possible that one might wish to create objects that have, say the properties of a ring but do not represent numbers.

To address this I have written a set of classes that represent a stanard set of algebraic structures starting with groupoid and ending with field.


I found it difficult to create assertions that were adequate for some of these structures. Some of the properties are supposed to hold for all operands but it is of course impossible to check all cases. As a compromise some of the binary operations have assertions that use the current object the "other" object and the result for checking. In practice I think that it will be found that these checks are enough but they do not provide certainty over the entire set of possible operands. It would have been possible in some cases to provide further tests but I thought that this would be overkill.

You will find two directories within.


Chris Saunders, as at October 1999.

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