Motivation of Pivoting
๊ฐ์ฐ์ค ์๊ฑฐ๋ฒ๊ณผ, ๊ฐ์ฐ์ค-์กฐ๋ฅด๋น ๋ฐฉ๋ฒ์์ ๋๊ฐํ๋ ฌ์ ๊ธฐ์ค์ผ๋ก ์ํํ๋ค๋ ๊ฒ์ ๋ช ๋ฐฑํ๋ค.
์ฐ๋ฆฌ๋ ๊ทธ๋์ ์ด ๋๊ฐ ํ๋ ฌ์ ์์๋ฅผ Pivot ์ด๋ผ ๋ถ๋ฅธ๋ค. Pivoting ์ด๋, ํ๋ ฌ์ด ์์๋, ์ด Pivot์ ๊ธฐ์ค์ผ๋ก ํ์ ํ๋จํด์ ๋ ํ์ ๋ฐ๊ฟ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด Pivoting์ ์ ํ์ํ ๊ฒ์ผ๊น?
์ฐ๋ฆฌ๋ ํ๋ ฌ์ ๊ณ์ฐํ๋๋ฐ ์์ด Computing Method๋ฅผ ์ฌ์ฉํ๋๋ฐ, ํ์ค์ ๊ฐ์ ๊ทผ์ฌํด์ ๋งคํํ๋ ์ปดํจํฐ์ ํ๊ณ ๋๋ฌธ์,
์ฐ๋ฆฌ๋ Round Off Error ๋ฅผ ํ์ฐ์ ์ผ๋ก ๊ฐ์ง ์ ๋ฐ์ ์๋ค. ์ด ์๋ฌ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฐ๋ฆฌ๋ Pivoting์ ํ๋ค.
์์ ๋ฅผ ์ดํด๋ณด์.
\\begin{bmatrix} 0.003 & 59.14 \\ 5.291 & -6.130 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 59.17 \\ 46.78 \\ \end{bmatrix}์ด ์์ ์ ํํ ๊ฐ์,
๊ฐ์ฐ์ค ์๊ฑฐ๋ฒ์ ์ฌ์ฉํด์ ์ ์์ ๊ณ์ฐํด๋ณด์. ์ฐ๋ฆฌ๋ ๋๊ฐ ์์๋ฅผ 1๋ก ๋ง๋๋ ๊ฒ์ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์, 1ํ 1์ด์ ๊ฐ์, 2ํ 1์ด์ ๊ฐ๊ณผ ๊ฐ๊ฒ ๋ง๋ ๋ค ๋นผ์ค์ผ ํ๋ค.
๊ทธ๋ฌ๊ธฐ ์ํด์
์ด ๊ฐ์ 1ํ์ ๊ณฑํ๊ณ 2ํ์ ๋ํ ํ์ 2ํ๊ณผ ๋ฐ๊ฟ์ฃผ์. ๊ฒฐ๊ณผ ์์,
\\begin{bmatrix} 0.003 & 59.14 \\ 0 & -104300\\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 59.17 \\ -104400 \\ \end{bmatrix}์ด ๋ ๊ณ์ฐ๋ ํด๋,
๋ค์๊ณผ ๊ฐ์ด ํ์ ํ ๋ค๋ฅธ ํด๊ฐ ๋์ถ๋๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๋๊ฐ ์์์ ๊ฐ๊ณผ ๋ฐ์ ํ์ด ๋น์จ์ด ํฐ ๊ฒ์ ํผํ๋ฉด ๋๋ค!
j๋ ํ์ ๋ฒํธ๋ฅผ ๋งํ๊ณ , k๋ ๋๊ฐ ์์์ ํ๋ฒํธ๋ฅผ ์๋ฏธํ๋ค.
์ฐ๋ฆฌ๋ ์ด ๊ฐ์ด 1๋ณด๋ค ํด๊ฒฝ์ฐ Round Off ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์์์ผ๋ฏ๋ก ์ด๊ฒ์ ๋ง์ผ๋ฉด ๋๋ค.
Remedy
- Partial Pivoting
- Scaled Pivoting
Partial Pivoting
๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์, ์ ๊ฐ์ด 1๋ณด๋ค ํจ์ฌ ํด๊ฒฝ์ฐ ์๋ ํ๊ณผ ์์ ํ์ ๋ฐ๊พธ๋ ๊ฒ์ด๋ค!
k๋ ํ์ฌ ์๋ ํ์ ์๋ฏธํ๋ค. n์ ๋ง์ง๋ง ํ์ ์๋ฏธํ๋ค.
๊ทธ ์ฌ์ด์ ์๋ i ๋ผ๋ ๊ฐ์ ๊ฐ์ง๋ฉด์ ๊ฐ ํ์ ์์๋ค์ ์กฐ์ฌํ๋ฉด์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ฆฌํดํ๋ค. ์ด๋, ํ์ index๋ฅผ ์ ์ฅํ๊ณ , ๋ง์ฝ ํด๋น ํ์ ๋๊ฐ ์์์ ๊ฐ์ด ๊ฐ์ฅ ํฌ๋ค๋ฉด p = k ๊ฐ ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๋ฉด p != k ์ผ ๊ฒ์ด๋ค. ์ด ๊ฒฝ์ฐ p ํ๊ณผ k ํ์ Pivoting ํ๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ํ์ฐ์ ์ผ๋ก m_jk ๊ฐ์ 1๋ณด๋ค ์์์ง๋ฏ๋ก Round Off Error ๋ฅผ ํผํ ์ ์๋ค.
์ ์ฉ
\\begin{bmatrix} 5.291 & -6.130 \\ 0.003 & 59.14 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 46.78 \\ 59.17 \\ \end{bmatrix} \\begin{bmatrix} 5.291 & -6.130 \\ 0 & 59.14 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 46.78 \\ 59.14 \\ \end{bmatrix}Scaled Pivoting
๋ง์ฝ m ๊ฐ์ด 1์์ ํฌ๊ฒ ์ฐจ์ด๊ฐ ์๋ค๋ฉด ์ด ๋ฐฉ๋ฒ์ ์ฌ์ค์๋ฏธ๊ฐ ์๋ค.
๋ฐ๋ผ์ ์ด ๊ฒฝ์ฐ์๋ ๊ฐ ํ์ ํน์ ๊ฐ์ ๊ฐ์ ๊ณฑํ๋ค, ๋ต์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
๊ฐ์ฐ์ค ์๊ฑฐ๋ฒ์ ํน์ฑ์, ๋ฐ์ ๊ฐ๋ถํฐ ์ฌ๋ผ์ค๊ธฐ ๋๋ฌธ์, ํน์ ํ์ ๊ณ์๋ค์ ํฌ๊ธฐ๊ฐ ๊ท ๋ฑํ๋ค๋ฉด ๊ฐ์ ๋ณํ๊ฐ ํฌ๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํ์ ๊ณ์๋ค์ ๋น์จ์ด ํฐ ํ์ ์๋๋ก ํผ๋ณดํ ํด์ผํ๋ค.
\\begin{bmatrix} 30 & 591400 \\ 5.291 & -6.130 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 591700 \\ 46.78 \\ \end{bmatrix} S_1;=;max\[\|30|, |591400|\] ; =;591400\\ S_2;=;max\[\|5.291|, |-6.130|\] ; =;6.130๋ฐ๋ผ์ 1ํ๊ณผ 2ํ์ ํผ๋ณดํ ํ๋ค.
\\begin{bmatrix} 5.291 & -6.130 \\ 30 & 591400 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} ;=; \begin{bmatrix} 46.78 \\ 591700 \\ \end{bmatrix}