np.multiply¶
-
np.
multiply
(x, y)[source]¶ Multiplies two Galois field arrays element-wise.
References
Examples
Multiplying two Galois field arrays results in field multiplication.
In [1]: GF = galois.GF(31) In [2]: x = GF.Random(10); x Out[2]: GF([10, 30, 18, 17, 11, 11, 6, 14, 28, 27], order=31) In [3]: y = GF.Random(10); y Out[3]: GF([ 3, 23, 0, 6, 24, 21, 16, 13, 3, 7], order=31) In [4]: np.multiply(x, y) Out[4]: GF([30, 8, 0, 9, 16, 14, 3, 27, 22, 3], order=31) In [5]: x * y Out[5]: GF([30, 8, 0, 9, 16, 14, 3, 27, 22, 3], order=31)
Multiplying a Galois field array with an integer results in scalar multiplication.
In [6]: GF = galois.GF(31) In [7]: x = GF.Random(10); x Out[7]: GF([21, 21, 1, 6, 8, 29, 22, 18, 10, 7], order=31) In [8]: np.multiply(x, 3) Out[8]: GF([ 1, 1, 3, 18, 24, 25, 4, 23, 30, 21], order=31) In [9]: x * 3 Out[9]: GF([ 1, 1, 3, 18, 24, 25, 4, 23, 30, 21], order=31)
In [10]: print(GF.properties) GF(31): characteristic: 31 degree: 1 order: 31 irreducible_poly: Poly(x + 28, GF(31)) is_primitive_poly: True primitive_element: GF(3, order=31) # Adding `characteristic` copies of any element always results in zero In [11]: x * GF.characteristic Out[11]: GF([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], order=31)