def reduc2(self, a):
    ' a is a list of length (d-1)*2-1 (polynomial length)\n            this method returns the equivalent element of length d-1\n            using the table of equivalences (build from the irreducible polynomial)\n            in the function self.table()\n        '
    As = a[:(self.deg - 2)]
    Ad = a[(self.deg - 2):]
    b = list((dot(As, self.tabular) + Ad))
    newapoly = polynom(self.F, b)
    newa = ExtensionFieldElem(self, newapoly)
    return newa
a is a list of length (d-1)*2-1 (polynomial length)
this method returns the equivalent element of length d-1
using the table of equivalences (build from the irreducible polynomial)
in the function self.table()
def reduc2(self, a):
    ' a is a list of length (d-1)*2-1 (polynomial length)\n            this method returns the equivalent element of length d-1\n            using the table of equivalences (build from the irreducible polynomial)\n            in the function self.table()\n        '
    As = a[:(self.deg - 2)]
    Ad = a[(self.deg - 2):]
    b = list((dot(As, self.tabular) + Ad))
    newapoly = polynom(self.F, b)
    newa = ExtensionFieldElem(self, newapoly)
    return newa