Mamy dany układ n równań liniowych z n niewiadomymi. Zapiszmy go następująco:

a1,1x1

 + 

a1,2x2

 + 

a1,3x3

 + 

  ...  

 + 

a1,n-1xn-1

 + 

a1,nxn

 = 

b1

a2,1x1

 + 

a2,2x2

 + 

a2,3x3

 + 

  ...  

 + 

a2,n-1xn-1

 + 

a2,nxn

 = 

b2

a3,1x1

 + 

a3,2x2

 + 

a3,3x3

 + 

  ...  

 + 

a3,n-1xn-1

 + 

a3,nxn

 = 

b3

...

 + 

...

 + 

...

 + 

...

 + 

...

 + 

...

 = 

...

an-1,1x1

 + 

an-1,2x2

 + 

an-1,3x3

 + 

  ...  

 + 

an-1,n-1xn-1

 + 

an-1,nxn

 = 

bn-1

an,1x1

 + 

an,2x2

 + 

an,3x3

 + 

  ...  

 + 

an,n-1xn-1

 + 

an,nxn

 = 

bn


Następnie utwórzmy macierz A współczynników ai,j tego układu równań oraz wektor kolumnowy B wyrazów bi:

A = 

  

a1,1

a1,2

a1,3

  ...  

a1,n-1

a1,n

  

    B =

  

b1

  

a2,1

a2,2

a2,3

  ...  

a2,n-1

a2,n

b2

a3,1

a3,2

a3,3

  ...  

a3,n-1

a3,n

b3

...

...

...

...

...

...

...

an-1,1 

an-1,2 

an-1,3 

  ...  

an-1,n-1 

an-1,n

bn-1

an,1

an,2

an,3

  ...  

an,n-1

an,n

bn


Macierz A jest macierzą kwadratową o wymiarze n x n. Niech W = det A. Jeśli wyznacznik W jest różny od 0 (pamiętajmy o błędach zaokrągleń - sprawdzamy, czy wyznacznik W leży w otoczeniu ε wartości 0), to układ równań posiada rozwiązania. W przeciwnym razie układ równań jest sprzeczny lub liniowo zależny i nie posiada jednoznacznego rozwiązania.

Aby znaleźć wartości kolejnych niewiadomych, postępujemy następująco:

W macierzy A współczynników dla każdej niewiadomej xi , i = 1, 2, ... , n, zastępujemy i-tą kolumnę wektorem kolumnowym B. Następnie wyliczamy wyznacznik Wi tak zmodyfikowanej macierzy. Wartość kolejnych niewiadomych xi , i = 1, 2, ... , n, otrzymamy za pomocą poniższego wzoru:

xi

Wi

W


Metoda ta nosi nazwę wzorów Cramera (ang. Cramer's Rule).

 

Przykład:

Rozwiążemy przy pomocy podanych powyżej wzorów Cramera układ 3 równań liniowych z trzema niewiadomymi x1, x2 i x3:

3x1

+

2x2

-

3x3

=

-2

4x1

-

3x2

+

2x3

=

4

8x1

+

2x2

+

2x3

=

18

 

Najpierw tworzymy macierz A współczynników oraz wektor kolumnowy B:

A = 

  

  3

   2

  -3

  

    B =

  

-2

  

 4

 -3

 2

4

 8

 2

 2

18


Wykorzystując regułę Sarrusa obliczamy wyznacznik główny W:

3

2

-3

 3

2

 = 3×(-3)×2 + 2×2×8 + (-3)×4×2 - (-3)×(-3)×8 - 3×2×2 - 2×4×2 = -110 = W

4

-3

2

4

-3

8

2

2

8

2


Teraz dla niewiadomej x1 w macierzy A zastępujemy kolumnę 1 wektorem B i obliczamy jej wyznacznik W1:

A1 = 

  

-2

   2

  -3

  

4

 -3

 2

18

 2

 2

-2

2

-3

-2

2

 = (-2)×(-3)×2 + 2×2•18 + (-3)×4×2 - (-3)×(-3)×18 - (-2)×2×2 - 2×4×2 = -110 = W1

4

-3

 2

4

-3

18

 2

2

18

2

 


Podobnie postępujemy dla pozostałych niewiadomych postępujemy podobnie:

A2 = 

  

  3

  -2

  -3

  

 4

4

 2

 8

18

 2

 

  3

 

-2

 

-3

 

3

 

-2

 = 3×4×2 + (-2)×2×8 + (-3)×4×18 - (-3)×4×8 - 3×2×18 - (-2)×4×2 = -220 = W2

 4

4

 2

 4

4

 8

18

 2

 8

18

 

A3 = 

  

  3

   2

  -2

  

 4

 -3

4

 8

 2

18

 

  3

   2

  

-2

  3

   2

 = 3×(-3)×18 + 2×4×8 + (-2)×4×2 - (-2)×(-3)×8 - 3×4×2 - 2×4×18 = -330 = W3

 4

 -3

4

 4

 -3

 8

 2

18

 8

 2

 

Podsumujmy otrzymane wyniki:

W

= -110

W1

= -110

W2

= -220

W3

= -330


Zgodnie z wzorami Cramera mamy:

x1

W1

 = 

-110

 = 1

W

-110

x2

W2

=

-220

 = 2

W

-110

x3

W3

=

-330

 = 3

W

-110

 

Technicznie macierz A współczynników oraz wektor kolumnowy B będziemy przechowywać w jednej tablicy o n wierszach i n+1 kolumnach. Współczynniki przy niewiadomych umieścimy w kolumnach od 1 do n, natomiast n+1 kolumnę zajmą wyrazy wolne bi. Do funkcji obliczającej wyznacznik będziemy przekazywali wektor kolumnowy, w którym po prostu na i-tej kolumnie wpiszemy n+1, czyli numer kolumny z wektorem B. Będzie to odpowiadało zastąpieniu danej kolumny współczynników  wyrazami z kolumny n+1.

 

AB = 

  

1

2

3

...

n-1

n

n+1

  

 

a1,1

a1,2

a1,3

  ...  

a1,n-1

a1,n

b1

 

a2,1

a2,2

a2,3

  ...  

a2,n-1

a2,n

b2

a3,1

a3,2

a3,3

  ...  

a3,n-1

a3,n

b3

...

...

...

...

...

...

...

an-1,1 

an-1,2 

an-1,3 

  ...  

an-1,n-1 

an-1,n 

bn-1

an,1

an,2

an,3

  ...  

an,n-1

an,n

bn