org.rubato.math.module
Class ProperFreeModule

java.lang.Object
  extended by org.rubato.math.module.ProperFreeModule
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Module>, FreeModule, Module, XMLInputOutput<Module>
Direct Known Subclasses:
CProperFreeModule, ModularPolynomialProperFreeModule, PolynomialProperFreeModule, ProductProperFreeModule, QProperFreeModule, QStringProperFreeModule, RProperFreeModule, RStringProperFreeModule, ZnProperFreeModule, ZnStringProperFreeModule, ZProperFreeModule, ZStringProperFreeModule

public abstract class ProperFreeModule
extends java.lang.Object
implements FreeModule

The abstract base class for proper free modules. All free modules that are proper free modules are derived from this. Proper means that the module is not of dimension 1, because in that case the corresponding ring is used.

Author:
Gérard Milmeister
See Also:
ProperFreeElement, Serialized Form

Constructor Summary
ProperFreeModule(int dimension)
           
 
Method Summary
 int compareTo(Module object)
          Compares this module with object.
 int getDimension()
          Returns the dimension of this module.
 ModuleMorphism getIdentityMorphism()
          Returns the identity morphism in this module.
 ModuleMorphism getInjection(int index)
          Returns a module morphism that injects a ring into the free module at the component index.
 ModuleMorphism getProjection(int index)
          Returns a module morphism that projects the free module at the component index.
 ModuleMorphism getTranslation(ModuleElement element)
          Returns a morphism that translates by element.
 boolean isRing()
          Returns true iff this module is a ring.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.rubato.math.module.FreeModule
getUnitElement, isVectorspace
 
Methods inherited from interface org.rubato.math.module.Module
cast, createElement, equals, getComponentModule, getNullModule, getRing, getZero, hasElement, hashCode, isNullModule, parseString, toString, toVisualString
 
Methods inherited from interface org.rubato.xml.XMLInputOutput
fromXML, getElementTypeName, toXML
 

Constructor Detail

ProperFreeModule

public ProperFreeModule(int dimension)
Method Detail

getIdentityMorphism

public final ModuleMorphism getIdentityMorphism()
Description copied from interface: Module
Returns the identity morphism in this module.

Specified by:
getIdentityMorphism in interface Module

getTranslation

public final ModuleMorphism getTranslation(ModuleElement element)
Description copied from interface: Module
Returns a morphism that translates by element.

Specified by:
getTranslation in interface Module

getProjection

public final ModuleMorphism getProjection(int index)
Description copied from interface: FreeModule
Returns a module morphism that projects the free module at the component index.

Specified by:
getProjection in interface FreeModule
Parameters:
index - the number of the component to project to, the index will be clamped between 0 and the dimension-1 of the free module

getInjection

public final ModuleMorphism getInjection(int index)
Description copied from interface: FreeModule
Returns a module morphism that injects a ring into the free module at the component index.

Specified by:
getInjection in interface FreeModule
Parameters:
index - the number of the component to project to, the index will be clamped between 0 and the dimension-1 of the free module

isRing

public final boolean isRing()
Description copied from interface: Module
Returns true iff this module is a ring.

Specified by:
isRing in interface Module

compareTo

public int compareTo(Module object)
Description copied from interface: Module
Compares this module with object.

Specified by:
compareTo in interface java.lang.Comparable<Module>
Specified by:
compareTo in interface Module

getDimension

public final int getDimension()
Description copied from interface: Module
Returns the dimension of this module.

Specified by:
getDimension in interface Module