1 /* 2 * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences. 3 * Copyright (C) 2006 - JScience (http://jscience.org/) 4 * All rights reserved. 5 * 6 * Permission to use, copy, modify, and distribute this software is 7 * freely granted, provided that this notice is preserved. 8 */ 9 package org.jscience.mathematics.structures; 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 } 32