|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--HFE.Multi4Mul
This class deals with multi-variable polynomials and
a general modulus provied to the constructor.
Basicly, this class calculates multiples of two polynomials
and one polynomial and one element of (F_4)^3.
All calculations are done in F_4 (Field4
)
Every entry is a polynomial of the form
f_i(x1,x2,...) = g^i*(b_0 + b_1*x_1 + b_2*x_2 + ... + b_n*x_n)
The reduction is done in the variable g.
Field Summary | |
private Poly4Max[] |
reduce
Stores all the reduction steps. |
Constructor Summary | |
(package private) |
Multi4Mul(Poly4Max modulus)
Initializes the internal field reduce |
Method Summary | |
static void |
main(java.lang.String[] args)
Calls the testIt() method |
Poly4MultiLinear[] |
mul(int[] con,
Poly4MultiLinear[] poly)
Computes res = con * poly in terms of vector multiplication of polynomials. |
Poly4MultiSquare[] |
mul(int[] con,
Poly4MultiLinear[] a,
Poly4MultiLinear[] b)
Computes res = con * a * b in terms of vector multiplication of polynomials. |
Poly4MultiSquare[] |
mul(Poly4MultiLinear[] a,
Poly4MultiLinear[] b)
Computes res = a * b in terms of vector multiplication of polynomials. |
Poly4MultiSquare[] |
mul2(int[] con,
Poly4MultiLinear[] a,
Poly4MultiLinear[] b)
Computes res = con * a * b in terms of vector multiplication of polynomials. |
Poly4MultiSquare[] |
mul2(Poly4MultiLinear[] a,
Poly4MultiLinear[] b)
Computes res = a * b in terms of vector multiplication of polynomials. |
static void |
testIt()
Tests the functionality of the class. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private Poly4Max[] reduce
Constructor Detail |
Multi4Mul(Poly4Max modulus)
reduce
modulus
- polynomial over F_4 for reduction
the number of variables must be 3 for our purposeMethod Detail |
public Poly4MultiSquare[] mul(Poly4MultiLinear[] a, Poly4MultiLinear[] b)
reduce
to
take the modulus into account.public Poly4MultiSquare[] mul(int[] con, Poly4MultiLinear[] a, Poly4MultiLinear[] b)
reduce
to
take the modulus into account.con
- constants as a vector, i.e. a vector of polynomials of degree 0 or -1a
- linear polynomial in dimension variablesb
- linear polynimial in dimension variablespublic Poly4MultiLinear[] mul(int[] con, Poly4MultiLinear[] poly)
reduce
to
take the modulus into account.con
- constants as a vector, i.e. a vector of polynomials of degree 0 or -1poly
- linear polynomial in dimension variablespublic Poly4MultiSquare[] mul2(Poly4MultiLinear[] a, Poly4MultiLinear[] b)
reduce
to
take the modulus into account. This is an independent implementation to
mul(Poly4MultiLinear[], Poly4MultiLinear[])
and regarded to be slower.public Poly4MultiSquare[] mul2(int[] con, Poly4MultiLinear[] a, Poly4MultiLinear[] b)
reduce
to
take the modulus into account. This is an independent implementation to
mul(int[], Poly4MultiLinear[], Poly4MultiLinear[])
and regarded to be slower.public static void testIt()
public static void main(java.lang.String[] args)
testIt()
method
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |