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 a structure with a binary additive 13 * operation (+), satisfying the group axioms (associativity, neutral element, 14 * inverse element and closure). 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_Group"> 19 * Wikipedia: Mathematical Group</a> 20 */ 21 public interface GroupAdditive<G> extends Structure<G> { 22 23 /** 24 * Returns the sum of this object with the one specified. 25 * 26 * @param that the object to be added. 27 * @return <code>this + that</code>. 28 */ 29 G plus(G that); 30 31 /** 32 * Returns the additive inverse of this object. It is the object such as 33 * <code>this.plus(this.opposite()) == ZERO</code>, 34 * with <code>ZERO</code> being the additive identity. 35 * 36 * @return <code>-this</code>. 37 */ 38 G opposite(); 39 40 } 41