Zielony Smok - logo witryny

Wyznacznik macierzy (Java) (2)

Geometryczna interpretacja wyznacznika

Użyjemy klasy Matrix020

Po uruchomieniu kodu na konsoli zobaczymy:

Geometryczna interpretacja wyznacznika
Geometryczna interpretacja wyznacznika

Załóżmy, że mamy dwa wektory V1=[4,4] i V2= [4,1]. Jeżeli narysujemy je na płaszczyźnie i narysujemy wektor będący sumą tych wektorów to otrzymamy równoległobok, którego dłuższą przekątną jest wektor oznaczony na czerwono będący suma tych dwóch wektorów. Pole równoległoboku to:

S = a*b*sinα

gdzie:

S – pole równoległoboku

a – jest długością pierwszego wektora (I bok równoległoboku),

b – jest długością drugiego wektora (II bok równoległoboku),

α jest kątem między wektorami

W naszym przykładzie S = 12.

detMacierz= 4⋅1 – 4⋅4 = -12, |det| = 12

Jak widzimy wyznacznik macierzy jest równy polu równoległoboku rozpiętego na płaszczyźnie na tych wektorach.

Jeżeli obliczymy wektor 2d, który jest iloczynem wektorowym obu podanych wektorów to jego długość będzie równa 12 (Klasa Matrix021):

Geometryczna interpretacja wyznacznika

Jeżeli obliczymy wektor 3d, który jest iloczynem wektorowym obu podanych wektorów z częścią z = 0, to długość tego wektora będzie wynosiła 12.

Jeżeli macierz będzie miała trzy 'pełne’ wektory to wyznacznik macierzy 3 x 3 będzie objętością równoległościanu rozpiętego w przestrzeni na tych 3 wektorach.

Jeżeli weźmiemy trzy wektory V1=[a,b], V2=[c,d], V3 =[g,h] i narysujemy je na płaszczyźnie to pole S trójkąta wyznaczonego przez końce tych wektorów wynosi:

S = jedna druga detMacierz = (ad1 + b1g + 1ch) – (1dg + a1h + bc1) =
= (ad + bg + ch) – (dg + ah + bc)

Jeżeli nasz trójkąt to: V1=[1,-1], V2=[3,4], V3=[-2,5]

detMacierz = (4 + 2 + 15)-(-8+5-3) = 21 -(-6)=21+6=27;

pole S= jedna druga⋅27 = 13.5

Po uruchomieniu klasy Matrix022 zobaczymy:

Geometryczna interpretacja wyznacznika

Z geometrii wynika, że boki trójkąta wynoszą:

x = Math.sqrt((a-c)2+(b-d)2) = Math.sqrt((1-3)2+(-1-4)2) = Math.sqrt(4+25) = 5.385,

y = Math.sqrt((c-g)2+(d-h)2) = Math.sqrt((3+2)2+(4-5)2) = Math.sqrt(25+1)=5.099,

z = Math.sqrt((g-a)2+(h-b)2) = Math.sqrt((-2-1)2+(5+1)2)= Math.sqrt(9+36)=6.708,

Połowa obwodu p = (x + y + z)/2 = 5.385+5.099+6.708 = 17.192/2 = 8.596

Wzór na obwód trójkata = Obliczenie z wzoru = Obliczenie z wzoru = Obliczenie z wzoru = 13.499

Możemy to też obliczyć używając iloczynu skalarnego:

Obliczamy iloczyny skalarne V1xV2, V2xV3, V3xV1. Obliczamy połowy długości tych wektorów. Dodajemy długości dwóch pierwszych i odejmujemy trzecią. Wynik jest dokładnie 13.5.

Jeżeli obliczenia przeprowadzimy przy użyciu klasy Matrix021 zobaczymy cos takiego:

Geometryczna interpretacja wyznacznika

Wyznacznik macierzy n × n

Rozwinięcie Laplace’a

Najlepszą metodą wyznaczania wyznacznika jest metoda Laplace’a (rozwinięcie Laplace’a).

Wyznacznik macierzy kwadratowej stopnia oblicza się z następującego wzoru:

Wzór na obliczenie wyznacznika macierzy

gdzie:

i – jest ustalone i jest wybranym numerem wiersza, względem którego następuje rozwinięcie.

Element macierzy – jest elementem macierzy w i-tym wierszu i j-tej kolumnie.

Dopełnienie algebraiczne elementu – jest dopełnieniem algebraicznym elementu Element macierzy (czyli jest to iloczyn minoru elementu Element maierzy pomnożony przez czynnik Czynnik mnożący

Powyższe rozważania są słuszne również dla wybranej kolumny.

Tej metody możemy użyć rekurencyjnie dla macierzy o dowolnej wielkości, za każdym razem sprowadzając macierz do niższego stopnia, aż dojdziemy do macierzy takiego stopnia, dla którego jesteśmy w stanie obliczyć wyznacznik.

Przykład

Mamy macierz:

Macierz

Nasze i=2 czyli wybieramy wiersz 2. Gdyby był jakiś wiersz zawierający 0 lepiej byłoby wybrać właśnie ten wiersz, gdyż zmniejsza to liczbę obliczeń. Będziemy mieli do czynienia z trzema elementami:

Elementy macierzy= {4,5,2}

Obliczenia dla a21

Z macierzy wybieramy podmacierz dla elementu a21 czyli podmacierz powstałą przez skreślenie drugiego rzędu i pierwszej kolumny:

Podmacierz

Obliczamy wyznacznik, czyli minor tej podmacierzy:

det=-21

Mnożymy ten wyznacznik przez czynnik dopełniający:

Czynnik dopełniający

Mnożymy wynik przez wartość elementu:

a1= 4⋅21=84

Obliczenia dla a22

Z macierzy wybieramy podmacierz dla elementu a22 czyli podmacierz powstałą przez skreślenie drugiego rzędu i drugiej kolumny:

Podmacierz

Obliczamy wyznacznik, czyli minor tej podmacierzy:

det=-18

Mnożymy ten wyznacznik przez czynnik dopełniający:

Czynnik dopełniający

Mnożymy wynik przez wartość elementu:

Wartość elementu

Obliczenia dla a23

Z macierzy wybieramy podmacierz dla elementu a23 czyli podmacierz powstałą przez skreślenie drugiego rzędu i trzeciej kolumny:

Podmacierz

Obliczamy wyznacznik, czyli minor tej podmacierzy:

det=1

Mnożymy ten wyznacznik przez czynnik dopełniający:

Czynnik dopełniający

Mnożymy wynik przez wartość elementu:

Mnożenie przez wartość elementu

Obliczenia wspólne

Obliczenie wspólne

Możemy je przeprowadzić używając klasy Matrix050.

Po uruchomieniu klasy na konsoli zobaczymy wynik:

1.0 1.0 3.0
4.0 5.0 2.0
7.0 8.0 3.0
-8.0

Właściwości wyznacznika

  1. Jeżeli kolumna macierzy lub wiersz macierzy zawierają same 0, to wyznacznik macierzy wynosi 0
  2. Jeżeli zamienimy miejscami dwa wiersze (albo dwie kolumny) to wyznacznik zmieni swój znak ( + na – albo – na +)
  3. Jeżeli dwie kolumny (albo dwa wiersze) macierzy są jednakowe to wyznacznik tej macierzy wynosi 0
  4. Jeżeli wszystkie elementy pewnego wiersza (albo kolumny) zawierają wspólny czynnik, to czynnik ten można wyłączyć przed wyznacznik
  5. Jeżeli każda z komórek macierzy zawiera wspólny czynnik to czynnik ten po podniesieniu do potęgi równej ilości rzędów (kolumn) można wyłączyć przed wyznacznik Wyłączenie przed wyznacznik
  6. Jeżeli do elementów dowolnej kolumny (albo wiersza) dodamy odpowiadające im elementy innej kolumny (wiersza) pomnożone przez dowolną liczbę (również 1) to wartość wyznacznika pozostanie nie zmieniona
  7. Wyznaczniki macierzy i jej macierzy transponowanej są jednakowe
  8. Wyznacznik macierzy górnotrójkątnej, dolnotrójkątnej lub diagonalnej jest równy iloczynowi elementów na głównej przekątne
  9. Wyznacznik macierzy odwrotnej jest równy odwrotności wyznacznika Wzór na odwrotność wyznacznika
Ad. 1

detMacierz z kolumna zerową

Ad. 2

detMacierz = -8

detMacierz po zamianie kolumn = 8

Ad. 3

detMacierz z dwoma jednakowymi kolumnami = 0

Ad. 4

detMacierz = Wyłączenie wspólnego czynnika przed wyznacznik

Ad. 5

Macierz = Wyłączanie wspólnego czynnika przed wyznacznik

Ad. 6

detMacierz = detWłaściwość nr 6 wyznacznika

Ad. 7

Wyznacznik macierzy transponowanej

Właściwość nr 7 wyznacznika

Ad. 8

Właściwość nr 8 wyznacznika

Ad. 9

Właściwość nr 9 wyznacznika

Pliki do ściągnięcia

matrices012.zip

Moduł matrices – aktualny stan projektu = 012;