org.lsmp.djep.groupJep.groups
Class FreeGroup

java.lang.Object
  extended by org.lsmp.djep.groupJep.groups.Group
      extended by org.lsmp.djep.groupJep.groups.FreeGroup
All Implemented Interfaces:
GroupI, AbelianGroupI, RingI
Direct Known Subclasses:
ExtendedFreeGroup

public class FreeGroup
extends Group
implements RingI

A free group generated by a symbol t.

Author:
Rich Morris Created on 09-Mar-2004

Field Summary
protected  RingI baseRing
           
protected  Complex rootVal
           
protected  java.lang.String symbol
           
protected  FreeGroupElement tPoly
           
protected  FreeGroupElement unitPoly
           
protected  FreeGroupElement zeroPoly
           
 
Constructor Summary
FreeGroup(RingI K, java.lang.String symbol)
          Create the ring K(t) where t is a free variable.
 
Method Summary
 java.lang.Number add(java.lang.Number a, java.lang.Number b)
          Get sum of the numbers
 void addStandardConstants(JEP j)
          adds the standard constants for this group.
 boolean equals(java.lang.Number a, java.lang.Number b)
          whether two numbers are equal
 RingI getBaseRing()
          Returns the base ring of this extension.
 java.lang.Number getInverse(java.lang.Number a)
          Get Inverse of a number
 java.lang.Number getONE()
          Get multiplicative identity i.e. 1.
 Complex getRootVal()
          Returns an approximation to the value of the root as a complex number.
 java.lang.String getSymbol()
          Returns the symbol used to denote the generator.
 java.lang.Number getTPoly()
           
 java.lang.Number getZERO()
          Returns the identity element under +
 boolean isConstantPoly(java.lang.Number poly)
          Whether the given polynomial is constant.
 java.lang.Number mul(java.lang.Number a, java.lang.Number b)
          Returns the product of two numbers, a*b
 void setRootVal(Complex complex)
          Sets the value used to approximate the root as a complex number.
 boolean setRootVal(java.lang.String sym, Complex val)
          Sets the root value for given symbol.
 java.lang.Number sub(java.lang.Number a, java.lang.Number b)
          Get the difference of the numbers.
 java.lang.String toString()
           
 java.lang.Number valueOf(java.lang.Number[] coeffs)
           
 java.lang.Number valueOf(java.lang.String s)
          returns number given by the string
 
Methods inherited from class org.lsmp.djep.groupJep.groups.Group
addStandardFunctions, getNumberFactory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.lsmp.djep.groupJep.GroupI
addStandardFunctions, getNumberFactory
 

Field Detail

baseRing

protected RingI baseRing

zeroPoly

protected FreeGroupElement zeroPoly

unitPoly

protected FreeGroupElement unitPoly

tPoly

protected FreeGroupElement tPoly

symbol

protected java.lang.String symbol

rootVal

protected Complex rootVal
Constructor Detail

FreeGroup

public FreeGroup(RingI K,
                 java.lang.String symbol)
Create the ring K(t) where t is a free variable.

Parameters:
K - the Ring this is an extension of.
symbol - the name of the free variable.
Method Detail

add

public java.lang.Number add(java.lang.Number a,
                            java.lang.Number b)
Description copied from interface: GroupI
Get sum of the numbers

Specified by:
add in interface GroupI

sub

public java.lang.Number sub(java.lang.Number a,
                            java.lang.Number b)
Description copied from interface: GroupI
Get the difference of the numbers. i.e. a + (-b)

Specified by:
sub in interface GroupI

mul

public java.lang.Number mul(java.lang.Number a,
                            java.lang.Number b)
Description copied from interface: RingI
Returns the product of two numbers, a*b

Specified by:
mul in interface RingI

equals

public boolean equals(java.lang.Number a,
                      java.lang.Number b)
Description copied from interface: GroupI
whether two numbers are equal

Specified by:
equals in interface GroupI

valueOf

public java.lang.Number valueOf(java.lang.String s)
Description copied from interface: GroupI
returns number given by the string

Specified by:
valueOf in interface GroupI

valueOf

public java.lang.Number valueOf(java.lang.Number[] coeffs)

getZERO

public java.lang.Number getZERO()
Description copied from interface: GroupI
Returns the identity element under +

Specified by:
getZERO in interface GroupI

getONE

public java.lang.Number getONE()
Description copied from interface: RingI
Get multiplicative identity i.e. 1. Strictly speaking a ring need not have a mul indentity. However most useful ones do, and they are not all integral domains.

Specified by:
getONE in interface RingI

getTPoly

public java.lang.Number getTPoly()

getInverse

public java.lang.Number getInverse(java.lang.Number a)
Description copied from interface: GroupI
Get Inverse of a number

Specified by:
getInverse in interface GroupI

addStandardConstants

public void addStandardConstants(JEP j)
Description copied from class: Group
adds the standard constants for this group. By default does nothing.

Specified by:
addStandardConstants in interface GroupI
Overrides:
addStandardConstants in class Group

toString

public java.lang.String toString()
Overrides:
toString in class Group

getBaseRing

public RingI getBaseRing()
Returns the base ring of this extension.


setRootVal

public void setRootVal(Complex complex)
Sets the value used to approximate the root as a complex number.


setRootVal

public boolean setRootVal(java.lang.String sym,
                          Complex val)
Sets the root value for given symbol.

Parameters:
sym - the symbol to set
val - the complex value
Returns:
true is sym is a symbol for either this group or its baseRing or the basrRing's baseRing etc.

getRootVal

public Complex getRootVal()
Returns an approximation to the value of the root as a complex number.


getSymbol

public java.lang.String getSymbol()
Returns the symbol used to denote the generator.


isConstantPoly

public boolean isConstantPoly(java.lang.Number poly)
Whether the given polynomial is constant.

Specified by:
isConstantPoly in interface GroupI
Overrides:
isConstantPoly in class Group


http://www.singularsys.com/jep Copyright © 2007 Singular Systems