Permanent – funkcja przyporządkowująca każdej macierzy kwadratowej stopnia
o współczynnikach z pierścienia przemiennego
pewien element tego pierścienia. Podobnie jak wyznacznik permanent jest wielomianem stopnia
z
zmiennymi, w którym każdy składnik ma
czynników, z których każde dwa są z różnych kolumn i z różnych wierszy macierzy.
Permanent jest symetryczną formą wieloliniową na
wierszach/kolumnach, traktowanych jako wektory przestrzeni liniowej wymiaru
Dla macierzy kwadratowej
![{\displaystyle A={\begin{bmatrix}a_{1,1}&\cdots &a_{1,n}\\\vdots &\ddots &\vdots \\a_{n,1}&\cdots &a_{n,n}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8852f774fdb9ea7e0478002646b28537a66ef10b)
permanent
definiuje się jako
![{\displaystyle \operatorname {perm} (A):=\sum _{\sigma \in {\mathcal {S}}_{n}}\prod _{i=1}^{n}a_{i,\sigma (i)}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ff46889667465aa772b5ace63d3b4c4d5bf787e7)
gdzie suma przebiega wszystkie elementy
grupy symetrycznej
tj. wszystkie permutacje zbioru liczb
Definicja permanentu macierzy
różni się więc od wzoru permutacyjnego dla wyznacznika macierzy
tym, że znak permutacji nie jest brany pod uwagę.
Oprócz oznaczenia
stosuje się też zapis
w wariantach z wielkiej litery i w notacji beznawiasowej (jeśli nie prowadzi to do niejednoznaczności). Współcześnie właściwie nie spotyka się oznaczenia
- Przykłady
![{\displaystyle \operatorname {perm} {\begin{pmatrix}a\end{pmatrix}}=a.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/82466521d37a888d955a86bcef643e8e397186fb)
![{\displaystyle \operatorname {perm} {\begin{pmatrix}a&b\\c&d\end{pmatrix}}=ad{\boldsymbol {+}}bc.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cf556a94e39cd6e21330981983b603b0ef295a73)
![{\displaystyle \operatorname {perm} {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}}=aei{\boldsymbol {+}}bfg{\boldsymbol {+}}cdh{\boldsymbol {+}}afh{\boldsymbol {+}}ceg{\boldsymbol {+}}bdi.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/baa84592c869825c92204036901006d696d46f86)
Podobnie, jak dla wyznacznika macierzy, można do obliczania permanentu użyć wzoru analogicznego do rozwinięcie Laplace’a:
- rozwinięcie według
-tej kolumny:
![{\displaystyle \operatorname {perm} (A)=\sum _{i=1}^{n}a_{ij}\cdot \operatorname {perm} (A_{ij}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/965fe89f5e2b847479b1e7394ae05ba3ce26a282)
- rozwinięcie według
-tego wiersza:
![{\displaystyle \operatorname {perm} (A)=\sum _{j=1}^{n}a_{ij}\cdot \operatorname {perm} (A_{ij}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1837796d254ae152c9a4f17feee8b2bbd507c5fd)
- Przykład
![{\displaystyle \operatorname {perm} {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}}=a\cdot \operatorname {perm} {\begin{pmatrix}e&f\\h&i\end{pmatrix}}+b\cdot \operatorname {perm} {\begin{pmatrix}d&f\\g&i\end{pmatrix}}+c\cdot \operatorname {perm} {\begin{pmatrix}d&e\\g&h\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/954129a34626ac24b0818e5a4f6390b32f511505)
Ogólniej można rozważać rozwinięcie względem grupy wierszy/kolumn, wykorzystując pojęcie macierzy blokowej.
Niech
i
będą macierzami o rozmiarach odpowiednio
i
przy czym
zaś macierz
macierzą kwadratową
(Analogicznie można by zdefiniować macierz
).
Wtedy
![{\displaystyle \operatorname {perm} (A)=\sum _{S\subseteq \{1,2,\dots ,n\} \atop \#S=p}\operatorname {perm} (B_{S})\cdot \operatorname {perm} (C_{\{1,2,\dots ,n\}\setminus S}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f14fe6e3e3a729a09a53502078985307930e4528)
gdzie suma jest tworzona ze wszystkich p-elementowych podzbiorów
zbioru
których jest
Symbol
oznacza moc zbioru
Zaś macierze
oraz
są to macierze powstałe przez pozostawienie odpowiednio
i
kolumn w macierzach
i
(a usunięcie pozostałych).
- Przykład
Rozwinięcie permanentu macierzy stopnia 4 przedstawia się następująco:
![{\displaystyle {\;\;\;}\operatorname {perm} {\begin{pmatrix}a&b&c&d\\e&f&g&h\\i&j&k&l\\m&n&o&p\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b947f61d31d56af64326d05ae2cc545a96d3afa5)
![{\displaystyle =\operatorname {perm} {\begin{pmatrix}a&b\\e&f\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}k&l\\o&p\end{pmatrix}}+\operatorname {perm} {\begin{pmatrix}a&c\\e&g\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}j&l\\n&p\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0923a08c6d1abcde6392e3d7aa04951a1b9671ac)
![{\displaystyle +\,\operatorname {perm} {\begin{pmatrix}a&d\\e&h\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}j&k\\n&o\end{pmatrix}}+\operatorname {perm} {\begin{pmatrix}b&c\\f&g\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}i&l\\m&p\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e4e535c5708a47a52b7ba6fc51e3f8497fc7aeb7)
![{\displaystyle +\,\operatorname {perm} {\begin{pmatrix}b&d\\f&h\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}i&k\\m&o\end{pmatrix}}+\operatorname {perm} {\begin{pmatrix}c&d\\g&h\end{pmatrix}}\cdot \operatorname {perm} {\begin{pmatrix}i&j\\m&n\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3149e94a2918da597afc08a440708fe5b9c83a73)
Podobnie jak wyznacznik permanent jest funkcją liniową względem swoich wierszy/kolumn, tj.:
- permanent jest addytywny, czyli zamiana jakiegoś wiersza/kolumny na sumę jest równoznaczne z zamianą permanentu na sumę permanentów,
- permanent jest jednorodny, czyli pomnożenie któregoś wiersza/kolumny przez skalar jest równoważne pomnożeniu przez tę liczbę permanentu.
- Przykłady
![{\displaystyle \operatorname {perm} {\begin{pmatrix}a&b'+b''&c\\d&e'+e''&f\\g&h'+h''&i\end{pmatrix}}=\operatorname {perm} {\begin{pmatrix}a&b'&c\\d&e'&f\\g&h'&i\end{pmatrix}}+\operatorname {perm} {\begin{pmatrix}a&b''&c\\d&e''&f\\g&h''&i\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4b40813b922bfbc33b7eae544dc965b332f4073)
![{\displaystyle \alpha \cdot \operatorname {perm} {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}}=\operatorname {perm} {\begin{pmatrix}a&b&c\\\alpha \cdot d&\alpha \cdot e&\alpha \cdot f\\g&h&i\end{pmatrix}}=\operatorname {perm} {\begin{pmatrix}a&b&\alpha \cdot c\\d&e&\alpha \cdot f\\g&h&\alpha \cdot i\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/01dbd3220490bf621695a42e5c8cedcfa175ec4c)
Permanent macierzy nie zmienia się przy transpozycji macierzy:
![{\displaystyle \operatorname {perm} (A)=\operatorname {perm} (A^{T}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7795da8ff834d95ba05f8bbacfc4f5fd1ae7338b)
Permanent macierzy trójkątnej, podobnie jak wyznacznik, jest równy iloczynowi elementów jej przekątnej:
![{\displaystyle \operatorname {perm} (A)=\prod _{i=1}^{n}a_{ii}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/763919e9bbfb75188682fedc3f42b64daeec1128)
- Permanent macierzy nie zmienia się przy zamianie kolumn lub wierszy, np.:
![{\displaystyle {}\;\;\;\operatorname {perm} {\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}}=\operatorname {perm} {\begin{pmatrix}a&c&b\\d&f&e\\g&i&h\end{pmatrix}}=\operatorname {perm} {\begin{pmatrix}g&h&i\\d&e&f\\a&b&c\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4d715ae918b093423ec7e1f04e0c4ca91a01631d)
- Oznacza to symetryczność formy wieloliniowej określonej na wierszach/kolumnach, podczas gdy wyznacznik jest formą antysymetryczną.
- Na ogół permanent iloczynu zależy od kolejności czynników, tj.
![{\displaystyle \operatorname {perm} (AB)\neq \operatorname {perm} (BA).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6bafdb8fda08f7e7839c4cbbfac8f0de92508094)
- Jeśli
![{\displaystyle A={\begin{pmatrix}1&2\\3&-1\end{pmatrix}},\quad B={\begin{pmatrix}1&2\\-1&3\end{pmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9951af9bde0b0f6b25e71b6e70968a416e7907bc)
- to
![{\displaystyle \operatorname {perm} AB=\operatorname {perm} {\begin{pmatrix}-1&8\\4&3\end{pmatrix}}=29,\quad \operatorname {perm} BA=\operatorname {perm} {\begin{pmatrix}7&0\\8&-5\end{pmatrix}}=-35.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bc9035b496c8f0e4974843d61c96bb44a6689555)
- Stąd na ogół
![{\displaystyle \operatorname {perm} (AB)\neq \operatorname {perm} (A)\cdot \operatorname {perm} (B),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6fdd9059b1beef6dc783ce6393a8eafde80a23e3)
- Także na ogół
![{\displaystyle A^{2}={\begin{pmatrix}7&0\\0&7\end{pmatrix}},\quad \operatorname {perm} A=5,\quad \operatorname {perm} A^{2}=49.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/81370783793b3c162dc0a7f21fd7ca4cc3c04d45)
- Dodanie/odjęcie do któregoś z wierszy innego lub którejś z kolumn innej, nie zachowuje permanentu macierzy.
- Niech
Odejmując w macierzy
pierwszy wiersz od drugiego, dostaniemy macierz
oraz ![{\displaystyle \operatorname {perm} (B)=0.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e915c2b51f4d29506a4598d4f87bb2e610af6eaf)
- Stąd brak odpowiednika metody Gaussa stosowanej przy obliczaniu wyznacznika macierzy.
Obliczenie permanentu wraz z rosnącym rozmiarem macierzy staje się zadaniem bardzo pracochłonnym. Podczas gdy problem obliczenia wyznacznika macierzy może zostać rozwiązany w czasie ograniczonym funkcją wielomianową, gdzie zmienną jest rozmiar macierzy, dla permanentu nieznany jest algorytm szybszy asymptotycznie niż o złożoności wykładniczej. Podstawową różnicę stanowi fakt, że dla wyznacznika macierzy istnieje efektywny i prosty schemat obliczeń tzw. eliminacja Gaussa. Tak np. można wykazać, że obliczenie permanentu macierzy 0-1 (tj. macierzy, w której występują jedynie liczby 0 i 1) jest problemem #P-zupełnym[1].
Dla macierzy o elementach nieujemnych można jednak policzyć permanent z dowolną dokładnością w czasie wielomianowo zależnym od rozmiaru wejścia. Algorytm ten oparty na metodach probabilistycznych pozwala na obliczenie permanentu z zadaną dokładnością
gdzie
to permanent a
dowolna liczba nieujemna[2].
Wzór Rysera jest podstawą dla jednego z najefektywniejszych (biorąc pod uwagę powyżej opisane ograniczenia) algorytmów:
![{\displaystyle \operatorname {perm} (A)=(-1)^{n}\sum _{S\subseteq \{1,2,\dots ,n\}}(-1)^{\#S}\prod _{i=1}^{n}\sum _{j\in S}a_{ij},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5ddb6ec33309a1265760cf09074078808c8d4137)
gdzie
to moc zbioru
W przeciwieństwie do wyznacznika macierzy permanent nie ma prostej interpretacji geometrycznej. Jest natomiast głównie używany w kombinatoryce. Tak na przykład przy pomocy permanentu można opisać skojarzenie doskonałe grafu dwudzielnego
w którym podział wyznaczają wierzchołki
z jednej strony oraz
z drugiej. Wtedy
można przedstawić jako macierz kwadratową
gdzie
jeśli istnieje krawędź między wierzchołkami
i
lub
gdy nie istnieje. Permanent macierzy jest równy liczbie skojarzeń doskonałych grafu.
Permanent macierzy znajduje też zastosowanie do opisu czy definicji statystyk nieparametrycznych, a dokładniej pozycyjnych, np. w twierdzeniu Bapata-Bega.
- ↑ Leslie Valiant, The complexity of computing the permanent, „Theoretical Computer Science”, 47(1):85–93, 1979.
- ↑ Mark Jerrum, Alistair Sinclair, Eric Vigoda, A polynomial-time approximation algorithm for the permanent of a matrix with nonnegative entries, J.ACM, tom 51, z. 4, 2004, s. 671–697.
- Henryk Minc: Permanents. Addison-Wesley, Reading MA, 1978. Brak numerów stron w książce
Niektóre typy macierzy | Cechy niezależne od bazy |
|
---|
Cechy zależne od bazy |
|
---|
|
---|
Operacje na macierzach | jednoargumentowe |
|
---|
dwuargumentowe |
|
---|
|
---|
Niezmienniki | |
---|
Inne pojęcia |
|
---|