Written by Chris Saunders . Version 0.1 SmallEiffel -0.78betax October 1999. Eiffel Forum Freeware License .
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. 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.