Permutacje macierzy zero-jedynkowej, mnożenie cykli

Zbiór informacji o elementarnych zagadnieniach matematyki, klasyfikowanych najczęściej jako "ciekawostki" właśnie...
Awatar użytkownika
arek1357
Użytkownik
Użytkownik
Posty: 4327
Rejestracja: 6 gru 2006, o 09:18
Płeć: Mężczyzna
Lokalizacja: blisko
Podziękował: 103 razy
Pomógł: 428 razy

Permutacje macierzy zero-jedynkowej, mnożenie cykli

Post autor: arek1357 » 16 sty 2019, o 20:02

Chciałem zająć się w tym temacie macierzą zero-jedynkową, na którą działa grupa permutacji wierszy i kolumn. Będziemy liczyć, ile jest niezależnych ze względu na działanie grupy ustawień zer i jedynek w macierzy.

Celem tego wykładu jest przede wszystkim pokazanie jak wygląda mnożenie kartezjańskie cykli,
chcę pokazać jak wygląda grupa permutacji i jak liczymy liczbę niezależnych macierzy ze względu na permutacje.

Bierzemy dowolną macierz binarną, i przestawiamy w niej wiersze i kolumny (działamy na nią grupą permutacji wierszy i kolumn).

Pokażemy jeszcze, jak mnoży się indeksy cyklowe za pomocą iloczynu kartezjańskiego, podam wzór.

Grupa permutacji jako taka jest iloczynem kartezjańskim grupy permutacji wierszy i grupy permutacji kolumn. Policzymy i wypiszemy jej elementy.

\(\displaystyle{ G=S_{n} \times S_{m}}\)

\(\displaystyle{ n}\) - liczba wierszy, \(\displaystyle{ m}\) - liczba kolumn.

\(\displaystyle{ |G|=n! \cdot m!}\)

Żeby uprościć rozważania odwołamy się do konkretnego przykładu.

Prześledzimy na przykładzie macierzy \(\displaystyle{ 2 \times 3}\):

Dwa wiersze i trzy kolumny.

\(\displaystyle{ G=S_{2} \times S_{3}.}\)

Wypiszmy elementy obu grup:

\(\displaystyle{ S_{2}=\left\{ \left( w_{1} \right) \left( w_{2} \right) , \left( w_{1}w_{2} \right) \right\}}\)

\(\displaystyle{ S_{3}=\left\{ \left( k_{1} \right) \left( k_{2} \right) \left( k_{3} \right) , \left( k_{1}k_{2} \right) \left( k_{3} \right) , \left( k_{1}k_{3} \right) \left( k_{2} \right) , \left( k_{2}k_{3} \right) \left( k_{1} \right) , \left( k_{1}k_{2}k_{3} \right), \left( k_{1}k_{3}k_{2} \right) \right\}.}\)

Zapiszmy teraz permutacje za pomocą indeksów cyklowych:

\(\displaystyle{ I_{S_{2}}=j_{1}^2+j_{2}}\)

\(\displaystyle{ I_{S_{3}}=j_{1}^3+3j_{1}j_{2}+2j_{3}.}\)

A teraz zgodnie z oczekiwaniem wymnożymy te indeksy cyklowe.

Najpierw podam wzór na: "rozdzielność iloczynu kartezjańskiego względem dodawania"

\(\displaystyle{ \left( j_{k_{1}}^{n_{1}}+j_{k_{2}}^{n_{2}}\right) \times \left( j_{l_{1}}^{m_{1}}+j_{l_{2}}^{m_{2}}\right)=\left( j_{k_{1}}^{n_{1}} \times j_{l_{1}}^{m_{1}} \right)+ \left( j_{k_{1}}^{n_{1}} \times j_{l_{2}}^{m_{2}} \right)+\left( j_{k_{2}}^{n_{2}} \times j_{l_{1}}^{m_{1}} \right)+\left( j_{k_{2}}^{n_{2}} \times j_{l_{2}}^{m_{2}} \right).}\)

Oczywiście wzór ten można rozszerzyć na dowolną liczbę indeksów.

Napiszmy teraz podobny wzór na iloczyn kartezjański kilku cykli, w naszym przypadku dla dwóch, bo na więcej łatwo rozszerzyć:

niech: \(\displaystyle{ a^i,b^j,c^k,d^l}\) cykle

\(\displaystyle{ a^i=\underbrace{(1,...,n)(1,...,n)...(1,...,n)}_{i}}\) - łączenie cykli o tej samej długości


\(\displaystyle{ \left( a^ib^j\right) \times \left( c^kd^l\right)=\left( a^i \times c^k \right) \left( a^i \times d^l\right)\left( b^j \times c^k\right)\left( b^j \times d^l\right)}\)


\(\displaystyle{ j_{n}=(1,2,...,n)}\) - tu chodzi o długość cyklu.

Ważne, abyśmy mieli pojęcie czym jest indeks dolny i górny w zapisie cyklowym.

\(\displaystyle{ j_{k}^i}\) - jest to złożenie \(\displaystyle{ i}\) cykli o długości \(\displaystyle{ k}\).

Podam teraz najważniejszy wzór na bezpośredni iloczyn kartezjański dwóch grup cyklowych o tej samej długości:

\(\displaystyle{ j_{k}^n \times j_{l}^m=j_{\left\langle k,l \right\rangle}^{n \cdot m \cdot \left( k,l \right) }}\)

gdzie:

\(\displaystyle{ \left( k,l \right) =NWD \left( k,l \right),}\)

\(\displaystyle{ \left\langle k,l \right\rangle=NWW \left( k,l \right),}\)

\(\displaystyle{ j_{k}^1=j_{k}.}\)

Uzbrojeni w powyższe wzory możemy pomnożyć indeksy cyklowe w naszym prostym przykładzie.

\(\displaystyle{ I_{G}=I_{S_{2}} \times I_{S_{3}}=\left( j_{1}^2+j_{2}\right) \times \left( j_{1}^3+3j_{1}j_{2}+2j_{3}\right)=}\)

\(\displaystyle{ \left( j_{1}^2\right) \times\left( j_{1}^3 \right)+3 \left( j_{1}^2\right) \times\left( j_{1}j_{2} \right)+2\left( j_{1}^2\right) \times\left( j_{3}\right)+\left( j_{2}\right) \times\left( j_{1}^3 \right)+3 \left( j_{2}\right) \times\left( j_{1}j_{2} \right)+2\left( j_{2}\right) \times\left( j_{3}\right).}\)

Zgodnie z ostatnim wzorem:

\(\displaystyle{ j_{1}^2 j_{1}^3=j_{1}^6}\)

\(\displaystyle{ 3 \left( j_{1}^2\right) \times\left( j_{1}j_{2} \right)=3\left( j_{1}^2 \times j_{1} \right)\left( j_{1}^2 \times j_{2} \right)=3\left( j_{1}^2\right)\left( j_{2}^2 \right)}\)

\(\displaystyle{ 2\left( j_{1}^2\right) \times\left( j_{3}\right)=2\left( j_{3}^2\right)}\)

\(\displaystyle{ j_{2}\times j_{1}^3 =j_{2}^3}\)

\(\displaystyle{ 3 \left( j_{2}\right) \times\left( j_{1}j_{2} \right)=3\left( j_{2} \times j_{1} \right) \left( j_{2} \times j_{2} \right)=3\left( j_{2}^1\right)\left( j_{2}^2\right)}\)

\(\displaystyle{ 2\left( j_{2}\right) \times\left( j_{3}\right)=2j_{6}.}\)

Dodając otrzymamy sumę indeksów cyklowych dla iloczynu kartezjańskiego obu grup, lub jak kto woli już jednej:

\(\displaystyle{ I_{G}=j_{1}^6+3\left( j_{1}^2\right)\left( j_{2}^2 \right)+2\left( j_{3}^2\right)+j_{2}^3+3\left( j_{2}^1\right)\left( j_{2}^2\right)+2j_{6}.}\)

Stworzymy teraz na bazie indeksów cyklowych wielomian charakterystyczny, to znaczy przyporządkujmy każdemu indeksowi cyklowemu wielomian na zasadzie:

\(\displaystyle{ j_{k}^n \rightarrow (1+x^k)^n.}\)

Zatem nasz wielomian będzie wyglądał następująco:

\(\displaystyle{ w \left( x \right) =\\= \frac{1}{2} \cdot \frac{1}{6} \left[ \left( 1+x \right) ^6+3 \left( 1+x \right) ^2 \left( 1+x^2 \right) ^2+2 \left( 1+x^3 \right) ^2+ \left( 1+x^2 \right) ^3+3 \left( 1+x^2 \right) \left( 1+x^2 \right) ^2+2 \left( 1+x^6 \right) \right]}\)

lub po uproszczeniu otrzymamy:

\(\displaystyle{ w \left( x \right) =x^6+x^5+3x^4+3x^3+3x^2+x+1}\)

Ten wielomian jest wynikiem naszych obliczeń, z tego wielomianu możemy odczytać np., że:

1. jest jedna macierz, w której liczba jedynek wynosi \(\displaystyle{ 6}\);

2. jest jedna macierz, w której liczba jedynek wynosi \(\displaystyle{ 5}\);

3. są trzy macierze, w których liczba jedynek wynosi \(\displaystyle{ 4}\);

itd...

Oczywiście z dokładnością do permutacji wierszy i kolumn.

Na poniższym rysunku widać istotnie różne macierze ze względu na działanie naszej grupy permutacji.

Z tą drobną różnicą, że zamiast jedynek zapisanych w poszczególnych komórkach dałem czerwone kwadraciki, natomiast zera symbolizują białe kwadraciki.

Doświadczenie zgadza się z naszymi obliczeniami, ponieważ dla jednej jedynki i pięciu zer mamy tylko jedną macierz, a dla 2 i 3 jedynek mamy po trzy niezależne macierze.
macierzej_qwenenx.jpg
macierzej_qwenenx.jpg (5.5 KiB) Przejrzano 1386 razy
Jest jak widać jedna, trzy i trzy możliwości, natomiast dla czterech pięciu i sześciu jedynek (u nas czerwonych kwadratów) sytuacja staje się symetryczna.

Jak widać jest to dość pracochłonne i mozolne zliczanie, efektywniej pewnie byłoby napisać jakiś programik komputerowy dla zliczania w przypadku większej ilości wierszy i kolumn, ilość obliczeń wzrasta lawinowo.

Dziękuję za uwagę...
Ostatnio zmieniony 11 maja 2019, o 23:02 przez Jan Kraszewski, łącznie zmieniany 1 raz.

Awatar użytkownika
arek1357
Użytkownik
Użytkownik
Posty: 4327
Rejestracja: 6 gru 2006, o 09:18
Płeć: Mężczyzna
Lokalizacja: blisko
Podziękował: 103 razy
Pomógł: 428 razy

Re: Permutacje macierzy zero-jedynkowej, mnożenie cykli

Post autor: arek1357 » 11 gru 2021, o 13:02

Aneks do tematu:

Chciałbym w tym aneksie pokazać jeszcze reprezentacje macierzowe permutacji wierszy i kolumn oraz ich iloczyn tensorowy.
Jest to przykład innego sposobu realizacji tego samego tematu albo można traktować to jak ładne uzupełnienie zagadnienia.


Najpierw wypiszmy macierze permutacji wierszy i kolumn tej tabelki.

1. Macierze permutacji wierszy:

\(\displaystyle{ e= \begin{bmatrix} 1&0\\0&1\end{bmatrix} }\)

\(\displaystyle{ j= \begin{bmatrix} 0&1\\1&0\end{bmatrix}}\)


Jak pamiętamy jest dwa wiersze więc grupa permutacji: \(\displaystyle{ S_{2}}\) zawiera tylko dwa elementy: \(\displaystyle{ e=(.)(.), j=(..)}\)

2. Macierze permutacji kolumn:

\(\displaystyle{ E=\begin{bmatrix} 1&0&0\\0&1&0\\0&0&1\end{bmatrix}}\)

\(\displaystyle{ J_{1}=\begin{bmatrix} 1&0&0\\0&0&1\\0&1&0\end{bmatrix} }\)

\(\displaystyle{ J_{2}=\begin{bmatrix} 0&0&1\\0&1&0\\1&0&0\end{bmatrix}}\)

\(\displaystyle{ J_{3}=\begin{bmatrix} 0&1&0\\1&0&0\\0&0&1\end{bmatrix}}\)

\(\displaystyle{ J_{4}=\begin{bmatrix} 0&1&0\\0&0&1\\1&0&0\end{bmatrix} , J_{5}=\begin{bmatrix} 0&0&1\\1&0&0\\0&1&0\end{bmatrix}}\)

Jak widać jest to reprezentacja grupy \(\displaystyle{ S_{3}}\), pierwsza macierz jest elementem neutralnym, pozostałe trzy macierze odpowiadają

permutacjom typu: \(\displaystyle{ (.)(..)}\) , a ostanie dwie macierze odpowiadają permutacjom typu: \(\displaystyle{ (...)}\)

Więc wszystko się zgadza.

Pokażę teraz jak można ładnie "tworzyć" reprezentację macierzową grupy: \(\displaystyle{ S_{2} \times S_{3}}\)

A więc będziemy realizować ten pomysł za pomocą iloczynu tensorowego macierzy grup: \(\displaystyle{ S_{2} \wedge S_{3}}\)

Narysujmy sobie jeszcze tabelkę z ponumerowanymi komórkami, żeby potem mieć lepszy ogląd sytuacji na permutacje jakie w niej zachodzą:

\(\displaystyle{ \color{red}{\begin{array}{|r|c|c|}
\hline
1 & 2 & 3 \\ \hline
4 & 5 & 6 \\ \hline
\end{array}} }\)



mamy do realizacji aż dwanaście iloczynów tensorowych macierzy:

\(\displaystyle{ e \otimes E , e \otimes J_{1} , e \otimes J_{2} , e \otimes J_{3} , e \otimes J_{4} , e \otimes J_{5}}\)

\(\displaystyle{ j \otimes E , j \otimes J_{1} , j \otimes J_{2} , j \otimes J_{3} , j \otimes J_{4} , j \otimes J_{5}}\)

Nie będę tu wypisywał wszystkich iloczynów tensorowych tych macierzy bo mija się to z celem , wypiszę tylko trzy:


\(\displaystyle{ e \otimes E= \begin{bmatrix} 1&0\\0&1\end{bmatrix} \otimes \begin{bmatrix} 1&0&0\\0&1&0\\0&0&1\end{bmatrix} = \begin{bmatrix} 1&0&0&0&0&0\\0&1&0&0&0&0\\0&0&1&0&0&0\\0&0&0&1&0&0\\0&0&0&0&1&0\\0&0&0&0&0&1\end{bmatrix}}\) permutacja komórek tabelki odpowiadająca jej: \(\displaystyle{ (1)(2)(3)(4)(5)(6)}\)

Zgodnie z oczekiwaniem powinna wyjść i wyszła macierz jednostkowa

\(\displaystyle{ j \otimes J_{1}= \begin{bmatrix} 0&1\\1&0\end{bmatrix} \otimes \begin{bmatrix} 1&0&0\\0&0&1\\0&1&0\end{bmatrix} = \begin{bmatrix} 0&0&0&1&0&0\\0&0&0&0&0&1\\0&0&0&0&1&0\\1&0&0&0&0&0\\0&0&1&0&0&0\\0&1&0&0&0&0\end{bmatrix}}\) permutacja komórek tabelki: \(\displaystyle{ (1 4)(2 6)(3 5)}\)

Mnożenie jest jak widać bardzo łatwe ponieważ macierz po prawej wstawiamy jak klatki w miejsce jedynek macierzy ze strony lewej.
(zresztą zgodne jest to z regułą mnożenia tensorowego macierzy Kroneckera).

Według schematu:

\(\displaystyle{ \begin{bmatrix} 0&1\\1&0\end{bmatrix} \otimes J_{1} = \begin{bmatrix} 0&J_{1}\\J_{1}&0\end{bmatrix} }\)

Pomnóżmy jeszcze:

\(\displaystyle{ j \otimes J_{4}= \begin{bmatrix} 0&1\\1&0\end{bmatrix} \otimes \begin{bmatrix} 0&1&0\\0&0&1\\1&0&0\end{bmatrix} = \begin{bmatrix} 0&0&0&0&1&0\\0&0&0&0&0&1\\0&0&0&1&0&0\\0&1&0&0&0&0\\0&0&1&0&0&0\\1&0&0&0&0&0\end{bmatrix}}\) permutacja komórek tabelki: \(\displaystyle{ (1 5 3 4 2 6) }\)

I tak to wygląda z mnożeniem tensorowym macierzy bardzo jak widać przydatnym w iloczynie kartezjańskim grup permutacji.

Jeszcze jedna sprawa dość istotna a mianowicie co by się stało jakbyśmy chcieli pomnożyć tensorowo na odwrót te macierze.

Jaka będzie tego reprezentacja, pytanie na które trzeba będzie odpowiedzieć więc pomnóżmy najpierw np.:

\(\displaystyle{ J_{1} \otimes j=\begin{bmatrix} 1&0&0\\0&0&1\\0&1&0\end {bmatrix} \otimes \begin{bmatrix} 0&1\\1&0\end{bmatrix}=\begin{bmatrix} 0&1&0&0&0&0\\1&0&0&0&0&0\\0&0&0&0&0&1\\0&0&0&0&1&0\\0&0&0&1&0&0\\0&0&1&0&0&0\end{bmatrix}}\)

Jak doskonale widać:

\(\displaystyle{ j \otimes J_{1} \neq J_{1} \otimes j }\)

A spróbujmy napisać permutację elementów czerwonej tabelki odpowiadającej tej macierzy: \(\displaystyle{ J_{1} \otimes j}\) ,

wyglądałaby ona tak:

\(\displaystyle{ (1 2)(3 6)(4 5)}\)

Jak widać bardzo żałośnie i po takiej permutacji tabelka poszłaby w rozsypkę.

Więc teraz narysujemy tabelkę (na zielono), która odpowiadałaby permutacjom odwrotnym czyli przemieniamy iloczyny tensorowe:

\(\displaystyle{ E \otimes e , J_{1} \otimes e , J_{2} \otimes e , J_{3} \otimes e , J_{4} \otimes e , J_{5} \otimes e }\)

\(\displaystyle{ E \otimes j , J_{1} \otimes j , J_{2} \otimes j , J_{3} \otimes j , J_{4} \otimes j , J_{5} \otimes j }\)

Oczywiście będzie na pewno:

\(\displaystyle{ e \otimes E = E \otimes e=I}\)

\(\displaystyle{ \color{green}{\begin{array}{|r|c|}
\hline
1 & 2 \\ \hline
3 & 4 \\ \hline
5 & 6 \\ \hline
\end{array}}}\)


I teraz dla tej ostatniej permutacji: \(\displaystyle{ (1 2)(3 6)(4 5)}\) wszystko działa w jak największym porządku.

(Jak widać w tabelce zielonej permutacja wierszy odpowiada permutacjom kolumn w tabelce czerwonej a permutacja kolumn w tabelce zielonej odpowiada permutacji wierszy w tabelce czerwonej)...

Więc odwrotność iloczynu tensorowego będzie prawidłowo realizowana w tabelce zielonej a nie czerwonej.

Jak widać temat ten uzupełniony został o macierze permutacji , iloczyn tensorowy tych macierzy oraz o tabelki reprezentujące grupę permutacji.

Temat może być rozwojowy ponieważ można zliczać różne układy w takiej tabelce licząc stabilizatory i orbity dla pewnych grup elementów zawartych wewnątrz tabelki w rozmaity sposób, dlatego wszelkie spostrzeżenia, uwagi i uzupełnienia mile widziane...

ODPOWIEDZ