galois.typing.ArrayLike

A Union representing objects that can be coerced into a Galois field array.

Union

  • IterableLike: A recursive iterable of iterables of elements.

    In [1]: GF = galois.GF(3**5)
    
    In [2]: GF([[17, 4], [148, 205]])
    Out[2]: 
    GF([[ 17,   4],
        [148, 205]], order=3^5)
    
    # Mix and match integers and strings
    In [3]: GF([["x^2 + 2x + 2", 4], ["x^4 + 2x^3 + x^2 + x + 1", 205]])
    Out[3]: 
    GF([[ 17,   4],
        [148, 205]], order=3^5)
    
    In [4]: GF = galois.GF(3**5, repr="poly")
    
    In [5]: GF([[17, 4], [148, 205]])
    Out[5]: 
    GF([[             α^2 + 2α + 2,                     α + 1],
        [ α^4 + 2α^3 + α^2 + α + 1, 2α^4 + α^3 + α^2 + 2α + 1]], order=3^5)
    
    # Mix and match integers and strings
    In [6]: GF([["x^2 + 2x + 2", 4], ["x^4 + 2x^3 + x^2 + x + 1", 205]])
    Out[6]: 
    GF([[             α^2 + 2α + 2,                     α + 1],
        [ α^4 + 2α^3 + α^2 + α + 1, 2α^4 + α^3 + α^2 + 2α + 1]], order=3^5)
    
    In [7]: GF = galois.GF(3**5, repr="power")
    
    In [8]: GF([[17, 4], [148, 205]])
    Out[8]: 
    GF([[α^222,  α^69],
        [ α^54,  α^24]], order=3^5)
    
    # Mix and match integers and strings
    In [9]: GF([["x^2 + 2x + 2", 4], ["x^4 + 2x^3 + x^2 + x + 1", 205]])
    Out[9]: 
    GF([[α^222,  α^69],
        [ α^54,  α^24]], order=3^5)
    
  • ndarray: A NumPy array of integers, representing finite field elements in their integer representation.

    In [10]: x = np.array([[17, 4], [148, 205]]); x
    Out[10]: 
    array([[ 17,   4],
           [148, 205]])
    
    In [11]: GF(x)
    Out[11]: 
    GF([[ 17,   4],
        [148, 205]], order=3^5)
    
    In [12]: x = np.array([[17, 4], [148, 205]]); x
    Out[12]: 
    array([[ 17,   4],
           [148, 205]])
    
    In [13]: GF(x)
    Out[13]: 
    GF([[             α^2 + 2α + 2,                     α + 1],
        [ α^4 + 2α^3 + α^2 + α + 1, 2α^4 + α^3 + α^2 + 2α + 1]], order=3^5)
    
    In [14]: x = np.array([[17, 4], [148, 205]]); x
    Out[14]: 
    array([[ 17,   4],
           [148, 205]])
    
    In [15]: GF(x)
    Out[15]: 
    GF([[α^222,  α^69],
        [ α^54,  α^24]], order=3^5)
    
  • Array: A previously created Array object. No coercion is necessary.

Alias

alias of Union[Sequence[Union[int, str, Array]], Sequence[IterableLike], ndarray, Array]