01: /*
02: * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences.
03: * Copyright (C) 2006 - JScience (http://jscience.org/)
04: * All rights reserved.
05: *
06: * Permission to use, copy, modify, and distribute this software is
07: * freely granted, provided that this notice is preserved.
08: */
09: package org.jscience.mathematics.structure;
10:
11: /**
12: * This interface represents an algebraic structure with two binary operations
13: * addition and multiplication (+ and ·), such that (R, +) is an abelian group,
14: * (R, ·) is a monoid and the multiplication distributes over the addition.
15: *
16: * @author <a href="mailto:jean-marie@dautelle.com">Jean-Marie Dautelle</a>
17: * @version 3.0, February 13, 2006
18: * @see <a href="http://en.wikipedia.org/wiki/Mathematical_ring">
19: * Wikipedia: Mathematical Ring</a>
20: */
21: public interface Ring<R> extends GroupAdditive<R> {
22:
23: /**
24: * Returns the product of this object with the one specified.
25: *
26: * @param that the object multiplier.
27: * @return <code>this · that</code>.
28: */
29: R times(R that);
30:
31: }
|