Primjer konačnog polja s 9 elemenata

verzija: SageMath 9.4

In [1]:
%display latex

Promatramo skup

$$A_2(\mathbb{Z}_3)=\left\{\begin{bmatrix}a&b\\ -b&a\end{bmatrix}:a,b\in\mathbb{Z}_3\right\}$$

kvadratnih matrica drugog reda s elementima iz polja $\mathbb{Z}_3$. Pokazat ćemo da je $A_2(\mathbb{Z}_3)$ polje uz standardno zbrajanje i množenje matrica modulo $3$.

Kako su standardno zbrajanje i množenje matrica modulo $3$ asocijativne operacije i vrijede za njih zakoni distributivnosti, tada ta svojstva sigurno vrijede i na manjem skupu matrica $A_2(\mathbb{Z}_3)$. Preostala svojstva polja lagano ćemo očitati iz pripadnih tablica zbrajanja i množenja na skupu $A_2(\mathbb{Z}_3)$. Stoga je cilj da ovdje kreiramo te tablice.

Najprije pogledajmo od kojih se $9$ matrica sastoji skup $A_2(\mathbb{Z}_3)$.

In [2]:
import itertools as it
In [3]:
def ant(a,b):
    return matrix(Integers(3),[[a,b],[-b,a]])
In [4]:
matrice=[ant(*x) for x in it.product([0,1,2],repeat=2)]

To su sljedeće matrice. Izgleda kao da na sporednoj dijagonali nisu suprotni elementi. No, pazite, nalazimo se u polju $\mathbb{Z}_3$ u kojemu vrijedi $-0=0, -1=2, -2=1$, tako da je sve u redu.

In [5]:
matrice
Out[5]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right), \left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right), \left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right), \left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right), \left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right), \left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right), \left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right), \left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right), \left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\right]\]

Tablica zbrajanja u $A_2(\mathbb{Z}_3)$

In [6]:
tablica_zbrajanja=[['$+$']+matrice]
for A in matrice:
    redak=[A]
    for B in matrice:
        redak.append(A+B)
    tablica_zbrajanja.append(redak)
In [7]:
table(tablica_zbrajanja)
Out[7]:
\(+\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\)

Iz tablice zbrajanja uočavamo da je zbrajanje matrica modulo $3$ zaista binarna operacija na $A_2(\mathbb{Z}_3)$, tj. suma bilo koje dvije matrice iz $A_2(\mathbb{Z}_3)$ je ponovo neka matrica iz $A_2(\mathbb{Z}_3)$. Nadalje, iz tablice uočavamo da je matrica $\big[\begin{smallmatrix}0&0\\ 0&0\end{smallmatrix}\big]$ neutralni element za zbrajanje. Kako je tablica zbrajanja simetrična s obzirom na glavnu dijagonalu, zaključujemo da je zbrajanje komutativna operacija na $A_2(\mathbb{Z}_3)$. Konačno, kako se u svakom retku i svakom stupcu tablice zbrajanja nalazi neutralni element $\big[\begin{smallmatrix}0&0\\ 0&0\end{smallmatrix}\big]$, zaključujemo da svaki element iz $A_2(\mathbb{Z}_3)$ ima svoj suprotni element.

Asocijativnost zbrajanja iz tablice nije tako lako vidljiva, međutim pomoću računala nije problem kroz trostruku petlju provjeriti zakon asocijativnosti za svake tri matrice iz $A_2(\mathbb{Z}_3)$.

In [8]:
def asocijativnost_zbrajanja(skup):
    for A in skup:
        for B in skup:
            for C in skup:
                ab=A+B
                bc=B+C
                if ab+C != A+bc: return 'zbrajanje nije asocijativno'
    return 'zbrajanje je asocijativno'
In [9]:
%%time
asocijativnost_zbrajanja(matrice)
CPU times: user 4.5 ms, sys: 142 µs, total: 4.65 ms
Wall time: 4.67 ms
Out[9]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\verb|zbrajanje|\phantom{\verb!x!}\verb|je|\phantom{\verb!x!}\verb|asocijativno|\]

Čak, ako nam je naporno za veću tablicu provjeravati da li je simetrična s obzirom na glavnu dijagonalu, možemo preko dvostruke petlje provjeriti komutativnost zbrajanja za svake dvije matrice u $A_2(\mathbb{Z}_3)$.

In [10]:
def komutativnost_zbrajanja(skup):
    for A in skup:
        for B in skup:
            if A+B != B+A: return 'zbrajanje nije komutativno'
    return 'zbrajanje je komutativno'
In [11]:
%%time
komutativnost_zbrajanja(matrice)
CPU times: user 281 µs, sys: 34 µs, total: 315 µs
Wall time: 308 µs
Out[11]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\verb|zbrajanje|\phantom{\verb!x!}\verb|je|\phantom{\verb!x!}\verb|komutativno|\]

Tablica množenja u $A_2(\mathbb{Z}_3)$

In [12]:
tablica_mnozenja=[['$\\cdot$']+matrice]
for A in matrice:
    redak=[A]
    for B in matrice:
        redak.append(A*B)
    tablica_mnozenja.append(redak)
In [13]:
table(tablica_mnozenja)
Out[13]:
\(\cdot\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\)
\(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\)
\(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\)
\(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 2 \\ 1 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 1 \\ 2 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 2 \\ 1 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 1 \\ 2 & 0 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 0 \\ 0 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 1 & 1 \\ 2 & 1 \end{array}\right)\) \(\left(\begin{array}{rr} 2 & 0 \\ 0 & 2 \end{array}\right)\) \(\left(\begin{array}{rr} 0 & 2 \\ 1 & 0 \end{array}\right)\)

Iz tablice množenja uočavamo da je množenje matrica modulo $3$ zaista binarna operacija na $A_2(\mathbb{Z}_3)$, tj. produkt bilo koje dvije matrice iz $A_2(\mathbb{Z}_3)$ je ponovo neka matrica iz $A_2(\mathbb{Z}_3)$. Nadalje, iz tablice uočavamo da je matrica $\big[\begin{smallmatrix}1&0\\ 0&1\end{smallmatrix}\big]$ neutralni element za množenje. Kako je tablica množenja simetrična s obzirom na glavnu dijagonalu, zaključujemo da je množenje komutativna operacija na $A_2(\mathbb{Z}_3)$. Jedino se u retku i stupcu koji pripadaju elementu $\big[\begin{smallmatrix}0&0\\ 0&0\end{smallmatrix}\big]$ ne nalazi neutralni element za množenje $\big[\begin{smallmatrix}1&0\\ 0&1\end{smallmatrix}\big]$. U svakom preostalom retku i  stupcu tablice množenja nalazi se neutralni element $\big[\begin{smallmatrix}1&0\\ 0&1\end{smallmatrix}\big]$, iz čega zaključujemo da svaki element iz $A_2(\mathbb{Z}_3)$ osim neutralnog elementa za zbrajanje ima svoj inverzni element.

Asocijativnost i komutativnost množenja matrica u $A_2(\mathbb{Z}_3)$ možemo lako provjeriti pomoću petlji, analogno kako smo to napravili za zbrajanje.

In [14]:
def asocijativnost_mnozenja(skup):
    for A in skup:
        for B in skup:
            for C in skup:
                ab=A*B
                bc=B*C
                if ab*C != A*bc: return 'mnozenje nije asocijativno'
    return 'mnozenje je asocijativno'
In [15]:
%%time
asocijativnost_mnozenja(matrice)
CPU times: user 19.4 ms, sys: 347 µs, total: 19.8 ms
Wall time: 19.8 ms
Out[15]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\verb|mnozenje|\phantom{\verb!x!}\verb|je|\phantom{\verb!x!}\verb|asocijativno|\]
In [16]:
def komutativnost_mnozenja(skup):
    for A in skup:
        for B in skup:
            if A*B != B*A: return 'mnozenje nije komutativno'
    return 'mnozenje je komutativno'
In [17]:
%%time
komutativnost_mnozenja(matrice)
CPU times: user 1.78 ms, sys: 0 ns, total: 1.78 ms
Wall time: 1.96 ms
Out[17]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\verb|mnozenje|\phantom{\verb!x!}\verb|je|\phantom{\verb!x!}\verb|komutativno|\]

Provjera distributivnosti

Kako je množenje komutativna operacija na $A_2(\mathbb{Z}_3)$, dovoljno je provjeriti samo jednu distributivnost: $A(B+C)=AB+AC$.

In [18]:
def provjera_distributivnosti(skup):
    for A in skup:
        for B in skup:
            for C in skup:
                ab=A*B
                ac=A*C
                bc=B+C
                if A*bc != ab+ac: return 'distributivnost ne vrijedi'
    return 'distributivnost vrijedi'
In [19]:
%%time
provjera_distributivnosti(matrice)
CPU times: user 22.7 ms, sys: 2.8 ms, total: 25.5 ms
Wall time: 29.2 ms
Out[19]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\verb|distributivnost|\phantom{\verb!x!}\verb|vrijedi|\]
In [ ]: