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 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.inverse()) == ONE </code>,
34: * with <code>ONE</code> being the multiplicative identity.
35: *
36: * @return <code>ONE / this</code>.
37: */
38: G inverse();
39:
40: }
|