org.lsmp.djep.groupJep.groups
Class Zn

java.lang.Object
  extended by org.lsmp.djep.groupJep.groups.Group
      extended by org.lsmp.djep.groupJep.groups.Zn
All Implemented Interfaces:
GroupI, AbelianGroupI, FieldI, HasDivI, HasModI, HasPowerI, IntegralDomainI, OrderedSetI, RingI

public class Zn
extends Group
implements FieldI, OrderedSetI, HasModI, HasPowerI

The group of integers mod n. For prime values of n this is a field, with some nice division tables. i.e. for Z5

* | 1 2 3 4
 ------------
 1 | 1 2 3 4
 2 | 2 4 1 3
 3 | 3 1 4 2
 4 | 4 3 2 1
 
/ | 1 2 3 4
 ------------
 1 | 1 2 3 4
 2 | 3 1 4 2
 3 | 2 4 1 3
 4 | 4 3 2 1
 

Author:
Rich Morris Created on 05-Mar-2004

Constructor Summary
Zn(java.math.BigInteger modulus)
           
 
Method Summary
 java.lang.Number add(java.lang.Number num1, java.lang.Number num2)
          Get sum of the numbers
 int compare(java.lang.Number a, java.lang.Number b)
          Returns -1,0,1 depending on whether a is less than, equal to or greater than b.
 java.lang.Number div(java.lang.Number num1, java.lang.Number num2)
          get division of two numbers. i.e. a * ( b^-1).
 boolean equals(java.lang.Number a, java.lang.Number b)
          whether two numbers are equal
 java.lang.Number getInverse(java.lang.Number num)
          Get Inverse of a number
 java.lang.Number getMulInverse(java.lang.Number num)
          get mul inverse
 java.lang.Number getONE()
          Get multiplicative identity i.e. 1.
 java.lang.Number getZERO()
          Returns the identity element under +
 java.lang.Number mod(java.lang.Number num1, java.lang.Number num2)
           
 java.lang.Number mul(java.lang.Number num1, java.lang.Number num2)
          Returns the product of two numbers, a*b
 java.lang.Number pow(java.lang.Number num1, java.lang.Number num2)
           
 java.lang.Number sub(java.lang.Number num1, java.lang.Number num2)
          Get the difference of the numbers.
 java.lang.String toString()
           
 java.lang.Number valueOf(java.lang.String str)
          returns number given by the string
 
Methods inherited from class org.lsmp.djep.groupJep.groups.Group
addStandardConstants, addStandardFunctions, getNumberFactory, isConstantPoly
 
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
addStandardConstants, addStandardFunctions, getNumberFactory, isConstantPoly
 

Constructor Detail

Zn

public Zn(java.math.BigInteger modulus)
Method Detail

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

getInverse

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

Specified by:
getInverse in interface GroupI

getMulInverse

public java.lang.Number getMulInverse(java.lang.Number num)
Description copied from interface: FieldI
get mul inverse

Specified by:
getMulInverse in interface FieldI

add

public java.lang.Number add(java.lang.Number num1,
                            java.lang.Number num2)
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 num1,
                            java.lang.Number num2)
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 num1,
                            java.lang.Number num2)
Description copied from interface: RingI
Returns the product of two numbers, a*b

Specified by:
mul in interface RingI

div

public java.lang.Number div(java.lang.Number num1,
                            java.lang.Number num2)
Description copied from interface: HasDivI
get division of two numbers. i.e. a * ( b^-1). Strictly speeking

Specified by:
div in interface HasDivI

mod

public java.lang.Number mod(java.lang.Number num1,
                            java.lang.Number num2)
Specified by:
mod in interface HasModI

pow

public java.lang.Number pow(java.lang.Number num1,
                            java.lang.Number num2)
Specified by:
pow in interface HasPowerI

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

compare

public int compare(java.lang.Number a,
                   java.lang.Number b)
Description copied from interface: OrderedSetI
Returns -1,0,1 depending on whether a is less than, equal to or greater than b.

Specified by:
compare in interface OrderedSetI

valueOf

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

Specified by:
valueOf in interface GroupI

toString

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


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