math
Class FiniteField

java.lang.Object
  extended by math.FiniteField

public class FiniteField
extends java.lang.Object

Representação de Corpo Finito.

Author:
Rafael

Constructor Summary
FiniteField(int characteristic, BasicPolynomial P)
          Construtor.
FiniteField(int characteristic, int grau)
          Construtor.
 
Method Summary
 short coercion(int i)
          Retorna a representação do inteiro i no corpo finito.
 short evaluate(Polynomial g, short x)
          Avalia o polinômio g com valor x.
 short exp(short elemento, int grau)
          Eleva o elemento ao grau indicado.
 BasicPolynomial getBasicPolynomial()
           
 int getCharacteristic()
           
 short getComplemento(short a, short c)
          Determina elemento b em: a * b = c;
 short[] getElements()
           
 int getGrau()
           
 int getIndiceElemento(short c)
          Retorna o índice do termo c.
 int getNElements()
           
 Polynomial getPolynomial(int termoAtivo)
          Gera um polinomio com apenas um termo com coeficiente unitário.
 PolynomialRing getPolynomialRing()
           
 java.lang.Short getRandomElement()
          Obtém um elemento aleatório
 short getShortElemento(int i)
          Obtém o termo de índice i
static FiniteField getStandardK(int m)
          Gera o Corpo Finito Padrão (K)
 java.lang.String getStringElemento(short c)
          Obtém o elemento em forma de String
 void init()
          Inicializa as tabelas log e exp.
 short mult(short a, short b)
          Multiplica dois elementos deste corpo finito.
 void setBasicPolynomial(BasicPolynomial pol)
           
 void setCharacteristic(int characteristic)
           
 void setElements()
          Calcula os elementos do corpo finito.
 void setElements(short[] elements)
           
 void setGrau(int dimension)
           
 void setNElements(int elements)
           
 void setPolynomialRing(PolynomialRing polynomialRing)
           
 short[] standardL()
          Obtem o vetor L.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FiniteField

public FiniteField(int characteristic,
                   BasicPolynomial P)
Construtor.

Parameters:
characteristic -
P -

FiniteField

public FiniteField(int characteristic,
                   int grau)
Construtor.

Parameters:
characteristic -
grau -
Method Detail

init

public void init()
Inicializa as tabelas log e exp.


mult

public short mult(short a,
                  short b)
Multiplica dois elementos deste corpo finito.

Parameters:
a -
b -
Returns:
a*b

exp

public short exp(short elemento,
                 int grau)
Eleva o elemento ao grau indicado.

Parameters:
elemento -
grau -
Returns:
elemento^grau

standardL

public short[] standardL()
Obtem o vetor L.

Returns:
L

evaluate

public short evaluate(Polynomial g,
                      short x)
Avalia o polinômio g com valor x.

Parameters:
g -
x -
Returns:
g(x)

getStandardK

public static FiniteField getStandardK(int m)
Gera o Corpo Finito Padrão (K)

Parameters:
m -
Returns:
K

setElements

public void setElements()
Calcula os elementos do corpo finito.


getRandomElement

public java.lang.Short getRandomElement()
Obtém um elemento aleatório

Returns:
elemento

getStringElemento

public java.lang.String getStringElemento(short c)
Obtém o elemento em forma de String

Parameters:
c -
Returns:
(String) c

getShortElemento

public short getShortElemento(int i)
Obtém o termo de índice i

Parameters:
i -
Returns:
termo

getIndiceElemento

public int getIndiceElemento(short c)
Retorna o índice do termo c.

Parameters:
c -
Returns:
índice

getComplemento

public short getComplemento(short a,
                            short c)
Determina elemento b em: a * b = c;

Parameters:
a -
c -
Returns:
c, tq: a * b = c

coercion

public short coercion(int i)
Retorna a representação do inteiro i no corpo finito.

Parameters:
i -
Returns:
(FiniteField) i

getPolynomial

public Polynomial getPolynomial(int termoAtivo)
Gera um polinomio com apenas um termo com coeficiente unitário.

Parameters:
termoAtivo -
Returns:
polinômio

getGrau

public int getGrau()
Returns:
the dimension

setGrau

public void setGrau(int dimension)
Parameters:
dimension - the dimension to set

getBasicPolynomial

public BasicPolynomial getBasicPolynomial()
Returns:
the pol

setBasicPolynomial

public void setBasicPolynomial(BasicPolynomial pol)
Parameters:
pol - the pol to set

getCharacteristic

public int getCharacteristic()
Returns:
the characteristic

setCharacteristic

public void setCharacteristic(int characteristic)
Parameters:
characteristic - the characteristic to set

getPolynomialRing

public PolynomialRing getPolynomialRing()
Returns:
anel polinomial

setPolynomialRing

public void setPolynomialRing(PolynomialRing polynomialRing)
Parameters:
polynomialRing -

getNElements

public int getNElements()
Returns:
número de elementos

setNElements

public void setNElements(int elements)
Parameters:
elements -

getElements

public short[] getElements()
Returns:
elements

setElements

public void setElements(short[] elements)
Parameters:
elements -