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 multiplicative 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 GroupMultiplicative<G> extends Structure<G> { 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 G times(G that); 30 31 /** 32 * Returns the multiplicative inverse of this object. It it the object 33 * such as <code>this.times(this.reciprocal()) == ONE </code>, 34 * with <code>ONE</code> being the multiplicative identity. 35 * 36 * @return <code>ONE / this</code>. 37 */ 38 G inverse(); 39 40 }