Zielony Smok - logo witryny

Permanent macierzy (Java)

Permanent jest obliczany z definicji permutacyjnej podobnie jak wyznacznik, ale w permanencie wszystkie wartości dodaje się.

Permanent macierzy

Permanent macierzy

Permanent macierzy można obliczyć przy użyciu metody perm(Matrix).

Przykład użycia metody znajdującej się w klasie Matrix071.

double[][] array1 = {{1, 2, 1, -1}, {2, 3, 1, 1}, {-1, -1, -2, -3},
                {1, -2, 3, -1}};
        Matrix matrix1 = new Matrix(array1);
        matrix1.printToConsole();
        try {
            Util.print(matrix1.det());
        } catch (MatrixException e) {
            e.printStackTrace();
        }
        try {
            Util.print(MatrixUtil.perm(matrix1));
        } catch (MatrixException e) {
            e.printStackTrace();
        }

Po uruchomieniu klasy na konsoli zobaczymy:

1.0 2.0 1.0 -1.0
2.0 3.0 1.0 1.0
-1.0 -1.0 -2.0 -3.0
1.0 -2.0 3.0 -1.0
-30.0
74.0

Wyznacznik = -30.0, permanent = 74.

Istnieją lepsze i szybsze metody obliczania permanentu, ale nie uwzględniamy ich tutaj, gdyż permanent nie jest zbyt często potrzebny.

Właściwości permanentu

Permanent ma następujące właściwości:

  1. Transpozycja nie zmienia permanentu
  2. Permanent nie zmienia się przy zamianie dwu kolumn albo dwóch wierszy
  3. Pomnożenie wiersza albo kolumny przez skalar oznacza pomnożenie permanentu przez ten skalar
  4. Przy dodaniu do wiersza (albo kolumny) innego wiersza (albo kolumny) zmienia się wartość permanentu
  5. Nie można zastosować metody eliminacji Gaussa
  6. Nie ma zastosowania twierdzenie Cauchy’ego, tj.
    1. Permanent macierzy
    2. Permanent macierzy

Zastosowania permanentu

Jest używany głównie w kombinatoryce – w teorii grafów oraz w statystyce nieparametrycznej.

Pliki do ściągnięcia

matrices014.zip

Moduł matrices – aktualny stan projektu = 014;