Numerikus analízis, optimalizálás

Dr. Házy Attila


Date: Miskolci Egyetem, 2014



Tartalomjegyzék

1. Hibaszámítás

1.1. Hibaforrások

A feladatok megoldása során különféle hibaforrásokkal találkozunk:

1.2. Számábrázolás

1.2.1. Az egész számok

Az egész számokat a számítógépben előjeles vagy előjel nélküli bináris számként képzelhetjük el, így jellemezhetőek a használt bináris jegyek számával. Ez utóbbi nem rögzített, hanem bizonyos mértékben választható. A szokásos az, hogy 2- és 4-byte-os egész számok állnak rendelkezésre, ahol a byte nyolc bitet tartalmaz, azaz nyolc bináris jeggyel rendelkezik (sok gépnél a byte a legkisebb elérhető, címezhető tárolási egység).

Az egész számokkal való aritmetikai műveletek nagyságrenddel gyorsabbak a lebegőpontos számokénál és hibamenteseknek tekinthetők, ezért használatuk döntő mértékben felgyorsíthatja egy adott algoritmus futását a számítógépen.

Az egész számokkal való számítás minden lépését viszont figyelmesen át kell gondolni, mert ilyenkor valójában maradékosztályokban dolgozunk.

1.2.2. A lebegőpontos számok

A számítógépek egy véges számhalmazt ábrázolnak és a számításokat is ezekkel a számokkal végzik. Leggyakrabban a lebegőpontos aritmetikát használják. Nézzük ennek a modelljét:

1.1. Definíció.   A nemnulla lebegőpontos számok általános alakja:

$\displaystyle \pm a^k \left( \dfrac{m_1}{a}+ \dfrac{m_2}{a^2} + \cdots + \dfrac{m_t}{a^t}\right),
$

ahol $ a>1$ a számábrázolás alapja, $ \pm$ az előjel, $ t>1$ a számjegyek száma, $ k \in \mathbb{Z}$ a kitevő.

Az $ m_1$ számjegy normalizált, azaz $ 1\leq m_1 \leq a-1$ (ez garantálja a számábrázolás egyértelműségét). A többi számjegyre: $ 0 \leq m_i \leq a-1$ $ (i=2,...,t)$

A nulla nem normalizált! Ebben az esetben $ k=0, m_1 = m_2 = \cdots = m_t =0$ , előjele általában $ +$ .

A számábrázolás alapja lehet $ 2, 10, 16, \ldots$ (általában a programozási nyelven múlik, hogy melyiket használja)

Elnevezések:

$ t=8$ : egyszeres pontosság, $ t=16$ : dupla pontosság.

A lebegőpontos számokat $ [\pm, k, m_1, m_2, \ldots, m_t]$ alakban tároljuk (a valóságban ettől eltérhet...), ahol $ m:=(m_1,m_2,\ldots,m_t)$ a mantissza, míg $ k$ a szám karakterisztikája.

A géptől és a pontosságtól függően $ m$ tárolására 4,8,16 byte áll rendelkezésre. Ezzel párhuzamosan nő a $ k$ értékkészlete. Adott pontosság mellett:

$\displaystyle L \leq k \leq U,
$

ahol $ L<0, U>0$ és $ |L| \approx |U|$ .

A legnagyobb ábrázolható szám:

    $\displaystyle M^{\infty}$ $\displaystyle = a^{U} \cdot \sum_{i=1}^t \dfrac{a-1}{a^i}
 = a^{U} \cdot \left(\dfrac{a-1}{a} + \dfrac{a-1}{a^2} + \cdots + \dfrac{a-1}{a^t} \right)$
      $\displaystyle = a^{U} \left( \dfrac{a-1}{a} \cdot \dfrac{1-\left(\dfrac{1}{a}\right)^t}{1-\left(\dfrac{1}{a}\right)} \right)
 = a^{U} \left( \dfrac{a-1}{a} \cdot \dfrac{a^t-1}{a^t} \cdot \dfrac{a}{a-1} \right)$
      $\displaystyle = a^{U} \left( 1 - a^{-t} \right)$

A legkisebb ábrázolható szám: $ -M^{\infty}$ .

A lebegőpontos számok a $ [-M^{\infty}, M^{\infty}]$ -beli számok diszkrét (racionális) részhalmazát alkotják és ez a részhalmaz a 0 -ra nézve szimmetrikus.

A 0-hoz legközelebbi pozitív lebegőpontos számot $ \varepsilon_0$ -val jelöljük.

$\displaystyle \varepsilon_0 = a^{L} \left( \dfrac1a +0 +0 + \cdots +0 \right) = a^{L-1}.
$

Így a 0-n kívül a $ (-\varepsilon_0,\varepsilon_0)$ intervallumban nincs más lebegőpontos szám (lehetnek nem normalizált számok, de azokkal nem foglalkozunk).

Az $ \varepsilon_0$ -hoz legközelebbi pozitív lebegőpontos szám:

$\displaystyle a^{L} \left( \dfrac1a +0 +0 + \cdots + \dfrac1{a^t} \right) = \varepsilon_0 + a^{L-t} = \varepsilon_0 (1 + a^{1-t}).
$

Az 1 mindig lebegőpontos szám: $ 1 = [ +, 1, 1, 0, 0, \ldots 0]$ .

Az 1 után a $ [ +, 1, 1, 0, 0, \ldots 0, 1]$ lebegőpontos szám következik, ez $ 1 + a^{1-t} = 1+ \varepsilon_1$ , ahol $ \varepsilon_1 = a^{1-t}$ .

1.2. Definíció.   Ezt az $ \varepsilon_1$ -et a gép relatív pontosságának, vagy gépi epszilonnak nevezzük.

Az $ \varepsilon_0, \varepsilon_1$ számok abszolút és relatív hibakorlátot jelentenek az inputnál és a négy alapműveletnél.

Legyen adott

$\displaystyle 0 < x = [+,k,m] = a^k \left( \dfrac{m_1}{a}+ \dfrac{m_2}{a^2} + \cdots + \dfrac{m_t}{a^t} \right) < M^{\infty}
$

Az $ x$ -hez legközelebb eső, $ x$ -nél nagyobb lebegőpontos szám: $ x + a^{k-t}$ , ugyanis

$\displaystyle \overline{x} = x + a^k \left( 0 +0 +0 + \cdots + \dfrac1{a^t} \right) = x + a^{k-t},
$

tehát $ \delta_x = \overline{x} - x = a^{k-t}$ . Mivel $ k$ karakterisztikájú számok közül a legkisebb lehetséges érték $ a^k \cdot \dfrac1a$ , ezért (mivel $ a^{k-1} \leq x$ )

$\displaystyle \delta_x = \overline{x} - x = a^{k-t} = a^{k-1+1-t} = a^{k-1} \cdot a^{1-t} = a^{k-1} \cdot \varepsilon_1 \leq x \cdot \varepsilon_1,
$

Az Input hibája Legyen $ x \in\mathbb{R}$ , $ |x| \leq M^{\infty}$ és legyen $ \mathop{\hbox{\rm fl}}(x)$ az $ x$ -hez hozzárendelt lebegőpontos szám (ez lehet kerekítéssel vagy levágással).

Kerekítés esetén:

$\displaystyle \mathop{\hbox{\rm fl}}(x) = \left\{
\begin{array}{ll}
0, & \mbox{ha } |x| < \varepsilon_0 \\
\mbox{az } x \mbox{-hez legközelebbi lebegőpontos szám},
& \mbox{ha } \varepsilon_0 \leq |x| \leq M^{\infty}
\end{array} \right.
$

Ekkor kerekítés esetén

$\displaystyle |\mathop{\hbox{\rm fl}}(x) - x| \leq \left\{
\begin{array}{ll}
\varepsilon_0, & \mbox{ha } |x| < \varepsilon_0 \\
\dfrac12 \varepsilon_1 |x|, & \mbox{ha } |x| \geq \varepsilon_0
\end{array} \right.
$

Levágás esetén $ \dfrac12 \varepsilon_1 |x|$ helyett $ \varepsilon_1 |x|$ áll (ez pontatlanabb, de könnyebb levágni, mint kerekíteni).

1.3. Klasszikus hibaanalízis

1.3. Definíció.   Legyen $ A$ pontos érték, $ a$ pedig annak valamilyen közelítése. A $ \Delta a=A-a$ mennyiséget az $ a$ közelítés hibájának nevezzük, a $ \left\vert \Delta a\right\vert =\left\vert A-a\right\vert $ számot pedig az abszolút hibájának. Azt a $ \delta a$ értéket pedig, amelyre fennáll, hogy $ \left\vert A-a\right\vert =\left\vert \Delta a\right\vert \leq \delta a$ , az $ a$ abszolút hibakorlátjának mondjuk.

A definíció értelmében használjuk az $ A=a\pm \delta a$ hivatkozást is, ami annyit jelent, hogy $ A\in [ a-\delta a,a+\delta a]$ . Nyilván annál jobb a közelítés, más szóval annál élesebb a becslés (és erre törekedni kell), minél kisebb a $ \delta a$ .

A közelítés jóságát ezért az abszolút hiba és az abszolút hibának a pontos érték egységére eső része - a relatív hiba - együtt jellemzi.

1.4. Definíció.   Az $ A$ szám valamely $ a$ közelítő értékének relatív hibája a $ \frac{\delta a}{\left\vert A\right\vert }$ mennyiség.

Minthogy az $ A$ pontos érték általában nem ismeretes, ezért a $ \frac{\delta a}{\left\vert A\right\vert }$ helyett a $ \frac{\delta a}{\left\vert a\right\vert }$ közelítést használjuk. Az így elkövetett hiba mértéke:

$\displaystyle \left\vert \frac{\delta a}{\left\vert A\right\vert }-\frac{\delta
a}{ \left\vert a\right\vert }\right\vert =\delta a\frac{\left\vert
\left\vert a\right\vert -\left\vert A\right\vert \right\vert
}{\left\vert a\right\vert \left\vert A\right\vert }\leq \delta
a\frac{\left\vert a-A\right\vert }{ \left\vert a\right\vert
\left\vert A\right\vert }\leq \frac{\left( \delta a\right)^{2}}
{\left\vert a\right\vert \left\vert A\right\vert }.
$

Szokás a relatív hiba helyett annak százalékos érték ét megadni, azaz $ \frac{\delta a}{\left\vert A\right\vert } \Leftrightarrow 100\frac{\delta a}{\left\vert A\right\vert }$

Jelölések:

A következő jelöléseket és elnevezéseket használjuk: $ x,y$ pontos értékek, $ a$ és $ b$ a közelítő értékeik, $ \delta a$ és $ \delta b$ hibakorlátokkal, azaz

$\displaystyle \left\vert x-a\right\vert =\left\vert \Delta a\right\vert \leq \delta a$    és $\displaystyle \left\vert y-b\right\vert =\left\vert \Delta b\right\vert \leq \delta b.
$

Jelölje $ \lozenge$ a $ +,$ $ -,$ $ \cdot ,$ $ /$ műveletek bármelyikét. Az $ a\,\lozenge \,b$ művelet eredményét az $ x\,\lozenge \,y$ elméleti eredmény közelítésének tekintjük és a

$\displaystyle \left\vert \Delta \left( a\,\lozenge \,b\right) \right\vert \leq \delta \left( a\,\lozenge \,b\right) ,
$

illetve a

$\displaystyle \frac{\left\vert \Delta \left( a\,\lozenge \,b\right) \right\vert }
{\left\vert \left( x\,\lozenge \,y\right) \right\vert }\leq
\frac{\delta \left( a\,\lozenge \,b\right) }{\left\vert
\left(x\,\lozenge \,y\right) \right\vert }\approx \frac{\delta \left(a\,
\lozenge \,b\right) }{\left\vert \left( a\,\lozenge \,b\right)
\right\vert }
$

becsléseket keressük, ahol $ \Delta \left( a\,\lozenge\,b\right)$ a művelet hibáját, $ \delta (a\,\lozenge \,b)$ pedig abszolút hibakorlátját jelöli. Az additív műveletek (összeadás, kivonás) hibaszámítás szempontjából egymás között hasonlóságot mutatnak, ezért egyetlen tételben adjuk meg a megfelelő hibakorlátokat.

1.3.1. Abszolút hiba

1.5. Tétel.   Az additív műveletek abszolút hibakorlátjai a következők:

    $\displaystyle \delta \left( a+b\right)$ $\displaystyle \leq \delta a+\delta b,$
    $\displaystyle \delta \left( a-b\right)$ $\displaystyle \leq \delta a+\delta b.$

Bizonyítás.

    $\displaystyle \left\vert \Delta \left( a\pm b\right) \right\vert$ $\displaystyle =
 \left\vert\left( x\pm y\right) \text{--}\left( a\pm b\right)
 \right\vert$
      $\displaystyle = \left\vert \left[ \left( a+\Delta a\right) \pm \left( b+\Delta b\right)
 \right] \text{--}\left( a\pm b\right) \right\vert$
      $\displaystyle =\left\vert \Delta a\pm \Delta b\right\vert \leq \left\vert \Delta
 a\right\vert +\left\vert \Delta b\right\vert \leq \delta a+\delta b,$

amiből a fenti állításunk következik. $ \qedsymbol$

Megjegyzés. Mivel mindkét művelet esetén ugyanazt az eredményt kaptuk, valójában az előjelükre semmilyen kikötést nem kellett tenni. Az eredmény akárhány, tetszőleges előjelű tagra kiterjeszthető. Tekintsük a

$\displaystyle \sum_{i=1}^{n}x_{i}\approx \sum_{i=1}^{n}a_{i},\qquad
\left(x_{i}=a_{i}\pm \delta a_{i},\quad i=1,2,\ldots ,n\right)
$

összegzést. Könnyen belátható, hogy $ \delta \left(\sum_{i=1}^{n}
a_{i}\right) =\sum_{i=1}^{n}\delta a_{i}$ . Természetesen ez az esetek nagy részében jelentősen túlbecsli a tényleges abszolút hibát, hiszen azt tételezi fel, hogy az egyes tagok hibáinak előjele a legkedvezőtlenebbül alakul. Valószínűségszámítási eszközökkel élesebb becslés is adható, jó megbízhatósággal.

1.6. Tétel.   A multiplikatív műveletek abszolút hibakorlátjai a következők:

    $\displaystyle \delta (ab)$ $\displaystyle \approx \left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a,$
    $\displaystyle \delta (a/b)$ $\displaystyle \approx \frac{\left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a}{\left\vert b\right\vert ^{2}}.$

Bizonyítás. A szorzat abszolút hibakorlátjára kapjuk, hogy

    $\displaystyle \left\vert \Delta \left( ab\right) \right\vert$ $\displaystyle = \left\vert xy-ab\right\vert =\left\vert (a+\Delta a)(b+\Delta b)-ab\right\vert$
    $\displaystyle =$ $\displaystyle \left\vert a\Delta b+b\Delta a+\Delta a\Delta b\right\vert \leq \left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a+\left\vert \Delta a\right\vert \left\vert \Delta b\right\vert$
    $\displaystyle \approx$ $\displaystyle \left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a.$

Ha $ \left\vert a\right\vert \gg \left\vert \Delta a\right\vert $ és $ \left\vert b\right\vert \gg \left\vert \Delta b\right\vert $ , akkor a $ \left\vert \Delta a\right\vert \left\vert \Delta b\right\vert $ másodrendű hibatagot elhanyagolhatjuk és azzal éppen az állításunkat kapjuk.

Az osztás esetén természetesen feltesszük, hogy a nevező nem zérus és azt kapjuk, hogy

    $\displaystyle \left\vert \frac{x}{y}-\frac{a}{b}\right\vert =$ $\displaystyle \left\vert \frac{a+\Delta a}{b+\Delta b}-\frac{a}{b}\right\vert =\left\vert \frac{-a\Delta b+b\Delta a}{b(b+\Delta b)}\right\vert$
    $\displaystyle \leq$ $\displaystyle \frac{\left\vert a\right\vert \left\vert \Delta b\right\vert +\left\vert b\right\vert \left\vert \Delta a\right\vert} {b^{2}\left\vert 1+\frac{\Delta b}{b}\right\vert }\leq
 \frac{\left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a}{b^{2}\left\vert 1+\frac{\Delta b}{b}\right\vert }$
    $\displaystyle \approx$ $\displaystyle \frac{\left\vert a\right\vert \delta b+\left\vert b\right\vert \delta a}{b^{2}}.$

Itt pedig hasonló meggondolással a $ \frac{\Delta b}{b}$ tagot hanyagolhatjuk el az $ 1$ mellett, amivel állításunk kiadódik. $ \qedsymbol$

1.3.2. Relatív hiba

1.7. Tétel.   Az aritmetikai műveletek relatív hibakorlátjai a következők (feltéve, hogy nevező sehol sem lehet zérus, és az additív műveleteknél az operandusok előjele megegyező):

    $\displaystyle \frac{\delta (a+b)}{\left\vert a+b\right\vert }$ $\displaystyle = \max \left\{\frac{\delta a}{ \left\vert a\right\vert },\frac{\delta b}{\left\vert b\right\vert }\right\},$
    $\displaystyle \frac{\delta (a-b)}{\left\vert a-b\right\vert }$ $\displaystyle = \frac{\delta a+\delta b} { \left\vert a-b\right\vert },$
    $\displaystyle \frac{\delta (ab)}{\left\vert ab\right\vert }$ $\displaystyle \approx \frac{\delta a}{ \left\vert a\right\vert }+\frac{\delta b}{\left\vert b\right\vert },$
    $\displaystyle \frac{\delta (\frac{a}{b})}{\left\vert \frac{a}{b}\right\vert}$ $\displaystyle \approx \frac{ \delta a}{\left\vert a\right\vert }+\frac{\delta b}{\left\vert b\right\vert } .$

Bizonyítás. Csak az összeadás relatív hibáját bizonyítjuk.

    $\displaystyle \frac{\delta (a+b)}{\left\vert a+b\right\vert }$ $\displaystyle = \frac{\delta a+\delta b}{ \left\vert a+b\right\vert } =\dfrac{\left( \frac{\left\vert a\right\vert \delta a}{ \left\vert a\right\vert }
 +\frac{\left\vert b\right\vert \delta b}{\left\vert b\right\vert}\right)}{\left\vert a+b\right\vert} \leq$
      $\displaystyle \leq \max \left\{ \frac{\delta a}{\left\vert a\right\vert},\frac{\delta b }{\left\vert b\right\vert }\right\} \frac{\left\vert a\right\vert +\left\vert b\right\vert }{\left\vert a+b\right\vert }
 =\max \left\{ \frac{ \delta a}{\left\vert a\right\vert },\frac{\delta b}{\left\vert b\right\vert } \right\} .$

Az utolsó egyenlőség az $ a$ és $ b$ azonos előjeléből következik.

A kivonásra adott összefüggés megegyezik a definícióval. A szorzás és osztás relatív hibája behelyettesítés után azonnal adódik. $ \qedsymbol$

1.4. Mátrixok

1.8. Definíció.   Az $ m\times n$ típusú (méretű) valós $ A$ mátrixon valós $ a_{ij}$ számok alábbi táblázatát értjük:

$\displaystyle A=\left[\begin{array}{cccccc}
a_{11} & a_{12} & \ldots & a_{1j} & \ldots & a_{1n} \\
\vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\
a_{i1} & a_{i2} & \ldots & a_{ij} & \ldots & a_{in} \\
\vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mj} & \ldots & a_{mn}
\end{array}\right].
$

Az $ m$ és az $ n$ értelemszerűen pozitív egész számok. Beszélünk a mátrix $ i$ -edik soráról és $ j $ -edik oszlopáról. A sorok és oszlopok metszéspontjában vannak a mátrix $ a_{ij}$ elemei ( $ i=1,\ldots ,m,\ j=1,\ldots ,n$ ). Az $ m\times n$ típusú valós mátrixok halmazát $ \mathbb{R}^{m\times n}$ jelöli, ennek megfelelően például az $ A\in \mathbb{R}^{k\times l}$ azt jelenti, hogy $ A$ egy $ k\times l$ típusú (méretű) valós mátrix.

1.9. Definíció.   Az egyetlen sorból vagy egyetlen oszlopból álló mátrixot vektornak nevezzük.

A sorvektor szokásos megadási módja: $ x=[x_{1},\ldots ,x_{n}]$ . Az $ x_{i}$ a vektor egy eleme, másképpen komponense. Az oszlopvektorokat az

$\displaystyle x=\left[ \begin{array}{c} x_{1} \\ \vdots \\ x_{n} \end{array} \right] \in \mathbb{R}^{n}
$

formában szoktuk megadni, ahol $ \mathbb{R}^{n}$ az $ n$ komponensű oszlopvektorok halmaza tulajdonképpen $ \mathbb{R}^{n}\equiv \mathbb{R}^{n\times 1}$ ).

Ha egyszerűen csak vektort említünk és nem tesszük hozzá, hogy az sor- vagy oszlopvektor-e, akkor azon mindig oszlopvektort értünk.

A definíciókban látható szögletes zárójelek helyett szokás kerek zárójeleket is használni, valamint gyakran célszerű a következő, tömörebb jelölést választani:

$\displaystyle A=\left[ a_{ij}\right] _{i,j=1}^{m,n}=\left( a_{ij}\right)_{i,j=1}^{m,n} \qquad q=\left[ q_{i}\right] _{i=1}^{n}=\left( q_{i}\right)_{i=1}^{n}.
$

Ha a sorok és oszlopok száma megegyezik, akkor a mátrixot négyzetesnek nevezzük, tömörebb jelölése is némileg egyszerűsödik. Például az $ n\times n$ méretű $ C$ mátrix esetén: $ C=\left[ c_{ij}\right] _{i,j=1}^{n},\qquad C=\left( c_{ij}\right)_{i,j=1}^{n}.$

1.4.1. Mátrixműveletek

Összeadás

Csak azonos méretű mátrixok között értelmezzük, a következőképpen: ha $ A,B\in \mathbb{R}^{m\times n}$ , akkor

$\displaystyle C=A+B\in \mathbb{R}^{m\times n}\Leftrightarrow C=\left(c_{ij}\right)_{i,j=1}^{m,n}=\left( a_{ij}+b_{ij}\right) _{i,j=1}^{m,n}.
$

Az összeadás két fontos tulajdonsága: kommutatív és asszociatív, azaz:

$\displaystyle A+B=B+A \qquad\qquad (A+B)+C=A+(B+C).
$

Számmal való szorzás

Legyen $ A\in \mathbb{R}^{m\times n}$ és legyen $ \lambda $ valós szám (azaz $ \lambda \in \mathbb{R}$ ). Ekkor

$\displaystyle C=\lambda A\in \mathbb{R}^{m\times n}\Leftrightarrow C=\left(c_{ij}\right)_{i,j=1}^{m,n}=\left( \lambda a_{ij}\right) _{i,j=1}^{m,n}.
$

Nyilvánvaló, hogy $ \lambda (\mu A)=(\lambda \mu )A$ , továbbá

$\displaystyle \lambda (A+B)=\lambda A+\lambda B$   és    $\displaystyle (\lambda +\mu)A =\lambda A+\mu A,
$

ami a műveletek disztributivitását mutatja.

Az $ \mathbb{R}^{m\times n}$ halmazt (vagy az $ \mathbb{R}^{n}$ halmazt) a fenti két művelettel algebrai struktúrának tekinthetjük és mint ilyen, rendelkezik mindazon tulajdonságokkal, amelyek a lineáris teret (vektorteret) definiálják. Ezért nem lesz meglepetés, ha az általunk érzékelt háromdimenziós térben definiált vektorok bizonyos jellemzőit (pl. hosszúság) általánosítjuk többdimenzióban is, sőt ezt az általánosítást kiterjesztjük mátrixokra is.

Transzponálás (tükrözés)

Az $ A\in \mathbb{R}^{m\times n}$ transzponáltját jelölje $ A^{T}$ , amit a következőképpen definiálunk:

$\displaystyle C=A^{T}\in \mathbb{R}^{n\times m}\Leftrightarrow C=\left(c_{ij}\right)_{i,j=1}^{n,m}$,ahol $\displaystyle c_{ij}=a_{ji}
$

Úgy is fogalmazhatjuk: a sorokat és az oszlopokat felcseréljük.

A transzponálás definíciójából adódik, hogy

$\displaystyle (A^{T})^{T}=A,\quad (A+B)^{T}=A^{T}+B^{T}.
$

Négyzetes mátrixok esetén a transzponálás a főátlóra való tükrözést jelent. (A főátlót azon elemek alkotják, melyek sor- és oszlopindexe megegyezik, azaz az $ a_{11},a_{22},\ldots ,a_{nn}$ elemek.)

A transzponálás felhasználásával az oszlopvektorokat meg lehet adni még az $ x=[x_{1},\ldots ,x_{n}]^{T}$ , a sorvektorokat pedig az

$\displaystyle x=\left[ \begin{array}{c} x_{1} \\ \vdots \\ x_{n} \end{array}\right] ^{T}
$

formában is.

Szorzás

Ha $ A\in \mathbb{R}^{m\times k}$ , és $ B\in \mathbb{R}^{k\times n}$ , (azaz az első tényező oszlopainak száma és a második tényező sorainak a száma kell, hogy egyenlő legyen) akkor a szorzatukat a

$\displaystyle C = \left( c_{ij}\right) _{i,j=1}^{m,n}=AB\in \mathbb{R}^{m\times n} \Leftrightarrow c_{ij}=\sum_{t=1}^{k}a_{it}b_{tj}
$

$ (i =1,\ldots ,m,\ j=1,\ldots ,n)$ előírással definiáljuk.

Fontos megjegyezni, hogy a szorzás nem kommutatív, tehát általában

$\displaystyle AB\neq BA.
$

A két mátrix között többnyire nem is értelmezhető mindkét sorrendben a szorzás.

Ha $ x,y\in \mathbb{R}^{n}$ akkor az $ x^{T}y$ és az $ xy^{T}$ szorzás végezhető el; előbbi neve skalár szorzás, utóbbié diadikus szorzás. A skalár szorzat eredménye egy szám ($ 1\times 1$ -es mátrix)

1.10. Definíció.   Az $ x,y\in \mathbb{R}^{n}$ skaláris szorzata a

$\displaystyle x^{T}y=\sum_{i=1}^{n}x_{i}y_{i}.
$

A skalár szorzás definíciójából látható, hogy a szorzatmátrix bármelyik $ \left(i,j\right) $ indexű elemét úgy kapjuk, mint egy skalárszorzatot: az első tényező $ i$ -edik sorát (mint sorvektort) szorozzuk a második tényező $ j $ -edik oszlopával, azaz

$\displaystyle c_{ij}=[a_{i1},\ldots ,a_{ik}]\left[\begin{array}{c} b_{1j} \\ \vdots \\ b_{kj} \end{array}\right].
$

Gyakran kell alkalmaznunk a mátrixszorzásnak az alábbi tulajdonságait:

    $\displaystyle (AB)C =$ $\displaystyle A(BC),$
    $\displaystyle A(B+C) =$ $\displaystyle AB+AC,$
    $\displaystyle (A+B)C =$ $\displaystyle AC+BC,$
    $\displaystyle (AB)^{T} =$ $\displaystyle B^{T}A^{T}.$

A továbbiakban a mátrix és mátrix-vektor műveletek felírásánál feltesszük, hogy az ott szereplő mátrixok, ill. vektorok méretei olyanok, amelyek lehetővé teszik az adott műveletet.

1.4.2. Speciális mátrixok, vektorok

1.11. Definíció.   Az $ A$ mátrix szimmetrikus, ha $ A^{T}=A.$

Nyilvánvaló, hogy csak négyzetes mátrix lehet szimmetrikus és ekkor $ a_{ij}=a_{ji}$ ( $ i,\ j=1,\ldots ,n$ )

1.12. Definíció.   A $ 0\in \mathbb{R}^{m\times n}$ mátrix zérusmátrix, ha az összes eleme zérus, azaz

$\displaystyle 0=\left[\begin{array}{ccc}
0 & \ldots & 0 \\
\vdots & \ddots & \vdots \\
0 & \ldots & 0
\end{array}\right].
$

A zérusmátrix az összeadásra nézve a zéruselem, azaz minden $ A$ mátrix esetén

$\displaystyle A+0=A,\quad A0=0.
$

1.13. Definíció.   Az $ I\in \mathbb{R}^{n\times n}$ mátrix egységmátrix, ha

$\displaystyle I=\left[\begin{array}{ccccc}
1 & 0 & \ldots & \ldots & 0 \\
0 & 1 & \ddots & & \vdots \\
\vdots & \ddots & \ddots & \ddots & \vdots \\
\vdots & & \ddots & 1 & 0 \\
0 & \ldots & \ldots & 0 & 1
\end{array}\right].
$

Az egységmátrix (amit gyakran a magyar elnevezésének kezdőbetűjével, $ E$ -vel is jelölünk) a szorzásra nézve egységelem. Az egységmátrix mellett fontos fogalom az egységvektor.

1.14. Definíció.   Az $ e_{i}\in \mathbb{R}^{n}$ vektort ($ i$ -edik) egységvektornak nevezzük, ha az $ i$ -edik komponense $ 1$ -es, a többi pedig zérus. Azaz:

$\displaystyle e_{i}=\left[ 0,\ldots ,0,1,0,\ldots ,0\right] ^{T}\in \mathbb{R}^{n}.
$

1.15. Definíció.   A $ D\in \mathbb{R}^{n\times n}$ diagonálmátrix, ha

$\displaystyle D=\left[\begin{array}{ccccc}
d_{1} & 0 & \ldots & \ldots & 0 \\
0 & d_{2} & \ddots & & \vdots \\
\vdots & \ddots & \ddots & \ddots & \vdots \\
\vdots & & \ddots & d_{n-1} & 0 \\
0 & \ldots & \ldots & 0 & d_{n}
\end{array}\right].
$

A $ D$ diagonálmátrixot gyakran diag $ (d_{1},\ldots ,d_{n})$ formában jelöljük.

1.16. Definíció.   A $ P\in \mathbb{R}^{n\times n}$ mátrix permutációmátrix, ha minden sorában és oszlopában pontosan egy darab $ 1$ -es van és a többi elem zérus.

Példa egy $ 4\times 4$ -es permutációmátrixra:

$\displaystyle \left[\begin{array}{cccc}
0 & 0 & 1 & 0 \\
1 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 1 & 0 & 0
\end{array}\right].
$

1.17. Definíció.   Az $ A=[a_{ij}]_{i,j=1}^{n}$ mátrix alsó háromszög alakú, ha minden $ i<j$ esetén $ a_{ij}=0$ és felső háromszög alakú, ha minden $ i>j$ esetén $ a_{ij}=0$ .

Az alsó- és felsőháromszögmátrixok alakja sematikusan a következő:

\begin{displaymath}
\begin{array}{cc}
\left[\begin{array}{ccccc}
\ast & 0 & \ldots & \ldots & 0 \\
\ast & \ast & \ddots & & \vdots \\
\vdots & & \ddots & \ddots & \vdots \\
\vdots & & & \ast & 0 \\
\ast & \ldots & \ldots & \ast & \ast
\end{array}\right],
&
\left[\begin{array}{ccccc}
\ast & \ast & \ldots & \ldots & \ast \\
0 & \ast & & & \vdots \\
\vdots & \ddots & \ddots & & \vdots \\
\vdots & & \ddots & \ast & \ast \\
0 & \ldots & \ldots & 0 & \ast
\end{array}\right].
\end{array}
\end{displaymath}

1.5. Vektor- és mátrixnormák

1.18. Definíció.   Az $ f:\mathbb{R}^{n\times k}\rightarrow \mathbb{R}$ függvényt mátrixnormának (vagy vektornormának, ha $ k=1$ ) nevezzük, ha

    $\displaystyle f(x)$ $\displaystyle \geq 0\quad \left( \forall x\in \mathbb{R}^{n\times k}\right),\quad f\left( x\right) =0\Leftrightarrow x=0,$
    $\displaystyle f(\lambda x)$ $\displaystyle = \left\vert \lambda \right\vert f(x)\quad \left( \forall x\in \mathbb{R}^{n\times k},\ \forall \lambda \in \mathbb{R}\right),$
    $\displaystyle f(x+y)$ $\displaystyle \leq f\left( x\right) +f\left( y\right) \quad \left( \forall x,y\in \mathbb{R}^{n\times k}\right).$

A norma szokásos jelölése: $ \left\Vert x\right\Vert $ .

Normát sokféleképpen adhatunk meg. Vektorok esetén a normák fontos osztályát alkotják, az ún. hatványnormák:

$\displaystyle \left\Vert x\right\Vert _{p}=\left( \sum_{i=1}^{n}\left\vert x_{i}\right\vert ^{p}\right) ^{\frac{1}{p}},
$

ahol $ p\geq 1$ egész szám.

A leggyakrabban használt vektornormák a következők:

    $\displaystyle \left\Vert x\right\Vert _{1}$ $\displaystyle = \sum_{i=1}^{n}\left\vert x_{i}\right\vert$   (összeg norma)$\displaystyle ,$
    $\displaystyle \left\Vert x\right\Vert _{2}$ $\displaystyle = \left( \sum_{i=1}^{n}\left\vert x_{i}\right\vert ^{2}\right) ^{\frac{1}{2}}$   (euklideszi norma)$\displaystyle ,$
    $\displaystyle \left\Vert x\right\Vert _{\infty }$ $\displaystyle = \max_{1\leq i\leq n}\left\vert x_{i}\right\vert$   (maximum norma)$\displaystyle .$

A legutóbbit a $ p\rightarrow \infty $ határátmenettel kapjuk. (Az $ \left\Vert x\right\Vert _{2}$ norma megfogalmazásánál természetesen a jobboldalon az abszolút érték jel elhagyható valós vektorok esetén, de akkor nem, ha az elemek komplexek.)

Példa. Legyen $ v=[2,-6,0,4]^{T}$ . Ekkor

$\displaystyle \left\Vert v\right\Vert _{1}=2+6+0+4=12,
$

$\displaystyle \left\Vert v\right\Vert _{2}=\sqrt{4+36+0+16}=\sqrt{56}\approx 7.4833$    (kerekítve)$\displaystyle ,$

$\displaystyle \left\Vert v\right\Vert _{\infty }=\max \{2,6,0,4\}=6.
$

Legyen $ A=\left[ a_{ij}\right] _{i,j=1}^{m,n}$ . A leggyakrabban használt mátrixnormák a következők:

    $\displaystyle \left\Vert A\right\Vert _{1}$ $\displaystyle =\max_{1\leq j\leq n}\sum_{i=1}^{m}
 \left\vert a_{ij}\right\vert \quad \left(\text{oszlopösszeg norma}\right),$
    $\displaystyle \left\| A\right\| _2$ $\displaystyle =\left\{A^TA\right.$ legnagyobb sajátértéke$\displaystyle \left\}\mbox{}^{\frac 12}\quad\right. \left( \text{spektrálnorma}\right) ,$
    $\displaystyle \left\Vert A\right\Vert _{\infty }$ $\displaystyle =\max_{1\leq i\leq m}
 \sum_{j=1}^{n}\left\vert a_{ij}\right\vert \quad \left(
 \text{sorösszeg norma}\right) ,$
    $\displaystyle \left\Vert A\right\Vert _{F}$ $\displaystyle =\left(\sum_{i=1}^{m}\sum_{j=1}^{n}\left\vert
 a_{ij}\right\vert ^{2}\right) ^{\frac{1}{2}}\quad \left(
 \text{Frobenius-norma}\right) .$

(A Frobenius-normánál itt sem kell csak komplex elemek esetén a jobboldalon az abszolút érték jel.)

Példa. Legyen

$\displaystyle A=\left[\begin{array}{rrr} 2 & -1 & 0 \\ 4 & 1 & -1 \end{array}\right].
$

Az említett normái:

$\displaystyle \left\Vert A\right\Vert_{1}=\max \{2+4;\ 1+1; 0+1\}=6,
$

$\displaystyle \left\Vert A\right\Vert_{\infty }=\max \{2+1+0; \ 4+1+1\}=6,
$

$\displaystyle \left\Vert A\right\Vert_{F}=\sqrt{4+1+0+16+1+1}=4.796.
$

1.5.1. Indukált mátrixnorma

1.19. Definíció.   A $ \left\Vert .\right\Vert _{M}: \mathbb{R}^{n\times n}\rightarrow \mathbb{R}$ mátrixnormát a $ \left\Vert .\right\Vert _{V}: \mathbb{R}^{n}\rightarrow \mathbb{R}$ vektornorma által indukált mátrixnormának nevezzük, ha

$\displaystyle \left\Vert A\right\Vert _{M}=\max \left\{
\left\Vert Ax\right\Vert_{V}:\left\Vert x\right\Vert _{V}=1\right\}.
$

1.20. Tétel.   Indukált mátrixnormában

$\displaystyle \left\Vert AB\right\Vert_{M}\leq \left\Vert A\right\Vert _{M}\left\Vert B\right\Vert _{M} \qquad (\forall A,B\in \mathbb{R}^{n\times n}).
$

Bizonyítás. Először igazoljuk, hogy indukált mátrixnormában

$\displaystyle \left\Vert Ax\right\Vert _{V}\leq \left\Vert A\right\Vert _{M}\left\Vert x\right\Vert _{V}\quad \left( A\in \mathbb{R}^{n\times n},\ x\in \mathbb{R}^{n}\right).
$

(A továbbiakban az $ M$ és $ V$ normaindexeket elhagyjuk.) Ha $ x\neq 0$ , az indukált mátrixnorma definíciója alapján

$\displaystyle \left\Vert Ax\right\Vert =\left\Vert A\left\Vert x\right\Vert \frac{x}{\left\Vert x\right\Vert }\right\Vert =\left\Vert x\right\Vert \left\Vert A\frac{x}{\left\Vert x\right\Vert }\right\Vert \leq \left\Vert x\right\Vert\left\Vert A\right\Vert,
$

ahonnan

$\displaystyle \left\Vert ABx\right\Vert \leq \left\Vert A\right\Vert \left\Vert Bx\right\Vert \leq \left\Vert A\right\Vert \left\Vert B\right\Vert
\left\Vert x\right\Vert
$

Azt az 1 normájú $ x$ -et választva melynél az $ \left\Vert ABx\right\Vert $ maximális, éppen az állításunk adódik. $ \qedsymbol$

1.6. Mátrixok determinánsa és inverze

Jelölje $ A(i)$ azt az $ (n-1)\times (n-1)$ -es mátrixot, amelyet az $ A\in \mathbb{R}^{n\times n}$ az $ i$ -edik sora és első oszlopa elhagyásával kapunk:

$\displaystyle A(i)=\left[\begin{array}{ccc}
a_{12} & \cdots & a_{1n}\\
\vdots & \ddots & \vdots \\
a_{i-1,2} & \cdots & a_{i-1,n} \\
a_{i+1,2} & \cdots & a_{i+1,n} \\
\vdots & \ddots & \vdots \\
a_{n2} & \cdots & a_{nn} \\
\end{array}\right]
$

1.21. Definíció.   A

$ \displaystyle\det \left( A\right) = a_{11},$ ha $ \displaystyle n=1$
$ \displaystyle\det \left( A\right) = a_{11}a_{22} - a_{12}a_{21},$ ha $ \displaystyle n=2$
$ \displaystyle\det \left( A\right) = \sum_{i=1}^{n} (-1)^{i+1} \cdot a_{i1} \cdot \det(A(i)),$ ha $ \displaystyle n\geq 3$

előírásokkal számított valós számot a négyzetes, $ A\in \mathbb{R}^{n\times n}$ mátrix determinánsának nevezzük.

Más definíciókat is használhatunk a determináns fogalmához. Ezen esetekben az előző definíciót kifejtési tételnek nevezik.

1.22. Definíció.   Az $ X\in \mathbb{R}^{n\times n}$ mátrixot a négyzetes, $ A\in \mathbb{R}^{n\times n}$ mátrix inverzének nevezzük, ha

$\displaystyle AX=XA=I,
$

ahol $ I$ az egységmátrix.

Ha az inverz mátrix létezik, akkor egyértelmű. Az inverz mátrix jelölése $ A^{-1}=X$ .

1.23. Tétel.   Az inverz mátrixra fennállnak az alábbi tulajdonságok:

$\displaystyle \left( A^{-1}\right) ^{-1}=A,\quad \left( AB\right) ^{-1}=B^{-1}A^{-1},\quad
\left( A^{T}\right) ^{-1}=\left( A^{-1}\right) ^{T}:=A^{-T}.
$

Azokat a mátrixokat, melyeknek létezik inverze, nemszinguláris mátrixoknak nevezzük.

1.24. Tétel.   Az $ A\in \mathbb{R}^{n\times n}$ mátrixnak akkor és csak akkor van inverze, ha $ \det (A)\neq 0$ .

Ha $ \det (A)=0$ , akkor a mátrixot szingulárisnak nevezzük.

1.7. Kondíciószám

1.25. Definíció.   A $ cond(A)=\left\Vert A\right\Vert \left\Vert A^{-1}\right\Vert $ mennyiséget az $ A\in \mathbb{R}^{n\times n}$ mátrix kondíciószámának nevezzük.

Külön foglalkozunk az egy- és a többváltozós esetekkel.

Egyváltozós eset:

Legyen $ f:\mathbb{R}\rightarrow \mathbb{R}$ legalább kétszer folyonosan differenciálható függvény, $ x=a\pm \delta a$ . Az $ f(x)$ helyett $ f(a)$ -t számoljuk. Az

$\displaystyle f(x)=f(a)+f^{\prime }(a)(x-a)+\frac{f^{\prime \prime }(\xi )}{2}(x-a)^{2}\quad (\xi \in \left( a-\delta a,a+\delta a\right) )
$

másodrendű Taylor-formulából kapjuk, hogy

$\displaystyle \left\vert f(x)-f(a)\right\vert =\left\vert f^{\prime }(a)(x-a)+\frac{f^{\prime \prime }(\xi )}{2}(x-a)^{2}\right\vert \leq \left\vert f^{\prime}(a)\right\vert \delta a+M(\delta a)^{2},
$

ahol $ M\geq \frac{1}{2}\left\vert f^{\prime \prime }(x)\right\vert $ ( $ x\in \left[ a-\delta a,a+\delta a\right] $ ). A másodrendű $ M(\delta a)^{2} $ tagot elhanyagolva kapjuk, hogy a függvénybehelyettesítés abszolút hibája

$\displaystyle \delta \left( f\left( a\right) \right) \approx \left\vert f^{\prime}(a)\right\vert \delta a.
$

Többváltozós eset: Legyen $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ legalább kétszer folytonosan differenciálható függvény és $ x,a\in \mathbb{R}^{n},\Delta a=x-a,$ valamint $ x_{i}=a_{i}\pm \delta a_{i}$ , ahol $ x_{i},a_{i},\delta a_{i}\in \mathbb{R}$ . A többváltozós Taylor-formulából az egyváltozós esethez hasonlóan a másodrendű tagot elhanyagolva (megjegyezzük, hogy nem mindig lehet) kapjuk:

$\displaystyle f(x)\approx f(a)+\nabla f(a)^{T}(x-a),
$

ahol $ \nabla f\left( x\right) =\left[ \frac{\partial f\left( x\right) }{\partial x_{1}},\ldots ,\frac{\partial f\left( x\right) }{\partial x_{n}}\right] ^{T}$ . Ebből pedig adódik a

$\displaystyle \delta \left( f\left( a\right) \right) \approx \sum_{i=1}^{n}\left\vert\frac{\partial f(a)}{\partial x_{i}}\right\vert \delta a_{i}
$

becslés.

1.26. Definíció. (Függvények relatív hibája)  

$\displaystyle \frac{\delta \left( f\left( a\right) \right) }{\left\vert f(x)\right\vert }\approx \frac{\delta \left( f\left( a\right) \right) }{\left\vert f(a)\right\vert }\approx \frac{\left\vert f^{\prime }(a)\right\vert \delta a}{\left\vert f(a)\right\vert }.
$

Egy függvény kiszámításánál érdemes megvizsgálni, hogy az input adat relatív hibáját az algoritmus hányszorosra nagyítja fel, amit a

$\displaystyle \frac{\left\vert f(a+\Delta a)-f(a)\right\vert }{\left\vert f(a)\right\vert }:\frac{\left\vert \Delta a\right\vert }{\left\vert a\right\vert }
$

mennyiség fejez ki. Egyszerű átalakításokkal adódik, hogy

$\displaystyle \frac{\left\vert f(a+\Delta a)-f(a)\right\vert }{\left\vert f(a)\right\vert }:\frac{\left\vert \Delta a\right\vert }{\left\vert a\right\vert }\approx \frac{\left\vert f^{\prime }(a)\right\vert \left\vert \Delta a\right\vert }{\left\vert f(a)\right\vert }\cdot \frac{\left\vert a\right\vert }{\left\vert \Delta a\right\vert }=\frac{\left\vert f^{\prime }(a)\right\vert \left\vert a\right\vert }{\left\vert f(a)\right\vert }.
$

1.27. Definíció. (Függvények kondíciószáma)  
A

$\displaystyle c(f,a)=\frac{\left\vert f^{\prime }(a)\right\vert \left\vert a\right\vert }{\left\vert f(a)\right\vert }
$

mennyiséget az $ f:\mathbb{R}\rightarrow \mathbb{R}$ függvény $ a$ pontbeli kondíciószámának nevezzük.

1.28. Definíció.   Egy függvényt numerikusan instabilnak, vagy rosszul kondicionáltnak nevezünk, ha nagy a kondíciószáma. A függvény stabil, vagy jól kondicionált, ha a kondíciószám kicsi.

Példa. Vizsgáljuk az $ f\left( x\right) =\log x$ függvényt. Ennek kondíciószáma $ c\left( f,x\right) =c\left( x\right)=1/\left\vert \log x\right\vert $ , amely $ x\approx 1$ esetén nagy. Tehát az $ x\approx 1$ értékekre a relatív direkt hiba nagy lesz.

Példa. Az $ f(x)=1+\sqrt{x-1}$ és $ x>1$ . Ekkor

$\displaystyle c(f,x)=\frac{\left\vert x\right\vert }{2\left( \sqrt{x-1}+(x-1)\right) },
$

ami tetszőlegesen nagy lehet, ha $ x$ elég közel van $ 1$ -hez. Ezért a példa függvénye numerikusan instabil. Ha bevezetjük az új $ x=1+t$ változót, akkor kapjuk, hogy $ g\left( t\right) =f\left( 1+t\right) =1+\sqrt{t}$ . Ennek a függvénynek a $ t>0$ helyen vett kondíciószáma

$\displaystyle c\left( g,t\right) =\frac{\sqrt{t}}{2+2\sqrt{t}}.
$

Ha $ t\approx 0$ , azaz $ x\approx 1$ , akkor a kondíciószám kicsi marad. Tehát stabilizáltuk a számítást egy egyszerű átalakítással. A kondíciószámot értelmezhetjük az $ F=[f_{1},\ldots, f_{n}]^{T}:\mathbb{R}^{m}\rightarrow \mathbb{R}^{n}$ többváltozós (ún. vektor-vektor) függvényre is.

$\displaystyle c(F,a)=\frac{\left\Vert a\right\Vert \left\Vert F^{\prime }(a)\right\Vert }{\left\Vert F(a)\right\Vert },
$

ahol $ F^{\prime }(x)=\left[ \frac{\partial f_{i}}{\partial x_{j}}\right] _{i,j=1}^{n,m}$ , az ún. Jacobi-mátrix.

Megjegyezzük, hogy a kondíciószám normafüggő.

1.8. Direkt és inverz hibák

Jelölje $ x$ és $ y$ a pontos értékeket és legyen pontosan $ y=f\left( x\right)$ , a ténylegesen számított behelyettesítési érték pedig $ \hat{y}$ . Az eltérést, azaz a $ \Delta y=\hat{y}-y$ értéket direkt hibának nevezzük. Amennyiben az $ \hat{y}$ -ra valamely $ \hat{x}$ értékkel pontosan fennáll, hogy $ \hat{y}=f(\hat{x})=f\left( x+\Delta x\right)$ , akkor a $ \Delta x$ értéket inverz hibának mondjuk.

Az $ x\rightarrow x+\Delta x=\hat{x}$ és az $ y\rightarrow y+\Delta y=\hat{y}$ megváltozást (vagy megváltoztatást) perturbációnak is szoktuk említeni. Az inverz hiba elemzését és becslését inverz hibaanalízisnek nevezzük. Ha több inverz hiba is létezik, akkor a (valamilyen normában) legkisebb inverz hiba meghatározása az érdekes.

A direkt és az inverz hiba kapcsolatának vizsgálatához tegyük fel, hogy $ f$ kétszer folytonosan differenciálható. Ekkor tehát felírható a következő Taylor-polinom:

$\displaystyle \hat{y}=f\left( x+\Delta x\right) =f\left( x\right) +f^{\prime }
\left( x\right)\Delta x+\frac{f^{\prime \prime }
\left( x+\vartheta \Delta x\right) }{2!}\left( \Delta x\right) ^{2},
$

ahol $ \vartheta \in \left( 0,1\right) $ . Így a számított megoldás abszolút hibája

$\displaystyle \hat{y}-y=f\left( x+\Delta x\right) -f\left( x\right)
=f^{\prime }\left(x\right) \Delta x+\frac{f^{\prime \prime }
\left( x+\vartheta \Delta x\right)}{2!}\left( \Delta x\right) ^{2}.
$

A relatív hiba pedig

$\displaystyle \frac{\hat{y}-y}{y}=\left( \frac{xf^{\prime }\left( x\right) }
{f\left(x\right) }\right) \frac{\Delta x}{x}+
O\left( \left( \Delta x\right)^{2}\right) .
$

Innen kapjuk, hogy

$\displaystyle \frac{\delta \left( \hat{y}\right) }{\left\vert y\right\vert }
\leq c\left(f,x\right) \frac{\delta \left( x\right) }{\left\vert x\right\vert }
$

közelítő egyenlőtlenséget, amely szóban kifejezve a következő:

relatív direkt hiba$ \,\leq\,$ kondíciószámszám $ \,\times\,$ relatív inverz hiba

Az egyenlőtlenség azt mutatja, hogy egy rosszul kondicionált probléma számított megoldásának nagy lehet a (relatív) direkt hibája.

2. Lineáris egyenletrendszerek megoldási módszerei

2.1. Lineáris egyenletrendszerek

A lineáris egyenletrendszerek általános alakja $ m$ egyenlet és $ n$ ismeretlen esetén:

$\displaystyle \begin{array}{ccc}
a_{11}x_{1}+\ldots +a_{1j}x_{j}+\ldots +a_{1n}x_{n} & = & b_{1} \\
& \vdots & \\
a_{i1}x_{1}+\ldots +a_{ij}x_{j}+\ldots +a_{in}x_{n} & = & b_{i} \\
& \vdots & \\
a_{m1}x_{1}+\ldots +a_{mj}x_{j}+\ldots +a_{mn}x_{n} & = & b_{m}
\end{array}
$

Az egyenletrendszert megadhatjuk

$\displaystyle Ax=b
$

alakban is, ahol

$\displaystyle A=\left[ a_{ij}\right] _{i,j=1}^{m,n}\in \mathbb{R}^{m\times n},\ x\in
\mathbb{R}^{n},\ b\in \mathbb{R}^{m}.
$

Ha $ m<n$ , akkor alulhatározott, ha $ m>n$ , akkor túlhatározott egyenletrendszerről beszélünk. Az $ m=n$ esetben pedig az egyenletrendszert négyzetesnek nevezzük. Az $ Ax=b$ egyenletrendszert felírhatjuk az ekvivalens

$\displaystyle \begin{array}{c}
a_{1}^{T}x=b_{1} \\
\vdots \\
a_{m}^{T}x=b_{m}
\end{array}
$

alakban, ahol $ a_{i}^{T}=[a_{i1},\ldots ,a_{in}]$ ,

Három eset lehetséges:

(i) az egyenletrendszernek nincs megoldása,

(ii) az egyenletrendszernek pontosan egy megoldása van,

(iii) az egyenletrendszernek végtelen sok megoldása van.

2.1. Definíció.   Ha az $ Ax=b$ lineáris egyenletrendszernek legalább egy megoldása van, akkor az egyenletrendszert konzisztensnek nevezzük. Ha az egyenletrendszernek nincs megoldása, akkor az egyenletrendszer inkonzisztens.

Az $ Ax=b$ egyenletrendszert felírhatjuk az ekvivalens

$\displaystyle \sum_{i=1}^{n}x_{i}a_{i}=x_{1}a_{1}+\ldots +x_{n}a_{n}=b
$

alakban is, ahol $ a_{i}\in \mathbb{R}^{n}$ az $ A$ mátrix $ i$ -edik oszlopát jelöli ($ x_{i}$ pedig skalár: a megoldásvektor $ i$ -edik komponense). A $ \sum_{i=1}^{n}x_{i}a_{i}$ összeg az $ \left\{a_{i}\right\} _{i=1}^{n}$ vektorok lineáris kombinációja. Az egyenletrendszer akkor és csak akkor oldható meg, ha $ b$ kifejezhető az $ A$ oszlopvektorainak lineáris kombinációjaként.

A megoldhatóságot megállapíthatjuk a rang fogalmának segítségével is:

az $ Ax=b$ egyenletrendszernek akkor és csak akkor van megoldása, ha $ rank\left( A\right) =rank\left( \left[ A,b\right] \right) $ . Ha $ rank\left(A\right) =rank\left( \left[ A,b\right] \right) =n$ , akkor az $ Ax=b$ egyenletrendszernek pontosan egy megoldása van.

A továbbiakban csak négyzetes egyenletrendszerekkel foglalkozunk. Feltesszük tehát, hogy $ m=n$ .

2.2. Tétel.   Az $ Ax=b$ $ (A\in \mathbb{R}^{n\times n},\ b\in \mathbb{R}^{n})$ egyenletrendszernek akkor és csak akkor van pontosan egy megoldása, ha létezik $ A^{-1}$ . Ekkor a megoldás $ x=A^{-1}b$ .

2.3. Tétel.   Az $ Ax=0$ $ (A\in \mathbb{R}^{n\times n})$ homogén lineáris egyenletrendszernek akkor és csak akkor van $ x\neq 0$ nemtriviális megoldása, ha $ \det \left( A\right) =0$ .

2.2. A Gauss-módszer

A Gauss-módszer két fázisból áll.

I. Azonos (a megoldást őrző) átalakításokkal az $ Ax=b$ egyenletrendszert felső háromszög alak úra hozzuk.

II. A kapott felső háromszögmátrixú egyenletrendszert megoldjuk.

Az azonos átalakítást itt most úgy végezzük el, hogy egyik egyenletből kivonjuk a másik egyenlet alkalmasan megállapított konstansszorosát, így ott a szóban forgó ismeretlen együtthatója zérussá válik. Az első lépésben az

$\displaystyle \begin{array}{ccccccccc}
a_{11}^{(2)}x_{1} & + & a_{12}^{(2)}x_{2} & + & \ldots & + & a_{1n}^{(2)}x_{n} & = & b_{1}^{(2)} \\
& & a_{22}^{(2)}x_{2} & + & \ldots & + & a_{2n}^{(2)}x_{n} & = & b_{2}^{(2)} \\
& & \vdots & & & & \vdots & & \vdots \\
& & a_{n2}^{(2)}x_{2} & + & \ldots & + & a_{nn}^{(2)}x_{n} & = & b_{n}^{(2)}
\end{array}
$

alakot kell tehát kapnunk, amit ha $ a_{11}\neq 0$ , akkor elérhetünk úgy, hogy az $ i$ -edik sorból kivonjuk ( $ i=2,\ldots ,n$ ) az első sor $ l_{i1}$ -szeresét:

$\displaystyle (a_{i1} - l_{i1}a_{11}) x_{1} + (a_{i2} - l_{i1}a_{12})x_{2} + \ldots +
(a_{in} - l_{i1}a_{1n})x_{n} = b_{i} - l_{i1}b_{1}.
$

Az $ a_{i1} - l_{i1}a_{11}=0$ feltételből kapjuk, hogy $ l_{i1} = \frac{a_{i1}}{a_{11}}$ . Ezt a gondolatot folytatva kapjuk a következő (könnyen programozható) algoritmust a kinullázásra.

Legyen $ a_{ij}^{(1)} = a_{ij}$ . Ekkor minden $ i=2,\ldots ,n$ és $ j=1,\ldots ,n$ esetén

    $\displaystyle l_{i1}$ $\displaystyle = a_{i1}^{(1)} / a_{11}^{(1)}$
    $\displaystyle a_{ij}^{(2)}$ $\displaystyle = a_{ij}^{(1)} - l_{i1} a_{1j}^{(1)}$
    $\displaystyle b_{i}^{(2)}$ $\displaystyle = b_{i}^{(1)} - l_{i1} b_{1}^{(1)}$

A következő lépésben minden $ i=3,\ldots, n$ és $ j=2,\ldots ,n$ esetén

    $\displaystyle l_{i2}$ $\displaystyle = a_{i2}^{(2)} / a_{22}^{(2)}$
    $\displaystyle a_{ij}^{(3)}$ $\displaystyle = a_{ij}^{(2)} - l_{i2} a_{2j}^{(2)}$
    $\displaystyle b_{i}^{(3)}$ $\displaystyle = b_{i}^{(2)} - l_{i2} b_{2}^{(2)}$

Általános ($ k$ -adik ) lépés: minden $ i=k+1,\ldots, n$ és $ j=k,\ldots ,n$ esetén

    $\displaystyle l_{ik}$ $\displaystyle = a_{ik}^{(k)} / a_{kk}^{(k)}$
    $\displaystyle a_{ij}^{(k+1)}$ $\displaystyle = a_{ij}^{(k)} - l_{ik} a_{kj}^{(k)}$
    $\displaystyle b_{i}^{(k+1)}$ $\displaystyle = b_{i}^{(k)} - l_{ik} b_{k}^{(k)}$

Az I. lépés: felső felső háromszög alakúra hozás Általános ($ k$ -adik ) lépés: minden $ i=k+1,\ldots, n$ és $ j=k,\ldots ,n$ esetén

    $\displaystyle l_{ik}$ $\displaystyle = a_{ik}^{(k)} / a_{kk}^{(k)}$
    $\displaystyle a_{ij}^{(k+1)}$ $\displaystyle = a_{ij}^{(k)} - l_{ik} a_{kj}^{(k)}$
    $\displaystyle b_{i}^{(k+1)}$ $\displaystyle = b_{i}^{(k)} - l_{ik} b_{k}^{(k)}$

Tekintsük az $ Ax=b$ egyenletrendszert, ahol $ A=\left[ a_{ij}\right]_{i,j=1}^{n}\in \mathbb{R}^{n\times n}$ felső háromszögmátrix. Ekkor

$\displaystyle \begin{array}{ccccccc}
a_{11}x_{1}+ & \ldots & +a_{1i}x_{i}+ & \ldots & +a_{1n}x_{n} & = & b_{1} \\
& \ddots & \vdots & & \vdots & & \vdots \\
& & a_{ii}x_{i}+ & \ldots & +a_{in}x_{n} & = & b_{i} \\
& & & \ddots & \vdots & & \vdots \\
& & & & a_{nn}x_{n} & = & b_{n}
\end{array}.
$

Az egyenletrendszer akkor és csak akkor oldható meg egyértelműen, ha $ a_{11}\neq 0$ , $ \ldots ,a_{nn}\neq 0$ , azaz $ \det (A)\neq 0$ . Ezen egyenletrendszer megoldását adja a következő algoritmus:

$\displaystyle \begin{array}{ll}
1 & x_{n}=b_{n}/a_{nn} \\
2 & \text{\textbf{FOR } } i \leftarrow n-1 \mbox{\textbf{ DOWNTO }} 1 \\
3 & \qquad \displaystyle x_{i} \leftarrow \left( b_{i}-\sum_{j=i+1}^{n}a_{ij}x_{j}\right) /a_{ii} \\
\end{array}
$

2.2.1. A Gauss-módszer algoritmusa

I. (eliminációs) fázis:

$\displaystyle \begin{array}{ll}
1 & \text{\textbf{FOR} } k \leftarrow 1 \mbox{\textbf{ TO }} n-1 \\
2 & \qquad \text{\textbf{FOR\ }}i \leftarrow k+1 \mbox{\textbf{ TO }} n \\
3 & \qquad\qquad l_{ik}=a_{ik} /a_{kk} \\
4 & \qquad\qquad b_{i}=b_{i}-l_{ik}b_{k} \\
5 & \qquad\qquad \text{\textbf{FOR\ }} j \leftarrow k \mbox{\textbf{ TO }} n \\
6 & \qquad\qquad\qquad \quad a_{ij} \leftarrow a_{ij} -l_{ik} a_{kj}\\
\end{array}
$

II. (visszahelyettesítő) fázis:

$\displaystyle \begin{array}{ll}
1 & x_{n}=b_{n}/a_{nn} \\
2 & \text{\textbf{FOR }} i \leftarrow n-1 \mbox{\textbf{ DOWNTO }} 1 \\
3 & \qquad s \leftarrow 0 \\
4 & \qquad \text{\textbf{FOR }} j \leftarrow i+1 \mbox{\textbf{ TO }} n \\
5 & \qquad \qquad s \leftarrow s + a_{ij}x_{j} \\
6 & \qquad x_{i} \leftarrow \left( b_{i}- s \right) /a_{ii}
\end{array}
$

Alkalmazás a determináns kiszámítására. Ismeretes, hogy a determináns értéke nem változik, ha bármely sorához hozzáadjuk egy másik sor akárhányszorosát. Mivel a fenti eljárás közben csak ilyen átalakításokat hajtunk végre a mátrixon (és így a determinánsán is), a determináns marad az eredeti. Azt tehát a végén a főátlóbeli elemek szorzata adja.

2.2.2. A Gauss-módszer műveletigénye

A Gauss-módszer véges sok lépésben, véges sok aritmetikai alapművelet $ (\,+,-,\ \ast ,/\,)$ elvégzése után megadja az $ Ax=b$ ( $ A\in \mathbb{R}^{n\times n}$ ) egyenletrendszer megoldását. A szükséges aritmetikai műveletszám (műveletigény) az egyenletrendszer-megoldó eljárások fontos jellemzője. A műveletigényt szokás az algoritmus költségének is nevezni, ennek megfelelően beszélhetünk olcsó, illetve drága eljárásokról.

Számláljuk össze a Gauss-módszer által igényelt additív és multiplikatív műveleteket. Jelöljük az additív műveleteket $ A$ -val, a multiplikatívakat pedig $ M$ -mel. (A hagyományos felépítésű számítógépeknél az összeadás és a kivonás nagyjából egyező időigényű, tőlük nagyobb, de egymás között szintén azonosnak vehető a szorzás és az osztás időigénye; indokolt tehát a műveletek ilyen szempontból két csoportba való sorolása.)

Az I. fázis$ k$ -adik lépésében a műveletek és műveletszámok a következők:

$\displaystyle \begin{array}{llcc}
1 & \text{\textbf{FOR} } k \leftarrow 1 \mbox{\textbf{ TO }} n-1 & & \\
2 & \qquad \text{\textbf{FOR\ }}i \leftarrow k+1 \mbox{\textbf{ TO }} n & & \\
3 & \qquad\qquad l_{ik}=a_{ik} /a_{kk} & & M\\
4 & \qquad\qquad b_{i}=b_{i}-l_{ik}b_{k} & \qquad & (M+A)\\
5 & \qquad\qquad \text{\textbf{FOR\ }} j \leftarrow k \mbox{\textbf{ TO }} n & & \\
6 & \qquad\qquad\qquad \quad a_{ij} \leftarrow a_{ij} -l_{ik} a_{kj} & & (M+A)\\
\end{array}
$

A legbelső ciklusmag $ \left(n-k+1\right)$ -szor, a második $ \left(n-k\right)$ -szor fut le kapjuk:

$\displaystyle \left( \left( n-k\right)\left(n-k+1\right)+2\left( n-k\right) \right) M
$

$\displaystyle \left( \left(n-k\right)\left(n-k+1\right)+\left( n-k\right) \right) A.
$

Minthogy ez a belső ciklusok a külső ciklus $ k=1,\ldots ,n-1$ lépéseire fut le, ki kell számolni a

$\displaystyle \sum_{k=1}^{n-1} \left( \left( n-k\right)\left(n-k+1\right)+2\left( n-k\right) \right) M
$

és

$\displaystyle \sum_{k=1}^{n-1} \left( \left(n-k\right)\left(n-k+1\right)+\left( n-k\right) \right) A
$

összegeket. Ismert azonosságok felhasználásával adódik az

$\displaystyle \left( \frac{n^{3}}{3}+ n^2 -\frac{4}{3}n\right) M +\left(
\frac{n^{3}}{3} + \frac{n^{2}}{2} -\frac{5}{6}n\right) A.
$

A II. fázis műveletigénye hasonló számítással:

\begin{displaymath}
\begin{array}{llcc}
1 & x_{n}=b_{n}/a_{nn} & & M \\
2 & \text{\textbf{FOR }} i \leftarrow n-1 \mbox{\textbf{ DOWNTO }} 1 & & \\
3 & \qquad s \leftarrow 0 & & \\
4 & \qquad \text{\textbf{FOR }} j \leftarrow i+1 \mbox{\textbf{ TO }} n & & \\
5 & \qquad \qquad s \leftarrow s + a_{ij}x_{j} & \qquad & (M+A)\\
6 & \qquad x_{i} \leftarrow \left( b_{i}- s \right) /a_{ii} & & (M+A)
\end{array}
\end{displaymath}

Összegezve az $ i=n-1,n-2,\ldots ,1$ lépések műveletigényét, kapjuk, hogy a II. fázis összköltsége

$\displaystyle M+\sum_{i=1}^{n-1} \left(\left(n-i \right) (M+A) + (M+A)\right) = \left\{ \begin{array}{cc}
\left( \frac{n^{2}}{2}+\frac{n}{2}+1\right) M \\
\left( \frac{n^{2}}{2}+\frac{n}{2}\right) A.
\end{array} \right.
$

Az I. és II. fázis költségét összeadva kapjuk a Gauss-módszer számítási összköltségét:

$\displaystyle \left( \frac{n^{3}}{3}+ n^2 - \frac{4}{3}n + \frac{n^{2}}{2} + \frac{n}{2}+1\right) M =
\left( \frac{n^{3}}{3} + \frac{3}{2}n^{2} - \frac{11}{6}n + 1\right) M
$

$\displaystyle \left( \frac{n^{3}}{3} + \frac{n^{2}}{2} -\frac{5}{6}n + \frac{n^{2}}{2}+\frac{n}{2} \right) A =
\left( \frac{n^{3}}{3} + n^{2} -\frac{1}{3}n \right) A.
$

Aritmetikai műveleteket használó akármely véges algoritmus lényeges jellemzője a végrehajtásához szükséges aritmetikai műveletek száma, természetesen a feladat paramétereinek (pl. ismeretlenek száma, együttható mátrix mérete, stb.) függvényében. A régebbi számítógépek esetén a multiplikatív műveletek végrehajtási ideje lényegesen nagyobb volt, mint az additívaké. Ezért ezeket külön határozták meg. Később megfigyelték, hogy a lineáris algebra számítási eljárásaiban az additív és a multiplikatív műveletek száma nagyon gyakran közel azonos. Ezért alkották meg a számítási igény mérésére a flop fogalmát.

2.4. Definíció.   1 régi flop az a számítási munka, amely az $ s=s+x\ast y$ művelet (1 összeadás + 1 szorzás) elvégzéséhez kell. 1 új flop pedig az a számítási munka, amely egyetlen (mindegy, hogy additív vagy multiplikatív) aritmetikai művelet elvégzéséhez szükséges.

Az új flop bevezetését az indokolja, hogy az újabb számítógépeken a multiplikatív és az additív műveletek ideje azonosnak tekinthető. Tehát egy régi flop 2 új floppal azonos a mai számítógépeken.

Figyelmbe véve mindezeket, valamint, hogy nagy $ n$ -ekre a legmagasabb fokú tag válik dominánssá, kimondhatjuk a Gauss-módszer műveletigényéről szóló tételt.

2.5. Tétel.   A Gauss-módszer $ \frac{n^{3}}{3}+O(n^{2})$ additív és ugyanennyi multiplikatív műveletet igényel, azaz összességében a műveletigénye $ \frac{n^{3}}{3}+O(n^{2})$ régi és $ \frac{2n^{3}}{3}+O(n^{2})$ új flop.

2.2.3. A főelemkiválasztásos Gauss-módszer

A Gauss-módszer I. fázisában előfordulhat, mondjuk a $ k$ -adik lépésben, hogy az $ a_{kk}$ elem zérus. Például a

$\displaystyle \begin{array}{ccccccr}
& & 4x_{2} & + & 3x_{3} & = & 9 \\
x_{1} & + & 5x_{2} & + & 3x_{3} & = & 6 \\
3x_{1} & - & 2x_{2} & + & x_{3} & = & 4
\end{array}
$

rendszernél $ a_{11}=0$ . Ilyen esetekben a sorok, vagy az oszlopok felcserélésével megkísérelhetjük elérni, hogy az $ a_{kk}$ helyére zérustól különböző elem kerüljön. Például az első és a harmadik sor felcserélésével kapjuk, hogy

$\displaystyle \begin{array}{ccccccr}
3x_{1} & - & 2x_{2} & + & x_{3} & = & 4 \\
x_{1} & + & 5x_{2} & + & 3x_{3} & = & 6 \\
& & 4x_{2} & + & 3x_{3} & = & 9
\end{array}
$

Az első és második oszlop oszlop cseréjével pedig azt kapjuk, hogy

$\displaystyle \begin{array}{ccccccr}
4x_{2} & & & + & 3x_{3} & = & 9 \\
5x_{2} & + & x_{1} & + & 3x_{3} & = & 6 \\
-2x_{2} & + & 3x_{1} & + & x_{3} & = & 4
\end{array}
$

A sorok cseréjénél az egyenletek (és $ b$ megfelelő komponenseinek) sorrendje, az oszlopok cseréjénél pedig a változók sorrendje változik meg. Általában több választási lehetőségünk is van sor-, vagy oszlopcserére. Ha azonban az $ a_{kk}=0$ elem alatt a többi együttható is zérus, akkor az $ \left[ a_{ij}\right] _{i,j=1}^{n,k}$ részmátrix oszlopai lineárisan összefüggők, $ A$ szinguláris és az eliminációs eljárás sorcserével sem folytatható. Hasonló a helyzet, ha $ a_{kk}$ és a sorában, tőle jobbra, minden együttható zérus, mert $ A$ ekkor is szinguláris.

A sorok felcserélését úgy, hogy az új pivot elem zérustól különböző legyen, pivotálásnak vagy főelemkiválasztásnak nevezzük. A pivot elem megválasztása nagymértékben befolyásolja az eredmények a numerikus stabilitást. A közelítő megoldás pontosságát nagymértékben javítja a helyesen megválasztott pivotálás. Pivot elemnek nagy abszolút értékű elemet kell választani. Két alapvető pivotálási stratégiát használunk.

Részleges főelemkiválasztás: A $ k$ -adik lépésben a $ k$ -adik oszlop $ a_{jk}$ ( $ k\leq j\leq n$ ) elemei közül kiválasztjuk a maximális abszolút értékűt. Ha ennek indexe $ i$ , akkor a $ k$ -adik és az $ i$ -edik sort felcseréljük. A pivotálás után teljesül, hogy

$\displaystyle \left\vert a_{kk}\right\vert =\max_{k\leq i\leq n}\left\vert a_{ik}\right\vert.
$

A részleges elnevezést az indokolja, hogy csak az aktuális oszlopbeli, szóba jöhető elemek közül választjuk ki a legnagyobb abszolút értékűt.

Teljes főelemkiválasztás: A $ k$ -adik lépésben az $ a_{ij}$ ( $ k\leq i,j\leq n$ ) mátrixelemek közül választjuk ki a maximális abszolút értékűt. Ha ennek indexe $ (i,j)$ , akkor a $ k$ -adik és az $ i$ -edik sort, valamint a $ k$ -adik oszlopot és $ j $ -edik oszlopot felcseréljük. A pivotálás után teljesül, hogy

$\displaystyle \left\vert a_{kk}\right\vert =\max_{k\leq i,j\leq n}\left\vert
a_{ij}\right\vert .
$

Megjegyezzük, hogy ha determinánst számolunk pivotálással, akkor figyelni kell a sor- és az oszlopcserék számát. Egy sor- vagy oszlopcsere ugyanis a determináns előjelét megváltoztatja. Tehát a végső háromszögmátrix főátlóbeli elemeinek szorzatát még $ -1$ -gyel szorozni kell, amennyiben páratlan számú cserét hajtottunk végre.

A teljes főelemkiválasztást biztonságos (numerikusan stabil) stratégiának tekinthetjük. A részleges főelemkiválasztás ugyancsak biztonságosnak tekinthető. Éppen ezért a teljes főelem kiválasztás árát nem éri meg megfizetni. A részleges főelemkiválasztás lényegesen kevesebb műveletet igényel mint a teljes főelemkiválasztás. A gyakorlatban tehát legtöbbször csak részleges főelem kiválasztást alkalmazunk. Vannak olyan fontos esetek, amikor nem kell pivotálni, az eljárás főelemkiválasztás nélkül is stabilan viselkedik. Ezek a következők:

$ \bullet $     Az $ A$ mátrix szimmetrikus és pozitív definit.

$ \bullet $     Az $ A$ mátrix diagonálisan domináns a következő értelemben:

$\displaystyle \left\vert a_{ii}\right\vert >\sum_{j=1,j\neq i}^{n}\left\vert
a_{ij}\right\vert \quad \left( 1\leq i\leq n\right).
$

A pozitív definitség fogalma pedig a következő.

2.6. Definíció.   Az $ A\in \mathbb{R}^{n\times n}$ mátrix pozitív definit, ha $ \forall x\in R^{n}$ , $ x\neq 0$ esetén $ x^{T}Ax>0$ .

2.3. Az LU-felbontás

2.7. Definíció.   Az $ A\in \mathbb{R}^{n\times n}$ mátrix $ LU$ -felbontásán a mátrix

$\displaystyle A = L \cdot U
$

szorzatra bontását értjük, ahol $ L\in \mathbb{R}^{n\times n}$ alsó, $ U\in \mathbb{R}^{n\times n}$ pedig felső háromszögmátrix.

2.8. Tétel.   Az $ LU$ -felbontás nem egyértelmű.

Bizonyítás. Ha $ D$ egy nemszinguláris diagonális mátrix, akkor

$\displaystyle L_{1} \cdot U_{1} = L_{1} \cdot \left(DD^{-1}\right) \cdot U_{1} =
\left(L_{1}D\right) \cdot \left( D^{-1}U_{1}\right) =
L_{2} \cdot U_{2}.
$

$ \qedsymbol$

Ha $ A$ nemszinguláris, igazolható, hogy egyetlen $ LU$ -felbontásból az összes többi csak ilyen módon származtatható.

Amennyiben $ A$ nemszinguláris és van egy $ A = L \cdot U$ szorzatra bontása, akkor olyan $ A = \tilde{L} \cdot \tilde{U}$ faktorizációt is találunk, melyben az $ \tilde{L}$ vagy $ \tilde{U}$ főátlóbeli elemeit tetszőlegesen, de 0 -tól különböző számként előírjuk. (Ebből az is következik, hogy ha van $ LU$ -felbontása $ A$ -nak, akkor egyértelműen van olyan is, ahol az $ L$ (vagy az $ U$ ) minden főátlóbeli eleme $ 1$ -es. Az ilyen háromszögmátrixokat egység (alsó vagy felső) háromszögmátrixoknak nevezzük.

2.9. Tétel.   Egy $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrixnak akkor és csak akkor létezik $ LU$ -felbontása, ha összes főminor mátrixa is nemszinguláris, azaz

$\displaystyle \det \left(A_{(r)} \right) = det \left(
\begin{array}{cccc}
a_{11} & a_{12} & \cdots & a_{1r} \\
a_{21} & a_{22} & \cdots & a_{2r} \\
\vdots & \vdots & \ddots & \vdots \\
a_{r1} & a_{r2} & \cdots & a_{rr}
\end{array}\right) \neq 0 \qquad (r=1,\ldots ,n-1).
$

Az LU-felbontás úgy is megkapható, hogy az $ U$ mátrix nem más, mint a Gauss-módszer utolsó lépésében kapott $ A^{(n)}$ mátrix,az $ L$ mátrix pedig az alábbi alakban irható:

$\displaystyle L = \left[\begin{array}{cccccccc}
1 & 0 & \cdots & \cdots & \cdots & \cdots & \cdots & 0 \\
l_{21} & 1 & 0 & \cdots & \cdots & \cdots & \cdots & 0 \\
l_{31} & l_{32} & 1 & 0 & \cdots & \cdots & \cdots & 0 \\
\vdots & \vdots & \vdots& \ddots & \cdots& \vdots & \vdots & \vdots \\
l_{k1} & l_{k2} & l_{k3} & \cdots & 1 & 0 & 0 & 0 \\
l_{k+1,1} & l_{k+1,2} & l_{k+1,3} & \cdots & l_{k+1,k} & 1 & 0 & 0 \\
\vdots & \vdots & \vdots& \ddots & \cdots& \vdots & \ddots & \vdots \\
l_{n1} & l_{n2} & l_{n3} & \cdots & l_{nk} & l_{n,k+1} & \cdots & 1
\end{array}\right] \in \mathbb{R}^{n\times n},
$

Az $ L$ és $ U$ mátrix elemei megkaphatóak az alábbi képletekből:

    $\displaystyle u_{ij}$ $\displaystyle = a_{ij} - \sum_{k=1}^{i-1} l_{ik} u_{kj} \qquad (i \leq j)$
    $\displaystyle l_{ij}$ $\displaystyle = \dfrac{1}{u_{jj}} \left( a_{ij} - \sum_{k=1}^{i-1} l_{ik} u_{kj} \right) \qquad (i > j)$

Ha az $ r$ -edik lépésben elakad az elimináció, akkor $ a_{rr}^{(r-1)}=0$ , ami azt jelenti, hogy $ \det \left(A_{(r)}\right) =0$ . Ha nem tesszük fel, hogy $ \det \left(A_{(r)}\right) \neq 0$ minden $ r=1,...,n$ estén, akkor van olyan nemszinguláris mátrix, amelynek nincs $ LU$ -felbontása. Például az

$\displaystyle A= \left[\begin{array}{cc}0 & 2 \\ 3 & 4 \end{array}\right]
$

mátrixnak nincs $ LU$ -felbontása.

Viszont részleges főelemkiválasztást használva minden nemszinguláris $ A$ mátrix esetén sikeresen elvégezhető a Gauss-elimináció. Mivel a sorcserék alkalmazása a sorok permutálásának felel meg, ezért kimondhatjuk a következő tételt.

2.10. Tétel.   Minden $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrixhoz létezik olyan $ P$ permutációmátrix, hogy a $ PA$ mátrixnak van $ LU$ -felbontása.

2.4. A Cholesky-felbontás

Felmerül a kérdés, hogy milyen mátrixoknak van olyan $ LU$ -felbontása, melyben a két tényező egymás transzponáltja.

2.11. Tétel.   Ha az $ A\in \mathbb{R}^{n\times n}$ mátrix szimmetrikus és pozitív definit, akkor létezik $ A=L \cdot L^{T}$ szorzatra bontása, ahol $ L$ alsó háromszögmátrix. Ezt a felbontást nevezzük Cholesky-felbontásnak.

Néha a Cholesky-felbontást $ A = U^{T} \cdot U$ alakban írják és vannak szoftverek (például a Matlab is ilyen), amelyek az $ U$ mátrixot állítják elő.

A Cholesky-felbontást úgy is megkaphatjuk ezen mátrixoknál, hogy elkészítjük Gauss-eliminációval az $ LU$ -felbontást, majd megkeressük azt a $ D$ diagonális mátrixot, amelynél az $ \left( LD\right) \left( D^{-1}U\right) $ szorzatban az $ LD$ és az $ D^{-1} U$ diagonális elemei egyenlők.

$\displaystyle \left[ \begin{array}{ccc}
a_{11} & \ldots & a_{1n} \\
a_{21} & \ldots & a_{2n} \\
\vdots & & \vdots \\
a_{n1} & \ldots & a_{nn}
\end{array}\right] =
\left[ \begin{array}{cccc}
l_{11} & 0 & \ldots & 0 \\
l_{21} & l_{22} & \ddots & \vdots \\
\vdots & \vdots & \ddots & 0 \\
l_{n1} & l_{n2} & \ldots & l_{nn}
\end{array}\right] \cdot
\left[\begin{array}{cccc}
l_{11} & l_{21} & \ldots & l_{n1} \\
0 & l_{22} & \ldots & l_{n2} \\
\vdots & \ddots & \ddots & \vdots \\
0 & \ldots & 0 & l_{nn}
\end{array}\right],
$

egyenletből

$\displaystyle a_{kk}=l_{k1}^{2}+l_{k2}^{2}+\ldots + l_{k,k-1}^{2}+l_{kk}^{2}
$

és

$\displaystyle a_{ik}=l_{i1}l_{k1}+l_{i2}l_{k2} + \ldots + l_{i,k-1}l_{k,k-1} + l_{ik}l_{kk}
\qquad \left( i=k+1,\ldots ,n\right),
$

azaz

$\displaystyle l_{kk}=\sqrt{a_{kk}-\left( l_{k1}^{2}+l_{k2}^{2}+ \ldots +l_{k,k-1}^{2}\right) }
$

és

$\displaystyle l_{ik}=(a_{ik}- \sum_{j=1}^{k-1}l_{ij}l_{kj})/l_{kk}\quad \left( i=k+1,\ldots ,n\right).
$

2.4.1. A Cholesky-felbontás algoritmusa:

1 FOR $ k \leftarrow 1$ TO $ n$ DO
2          $ \displaystyle l_{kk} = \left(a_{kk}- \displaystyle \sum_{j=1}^{k-1}l_{kj}^{2}\right)^{1/2}$
3         FOR $ i \leftarrow k+1$ TO $ n$ DO
4                  $ \displaystyle l_{ik}=\left(a_{ik}- \displaystyle \sum_{j=1}^{k-1}l_{ij}l_{kj}\right)/l_{kk}$

A Cholesky-felbontás költsége a fenti implementálásban $ \frac{1}{6}n^{3}+O(n^{2}).$

Az LU- és Cholesky-felbontás alkalmazható lineáris egyenletrendszerek megoldására. Tekintsük az $ Ax=b$ megoldását, ahol $ A$ nemszinguláris. Van olyan $ P$ permutációmátrix, hogy létezik a $ PA=LU$ faktorizáció és innen azt kapjuk, hogy

$\displaystyle PAx = LUx = Pb.
$

Bevezetve az $ y=Ux$ új változót, végrehajtható tehát a következő:
  1. Határozzuk meg a $ PA=LU$ felbontást.
  2. Oldjuk meg az $ Ly=Pb$ egyenletrendszert $ y$ -ra.
  3. Oldjuk meg az $ Ux=y$ egyenletrendszert $ x$ -re.

A 2. és a 3. lépésben háromszögmátrixú egyenletrendszert kell megoldani, tehát az összköltséget dominánsan az 1. lépés határozza meg. Szimmetrikus, pozitív definit $ A$ esetén az 1. lépésben természetesen a Cholesky-felbontást alkalmazzuk. Az $ LU$ -módszert akkor különösen előnyös használni, ha egynél több, előre nem ismert jobboldalú

$\displaystyle Ax=b_{1},\ Ax=b_{2},\ldots ,\ Ax=b_{k}
$

alakú egyenletrendszert kell megoldani.

Alkalmazhatjuk mátrix invertálására is, az előre rögzített $ b_{i}=e_{i}$ egységvektorokkal ( $ i=1,2,\ldots ,n$ ). Ekkor az eljárás egyébként teljesen ekvivalens a Gauss-Jordan elimináció alkalmazásával.

2.5. Gauss-Jordan módszer

Ugyanazzal a technikával, mint ahogy a $ k$ -adik oszlopban az $ a_{kk}$ alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni. Azaz az eliminációs fázisban $ k$ minden értékére az $ i$ ciklusváltozót nemcsak $ k+1$ -től $ n$ -ig, hanem $ 1$ -től $ n$ -ig futtathatjuk, kivéve az $ i=k$ esetet. (Ez annak felel meg, mintha az $ x_{k}$ -nak az $ k$ -adik egyenletből való kifejezése után azt az összes többibe behelyettesítenénk.)

Az I. fázis végeredménye így egy diagonálmátrixú egyenletrendszer, vagyis a II. fázis ekkor csupán az $ x_{i}=b_{i}/a_{ii}$ ( $ i=1,2,\ldots ,n$ ) utasításokból áll (amiket menet közben, egy-egy oszlop teljes kinullázása után - vagy még előtte - azonnal is megtehetünk).

Főátló alatti nullázás (I. fázis):

  Legyen $ B=[b_{1},b_{2},\ldots ,b_{m}]$
  Legyen $ A=[A,B]$ , azaz kibővítjük az $ A$ -t a jobboldali $ b$ vektorokkal
1 FOR $ k \leftarrow 1$ TO n-1 DO
2 // Határozzuk meg a $ t$ indexet, hogy $ \left\vert a_{tk} \right\vert=\max_{k\leq i\leq n}\left\vert a_{ik} \right\vert$ .
3         IF $ k\neq t$
4                 cseréljük fel a $ k$ -adik és $ t$ -edik sort
5         FOR $ i \leftarrow k+1$ TO $ n$ DO
6                  $ l_{ik} = a_{ik} /a_{kk}$
7                 FOR $ j \leftarrow k+1$ TO $ n+m$ DO
8                          $ a_{ij} = a_{ij} - l_{ik} a_{kj}$

Főátló fölötti nullázás (II. fázis):

1 FOR $ k \leftarrow n$ DOWNTO 2 DO
2         FOR $ i \leftarrow1 $ TO $ k-1$ DO
3                  $ l_{ik}=A_{ik}/A_{kk}$
4                 FOR $ j \leftarrow n+1 $ TO $ n+m$ DO
5                          $ a_{ij} = a_{ij} - l_{ik} a_{kj}$
6         FOR $ j \leftarrow n+1 $ TO $ n+m$ DO
7                  $ x_{k,j-n} = a_{kj} / a_{kk}$
8 FOR $ j \leftarrow n+1 $ TO $ n+m$ DO
9          $ x_{1,j-n} = a_{1j}/a_{11}$

Végeredmény:

$\displaystyle [ x_{1},x_{2},\ldots ,x_{m}]=X
$

A Gauss-Jordan eljárás I. fázisában a részleges főelemkiválasztás elhagyható. Fenti algoritmus alkalmas mátrixinvertálásra. Könnyen belátható ugyanis, hogy az $ Ax=e_{i}$ egyenletrendszer megoldása éppen az inverz mátrix $ i$ -edik oszlopvektora. Ha az algoritmusban $ B$ az egységmátrix, akkor a végeredmény: $ X=A^{-1}$ .

2.6. Iteratív-eljárások

Tekintsük az

$\displaystyle Ax=b
$

lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix, $ b \in \mathbb{R}^n.$

Feladat: Keressük az egyenletrendszer közelítő megoldását.

A direkt módszer-típus a feladat paramétereinek felhasználásával előállítja, megkonstruálja a módszer által szolgáltatott közelítő megoldást.

Az iterációs módszer-típus a feladat paramétereinek felhasználásával előállít, képez valamilyenfajta iterációs képletet és bizonyos ún. kezdeti értékből kiindulva, az iterációs képlet alkalmazásával közelítő megoldások sorozatát állítja elő. Ekkor az alábbi kérdéseket kell megválaszolni:

Célunk az, hogy az $ x^{(0)} \in \mathbb{R}^n$ kezdeti vektorból kiindulva olyan $ x^{(r)} \in \mathbb{R}^n, \, r=1,2,\ldots$ vektor-sorozatot generáljunk, melyre

$\displaystyle \lim_{r \to \infty} x^{(r)} = x^*
$

teljesül, ahol $ x^*$ az egyenletrendszer egzakt megoldása.

2.6.1. Stacionáris iteratív-eljárások

Tekintsük az

(2.1) $\displaystyle Ax=b
$

lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix, $ b \in \mathbb{R}^n, b \neq 0.$

A fenti lineáris egyenletrendszer. iterációs megoldásához tekintsük a

\begin{displaymath}
\begin{array}{l}
\Phi_0 (A,b) \\
\Phi_1 (x^{(0)},A,b) \\
\Phi_2 (x^{(1)}, x^{(0)},A,b) \\
\vdots \\
\Phi_r (x^{(r-1)},\ldots, x^{(1)}, x^{(0)},A,b)
\end{array}
\end{displaymath}

függvényeket, melyek révén az $ x^{(r)}, \, r=1,2,\ldots$ sorozatot az alábbiak szerint definiáljuk:

\begin{displaymath}
\begin{array}{rcl}
x^{(0)} & = & \Phi_0 (A,b) \\
x^{(1)} & = & \Phi_1 (x^{(0)},A,b) \\
x^{(2)} & = & \Phi_2 (x^{(1)}, x^{(0)},A,b) \\
& \vdots & \\
x^{(r)} & = & \Phi_r (x^{(r-1)},\ldots, x^{(1)}, x^{(0)},A,b)
\end{array}
\end{displaymath}

Gyakran $ x^{(0)},x^{(1)},\ldots,x^{(s)} \in\mathbb{R}^n$ vektorok az önkényesen választott $ \Phi_{0},\Phi_{1}\ldots,\Phi_{s-1}$ függvényekre, valamely $ s\geq 0$ esetén $ \Phi = \Phi_{s}= \Phi_{s+1}= \ldots,\Phi_{k}$ teljesül. Ha minden $ r\geq s$ esetén a $ \Phi_{r}$ függvény $ r$ -től független, ahol $ s$ valamely pozitív egész szám, akkor a módszert stracionárius-nak nevezzük.

Stacionárius esetben legyen $ \Phi = \Phi_{s}= \Phi_{s+1}= \ldots$ . Ekkor $ x^{(r+1)}$ legfeljebb az előző $ x^{(r)},x^{(r-1)},\ldots,x^{(r-s+1)}$ darab vektortól függ.

$ s=1$ esetén:

\begin{displaymath}
\begin{array}{rcl}
x^{(0)} & = & \Phi_0 (A,b) \\
x^{(r)} & = & \Phi (x^{(r-1)},A,b) \qquad (r=1,2,\ldots)
\end{array}
\end{displaymath}

$ s=2$ esetén:

\begin{displaymath}
\begin{array}{rcl}
x^{(0)} & = & \Phi_0 (A,b) \\
x^{(1)} & = & \Phi_0 (x^{(0)},A,b) \\
x^{(r)} & = & \Phi (x^{(r-1)},x^{(r-2)},A,b) \qquad (r=2,3,\ldots)
\end{array}
\end{displaymath}

A fentiekben definiált módszerek foka legfeljebb 1, ill. 2.

Ha $ \Phi_r$ az $ (x^{(r-1)},\ldots, x^{(1)}, x^{(0)})$ vektorok lineáris függvénye, akkor a módszert lineárisnak nevezzük. Egyébként a módszer nemlineáris.

Elsőfokú, lineáris stacionárius módszer esetén $ x^{(r)} = \Phi (x^{(r-1)},A,b)$ a következő alakot ölti:

(2.2) $\displaystyle x^{(r+1)} = G x^{(r)} + k$

ahol $ G \in \mathbb{R}{n\times n}$ és $ k \in \mathbb{R}$ az eredeti lineáris egyenletrendszer paramétereiből valamilyen módon képezett mátrixot, ill. vektort jelöl. Ezt az alakot iteratív alaknak is nevezik.

Megvizsgáljuk, hogy a fenti iteratív alak alkalmazásával nyert vektor-sorozatot milyen feltételek mellett konvergens, mikor konvergál a megoldáshoz, s milyen a konvergencia sebessége.

Vezessük be az ún. kapcsolt lineáris egyenletrendszert:

(2.3) $\displaystyle (E-G)x=k$

ahol $ E \in \mathbb{R}^{n\times n}$ az egységmátrix.

Megvizsgáljuk, hogy mi a kapcsolat az eredeti lineáris egyenletrendszer és a kapcsolt lineáris egyenletrendszer. között, s ezáltal elemezzük az iteratív alak által definiált módszert.

Jelölje $ \zeta(A,b)$ az $ Ax=b$ megoldás-halmazát és jelölje $ \zeta(E-G,k)$ a kapcsolt $ (E-G)x=k$ megoldás-halmazát. Legyen $ x^* \in \mathbb{R}^n$ az $ Ax=b$ egyenlet egzakt megoldása (azaz $ x^*= A^{-1}b$ ).

2.12. Definíció.   Azt mondjuk, hogy a $ x^{(r+1)} = G x^{(r)} + k$ képlettel definiált iterációs módszer az $ Ax=b$ lineáris egyenletrendszerrel

2.13. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix, $ b \in \mathbb{R}^n, \, b \neq 0$ és $ x^*$ az (2.1) egzakt megoldása. Ha a (2.2) által meghatározott $ x^{(0)},x^{(1)},x^{(2)}\ldots \in \mathbb{R}^n$ sorozat minden $ x^{(0)}$ esetén az $ x^*$ megoldáshoz konvergál, akkor (2.2) teljesen konzisztens. Másrészt, ha (2.2) teljesen konzisztens és az általa meghatározott $ x^{(0)},x^{(1)},x^{(2)}\ldots$ sorozat konvergens, akkor ez az $ x^*$ megoldáshoz tart.

2.14. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix A (2.2) iterációs módszer akkor és csak akkor teljesen konzisztens az (2.1) egyenletrendszerrel, ha konzisztens és az $ E-G \in \mathbb{R}^{n \times n}$ b mátrix nemszinguláris. Ha $ E-G \in \mathbb{R}^{n \times n}$ nemszinguláris, a teljes konzisztencia akkor és csak akkor áll fenn, ha a módszer reciprok konzisztens és $ A\in \mathbb{R}^{n\times n}$ nemszinguláris.

2.15. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix, $ b \in \mathbb{R}^n$ . A (2.2) iterációs módszer akkor és csak akkor konzisztens az (2.1) lineáris egyenletrendszerrel, ha létezik olyan $ M \in \mathbb{R}^{n \times n}$ mátrix, melyre

$\displaystyle G= E - MA \qquad k= M b
$

teljesül, ahol $ E \in \mathbb{R}^{n\times n}$ az egységmátrix.

2.16. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix és $ b \in \mathbb{R}^n$ . Ekkor (2.2) iterációs módszer akkor és csak akkor konzisztens (2.1) lineáris egyenletrendszerrel, ha

$\displaystyle k = (E-G) A^{-1} b
$

teljesül.

2.7. Jacobi-módszer

Tekintsük

$\displaystyle Ax=b
$

lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix és $ b \in \mathbb{R}^n, \, b \neq 0.$ Legyen $ x^{(0)} \in \mathbb{R}^n$ valamely kezdeti érték.

Tekintsük az

$\displaystyle A= L + D + U
$

felbontást, ahol

$ L\in \mathbb{R}^{n\times n}$ alsó háromszög mátrix, melyre $ l_{ij} = a_{ij}$ $ (1\leq i \leq n, 1\leq j < i)$ ,

$ D\in \mathbb{R}^{n\times n}$ diagonális mátrix, melyre $ d_{ii} = a_{ii}$ $ (1\leq i \leq n)$ ,

$ U\in \mathbb{R}^{n\times n}$ felső háromszög mátrix, melyre $ u_{ij} = a_{ij}$ $ (1\leq i \leq n, i < j \leq n)$ .

Ekkor

    $\displaystyle (L+D+U) x$ $\displaystyle = b$
    $\displaystyle D x$ $\displaystyle = b - (L+U)x$
    $\displaystyle x$ $\displaystyle = D^{-1} (b - (L+U)x) = - D^{-1}(L+U)x + D^{-1}b$

adódik, amely a

$\displaystyle x = G x + k
$

előállítást eredményezi, ahol

$\displaystyle G = - D^{-1}(L+U) \in \mathbb{R}^{n \times n} , \qquad k = D^{-1}b \in \mathbb{R}^{n}
$

Megmutatjuk, hogy teljesül a teljes konzisztencia, azaz, van olyan $ M \in \mathbb{R}^{n \times n}$ mátrix, amelyre

$\displaystyle G= E - MA \qquad k= M b
$

teljesül.

Meghatározzuk az $ M \in \mathbb{R}^{n \times n}$ mátrixot.

$\displaystyle E-G = E + D^{-1}(L+U) = E + D^{-1}(A - D) = E + D^{-1}A - D^{-1}D = D^{-1}A
$

és

    $\displaystyle k$ $\displaystyle = D^{-1}b$

Fentiekből $ M = D^{-1}$ következik. Így az $ E-G$ nemszingularitásából következik, hogy a módszer teljesen konzisztens.

Példa. Oldjuk meg iterációval (ha konvergens) az alábbi egyenletrendszert $ 0.05$ pontossággal:

\begin{displaymath}
\begin{array}{ccccccc}
8x_{1} & + & 2x_{2} & - & 4x_{3} & = & -2 \\
2x_{1} & - & 5x_{2} & + & x_{3} & = & 9 \\
2x_{1} & + & x_{2} & + & 7x_{3} & = & 15
\end{array}
\end{displaymath}

Megoldás: A pontos megoldás: $ [1,-1,2]^{T},$ majd ezzel is összehasonlítjuk a közelítéseket. Látható, hogy az együttható mátrix diagonálisan domináns, így az eljárás konvergens lesz.

Átírjuk az egyenletrendszert az alábbi alakba:

$\displaystyle \begin{array}{ccccccccc}
x_{1} & = & & - & 0.25x_{2} & + & 0.5x_{3} & - & 0.25 \\
x_{2} & = & 0.4x_{1} & & & + & 0.2x_{3} & - & 1.8 \\
x_{3} & = & -0.2857x_{1} & + & -0.1429x_{2} & & & = & 2.1429
\end{array} $

$ \left\Vert G\right\Vert _{\infty }=0.75<1$ , tehát valóban konvergens az iteráció. Induljunk ki az $ x^{(0)}=c=[-0.25,-1.8,2.1429]^{T}$ vektorból. A következő közelítések adódnak:

$\displaystyle \begin{array}{c}
x^{(1)}=[1.2714,-1.4714,2.4714]^{T} \\
x^{(2)}=[1.3536,-0.7971,1.9898]^{T} \\
\vdots \\
x^{(8)}=[0.9923,-1.0024,1.9987]^{T}
\end{array}
$

Meglehetősen lassú a konvergencia, aminek a $ \left\Vert G\right\Vert _{\infty }$ viszonylag nagy értéke az oka.

2.8. Gauss-Seidel-módszer

Tekintsük

$\displaystyle Ax=b
$

lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix és $ b \in \mathbb{R}^n, \, b \neq 0.$ Legyen $ x^{(0)} \in \mathbb{R}^n$ valamely kezdeti érték.

Tekintsük az

$\displaystyle A= L + D + U
$

felbontást, ahol

$ L\in \mathbb{R}^{n\times n}$ alsó háromszög mátrix, melyre $ l_{ij} = a_{ij}$ $ (1\leq i \leq n, 1\leq j < i)$ ,

$ D\in \mathbb{R}^{n\times n}$ diagonális mátrix, melyre $ d_{ii} = a_{ii}$ $ (1\leq i \leq n)$ ,

$ U\in \mathbb{R}^{n\times n}$ felső háromszög mátrix, melyre $ u_{ij} = a_{ij}$ $ (1\leq i \leq n, i < j \leq n)$ .

Ekkor

    $\displaystyle (L+D+U) x$ $\displaystyle = b$
    $\displaystyle (L+D) x$ $\displaystyle = b - Ux$
    $\displaystyle x$ $\displaystyle = (L+D)^{-1} (b - Ux) = -(L+D)^{-1}Ux + (L+D)^{-1}b$

adódik, amely a

$\displaystyle x = G x + k
$

előállítást eredményezi, ahol

$\displaystyle G = - (L+D)^{-1}U \in \mathbb{R}^{n \times n} , \qquad k = (L+D)^{-1} b \in \mathbb{R}^{n}
$

Megmutatjuk, hogy teljesül a teljes konzisztencia, azaz, van olyan $ M \in \mathbb{R}^{n \times n}$ mátrix, amelyre

$\displaystyle G= E - MA \qquad k= M b
$

teljesül.

Meghatározzuk az $ M \in \mathbb{R}^{n \times n}$ mátrixot.

    $\displaystyle E-G$ $\displaystyle = E + (L+D)^{-1}U = E + (L+D)^{-1}(A - (L+D))$
      $\displaystyle = E + (L+D)^{-1}A - (L+D)^{-1}(L+D)$
      $\displaystyle = E + (L+D)^{-1}A - E = (L+D)^{-1}A$

és

    $\displaystyle k$ $\displaystyle = (L+D)^{-1} b.$

Fentiekből $ M = (L+D)^{-1}$ következik. Így az $ E-G$ nemszingularitásából következik, hogy a módszer teljesen konzisztens.

Példa. Oldjuk meg most Seidel-iterációval az előbbi egyenletrendszert, $ 0.05$ pontossággal:

$\displaystyle \begin{array}{ccccccc}
8x_{1} & + & 2x_{2} & - & 4x_{3} & = & -2\\
2x_{1} & - & 5x_{2} & + & x_{3} & = & 9 \\
2x_{1} & + & x_{2} & + & 7x_{3} & = & 15
\end{array}
$

Megoldás: Ugyanazon átalakítás után, ugyancsak az $ x^{(0)}=c=[-0.25,-1.8,2.1429]^{T}$ választással a következőt kapjuk:

$\displaystyle \begin{array}{c}
x^{(1)}=[1.2714,-0.8629,1.9029]^{T} \\
x^{(2)}=[0.9171,-1.0526,2.0312]^{T} \\
\vdots \\
x^{(5)}=[0.9999,-1.0001,2.0001]^{T}
\end{array}
$

2.9. Hibabecslések

Tekintsük

$\displaystyle Ax=b
$

lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix és $ b \in \mathbb{R}^n, \, b \neq 0.$ Legyen $ x^{(0)} \in \mathbb{R}^n$ egy kezdeti érték és $ x^* \in \mathbb{R}^n$ az egyenlet egzakt megoldása.

Tekintsük az

$\displaystyle x^{(r+1)} = G x^{(r)} + k \qquad r=0,1,2\ldots
$

konzisztens iterációs módszert. Nyilvánvalóan

$\displaystyle x^{*} = G x^{*} + k
$

teljesül.

Ekkor az $ r$ -dik közelítés hibáját

$\displaystyle e^{(r)} = x^{(r)} - x^*
$

képlettel definiáljuk.

Az

$\displaystyle x^{(r+1)} - x^{*} = G (x^{(r)} - x^*)
$

összefüggésből

$\displaystyle e^{(r+1)} = G e^{(r)}
$

adódik. Tegyük fel, hogy a $ G$ iterációs mátrixra $ \| G \| < 1$ teljesül. Ekkor

$\displaystyle \left\| e^{(r+1)} \right\| = \left\|G e^{(r)} \right\| \leq \left\|G \right\| \left\|e^{(r)} \right\| < \left\|e^{(r)} \right\|
$

adódik.

2.17. Tétel.   Legyen adott az $ Ax=b$ lineáris egyenletrendszert, ahol $ A\in \mathbb{R}^{n\times n}$ nemszinguláris mátrix és $ b \in \mathbb{R}^n, \, b \neq 0$ és a belőle származtatott

$\displaystyle x^{(r+1)} = G x^{(r)} + k \qquad r=0,1,2\ldots
$

iterációs módszer. Ha a $ G \in \mathbb{R}^{n \times n}$ iterációs mátrixra $ \| G\|_{\infty} < 1$ , akkor tetszőleges $ x^{(0)} \in \mathbb{R}^n$ kezdeti érték esetén az iterációs módszer konvergens vektorsorozatot eredményez, mely tart az $ x^* \in \mathbb{R}^n$ egzakt megoldáshoz és a közelítés hibájára teljesül a következő egyenlőtlenség minden $ r=1,2,\ldots$ esetén:

$\displaystyle \left\| x^{(r+1)} - x^{*}\right\|_{\infty} \leq \dfrac{\|G\|_{\infty}}{1-\|G\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}.
$

Bizonyítás. Első lépésként számítsuk ki a következőt:

    $\displaystyle \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$ $\displaystyle = \left\|Gx^{(r)} - Gx^{(r-1)}\right\|_{\infty} \leq \left\|G \right\|_{\infty} \left\|x^{(r)} - x^{(r-1)}\right\|_{\infty}$
      $\displaystyle = \left\|G \right\|_{\infty} \left\|Gx^{(r-1)} - Gx^{(r-2)}\right\|_{\infty}$
      $\displaystyle \leq \left\|G \right\|_{\infty}^2 \left\|x^{(r-1)} - x^{(r-2)}\right\|_{\infty} = \ldots$
      $\displaystyle \leq \left\|G \right\|_{\infty}^{r-t} \left\|x^{(t+1)} - x^{(t)}\right\|_{\infty}$

minden $ 1\leq t < r$ esetén

Továbbá érvényes a következő:

    $\displaystyle \left\|x^{(r+p)} - x^{(r)}\right\|_{\infty}$ $\displaystyle \leq \left\|x^{(r+p)} - x^{(r+p-1)}\right\|_{\infty} + \left\|x^{(r+p-1)} - x^{(r+p-2)}\right\|_{\infty}$
      $\displaystyle + \ldots + \left\|x^{(r+2)} - x^{(r+1)}\right\|_{\infty} + \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}.$

Ebből az előzőt felhasználva azt kapjuk, hogy

    $\displaystyle \left\|x^{(r+p)} - x^{(r)}\right\|_{\infty}$ $\displaystyle \leq \left\|G \right\|_{\infty}^{p-1} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$
      $\displaystyle + \left\|G \right\|_{\infty}^{p-2} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty} + \ldots$
      $\displaystyle + \left\|G \right\|_{\infty} \left\|x^{(r+1)} - x^{(r+1)}\right\|_{\infty} + \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$

A mértani sor összegképletét felhasználva kapjuk, hogy

$\displaystyle \left\|G \right\|_{\infty}^{p-1} + \left\|G \right\|_{\infty}^{p-2} + \ldots + \left\|G \right\|_{\infty} + 1 = \dfrac{1-\left\|G \right\|_{\infty}^{p}}{1-\left\|G \right\|_{\infty}}
$

Ebből és az előző egyentlőtlenségből adódik, hogy

    $\displaystyle \left\|x^{(r+p)} - x^{(r)}\right\|_{\infty}$ $\displaystyle \leq \dfrac{1-\left\|G \right\|_{\infty}^{p}}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$
      $\displaystyle \leq \dfrac{1}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$
      $\displaystyle \leq \dfrac{\left\|G \right\|_{\infty}^{r}}{1-\left\|G \right\|_{\infty}} \left\|x^{(1)} - x^{(0)}\right\|_{\infty}.$

Ha $ r$ -rel tartunk a végtelenhez, akkor az egyenlőtlenség jobboldala 0-hoz tart. Ebből adódik, hogy az $ \{x^{(r)}\}_{r=1}^{\infty}$ sorozat Cauchy-sorozat, ami véges dimenzióban azt jelenti, hogy konvergens (mert $ \mathbb{R}^n$ teljes metrikus tér a szokásos normával). Ebből következik, hogy csak egyetlen határértéke lehet: $ x^*$ .

Vegyük az egyenlőtlenség mindkét oldalán a $ p \to \infty$ határátmenetet.

Ekkor $ \displaystyle \lim_{p\to \infty} x^{(r+p)} = x^*$ és $ \left\|G \right\|_{\infty} < 1$ miatt $ \displaystyle \lim_{p\to \infty} \left\|G \right\|_{\infty}^p =0$ .

Emiatt és $ \left\|G \right\|_{\infty} < 1$ kapjuk, hogy

$\displaystyle \left\|x^{*} - x^{(r)}\right\|_{\infty}
\leq \dfrac{1}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty},
$

azaz

$\displaystyle \left\|e^{(r)}\right\|_{\infty}
\leq \dfrac{1}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}.
$

Mivel $ \left\|e^{(r+1)}\right\|_{\infty} \leq \left\|G \right\|_{\infty} \left\|e^{(r)}\right\|_{\infty}$ , ezért

$\displaystyle \left\|x^{*} - x^{(r+1)}\right\|_{\infty} \leq \left\|G \right\|_{\infty} \dfrac{1}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty},
$

azaz

$\displaystyle \left\|x^{*} - x^{(r+1)}\right\|_{\infty} \leq \dfrac{\left\|G \right\|_{\infty}}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty},
$

ami az állításunk volt. $ \qedsymbol$

2.18. Következmény.   A Jacobi-módzser konveregnciájának elégséges feltétele, hogy

$\displaystyle \left\| -D^{-1}(L+U) \right\|_{\infty} <1.
$

2.19. Következmény.   A Gauss-Seidel-módzser konveregnciájának elégséges feltétele, hogy

$\displaystyle \left\| -(L+D)^{-1}U \right\|_{\infty} <1.
$

Könnyű belátni, hogy ha az együttható mátrix diagonálisan domináns, akkor mind a Jacobi, mind a Gauss-Seidel módszer esetén a $ \| G\|_{\infty} < 1$ feltétel automatikusan teljesül.

A Gauss-Seidel módszer esetén

    $\displaystyle (L+D) x^{(r+1)}$ $\displaystyle = - U x^{(r)} +b$
    $\displaystyle D x^{(r+1)}$ $\displaystyle = -L x^{(r+1)} - U x^{(r)} + b$
    $\displaystyle x^{(r+1)}$ $\displaystyle = -D^{-1}L x^{(r+1)} - D^{-1} U x^{(r)} + D^{-1}b$

áll elő, mely a módszer közismert iterációs alakja.

Ha a konvergencia elégséges feltétele automatikusan teljesül, akkor ezen alak alkalmazása a hatékonyabb, mivel ekkor nem szükséges az inverz meghatározása. Ekkor, stop-kritériumként használható pl. olyan feltétel, hogy a két legutoljára képezett közelítés különbségének normája elegendően kicsinek bizonyul-e.

2.10. Algoritmusok

A Jacobi-módszer algoritmusa: Adottak:

1 Határozzuk meg a $ G=-D^{-1}(L+U)$ mátrixot és $ \| G \|_{\infty}$ értékét.
2 IF $ \| G\|_{\infty} < 1$
3         THEN $ h=2\varepsilon$
4             $ r=0$
5             WHILE $ h> \varepsilon$ DO
6                  $ x^{(r+1)} = G x^{(r)} + k$
7                  $ h = \dfrac{\left\|G \right\|_{\infty}}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$
8                 $ r = r+1$
9             RETURN($ x^{(r)}$ )
10         ELSE RETURN(,,hiba")

A Gauss-Seidel-módszer algoritmusa:

Adottak:

1 Határozzuk meg a $ G=-(L+D)^{-1}U$ mátrixot és $ \| G \|_{\infty}$ értékét.
2 IF $ \| G\|_{\infty} < 1$
3         THEN $ h=2\varepsilon$
4             $ r=0$
5             WHILE $ h> \varepsilon$ DO
6                  $ x^{(r+1)} = G x^{(r)} + k$
7                  $ h = \dfrac{\left\|G \right\|_{\infty}}{1-\left\|G \right\|_{\infty}} \left\|x^{(r+1)} - x^{(r)}\right\|_{\infty}$
8                 $ r = r+1$
9             RETURN($ x^{(r)}$ )
10         ELSE RETURN(,,hiba")

2.11. A konvergencia gyorsítása

A konvergencia gyorsítása

A konvergencia gyorsítása a következőképpen érhető el:

Tekintsük az elsőfokú, lineáris stacionárius iterációs módszer általános iterációs képletét:

$\displaystyle x^{(r+1)} = G x^{(r)} + k,
$

Legyen

$\displaystyle x^{(r+1)} = \omega (G x^{(r)} + k) + (1-\omega) x^{(r)},
$

ahol $ \omega$ az ún. relaxációs tényező, amelyre $ 0 < \omega \leq 2$ teljesül.

Könnyű belátni, hogy $ \omega=1$ esetén ez a két képlet megegyezik. Ha $ 0 < \omega <1$ esetén alulkorrigálásnak, $ 1<\omega \leq 2$ esetén túlkorrigálásnak nevezzük a

Ekkor

$\displaystyle x^{(r+1)} = (\omega G +(1-\omega)E) x^{(r)} + \omega k
$

érvényes, ami

$\displaystyle x^{(r+1)} = G_\omega x^{(r)} + k_\omega,
$

iterációs képletet eredményezi.

Itt az iterációs mátrix

$\displaystyle G_\omega = (\omega G +(1-\omega)E)
$

és

$\displaystyle k_\omega = \omega k.
$

Ezek konkrét alakja a következők:

Jacobi-módszer: $ G_\omega = -\omega D^{-1}(L+U) + (1-\omega)E$ .

Gauss-Seidel-módszer: $ G_\omega = -\omega (L+D)^{-1}U + (1-\omega)E$ .

Az $ \omega$ -t úgy kívánjuk választani, hogy ezáltal a konvergencia gyorsabbá váljon.

3. Legkisebb négyzetek módszere

3.1. Legkisebb négyzetek módszere, egyenes eset

Legyen $ N \in \mathbb{N} $ és adottak az $ x_1, x_2, \ldots, x_N \in \mathbb{R}$ alappontok és az $ y_1,y_2, \ldots, y_N \in \mathbb{R}$ függvényértékek (pl. mérési eredmények). Keressük azt az egyenest $ y = a_0 + a_1 x$ , melyre a

$\displaystyle \sum_{i=1}^N [y_i - (a_0 + a_1 x_i)]^2
$

kifejezés minimális.

A fenti feltételnek eleget tevő egyenest az $ (x_i, y_i)$ $ i= i, \ldots, N$ , értékeket négyzetesen legjobban közelítő egyenesnek nevezzük.

A feladat megoldásához az

$\displaystyle F(a_0,a_1)
= \sum_{i=1}^N \bigl[ y_i - (a_0 + a_1 x_i) \bigr]^2
: \mathbb{R}^2 \to \mathbb{R}
$

függvényt kell minimalizálnunk. A többváltozós függvények szélsőértékéről tanultak szerint az $ F^{\prime}_{a_0}(a_0,a_1) = 0$ és $ F^{\prime}_{a_1}(a_0,a_1) = 0$ feltételnek eleget tevő $ a_0,a_1$ -et keressük. A parciális deriváltakra

$\displaystyle \sum_{i=1}^N -2[y_i - (a_0 + a_1 x_i)] = 0
$

$\displaystyle \sum_{i=1}^N -2[y_i - (a_0 + a_1 x_i)] x_i = 0
$

egyenletrendszert kapjuk.

Ezt az egyenletrendszert az alábbi alakban írhatjuk:

$\displaystyle \sum_{i=1}^N y_i - N a_0 - \sum_{i=1}^N a_1 x_i = 0
$

$\displaystyle \sum_{i=1}^N x_i y_i - \sum_{i=1}^N a_0 x_i - \sum_{i=1}^N a_1 x_i^2 = 0
$

amelyből adódik, hogy

$\displaystyle N a_0 + \left(\sum_{i=1}^N x_i \right) a_1 = \sum_{i=1}^N y_i
$

$\displaystyle \left( \sum_{i=1}^N x_i\right) a_0 + \left( \sum_{i=1}^N x_i^2 \right) a_1 = \sum_{i=1}^N x_i y_i
$

Vezessük be a következő jelöléseket:

$\displaystyle A = \left( \begin{array}{cc}
1 & x_1 \\
1 & x_2 \\
\vdots & \vdots \\
1 & x_N \\
\end{array} \right) \in \mathbb{R}^{N \times 2}, \quad
b = \left( \begin{array}{c}
y_1 \\
y_2 \\
\vdots\\
y_N \\
\end{array} \right) \in \mathbb{R}^{N}, \quad
a = \left( \begin{array}{c}
a_0 \\
a_1
\end{array} \right) \in \mathbb{R}^{2}.
$

Ekkor

$\displaystyle A^{T} A = \left(\begin{array}{cc}
N & \displaystyle \sum_{i=1}^N x_i \\ [5mm]
\displaystyle \sum_{i=1}^N x_i & \displaystyle \sum_{i=1}^N x_i^2
\end{array} \right) \qquad
A^{T} b = \left(\begin{array}{c}
\displaystyle \sum_{i=1}^N y_i \\ [5mm]
\displaystyle \sum_{i=1}^N x_i y_i
\end{array} \right)
$

Így az egyenletrendszer

$\displaystyle A^{T} A a = A^{T} b
$

alakban írható.

A $ det(A^{T} A) =0 $ csak akkor teljesülhet, ha $ x_1=x_2=\ldots =x_N$ (érdektelen eset).

Tehát feltehetjük, hogy $ det(A^{T} A) \neq 0.$ Ekkor az egyenletrendszer egyértelműen megoldható. Például az $ A^{T} A$ invertálható, így

$\displaystyle a = (A^{T} A)^{-1} A^{T} b.
$

3.2. A legkisebb négyzetek módszere, polinom eset

Legyen $ n, N \in \mathbb{N} $ úgy, hogy n $ << N$ , adottak az $ x_1, x_2, \ldots, x_N \in \mathbb{R}$ alappontok és az $ y_1,y_2, \ldots, y_N \in \mathbb{R}$ függvényértékek (pl. mérési eredmények). Keressük azt a $ P_n(x) = \displaystyle \sum_{j=0}^n a_j x^j$ polinomot, melyre a

$\displaystyle \sum_{i=1}^N (y_i -P_n(x_i))^2
$

kifejezés minimális.

A fenti feltételnek eleget tevő $ P_n$ polinomot az $ (x_i, y_i)$ $ i= i, \ldots, N$ , értékeket négyzetesen legjobban közelítő $ n$ -ed fokú polinomnak nevezzük.

A feladat megoldásához az

$\displaystyle F(a_0,a_1,\ldots,a_n)
= \sum_{i=1}^n \left( y_i - \sum_{j=0}^n a_j x_i^j\right)^2
: \mathbb{R}^{n+1} \to \mathbb{R}
$

függvényt kell minimalizálnunk. A többváltozós függvények szélsőértékéről tanultak szerint az $ F^{\prime}(a_0,a_1,\ldots,a_n) = 0$ feltételnek eleget tevő $ a_j$ -ket keressük. A parciális deriváltakra

$\displaystyle \dfrac{\partial F}{\partial a_j}(a_0,a_1,\ldots,a_n) =
\sum_{i=1}^N 2 (y_i - P_n (x_i)) \left( -\dfrac{\partial P_n}{\partial a_j}(x_i) \right) = 0
$

$ (j=0,1,\ldots,n)$ .

$\displaystyle \sum_{i=1}^N P_n (x_i) \dfrac{\partial P_n}{\partial a_j}(x_i) =
\sum_{i=1}^N y_i \dfrac{\partial P_n}{\partial a_j}(x_i) \qquad (j=0,1,\ldots,n).
$

Mivel $ \dfrac{\partial P_n}{\partial a_j}(x_i)= (x_i)^j$ , a fenti egyenlet a következő alakba írható:

$\displaystyle \sum_{i=1}^N (x_i)^j \sum_{k=0}^n a_k(x_i)^k =
\sum_{k=0}^n a_k \sum_{i=1}^N (x_i)^{j+k} =
\sum_{i=1}^N y_i (x_i)^j
$

$ (j=0,1,\ldots,n)$ . Ezzel $ a_k$ -kra egy lineáris egyenletrendszert kaptunk ($ n+1$ darab egyenlet, $ n+1$ darab ismeretlennel).

Vezessük be a következő jelöléseket:

$\displaystyle A = \left( \begin{array}{cccc}
1 & x_1 & \ldots & x_1^n \\
1 & x_2 & \ldots & x_2^n \\
\vdots & \vdots & \ddots & \vdots \\
1 & x_N & \ldots & x_N^n \\
\end{array} \right) \in \mathbb{R}^{N \times (n+1)},
$

$\displaystyle b = \left( \begin{array}{c}
y_1 \\
y_2 \\
\vdots\\
y_N \\
\end{array} \right) \in \mathbb{R}^{N}, \qquad
a = \left( \begin{array}{c}
a_0 \\
a_1 \\
\vdots\\
a_n \\
\end{array} \right) \in \mathbb{R}^{n+1}.
$

Ekkor az egyenletrendszer

$\displaystyle A^{T} A a = A^{T} b
$

alakban írható.

3.3. A legkisebb négyzetek módszere, tetszőleges függvény eset

Az $ f$ függvény helyettesítésére (közelítésére) a szóba jöhető, előre rögzített $ H$ függvényosztályból azt a $ h\in H$ függvényt keressük, amely az

$\displaystyle \left\Vert f-h\right\Vert \rightarrow \min,\qquad h\in H
$

feltételes szélsőérték feladat megoldása. Tulajdonképpen minden $ h\in H$ tekinthető közelítésnek, ezért a feladatot kielégítő függvényt szokás legjobb approximációnak nevezni.

Függvények $ \left[ a,b\right]$ intervallumon való legkisebb négyzetes közelítéséről akkor beszélünk, ha a norma diszkrét esetben $ (a\leq x_{1}<x_{2}<\ldots <x_{m}\leq b)$

$\displaystyle \left\Vert f\right\Vert _{2}=\left( \sum_{i=1}^{m}f^{2}\left( x_{i}\right)
w\left( x_{i}\right) \right) ^{\frac{1}{2}},
$

folytonos esetben pedig

$\displaystyle \left\Vert f\right\Vert _{2}=\left( \int_{a}^{b}f^{2}\left( x\right)
w\left(x\right) dx\right) ^{\frac{1}{2}},
$

ahol a rögzített $ w\left( x\right) $ súlyfüggvényre diszkrétnél a $ w\left( x_{i}\right) >0$ ( $ i=1,2,\ldots m$ ), folytonosnál pedig a $ w\left( x\right) \in C\left[ a,b\right] $ , $ w\left( x\right) >0$ , $ \forall x\in \left[ a,b\right] $ teljesülését megköveteljük. Fontos speciális eset a $ w\left( x\right) \equiv 1$ .

3.3.1. Lineáris eset

Legyen a $ H$ függvényhalmaz olyan, hogy ismert

$\displaystyle \phi _{i}:\left[ a,b\right] \rightarrow \mathbb{R} (i=1,\ldots ,n)
$

függvények valamennyi lineáris kombinációját tartalmazza, tehát a $ h\left( x\right)$ függvény alakja

$\displaystyle h(x) = a_{1} \phi_{1}(x) + a_{2} \phi_{2}(x)
+ \ldots + a_{n}\phi_{n}(x)
=\sum_{i=1}^{n}a_{i}\phi _{i}(x).
$

A $ \phi _{i}$ függvényeket alapfüggvényeknek vagy másképpen bázisfüggvényeknek nevezzük.

3.3.1.1. Diszkrét, lieáris eset

Fontos kérdés az approximációs feladat megoldásának létezése és egyértelműsége. Lineáris approximációra igaz az alábbi állítás.

3.1. Tétel.   Ha $ \left\{ \phi _{i}\right\} _{i=1}^{n}\subset C\left[ a,b\right]$ lineárisan függetlenek, akkor bármilyen normában és minden $ f\in C\left[ a,b\right] $ esetén létezik legjobban közelítő $ h(x)=\sum_{i=1}^{n}a_{i}\phi_{i}(x)$ függvény.

Legyen $ F=F(a_0,a_1\ldots,a_n)$ . Ekkor meg kell oldani a

$\displaystyle F=
\sum_{i=i}^{m} \left[ f(x_{i}) - \bigl(a_{1}\phi_{1}(x_{i})
+ \ldots + a_{j}\phi_{j}(x_{i}) + \ldots + a_{n}\phi_{n}(x_{i})\bigr)\right] ^{2}\rightarrow \min
$

szélsőértékfeladatot. Ennek megoldása pedig $ \dfrac{\partial F}{\partial a_{j}}=0,$ $ (j=1,2,\ldots ,n)$ , vagyis a

$\displaystyle -2 \sum_{i=i}^{m} \left[ f(x_{i})-a_{1}\phi_{1}(x_{i})
+ \ldots + a_{j} \phi_{j}(x_{i}) + \ldots + a_{n}\phi_{n}(x_{i})\right]
\phi_{j}(x_{i})=0
$

lineáris egyenletrendszer megoldása. (Az egyenlet teljesülése az approximációs feladat megoldásának már említett egyértelmű létezése miatt elegendő.)

Egyszerűsítés és a szokásos alakra való rendezés után kapjuk, hogy

$\displaystyle a_{1} \sum_{i=i}^{m}\phi_{1}(x_{i})\phi_{j}(x_{i})+\ldots
+a_{n}\sum_{i=i}^{m}\phi _{n}(x_{i})\phi_{j}(x_{i})
=\sum_{i=i}^{m}f(x_{i})\phi _{j}(x_{i})
$

$ \left( j=1,2,\ldots ,n\right)$ . Vezessük be az

$\displaystyle \left\langle u,v\right\rangle
=\sum_{i=i}^{m}u(x_{i})v(x_{i})w(x_{i})
$

jelölést.

Ezzel az egyenletrendszer alakja a következő:

    $\displaystyle a_{1}\left\langle \phi_{1},\phi_{1}\right\rangle
 + a_{1} \left\langle \phi_{2},\phi_{1}\right\rangle
 + \ldots + a_{n} \left\langle \phi_{n},\phi_{1}\right\rangle$ $\displaystyle =\left\langle f,\phi_{1}\right\rangle$
    $\displaystyle a_{1}\left\langle \phi_{1},\phi_{2}\right\rangle
 + a_{1}\left\langle \phi_{2},\phi_{2}\right\rangle
 + \ldots +a_{n}\left\langle \phi_{n},\phi_{2}\right\rangle$ $\displaystyle =\left\langle f,\phi_{2}\right\rangle$
      $\displaystyle \vdots$
    $\displaystyle a_{1}\left\langle \phi_{1},\phi_{n}\right\rangle + a_{1}\left\langle
 \phi_{2},\phi_{n}\right\rangle + \ldots + a_{n}\left\langle
 \phi_{n},\phi_{n}\right\rangle$ $\displaystyle = \left\langle f,\phi_{n}\right\rangle$

A

$\displaystyle \left\langle u,v\right\rangle
=\sum_{i=i}^{m}u(x_{i})v(x_{i})w(x_{i})
$

összefüggéssel egy skaláris szorzatot definiáltunk a diszkrét pontokon értelmezett függvények között. Ez két $ \mathbb{R}^{n}$ -beli vektornak a szorzata (ha $ w(x)\equiv 1$ ).

Az egyenletrendszer az úgynevezett normálegyenletrendszer. A $ G=\left[ \left\langle \phi _{j},\phi _{i}\right\rangle\right]_{i,j=1}^{n},$ $ a=\left[ a_{1},\ldots ,a_{n}\right] ^{T}$ és a $ b=\left[ \left\langle f,\phi_{1}\right\rangle ,\ldots ,\left\langle f, \phi_{n}\right\rangle \right] ^{T}$ jelölésekkel tömörebben:

$\displaystyle Ga=b.
$

A $ G \in \mathbb{R}^{n \times n}$ mátrixot Gram-mátrixnak nevezzük.

Legyen $ A=\left[\phi_{j}(x_{i})\right]_{i,j=1}^{m,n}\in \mathbb{R}^{m\times n}, a=\left[a_{1},\ldots ,a_{n}\right]^{T}\in \mathbb{R}^{n}, b=y=\left[ y_{1},\ldots ,y_{m}\right]^{T}\in \mathbb{R}^{m}$ és $ m>n.$

Keresünk olyan $ a^{\ast}$ paramétervektort, amely az $ Aa-b$ hibát valamilyen normában minimalizálja. Ha létezik a $ Aa=b$ egyenletnek megoldása, akkor a minimumfeladat egyenértékű vele. Az euklideszi normában megfogalmazott

$\displaystyle \left\Vert Aa-b \right\Vert_{2}\rightarrow \min.
$

minimumfeladat megoldása az alábbi tétel:

3.2. Tétel.   Az $ a \in R^{n}$ akkor és csak akkor megoldása a feladatnak, ha

$\displaystyle A^{T}Aa=A^{T}b.
$

3.3.2. Legkisebb négyzetek módszere, folytonos eset

Legyen $ f\in C[a,b]$ és $ h(x)=a_{1}\phi _{1}(x)+a_{2}\phi _{2}(x)+\ldots +a_{n}\phi _{n}(x).$ Ekkor tehát az

    $\displaystyle F\left( a_{1},\ldots ,a_{n}\right)$ $\displaystyle = \left\Vert f-\sum_{i=1}^{n}a_{i}\phi_{i}\right\Vert _{2}^{2}=$
      $\displaystyle = \int_{a}^{b}\left( f\left( x\right) -\sum_{j=1}^{n}a_{j}\phi _{j}\left(x\right) \right) ^{2}dx \rightarrow \min$

( $ w\left( x\right) \equiv 1$ ) szélsőérték-feladatot kell megoldani. Említettük, hogy a feladatnak lineárisan független alapfüggvények esetén egyértelmű megoldása van.

$\displaystyle \frac{\partial F\left( a_{1},\ldots ,a_{n}\right) }{\partial a_{i}}=0\quad
(i=1,\ldots ,n)
$

egyenletrendszer megoldására redukálódik a feladat. A parciális deriválás során használjuk ki, hogy itt a deriválás és integrálás sorrendje felcserélhető és vezessük be itt is a skalárszorzatot az

$\displaystyle \left\langle u,v\right\rangle =\int_{a}^{b}u(x)v(x)dx,\quad
\quad u,v\in C\left[ a,b\right]
$

értelmezéssel. Ekkor formailag ugyanahhoz az egyenletrendszerhez jutunk, mint a diszkrét esetben. (Természetesen, választhatunk valamilyen $ w(x)>0$ $ \left(x\in \lbrack a,b]\right)$ súlyfüggvényt itt is; most $ w\left( x\right) \equiv 1$ ).

A Gram-mátrix ugyanúgy rosszul kondicionált lehet, mint a diszkrét esetben. Például legyen $ a=0$ , $ b=1$ , $ w\left( x\right) \equiv 1$ és $ \phi_{i}\left( x\right) =x^{i-1}$ $ (i=1,\ldots ,n).$ Ha meghatározzuk a Gram-mátrixot, akkor $ \phi _{i}\left( x\right) \phi _{j}\left( x\right)=x^{i+j-2}$ és $ g_{ij}=\int_{0}^{1}x^{i+j-2}dx=1/\left( i+j-1\right)$ . Innen kapjuk, hogy

$\displaystyle G=\left[ \frac{1}{i+j-1}\right] _{i,j=1}^{n},
$

ami nem más mint az ún. Hilbert-mátrix.

Az $ f(x)=\sqrt{x}$ függvénynek adjuk meg az egyenessel való legkisebb négyzetes közelítését az $ [1,4]$ intervallumon. Ekkor $ \phi_{1}(x)\equiv 1, \phi_{2}(x)=x$ és $ f(x)\approx h(x)=a_{1}\phi_{1}(x)+a_{2}\phi_{2}(x) = a_{1} + a_{2}(x).$ A $ \left[\left\langle \phi_{j},\phi_{i}\right\rangle \right]_{i,j=1}^{2}$ együtthatómátrixot és az $ \left[ \left\langle f,\phi_{1}\right\rangle, \left\langle f,\phi _{2}\right\rangle \right] ^{T}$ jobboldalt itt is kiszámolva a

$\displaystyle \begin{array}{rrrrr}
3a_{1} & + & 7.5a_{2} & = & 4.6667 \\
7.5a_{2} & + & 30a_{2} & = & 21
\end{array}
$

egyenletrendszerhez jutunk. Ezt megoldva a $ \sqrt{x}\approx 0.7407+0.3259x$ egyenes egyenletét kapjuk.

Megjegyzés. Az $ f\in C\left[ a,b\right] $ függvények körében az $ L_{2}$ -norma mellett többféle norma is fontos szerepet játszik a gyakorlatban. Ezek közül az egyik a Csebisev-norma. A Csebisev-norma értelmezése

$\displaystyle \left\Vert f\right\Vert_{C}
=\max_{x\in \left[ a,b\right]}\left\vert f(x)\right\vert,
$

a Csebisev-féle approximációs feladat pedig adott $ f$ függvény és $ H$ függvényhalmaz esetén: $ h\in H$ és

$\displaystyle \begin{array}{l}
\left\Vert f-h\right\Vert_{C}=\max_{x\in \left[ a,b\right] }\left
\vert f\left( x\right)-h(x)\right\vert \rightarrow \min \\
\end{array}
$

A feladat megoldását az $ f$ legjobb egyenletes approximációjának nevezzük (természetesen az adott intervallumon és az adott $ H$ mellett). Az elnevezést az indokolja, hogy a $ \max_{x\in \left[a,b\right] }\left\vert f\left( x\right)-h(x)\right\vert $ egyben az elkövetett hibának egy, az $ [a,b]$ -n $ x$ -től független - tehát egyenletes - korlátja.

A lineáris Csebisev-approximációra nem ismeretes olyan általános megoldási módszer, mint az $ L_{2}$ -normában való közelítésre.

4. Az interpoláció

Az interpoláció alapfeladatát a következőképpen fogalmazhatjuk meg.

4.1. Definíció.   Ismerjük egy $ f:\mathbb{R}\rightarrow \mathbb{R}$ függvény

$\displaystyle a\leq x_{1}<x_{2}<\ldots <x_{n}\leq b
$

pontokban felvett értékeit, azaz az $ y=f(x)$

$\displaystyle y_{i}=f(x_{i})\quad (i=1,\ldots ,n)
$

függvényértékeket. Az $ f\left( x\right)$ függvényt, amely lehet a teljes $ [a,b]$ intervallumon vagy csak $ \{x_{i}\}_{i=1}^{n}$ pontokban ismert, egy olyan, általában könnyen számítható $ h(x)$ függvénnyel közelítjük (vagy helyettesítjük), amelyre fennáll, hogy

$\displaystyle y_{i}=h\left( x_{i}\right) \quad (i=1,\ldots ,n).
$

4.2. Definíció.   Az $ \left\{ x_{i}\right\} _{i=1}^{n}$ pontokat interpolációs alappontoknak, a feltételt interpolációs feltételnek vagy interpolációs alap-egyenletrendszernek nevezzük.

Az interpolációs feltétel teljesülése esetén azt reméljük, hogy a

$\displaystyle h\left( x\right) =h\left( x;\left\{ x_{i}\right\}_{i=1}^{n},
\left\{y_{i}\right\} _{i=1}^{n}\right)
$

interpoláló függvény az $ \left( x_{i},x_{i+1}\right)$ intervallumokban jól közelíti az $ f(x)$ függvényt.

Ezen a feltételen kívül további feltétel(eke)t is előírhatunk. Például, ha ismerjük az $ f$ függvény deriváltjait is az alappontokban, akkor megkövetelhetjük az

$\displaystyle f^{\prime }(x_{i})=h^{\prime }\left( x_{i}\right) \quad (i=1,\ldots ,n)
$

teljesülését is. A szóba jöhető $ h(x)$ függvények $ H$ halmazának megválasztásától és a feltétel esetleges kibővítésétől függően beszélünk különböző típusú interpolációkról.

4.3. Definíció.   Ha a $ h(x)$ függvénnyel $ f(x)$ -et az $ \left( x_{1},x_{n}\right)$ intervallumon kívül közelítjük, akkor extrapolációról beszélünk.

4.1. Lineáris eset

Ekkor tehát a $ H$ függvényhalmaz ismert $ \phi _{i}:\left[ a,b\right] \rightarrow \mathbb{R}$ ( $ i=1,\ldots ,n$ ) függvények valamennyi lineáris kombinációja, tehát a $ h\left( x\right)$ függvény alakja

$\displaystyle h(x) = a_{1} \phi_{1}(x) + a_{2} \phi_{2}(x)
+ \ldots + a_{n}\phi_{n}(x)
=\sum_{i=1}^{n}a_{i}\phi _{i}(x).
$

A $ \phi _{i}$ függvényeket alapfüggvényeknek, másképpen bázisfüggvényeknek nevezzük. Az ismeretlen $ a_{1},\ldots ,a_{n}$ együtthatókat az interpolációs feltételből határozhatjuk meg. Tehát az alábbi egyenleteknek kell teljesülni:

$\displaystyle \begin{array}{ccc}
a_{1}\phi_{1}(x_{1})+a_{2}\phi_{2}(x_{1})
+\ldots +a_{n}\phi _{n}(x_{1}) & = & f(x_{1}), \\
\cdots & \vdots & \cdots \\
a_{1}\phi _{1}(x_{n})+a_{2}\phi _{2}(x_{n})+\ldots
+a_{n}\phi _{n}(x_{n}) & = & f(x_{n}).
\end{array}
$

Ez egy lineáris egyenletrendszer az ismeretlen $ a_{1},\ldots ,a_{n}$ együtthatókra nézve. Tömörebb felírása érdekében vezessük be a következő jelöléseket:

$\displaystyle B=[\phi _{j}(x_{i})]_{i,j=1}^{n}, a=\left[ a_{1},\ldots ,a_{n}\right] ^{T},$    és $\displaystyle c =\left[ f\left( x_{1}\right),\ldots ,f\left( x_{n}\right)
\right]^{T}.
$

A feltétel alakja így

$\displaystyle Ba=c.
$

Ha $ \det (B)\neq 0$ , akkor az egyenletrendszernek pontosan egy megoldása van: $ a=B^{-1}c$ .

A gyakorlatban sokféle $ \left\{ \phi _{i}\left( x\right)\right\}_{i=1}^{n}$ bázisfüggvényt alkalmaznak. Az egyik legfontosabb a

$\displaystyle \phi_{1}(x)=1, \phi_{2}(x)=x, \ldots, \phi_{n}(x)=x^{n-1}
$

függvényrendszer. Ekkor beszélünk Lagrange-féleinterpolációról.

Az interpolációs feladat mátrixa ez esetben

$\displaystyle B=\left[\begin{array}{cccc}
1 & x_{1} & \ldots & x_{1}^{n-1} \\
\vdots & \vdots & & \vdots \\
1 & x_{n} & \ldots & x_{n}^{n-1}
\end{array}\right],
$

az ún. Vandermonde-féle mátrix, amely a

$\displaystyle \det (B) = \prod_{1\leq i < j \leq n}(x_{j}-x_{i})
$

összefüggés miatt nemszinguláris. Tehát a Lagrange-féle interpolációs feladatnak egyértelmű megoldása van.

4.2. További fontos esetek

$ \bullet \quad $ A trigonometrikus interpolációt a

    $\displaystyle \phi_{1}\left( x\right)$ $\displaystyle = 1,$
    $\displaystyle \phi_{2}\left( x\right)$ $\displaystyle = \sin x,\ \phi _{3}\left( x\right) =\cos x,\ldots ,$
    $\displaystyle \phi_{2k}\left( x\right)$ $\displaystyle = \sin(kx),
 \phi_{2k+1}\left(x\right) =\cos(kx)$

$ ( k=1,\ldots , (n-1)/2)$ függvényrendszer, ahol $ n=2k+1$ , $ \left[ a,b\right] =\left[ -\pi ,\pi \right] $ .

$ \bullet \quad $ Az exponenciális interpolációt a

$\displaystyle \phi _{i}(x)=e^{\lambda _{i}x}\quad \left( i=1,\ldots,n, \lambda_{1}<\lambda_{2}
<\ldots <\lambda_{n}\right)
$

függvényrendszer definiálja.

$ \bullet \quad $ Racionális törtfüggvényeket használ a

$\displaystyle \phi_{i}(x)=1/(q_{i}+x) \quad \left( i=1,\ldots ,n,\ 0<q_{1}<\ldots
<q_{n}\right)
$

függvényrendszer. Itt fel kell tennünk, hogy $ \ x+q_{1}>0$ . Ez könnyen teljesül, ha $ x\in \left[ a,b\right] $ és $ a+q_{1}>0$ .

Nem minden $ \left\{ \phi _{i}(x)\right\} _{i=1}^{n}$ függvényrendszer és $ x_{1}<x_{2}<\ldots <x_{n}$ alappontok esetén van megoldása, illetve egyértelmű megoldása a lineáris interpolációs feladatnak. Például tekintsük a következő $ \phi _{1}(x)=1$ , $ \phi _{2}(x)=x^{2}$ alapfüggvényeket és az $ x_{1}=-1$ , $ x_{2}=1,$ $ f(x_{1})=y_{1},$ $ f(x_{2})=y_{2}$ pontokat. Ekkor

$\displaystyle B=\left[\begin{array}{cc}
1 & (-1)^{2} \\
1 & 1
\end{array}\right] ,\quad \det (B)=0,
$

így, ha $ y_{1}=y_{2}$ , akkor végtelen sok megoldása van a feladatnak, egyébként pedig egyáltalán nincs.

4.3. Lagrange interpoláció

4.4. Definíció.   lag1 Legyenek a bázisfüggvények:

$\displaystyle \phi_{1}(x)=1, \phi_{2}(x)=x, \ldots, \phi_{n}(x)=x^{n-1}
$

és legyenek adottak az $ x_{1}<x_{2}<\ldots <x_{n}$ alappontok és az $ y_{i}=f(x_{i})$ ( $ i=1,\ldots ,n$ ) függvényértékek. Határozzuk meg azt a legfeljebb $ \left(n-1\right)$ -ed fokú

$\displaystyle p(x)=a_{0}+a_{1}x+\ldots +a_{n-1}x^{n-1}
$

polinomot, amelyre teljesül a

$\displaystyle y_{i}=p(x_{i})\quad (i=1,\ldots ,n)
$

interpolációs feltétel.

Geometriailag azt jelenti, hogy illesszünk a sík $ n$ darab különböző $ x$ koordinátájú pontjára egy legfeljebb $ \left(n-1\right)$ -ed fokú polinomot.

A Lagrange-féle interpolációs polinom létezését és egyértelműségét már beláttuk. A polinom többféle ekvivalens alakban is felírható. Különösen fontos azonban a Lagrange-féle előállítás. Legyen

$\displaystyle l_{i}(x)=\prod_{k=1,k\neq i}^{n}\frac{x-x_{k}}{x_{i}-x_{k}}
\quad \left(i=1,\ldots ,n\right)
$

az $ i$ -edik Lagrange-féle alappolinom. Ekkor az interpolációs polinom előáll

$\displaystyle p(x)=\sum_{i=1}^{n}y_{i}l_{i}(x)
$

alakban.

Ennek igazolására vegyük észre, hogy

$\displaystyle l_{i}(x_{j})=\left\{\begin{array}{l}
1,\quad i=j \\
0,\quad i\neq j
\end{array}\right.
$

és így teljesül, hogy:

$\displaystyle p(x_{j})=\sum_{i=1}^{n}y_{i}l_{i}(x_{j})
=y_{j}l_{j}(x_{j})=y_{j}\quad (j=1,\ldots ,n).
$

Tehát

$\displaystyle f(x) \approx h(x) = p(x) =
\sum_{i=1}^{n}y_{i}l_{i}(x).
$

A Lagrange-alappolinommal való előállítás lehetőséget ad a megoldás egyértelmű létezésének közvetlen belátására is, anélkül, hogy a mátrix determinánsát ismernénk. A létezést konkrétan mutatja az előző felírás, ha pedig volna egy másik $ q(x)$ legfeljebb $ (n-1)$ -ed fokú polinom is, mely teljesíti a feltételeket, akkor a $ p(x)-q(x)$ polinomnak minden alappont zérushelye lenne. Mivel $ p(x)-q(x)$ is legfeljebb $ (n-1)$ -ed fokú polinom, nem lehet $ n$ darab zérushelye, csak ha $ p(x)\equiv q(x).$

A Lagrange-féle interpolációs polinom hibájára vonatkozik a következő tétel:

4.5. Tétel.   Ha $ f\in C^{n}\left[ a,b\right] $ , $ \left[ x_{1},x_{n}\right] \subseteq \left[ a,b\right] $ és $ x^{\ast }\in \left[ a,b\right] $ , akkor

$\displaystyle f(x^{\ast })-p(x^{\ast })=\frac{f^{(n)}(\xi )}{n!}(x^{\ast }-x_{1})
(x^{\ast}-x_{2})\ldots (x^{\ast }-x_{n}),
$

ahol $ \xi =\xi (x^{\ast })$ az $ x^{\ast }$ és az $ x_{1},x_{n}$ pontok által kifeszített intervallumban van.

Bizonyítás. Ha van olyan $ i$ , hogy $ x^{\ast }=x_{i}$ ,akkor állításunk triviális.

Egyébként legyen

$\displaystyle \omega (x) = (x-x_{1})(x-x_{2})\ldots (x-x_{n})
$

és tekintsük a következő segédfüggvényt:

$\displaystyle W(x)=f(x)-p(x)-[f(x^{\ast })-p(x^{\ast })]
\frac{\omega (x)}{\omega (x^{\ast})}.
$

A $ W(x)\in C^{n}\left[ a,b\right] $ függvénynek van $ n+1$ zérushelye: $ x^{\ast},x_{1},\ldots ,x_{n}$ .

A Rolle-tétel miatt $ W(x)$ bármely két zérushelye között a $ W^{\prime }(x)$ deriváltfüggvénynek is van zérushelye. Ezért $ W^{\prime }(x)$ -nek legalább $ n$ zérushelye van. Hasonlóképpen okoskodva belátható, hogy $ W^{\prime \prime }(x)$ -nek legalább $ n-1$ , $ W^{(3)}(x)$ -nek legalább $ n-2$ zérushelye van, és így tovább. Végül $ W^{(n)}(x)$ -nek is van legalább egy zérushelye, amit jelöljön $ \xi $ . Minthogy $ p^{(n)}(x)\equiv 0$ és $ \omega ^{(n)}(x)\equiv n!$ , ezért

$\displaystyle W^{(n)}(\xi ) =
f^{(n)}(\xi )-[f(x^{\ast })-p(x^{\ast })]
\frac{n!}{\omega(x^{\ast })}=0,
$

ahonnan átrendezéssel kapjuk a tétel állítását. $ \qedsymbol$

A tételt a következő formában szoktuk alkalmazni, az $ x\in\lbrack a,b]$ -beli hiba becslésére.

4.6. Tétel.   Legyen $ M_{n}$ az $ n$ -edik derivált abszolútértékének egy felső korlátja, azaz

$\displaystyle \left\vert f^{(n)}(x)\right\vert
\leq M_{n} \qquad (x\in \left[a,b\right]).
$

Ekkor

$\displaystyle \left\vert f(x)-p(x)\right\vert \leq \frac{M_{n}}{n!}
\left\vert(x-x_{1})(x-x_{2})\ldots (x-x_{n})\right\vert
\leq \frac{M_{n}}{n!}(b-a)^{n}.
$

A második egyenlőtlenség általában sokkal durvább becslést ad, mint az első. Előnye, hogy $ x$ -től független, egyenletes korlátot ad a hibára a teljes $ [a,b]$ -n. Konkrét $ n$ esetén szélsőérték számítással élesebb becslés is levezethető.

Példa. Hány ekvidisztáns alappontban kell megadnunk a $ \sin x$ függvény táblázatát a $ \left[ 0,\frac{\pi }{2}\right]$ intervallumon ahhoz, hogy a közbülső pontokban lineáris Lagrange-interpolációt használva az elkövetett hiba legfeljebb $ \varepsilon =10^{-4}$ legyen?

Megoldás. Vezessük be a $ h=x_{i+1}-x_{i}$ jelölést. A

$\displaystyle \left\vert f(x)-p(x)\right\vert \leq \frac{M_{n}}{n!}
\left\vert(x-x_{1})(x-x_{2})\ldots (x-x_{n})\right\vert
\leq \frac{M_{n}}{n!}(b-a)^{n}.
$

alapján olyan $ h$ -t keresünk, melyre $ (M_{2} h^{2})/2 \leq 10^{-4}.$ Mivel $ (\sin x)^{\prime \prime }=-\sin x,$ választhatjuk az $ M_{2}=1$ értéket. Ezzel $ h\leq \sqrt{2}/100,$ $ n\geq \frac{\pi }{2h}$ miatt $ n\geq 112$ adódik.

Ha viszont a hibakorlátot az

$\displaystyle \left\vert f(x)-p(x)\right\vert \leq \frac{M_{2}}{2}\max \left\vert
(x-x_{i})(x-x_{i+1})\right\vert
$

becslésből közvetlenül vezetjük le szélsőérték számítással, akkor az élesebb,

$\displaystyle \left\vert f(x)-p(x)\right\vert \leq \frac{M_{2}h^{2}}{8}
$

eredményt kapjuk. Ez alapján kiderül, hogy $ n=28$ pont is elég.

Az interpolációs eljárásoktól elvárjuk, hogy a pontok számának növelése esetén a közelítés hibája csökken. Ez azonban nem minden esetben van így, amint azt Runge kimutatta az $ f(x)=1/(1+x^{2})$ függvénynek az $ [a,b]=[-5,5]$ intervallumon, egyre növekvő fokszámú Lagrage interpolációs polinommal való közelítésével.

Példa. Közelítsük másodfokú függvénnyel az $ f(x)=\cos (\frac{\pi }{2}x)$ függvényt a $ [-1,1]$ intervallumon az $ x_{1}=-1,x_{2}=0,x_{3}=1$ pontokra támaszkodva.

Megoldás:

Ekkor $ f(x)\approx p(x)=A_{1}+A_{2}x+A_{3}x^{2}.$ Az együtthatókra felírható az

    $\displaystyle A_{1}-A_{2}+A_{3}$ $\displaystyle = 0$
    $\displaystyle A_{1}$ $\displaystyle = 1$
    $\displaystyle A_{1}+A_{2}+A_{3}$ $\displaystyle = 0$

egyenletrendszer. Innen $ p(x)=1-x^{2}.$

Természetesen ugyanezt kapjuk az $ l_{i}(x)$ Lagrange-függvényekkel is. Az előállítás szerint most $ f(x_{1})=f(x_{3})=0$ miatt elég az $ l_{2}(x)$ -t meghatározni, ez $ 1-x^{2}$ , ami jelen esetben a $ p(x)$ polinommal megegyezik.

A közelítés hibáját

$\displaystyle h\leq \frac{M_{3}}{3!}\max_{-1\leq x\leq 1}\left\vert
(x+1)x(x-1)\right\vert
$

becsli, ahol $ M_{3}$ az $ \left\vert f^{\prime \prime \prime }(x)\right\vert$ maximuma, jelen esetben $ \pi ^{3}/8.$ Szélsőérték-számítással adódik, hogy

$\displaystyle \max_{-1\leq x\leq 1}\left\vert (x+1)x(x-1)\right\vert =\frac{8}{27},
$

azaz $ h\leq \pi ^{3}/216\simeq 0.15$ .

4.4. Hermite interpoláció

Tegyük fel, hogy az $ x_0, x_1, \ldots, x_k \in [a,b]$ különböző alappontok $ (k \leq n)$ , továbbá $ m_0, m_1, \ldots, m_k \in \mathbb{N}$ multiplicitások úgy, hogy

$\displaystyle \sum_{i=0}^k m_i = n+1.
$

Legyenek adottak

$\displaystyle f^{(j)}(x_i) = y_{ij}, \left(i=0,\ldots, k\right.$    és $\displaystyle \left.j=0,\ldots,m_i-1\right)
$

értékek. Egy olyan $ n$ -edfokú $ P$ polinomot keresünk, melyre

$\displaystyle P^{(j)}(x_i) = y_{ij}, \left(i=0,\ldots, k\right.$    és $\displaystyle \left.j=0,\ldots,m_i-1\right)
$

4.7. Tétel.   Egyértelműen létezik egy olyan $ n$ -edfokú $ P$ polinom, melyre

$\displaystyle P^{(j)}(x_i) = y_{ij}, \left(i=0,\ldots, k\right.$    és $\displaystyle \left.j=0,\ldots,m_i-1\right)
$

A Hermite interpolációs polinom hibájára vonatkozik a következő tétel:

4.8. Tétel.   Ha $ f\in C^{n+1}\left[a,b\right] $ , és jelölje $ I\subset [a,b]$ az $ x_{1},x_2, \ldots,x_{k}$ alappontok által kifeszített intervallumot, ekkor minden $ x^{\ast }\in \left[ a,b\right] $ esetén létezik $ \xi = \xi(x^{\ast }) \in I$ , hogy

$\displaystyle f(x^{\ast })-P(x^{\ast })=\frac{f^{(n)}(\xi )}{n!} \omega (x^{\ast })
$

ahol

$\displaystyle \omega (x^{\ast }) = \prod_{i=0}^k (x^{\ast}-x_{i})^{m_i}.
$

Ha $ \sup_{x\in [a,b]} |f^{(n)}(x)| =: M_{n+1} < \infty$ , akkor

$\displaystyle f(x^{\ast })-P(x^{\ast }) \leq \frac{M_{n+1}}{n!} \omega (x^{\ast })
$

Megjegyzés.

4.9. Definíció.   Legyenek $ x_1,x_2,\ldots,x_n$ különböző pontok. Ekkor az

$\displaystyle f[x_i,x_{i+1}] = \dfrac{f(x_{i+1})-f(x_i)}{x_{i+1}-x_i} \qquad (i=1,\ldots,n-1),
$

mennyiségeket elsőrendű osztott differenciáknak nevezzük.

4.10. Definíció.   Legyenek $ x_1,x_2,\ldots,x_n$ különböző pontok. Ekkor

$\displaystyle f[x_i,\ldots,x_{i+k}] = \dfrac{f[x_{i+1},\ldots,x_{i+k}]-f[x_i,\ldots,x_{i+k-1}]}{x_{i+k}-x_i}
$

$ \qquad (k=1,\ldots,n, \, i=1,\ldots,n-k)$ mennyiségeket k-adrendű osztott differenciáknak nevezzük.

A Lagrange-féle interpoláció Newton-alakja

$\displaystyle P(x) = f(x_1) + \sum_{k=2}^n f[x_1,\ldots,x_{k}] \prod_{j=1}^{k-1} (x-x_j)
$

Azonos alappontok esetén az osztott differencia nem definiálható a szokásos formulával. A forgalom kiterjesztése határátmenettel történik.

4.11. Definíció.   Osztott differenciák ismétlődő argumentumokkal

$\displaystyle f[x,x] = \lim_{y\to x} \dfrac{f(x)-f(y)}{x-y} = f^{\prime} (x)
$

Hasonlóan a $ k-1$ -edrendű osztott differenciára adódik, hogy

$\displaystyle f[x,x,\ldots,x] = \dfrac{f^{k}(x)}{k!}
$

A többi, azonos alappontokat is tartalmazó osztott differencia a fentiekből a szokásos definícióval számolható.

Hermite-interpolációs polinom előállítása Newton alakkal:

Az osztott differencia táblázat felépítése:

Hermite-interpolációs polinom előállítása Lagrange alakkal:

Felírjuk a megfelelő alappolinomokat, majd mindegyiket a megfelelő $ f^{(j)}(x_i)$ -vel szorozva az interpolációs polinomot. Az alappolinomok előállítása bonyolult, az alappontok illetve a multiplicitás értékektől függ az alakjuk.

Példa. Mi lesz az $ f$ függvényt közelítő Hermite-interpolációs polinom, ha $ f(0) = -1, f(2) = -1, f^{\prime}(0) = -4, f^{\prime}(2) = 4$ és $ f^{\prime\prime}(2) = 12$

Megoldás: Elkészítjük az osztott differencia táblázatot.

Image Hermite

    $\displaystyle P(x)$ $\displaystyle = -1 + (-4)(x-0) + 2 (x-0)^2 + 0 (x-0)^2(x-2)$
      $\displaystyle + 1 (x-0)^2(x-2)^2 = -1 -4x + 2 x^2 + x^2 (x-2)^2$
      $\displaystyle = x^4 -4 x^3 + 6x^2 -4x -1$

4.5. Spline interpoláció

A Spline interpoláció is a lineáris interpolációk közé tartozik alkalmasan megválasztott $ \{\phi_{i}\}_{i=1}^{n}$ bázisfüggvény-rendszerrel.

4.12. Definíció.   A $ h(x)$ interpoláló függvényt szakaszonként adjuk meg speciális csatlakozási feltételekkel. Az $ a=x_{1}<x_{2}<\ldots <x_{n}=b$ alappontokhoz, illetve az $ y_{i}=f\left(x_{i}\right) $ ( $ i=1,\ldots ,n$ ) függvényértékekhez olyan $ S(x)$ függvényt keresünk, amely kielégíti a következő feltételeket:

(1) $ S(x)=S_{i}\left( x\right)\qquad (x\in \left[ x_{i},x_{i+1}\right])$

(2) $ S(x_i)=y_i \qquad (i=1,\ldots ,n)$ ,

(3) $ S_{i}\left(x_{i+1}\right) = S_{i+1} \left( x_{i+1}\right) \qquad (i=1,\ldots ,n-2)$

Megjegyzés.

A spline meghatározásakor $ n$ db $ k$ -adfokú polinomot kell felírnunk, azaz az ismeretlenek száma: $ n(k+1)$ .

Az (1), (3) feltételekből a feltételek száma : $ (k+1)n-(k-1)$ , ugyanis $ k-1$ db simasági feltétel az $ n-1$ belső pontban, azaz $ (n-1)(k-1)$ és $ 2n$ db interpolációs feltétel ($ n$ db intervallum két végpontja).

Összesen $ (n-1)(k-1) + 2n =(k+1)n-(k-1)$ . Innen látszik, hogy $ k-1$ db feltétel hiányzik a Spline egyértelműségéhez. Ezeket a feltételeket általában a végpontokra adják meg.

4.5.1. Lineáris spline (k=1)

Az (1), (2) és (3) egyértelműen meghatározza. Minden $ [x_k,x_{k+1}]$ intervallumon

    $\displaystyle S_k (x_{k})$ $\displaystyle = a_k x_{k} + b_k = y_{k}$
    $\displaystyle S_k (x_{k+1})$ $\displaystyle = a_k x_{k+1} + b_k = y_{k+1}$

Ebből az két ismeretlenes egyenletrendszerből $ a_k$ és $ b_k$ meghatározható.

Úgy is meghatározhatjuk a $ P_k$ polinomot, hogy az $ [x_k,x_{k+1}]$ intervallum végpontjaira felírjuk a lineáris interpolációs polinom Lagrange-féle alakját. Az interpoláció miatt $ S \in C[a,b]$ .

4.5.2. Kvadratikus spline (k=2)

A $ k-1=1$ feltétel hiányzik a spline egyértelmű felírásához. Ezt általában az intervallum elején vagy végén a derivált megadásával szokás teljesíteni. Ebben az esetben az egymás melletti intervallumokra Hermite interpolációt alkalmazva meghatározható a spline.

4.5.3. Köbös másodrendű Spline

A gyakorlatban túlnyomórészt harmadfokú, másodrendű Spline interpolációt használunk, és röviden csak harmadfokú Spline-ról beszélünk. Ekkor a további feltételek, amelyeket megkövetelünk:

(4) $ S_{i}^{\prime }\left( x_{i+1}\right)= S_{i+1}^{\prime }\left(x_{i+1}\right) \qquad (i=1,\ldots ,n-2)$ ,

(5) $ S_i^{\prime \prime }\left( x_{i+1}\right)= S_{i+1}^{\prime \prime}\left( x_{i+1}\right) \qquad (i=1,\ldots ,n-2)$ ,

(6) $ S^{\prime \prime }(x_{1})=A_{n},$    és $ S^{\prime \prime }(x_{n})=B_{n}$

Ha $ A_{n}=B_{n}=0$ , akkor az $ S(x)$ függvényt természetes Spline-nak nevezzük.

Az $ S(x)$ Spline-t az $ \left[ x_{i},x_{i+1}\right] $ intervallumon a

$\displaystyle S(x)=S_{i}(x)=a_{i}+b_{i}(x-x_{i})+c_{i}(x-x_{i})^{2}+d_{i}(x-x_{i})^{3}
$

alakban keressük ( $ i=1,\ldots ,n-1$ ). Leszámlálhatjuk, hogy a $ 4(n-1)$ darab ismeretlenhez a (2) - (6) feltételek pontosan ugyanannyi egyenletet szolgáltatnak, és az egész együtt egy lineáris egyenletrendszer. Az $ x^{k}$ hatványok helyett az $ \left(x-x_{i}\right)^{k}$ használatának praktikus okai vannak.

Jelöljük $ h_{i}$ -vel az $ i$ -edik szakasz hosszát, azaz legyen $ h_{i}=x_{i+1}-x_{i}$ $ (i=1,\ldots ,n-1).$ A (2) - (6) feltételek felhasználásával az ismeretlen $ a_{i},b_{i},c_{i}$ és $ d_{i}$ együtthatókat a következőképpen határozhatjuk meg. A (2), azaz az $ S(x_{i})=S_{i}(x_{i})=y_{i}$ interpolációs feltétel miatt

$\displaystyle a_{i} = y_{i} \qquad (i=1,\ldots ,n-1)
$

(ebből látszik, hogy mi az $ \left(x-x_{i}\right)$ eltolás értelme),

valamint:

$\displaystyle S_{n-1}(x_{n})=a_{n-1}+b_{n-1}h_{n-1}+c_{n-1}h_{n-1}^{2}+d_{n-1}h_{n-1}^{3}=y_{n}.
$

A (3)-as csatlakozási feltétel alakja:

$\displaystyle S_{i}(x_{i+1})=y_{i}+b_{i}h_{i}+c_{i}h_{i}^{2}+d_{i}h_{i}^{3}=y_{i+1} \qquad(i=1,\ldots ,n-2),
$

A (4)-es csatlakozási feltétel:

$\displaystyle S_{i}^{\prime}(x_{i+1}) = b_{i}+2c_{i}h_{i}+3d_{i}h_{i}^{2}
= b_{i+1} = S_{i+1}^{\prime}(x_{i+1}) \qquad (i=1,\ldots ,n-2).
$

Hasonlóképpen kapjuk, hogy az (5)-ös feltétel alakja:

$\displaystyle S_{i}^{\prime \prime }(x_{i+1})=2c_{i}+6d_{i}h_{i}
= 2c_{i+1}=S_{i+1}^{\prime\prime }(x_{i+1})
\qquad (i=1,\ldots ,n-2).
$

Végül a (6)-os végpont-feltétel:

$\displaystyle S^{\prime \prime }(x_{1})=2c_{1} = A_{n},\quad S^{\prime \prime}(x_{n})
= 2c_{n-1}+6d_{n-1}h_{n-1} = B_{n}.
$

Így $ 4n-4$ darab egyenlet kapunk, ahonnan az $ a_{i}$ és a $ c_{1}$ értékei azonnal adódtak. A többiből a $ b_{i}$ és $ d_{i}$ ismeretleneket $ (i=1,\ldots ,n-1)$ fokozatosan ki lehet fejezni és a többibe behelyettesíteni. Végül a következőhöz jutunk:

    $\displaystyle b_{i}$ $\displaystyle = \frac{y_{i+1}-y_{i}}{h_{i}} - \frac{2c_{i}+c_{i+1}}{3}h_{i} \qquad (i=1,\ldots ,n-2)$
    $\displaystyle b_{n-1}$ $\displaystyle = \frac{y_{n}-y_{n-1}}{h_{n-1}} - \frac{4c_{n-1}-B_{n}}{6}h_{n-1},$

továbbá

    $\displaystyle d_{i}$ $\displaystyle = \frac{c_{i+1}-c_{i}}{3h_{i}} \qquad (i=1,\ldots ,n-2)$
    $\displaystyle d_{n-1}$ $\displaystyle = \frac{B_{n}-2c_{n-1}}{6h_{n-1}}.$

A $ c_{i}$ együtthatók ismeretében tehát valamennyi ismeretlen közvetlenül számolható. Minthogy $ c_{1}=A_{n}$ már ismert, így egy $ n-2$ ismeretlenes egyenletrendszert kell megoldani, ami a

$\displaystyle \Delta_{i}=\left(y_{i+1}-y_{i}\right) /h_{i},
\lambda_{i}=h_{i+1}/\left( h_{i}+h_{i+1}\right), \mu _{i}=1-\lambda _{i}
$

$ (i=1,\ldots ,n-2)$ bevezetésével a következő:

(4.1) $\displaystyle 2 c_{2} + \lambda_{1} c_{3} = \frac{3}{h_{1}+h_{2}}
 \left(\Delta_{2}-\Delta_{1} - \frac{h_{1}}{2}A_{n}\right),$

(4.2) $\displaystyle \mu_{i}c_{i} + 2 c_{i+1} + \lambda_{i} c_{i+2} =
 \frac{3}{h_{i}+h_{i+1}} \left(\Delta_{i+1} - \Delta_{i}\right),$

$ \left(i=2, \ldots, n-3\right)$ és

(4.3) $\displaystyle \mu_{n-2} c_{n-2} + 2c_{n-1} = \frac{3}{h_{n-2} + h_{n-1}}
 \left(\Delta_{n-1} - \Delta_{n-2} + \frac{h_{n-1}}{6}B_{n}\right).$

Ez egy $ n-2$ ismeretlenes lineáris egyenletrendszer a $ c_{2},c_{3},\ldots ,c_{n-1}$ ismeretlenekre. (mivel az $ a_{i}\,(i=1,\ldots ,n-1)$ és a $ c_{1}$ együtthatók közvetlenül adódnak).

Az $ n=3$ esetén (4.1) és (4.2) nincs értelmezve, $ c_{2}$ ekkor (4.3)-ból számolható. Az $ n=4$ esetén pedig (4.2) nem értelmezett, a $ c_{2}$ és $ c_{3}$ a másik két egyenletből határozható meg. Ekkor az együttható mátrix:

$\displaystyle A=\left[\begin{array}{cc}
2 & \lambda _{1} \\
\mu _{2} & 2
\end{array}\right].
$

Az egyenletrendszer mátrixa $ n>4$ esetén pedig

$\displaystyle A=\left[\begin{array}{cccccc}
2 & \lambda_{1} & 0 & & \ldots & 0 \\
\mu_{2} & 2 & \lambda_{2} & \ddots & \ddots & \vdots \\
0 & \ddots & \ddots & \ddots & & 0 \\
\vdots & \ddots & \ddots & \ddots & & \\
& & & \mu _{n-3} & 2 & \lambda _{n-3} \\
0 & & \ldots & 0 & \mu _{n-2} & 2
\end{array}\right],
$

egy három átlóból álló sávmátrix. Ez a mátrix nemszinguláris (ez bizonyítani például a Gersgorin tétel segítségével lehet). Minthogy az $ A$ mátrix diagonálisan domináns is, ezért az egyenletrendszer főelemkiválasztás nélkül Gauss-eliminációval megoldható $ O(n)$ régi flop művelettel.

Példa. Tegyük fel, hogy az $ f$ függvényről a következő táblázat áll rendelkezésünkre:

$\displaystyle \begin{array}{c|r|r|r|}
x & -1 & 0 & 1 \\ \hline
y=f(x) & 1 & 0 & 1
\end{array}
$

Adjuk meg hozzá a természetes Spline-t!

Megoldás. Természetes Spline esetén $ A = B =0$ . Ekkor $ a_{i} = y_{i}$ miatt $ a_{1}=1$ és $ a_{2}=0$ . A (6)-os végpont-feltételből pedig $ c_{1}=0$ adódik.

Mivel $ h_{1} = h_{2} = 1$ és $ \Delta_{1}=-1, \Delta_{2}=1,$ továbbá $ \mu_{1}$ -et a $ c_{1}=0$ miatt ki sem kell számolni (egyébként $ \mu_{1}=1-\lambda _{1}=1-1/2=1/2$ ).

A (4.3) miatt

$\displaystyle 2 c_{2} = \frac{3}{1+1} \left(1-(-1) + \frac{1}{6}0 \right)
= 3\rightarrow c_{2} = \frac{3}{2}
$

Továbbá a $ b$ -re vonatkozó egyenletekből $ b_{1} = -3/2$ és $ b_{2}=0$ adódik; a $ d$ -re vonatkozóakból pedig $ d_{1}=1/2$ és $ d_{2}=-1/2$ .

A Spline két tagja tehát

    $\displaystyle S_{1}(x)$ $\displaystyle = 1 -\frac{3}{2}\left( x+1\right) + \frac{1}{2}\left( x+1\right)^{3} =\frac{3}{2}x^{2}+\frac{1}{2}x^{3}$
    $\displaystyle S_{2}(x)$ $\displaystyle = \frac{3}{2}x^{2}-\frac{1}{2}x^{3}$

4.13. Tétel.   Az (1) - (6) feltételekkel meghatározott Spline létezik és egyértelmű. Ha $ f\in C^{2}\left[ x_{1},x_{n}\right] $ , akkor létezik $ K>0$ konstans, amellyel fennáll a következő:

$\displaystyle \vert f(x)-S(x) \vert \leq K\left( \max_{1\leq i\leq n-1}h_{i}\right)^{2} \qquad \left( x\in \left[ x_{1},x_{n}\right] \right) .
$

Ha pedig $ f\in C^{3}\left[ x_{1},x_{n}\right], A_{n}=f^{\prime \prime}(x_{1})$ és $ B_{n}=f^{\prime \prime }(x_{n})$ , akkor létezik $ \widetilde{K}>0$ konstans, hogy

$\displaystyle \vert f(x)-S(x)\vert \leq \widetilde{K}\left( \max_{1\leq i\leq n-1}h_{i}\right)^{3} \qquad \left( x\in \left[ x_{1},x_{n}\right] \right).
$

Ha az $ f^{\prime \prime }\left( x_{1}\right) $ és $ f^{\prime \prime}\left( x_{n}\right)$ információk nem állnak rendelkezésre, akkor a természetes Spline-t definiáló $ A_{n}=B_{n}=0$ választással élünk. A közelítés hibájára ekkor az első becslés érvényes. A természetes Spline az

$\displaystyle \int_{a}^{b}\left[ s^{\prime \prime }(x)\right]^{2}dx \rightarrow \min \qquad \left(s(x_{i})=y_{i}, i=1,\ldots ,n\right)
$

feltételes szélsőértékfeladat megoldása.

A (6) végpont-feltétel helyett más kikötések is lehetségesek.

A Spline függvények előnyei: gyors és numerikusan stabil kiszámítás, nagyon jó közelítési tulajdonságok. Hátrányuk a bonyolult megadás, de ez számítógépek használata esetén nem jelent komoly problémát.

5. Mátrixok sajátértékei, sajátvektorai

Szükségünk van a komplex elemű mátrixok és vektorok bevezetésére. A komplex elemű $ n$ -dimenziós oszlopvektorok halmazát $ \mathbb{C}^{n}$ -el jelöljük. Hasonlóképpen az $ m\times n$ méretű komplex elemű mátrixok halmazát $ \mathbb{C}^{m\times n}$ jelöli. Nyilvánvalóan tekinthetjük úgy, hogy $ \mathbb{R}^{n}\subset \mathbb{C}^{n}$ és $ \mathbb{R}^{m\times n}\subset \mathbb{C}^{m\times n}$ .

A valós elemű vektorokra és mátrixokra bevezetett műveletek és a determináns értelmezése ugyanaz a komplex esetben is, mint valósban. A komplex vektorok és mátrixok normájának definíciója is változatlan marad. (Ezért kell a normák definíciójában négyzetek helyett (valós számok esetén feleslegesen) abszolút érték négyzeteket.

5.1. Definíció.   Legyen $ A\in \mathbb{C}^{n\times n}$ tetszőleges mátrix. A $ \lambda \in \mathbb{C}$ számot az $ A$ mátrix sajátértékének, az $ x\in \mathbb{C}^{n}, \, (x\neq 0)$ vektort pedig a $ \lambda $ sajátértékhez tartozó (jobboldali) sajátvektornak nevezzük, ha

(5.1) $\displaystyle Ax=\lambda x.$

A sajátvektor egy olyan vektor, amelyet az $ x\rightarrow Ax$ leképezés a saját hatásvonalán hagy (irányítás, nagyság változhat). A sajátérték-feladat megoldása a sajátértékek és a hozzájuk tartozó sajátvektorok meghatározását jelenti. A sajátérték-feladat tehát olyan $ \lambda $ (valós vagy komplex) szám(ok) keresését jelenti melyekre az (5.1) egyenletnek van nemzérus megoldása. Átrendezés után az eredeti egyenlettel ekvivalens $ (A-\lambda I)x=0$ alakot kapjuk. Ennek a homogén egyenletrendszernek keressük tehát a nemtriviális megoldásait, ami akkor és csak akkor létezik, ha $ \det(A-\lambda I)=0$ .

5.2. Definíció.   A

(5.2) $\displaystyle \phi (\lambda )=\det (A-\lambda I)= \det \left( \left[\begin{array}{cccc}
 a_{11}\text{--}\lambda & a_{12} & \ldots & a_{1n} \\ 
 a_{21} & a_{22}-\lambda & \ldots & a_{2n} \\ 
 \vdots & \vdots & \ddots & \vdots \\ 
 a_{n1} & a_{n2} & \ldots & a_{nn}-\lambda
 \end{array}\right] \right) =0$

egyenletet az $ A$ mátrix karakterisztikus egyenletének nevezzük.

A determinánst kifejtve a $ \lambda $ változó $ n$ -ed fokú polinomját, azaz a

(5.3) $\displaystyle \phi (\lambda )=(-1)^{n}\lambda ^{n}+p_{n-1}\lambda ^{n-1}+\ldots
 +p_{1}\lambda +p_{0}$

karakterisztikus polinomot kapjuk.

Az algebra alaptétele szerint a multiplicitásokat is figyelembe véve egy $ n$ -ed fokú polinomnak a komplex számok körében pontosan $ n$ zérushelye van. (Ezért kellett tehát kilépnünk a valós számok köréből.) Egy $ \lambda _{i}$ gyök multiplicitásán azt értjük, hogy a polinom gyöktényezős alakjában a $ \left( \lambda -\lambda _{i}\right) $ milyen hatványkitevővel szerepel.

5.3. Tétel.   Egy $ A\in \mathbb{C}^{n\times n}$ mátrixnak a multiplicitásokat is figyelembe véve pontosan $ n$ sajátértéke van.

Egy mátrix sajátértékeinek összességét a mátrix spekrumának nevezzük. A spektrumból a mátrixnak nagyon sok fontos tulajdonsága kiolvasható. Csupán kettőt említve:

A sajátvektorok darabszámára már nem lehet olyan kijelentést tenni, mint a sajátértékekére. Néhány fontos tulajdonság felsorolásával jellemezhetjük a viszonyokat.

$ \bullet \quad $ Ha $ x$ a $ \lambda $ sajátértékhez tartozó sajátvektor, akkor bármilyen $ t\in \mathbb{C}$ $ (t\neq 0)$ mellett $ tx$ is az. Ez a definíciós (5.1) egyenletbe való behelyettesítésből azonnal kiderül. Tehát az adott $ \lambda $ sajátérték esetén a hozzátartozó lineárisan független sajátvektorokat kell meghatározni, mert azok összes lineáris (de zérustól különböző) kombinációja adja meg a $ \lambda $ -hoz tartozó összes sajátvektort.

$ \bullet $     Egy adott $ \lambda $ -hoz tartozó lineárisan független sajátvektorok száma legfeljebb annyi, mint a $ \lambda $ multiplicitása. (Ennek belátása nem egyszerű, itt mellőzzük az igazolását.)

$ \bullet $     Különböző sajátértékekhez tartozó sajátvektorok lineárisan függetlenek. Ez a tény azonnal következik az első tulajdonságból.

Ezek után tétel formában megemlítünk a sajátértékek tulajdonságai közül is néhányat, melyek a numerikus értékük meghatározásában, becslésében fontos szerepet játszanak.

5.4. Tétel.   Ha $ \lambda $ az $ A$ mátrix sajátértéke és $ x$ egy hozzátartozó sajátvektor, akkor tetszőleges $ \sigma \in \mathbb{C}$ esetén az $ A-\sigma I$ mátrixnak sajátértéke a $ \lambda -\sigma $ és ugyanaz az $ x$ egy hozzátartozó sajátvektor.

Bizonyítás. $ \left( A-\sigma I\right) x=Ax-\sigma Ix=\lambda x-\sigma x=\left( \lambda -\sigma \right) x.$ $ \qedsymbol$

$ A$ -hoz a $ \sigma I$ hozzáadását a spektrum eltolásának is nevezzük .

5.5. Tétel.   Ha az $ A$ mátrix sajátértékei $ \lambda _{1},\lambda_{2},\ldots ,\lambda _{n}$ , akkor az $ A^{k}$ mátrix sajátértékei $ \lambda_{1}^{k},\lambda _{2}^{k},\ldots ,\lambda _{n}^{k}.$

Bizonyítás. Legyen $ \lambda $ akármelyik sajátérték. Ekkor $ A^{k}x=A(...(A(A))...)x = A(...(A)...)(\lambda \cdot \lambda) x = \lambda ^{k}x.$ $ \qedsymbol$

A tétel kiterjeszthető $ A$ tetszőleges polinomjára is.

5.6. Tétel.   Ha az $ A\in \mathbb{C}^{n\times n}$ nemszinguláris mátrixnak $ \lambda $ sajátértéke és $ x$ egy hozzátartozó sajátvektor, akkor az $ A^{-1}$ -nek sajátértéke az $ 1/\lambda$ és $ x$ itt is hozzátartozó sajátvektor.

Bizonyítás. $ Ax=\lambda x\rightarrow A^{-1}Ax=A^{-1}\lambda x\rightarrow x=A^{-1}\lambda x.$ Osszunk át a nemzérus $ \lambda $ -val. $ \qedsymbol$

5.7. Tétel.   Legyen $ \lambda $ az $ A$ mátrix akármelyik sajátértéke. Tetszőleges indukált mátrixnormában fennáll, hogy $ \left\vert \lambda \right\vert \leq \left\Vert A\right\Vert $ .

Bizonyítás. $ \left\Vert \lambda x\right\Vert =\left\vert \lambda \right\vert \left\Vert x\right\Vert =\left\Vert Ax\right\Vert \leq \left\Vert A\right\Vert \left\Vert x\right\Vert $ , ahonnan $ x\neq 0$ miatt $ \left\vert \lambda \right\vert \leq \left\Vert A\right\Vert $ adódik. $ \qedsymbol$

Bármely $ \lambda $ tehát egy olyan origó közepű körben helyezkedhet el, amelyik sugara egyetlen indukált normánál sem nagyobb. A következő tétel egy még általánosabb tartományra, $ n$ darab körlap egyesítésére szűkíti a sajátértékek lehetséges előfordulását.

5.8. Tétel.   Gersgorin Tétel
Legyen $ A\in \mathbb{C}^{n\times n}$ , továbbá

$\displaystyle r_{i}=\sum_{j=1,j\neq i}^{n}\left\vert a_{ij}\right\vert \quad \left(i=1,\ldots ,n\right)
$

az $ i$ -edik kör sugara. Legyen az $ i$ -edik körlap:

$\displaystyle D_{i}=\left\{ z\in \mathbb{C}: \left\vert z-a_{ii}\right\vert \leq r_{i}\right\} \quad \left( i=1,\ldots ,n\right).
$

Ekkor az $ A$ mátrix minden $ \lambda $ sajátértékére fennáll, hogy

$\displaystyle \lambda \in \cup _{i=1}^{n}D_{i}.
$

Bizonyítás. Legyen $ v=\left[ v_{1},\ldots ,v_{n}\right] ^{T}$ az egyik, tetszőleges $ \lambda $ -hoz tartozó sajátvektor, $ i$ pedig az az index, amelyre fennáll, hogy $ \left\Vert v\right\Vert _{\infty }=\left\vert
v_{i}\right\vert $ . ( $ \left\vert v_{i}\right\vert $ értéke $ v\neq 0$ miatt nyilván nem zérus.) Az $ Av=\lambda v$ egyenletrendszer $ i$ -edik egyenlete

$\displaystyle \lambda v_{i}=a_{ii}v_{i}+\sum_{j=1,j\neq i}^{n}a_{ij}v_{j},
$

ahonnan átrendezéssel

$\displaystyle \left\vert \lambda v_{i}-a_{ii}v_{i}\right\vert =\left\vert \lambda -a_{ii}\right\vert \left\vert v_{i}\right\vert =\left\vert \sum_{j=1,j\neq i}^{n}a_{ij}v_{j}\right\vert \leq \sum_{j=1,j\neq i}^{n}\left\vert a_{ij}\right\vert \left\vert v_{i}\right\vert
$

adódik. Mindkét oldalt $ \left\vert v_{i}\right\vert $ -vel elosztva kapjuk, hogy

$\displaystyle \left\vert \lambda -a_{ii}\right\vert \leq r_{i}.
$

Tehát minden $ \lambda $ sajátérték benne van valamelyik $ D_{i}$ körlemezben, az összes sajátérték benne van az egyesítésükben. $ \qedsymbol$

Példa. Legyen

$\displaystyle A=\left[\begin{array}{rrr}
3 & 1 & 2 \\ 0 & 1 & 0 \\ -5 & -1 & -4 \end{array}\right].
$

Megoldás: A karakterisztikus polinom, illetve egyenlet

$\displaystyle \det \left( \left[\begin{array}{rrrrr}
3-\lambda & & 1 & & 2 \\ 0 & & 1-\lambda & & 0 \\ -5 & & -1 & & -4-\lambda \end{array}\right] \right)
=-\lambda ^{3}+3\lambda -2=0.
$

A gyöktényezős alak: $ -\left( \lambda +2\right) \left( \lambda -1\right) ^{2}=0.$ Vagyis a sajátértékek: $ \lambda _{1}=-2$ , egyszeres és $ \lambda_{2}=1 $ kétszeres. Felírva a két sajátértékhez tartozó egyenletet:

$\displaystyle \left[ \begin{array}{rrr}
5 & 1 & 2 \\ 0 & 3 & 0 \\ -5 & -1 & -2 \end{array}\right]
\left[\begin{array}{l} x_{1} \\ x_{2} \\ x_{3} \end{array}\right] =0$   és $\displaystyle \left[\begin{array}{rrr} 2 & 1 & 2 \\ 0 & 0 & 0 \\ -5 & -1 & -5 \end{array} \right]
\left[\begin{array}{l} x_{1} \\ x_{2} \\ x_{3} \end{array}\right] =0
$

Az első egyenletrendszerből független (például) az első kettő, ennek megodása:

$\displaystyle [-0.4t,0,t]^{T},$

a másodiké:

$\displaystyle [\tau ,0,-\tau ]^{T}$

( $ t,\tau \neq 0$ , egyébként tetszőleges komplex számok). A feladat kívánalmának megfelelnek, ha $ t,\tau =1.$

Az $ A$ indukált normái: $ \left\Vert A\right\Vert _{1}=8$ , $ \left\Vert A\right\Vert _{\infty }=10$ , $ \left\Vert A\right\Vert _{2}=7.47.$ Ezek közül a $ 7.47$ a legkisebb, tehát a tétel szerint minden sajátérték benne van az origó közepű, ilyen sugarú körben. Írjuk fel a Gersgorin tételben szereplő körök egyenletét: $ \left( x-3\right) ^{2}+y^{2}=3^{2};\quad \left( x-1\right)^{2}+y^{2}=0^{2};\quad \left( x+4\right) ^{2}+y^{2}=6^{2}$

Image Gersgorin

Az ábrán jól láthatóak az egyes körlapok (a második egyetlen pont). A Gersgorin tételben szereplő körlapok uniójának és a tételben említett körlapnak a metszetét vastagabb piros vonallal határoltuk. Látható, hogy azért elég durva lehet ez a becslés.

A sajátérték-feladat megoldása elvileg is nehéz, numerikusan méginkább. A karakterisztikus egyenlet megoldása nagyobb dimenzióban, majd adott esetben az igen nagyméretű szinguláris mátrixú egyenlet megoldása komoly gondot jelenthet. Éppen ezért elméleti jelentősége mellett a gyakorlat számára is fontos kérdés, hogy adott mátrixhoz lehet-e olyan másikat találni, amelynek sajátértékei megegyeznek az eredetivel. Az új mátrix sajátértékei esetleg könnyebben meghatározhatók.

5.9. Definíció.   Legyen $ A\in \mathbb{C}^{n\times n}$ tetszőleges mátrix és $ T\in \mathbb{C}^{n\times n}$ nemszinguláris. Ekkor az $ A\rightarrow T^{-1}AT$ leképezést hasonlósági transzformációnak nevezzük, és ha $ B=T^{-1}AT$ , akkor azt mondjuk, hogy $ A$ és $ B$ hasonló.

5.10. Tétel.   Ha $ A$ és $ B$ hasonlóak, azaz $ B=T^{-1}AT$ valamely nemszinguláris $ T$ mátrixszal, akkor $ A$ és $ B$ sajátértékei megegyeznek. Továbbá, ha egy $ \lambda $ sajátértékhez az $ A$ mátrix $ x$ sajátvektora tartozik, akkor az $ y=T^{-1}x$ a $ B$ sajátvektora.

Bizonyítás. Definíció szerint

$\displaystyle Ax=\lambda x\Leftrightarrow T^{-1}Ax=\lambda T^{-1}x\Leftrightarrow T^{-1}AT(T^{-1}x)=\lambda (T^{-1}x)\Leftrightarrow By=\lambda y,
$

ami bizonyítandó volt. $ \qedsymbol$

Vannak mátrixok, amelyek spektruma a mátrixból kiolvasható. Azonnal látszik, hogy a diagonálmátrixok sajátértékei a főátló elemei, de hasonlóképp rögtön látható, hogy ugyanez a helyzet a háromszögmátrixoknál is. Azoknál is a főátlóbeli elemek szorzata adja a determinánst és az $ A-\lambda I$ olyan háromszögmátrix, melynek főátlóját az $ a_{ii}-$ $ \lambda $ értékek alkotják. Felmerül tehát az ilyen alakú mátrixokra való hasonlósági transzformáció kérdése.

5.11. Definíció.   Egy $ A$ mátrix diagonalizálható, ha van olyan $ T$ mátrix $ (\det (T)\neq 0)$ , hogy a $ T^{-1}AT$ hasonló mátrix diagonális.

A diagonalizálhatóság pontos feltételét meglehetősen bonyolult ellenőrizni, kivitelezése ugyancsak. Éppen ezért inkább elméleti jelentőségű. Háromszögmátrixra való hasonlósági transzformációt szintén nehéz találni. Viszont ismerünk olyan numerikus eljárást, amelyik hasonlósági transzformációk végtelen sorozatával "kinullázza" a főátló alatti elemeket, miközben a diagonális elemek is konvergálnak. Vagyis elég messze elmenve a sorozattal, a főátlóban lévő elemek az eredeti mátrix sajátértékeinek jó közelítései, függetlenül attól, hogy a főátló fölötti elemek konvergálnak-e vagy sem. Fenti megjegyzésünkben szereplő eljárást nem ismertetjük. Ismertetjük viszont azt, amiből általánosítással származtatható az említett (a főátló alatt "nullázó") módszer.

5.1. A hatványmódszer

Sok gyakorlati problémánál a legnagyobb abszolút értékű sajátértéknek döntő szerepe van, ezért azt domináns sajátértéknek nevezzük. A sajátértékek sorszámozása akaratlagos, de rendszerint úgy számozzuk, hogy teljesüljön a következő: $ \left\vert \lambda_{1}\right\vert \geq \left\vert \lambda _{2}\right\vert \geq \ldots \geq \left\vert \lambda _{n}\right\vert $ . Ekkor tehát a $ \lambda _{1}$ a domináns. Általában mindegyik sajátértéket felsoroljuk. Valamely sajátérték multiplicitást úgy vesszük figyelembe, hogy annyiszor szerepel, amennyi a multiplicitása. A sajátvektorok közül is megadunk minden felsorolt sajátértékhez egyet, tehát $ n$ darabot adunk meg: $ x_{1},x_{2}\ldots ,x_{n}$ (akkor is, ha azok nem feltétlenül lineárisan függetlenek). A domináns sajátérték közelítő meghatározására szolgáló egyik módszer alapgondolata von Mieses-től származik, ezért szokás Mieses-módszernek is nevezni.

Tegyük fel, hogy az $ A\in \mathbb{R}^{n\times n}$ valós mátrix sajátértékei is valósak, a domináns pedig egyedüli, azaz

(5.4) $\displaystyle \left\vert \lambda _{1}\right\vert >\left\vert \lambda _{2}\right\vert \geq \ldots \geq \left\vert \lambda _{n}\right\vert .$

Tegyük továbbá fel, hogy a $ v^{(0)}$ kezdővektort sikerült úgy megválasztani, hogy előállítható a sajátvektorok olyan lineáris kombinációjaként, amelyben $ x_{1}$ szerepel, azaz alkalmas $ \alpha _{i}$ konstansokkal: $ v^{(0)}=\alpha_{1}x_{1}+\alpha _{2}x_{2}+\ldots + \alpha _{n}x_{n},$ ahol $ \alpha _{1}\neq 0.$

Képezzük a $ v^{(k)}=Av^{(k-1)}=A^{k}v^{(0)}$ ( $ k=1,2,\ldots $ ) sorozatot. (Itt a zárójel nélküli felső index hatványkitevő; ez is magyarázza a módszer elnevezését.) A kiinduló feltevések miatt

$\displaystyle \begin{array}{ccccl}
v^{(1)} & = & Av^{(0)} & = & A(\alpha _{1}x_{1}+\alpha _{2}x_{2}+\ldots+\alpha _{n}x_{n}) \\
& & & = & \alpha _{1}\lambda _{1}x_{1}+\alpha _{2}\lambda _{2}x_{2}+\ldots +\alpha _{n}\lambda _{n}x_{n},
\end{array}
$

illetve

$\displaystyle \begin{array}{ccccl}
v^{(k)} & = & Av^{(k-1)} & = & A(\alpha _{1}\lambda _{1}^{k-1}x_{1}+\alpha_{2}\lambda _{2}^{k-1}x_{2}+\ldots +\alpha _{n}\lambda _{n}^{k-1}x_{n}) \\
& & & = & \alpha _{1}\lambda _{1}^{k}x_{1}+\alpha _{2}\lambda_{2}^{k}x_{2}+\ldots +\alpha _{n}\lambda _{n}^{k}x_{n} \\
& & & = & \lambda _{1}^{k}\left( \alpha _{1}x_{1}+\alpha _{2}\left( \frac{\lambda _{2}}{\lambda _{1}}\right) ^{k}x_{2}
+\ldots +\alpha _{n}\left( \frac{\lambda _{n}}{\lambda _{1}}\right) ^{k}x_{n}\right) .
\end{array}
$

Legyen $ y\in \mathbb{R}^{n}$ tetszőleges olyan vektor, amelyre $ y^{T}v^{(k)}\neq 0$ . Ekkor

$\displaystyle \frac{y^{T}Av^{\left( k\right) }}{y^{T}v^{\left( k\right) }}$=$\displaystyle \frac{y^{T}v^{\left( k+1\right) }}{y^{T}v^{\left( k\right) }}$=$\displaystyle \frac{\lambda_{1}^{k+1}\left( \alpha _{1}y^{T}x_{1}\text{+}\sum_{i=2}^{n}\alpha_{i}\left( \frac{\lambda _{i}}{\lambda _{1}}\right) ^{k+1}y^{T}x_{i}\right)}{\lambda _{1}^{k}\left( \alpha _{1}y^{T}x_{1}\text{+}\sum_{i=2}^{n}\alpha_{i}\left( \frac{\lambda _{i}}{\lambda _{1}}\right) ^{k}y^{T}x_{i}\right) } \rightarrow \lambda _{1},
$

ha $ k\rightarrow \infty ,$ mert (5.4) miatt $ \left\vert \lambda_{k}/\lambda _{1}\right\vert \leq \left\vert \lambda _{2}/\lambda _{1}\right\vert <1$ ($ k\geq 2$ ). Ugyanezért

$\displaystyle \frac{v^{\left( k\right) }}{\lambda _{1}^{k}}\rightarrow \alpha _{1}x_{1}.
$

A $ v^{\left( k\right) }$ tehát egyre "párhuzamosabb" lesz $ x_{1}$ -gyel, azaz maga is egyre jobb közelítése egy $ \lambda _{1}$ -hez tartozó sajátvektornak. Gondot okoz viszont, hogy komponensei a $ \lambda _{1}$ abszolút értékétől függően egyre nagyobb abszolút értékűek lehetnek, vagy gyorsan tarthatnak zérushoz. Mindkét eset numerikusan előbb utóbb kezelhetetlenné válik. Megoldást jelent viszont, ha időnként, leginkább minden lépésben osztjuk egy számmal (hisz a hossz változásával egy sajátvektor sajátvektor marad). Legkényelmesebb, ha normálunk, azaz a saját $ \infty $ jelű normájával osztunk. Összefoglalva, az algoritmus a következő:

5.1.1. A hatványmódszer algoritmusa

1 Input $ v^{\left( 0\right) }\in \mathbb{R}^{n}, \varepsilon \quad (\varepsilon >0)$
2 For $ k=1,2,\ldots $      $ z^{(k)}=Av^{(k-1)}$
3          $ \gamma _{k}=y^{T}z^{\left( k\right) }/y^{T}v^{\left( k-1\right) }$ ,    ( $ y^{T}\in \mathbb{R}^{n}$ , lépésenként változhat,)
4                 de $ y^{T}v^{\left( k-1\right) }\neq 0$
5          $ v^{(k)}=z^{(k)}/\left\| z^{(k)}\right\| _\infty $

A fentiek alapján fennáll, hogy

$\displaystyle v^{(k)}\rightarrow x_{1},\quad \gamma _{k}\rightarrow \lambda _{1}.
$

A $ v^{\left( k\right) }\rightarrow x_{1}$ konvergencián itt azt értjük, hogy $ v^{\left( k\right) }$ hatásvonala tart $ x_{1}$ hatásvonalához. A $ v^{(k)}$ sorozat elemeinek komponensei váltakozó előjelűek, ha $ \lambda _{1}$ negatív. Az $ y$ vektort általában egységvektornak választjuk úgy, hogy ha $ \left\vert v_{i}^{\left( k-1\right) }\right\vert =\left\Vert v^{\left( k-1\right)}\right\Vert _{\infty }$ , akkor legyen $ y=e_{i}$ . Ekkor tehát csupán két komponens hányodosát kell kiszámítani: $ \gamma_{k}=z_{i}^{\left( k\right) }/v_{i}^{\left( k-1\right) };$ azt a kettőt, ahol a nevezőben szereplő $ v^{\left( k-1\right) }$ legnagyobb abszolút értékeű komponense áll (amiről ráadásul azt is tudjuk, hogy $ 1$ vagy $ -1$ ).

Az eljárás a $ \left\vert \lambda _{2}/\lambda _{1}\right\vert $ nagyságrendjétől függő konvergencia sebességgel rendelkezik. A módszer erősen érzékeny a $ v^{(0)}$ kezdővektor megválasztására is.

Ha $ \alpha _{1}=0$ , akkor az eljárás nem konvergál a $ \lambda _{1}$ domináns sajátértékhez. Bizonyos mátrixosztályok esetén igazolták, hogy véletlenül választott $ v^{\left( 0\right) }$ kezdővektorok mellett $ 1$ valószínűséggel konvergál az eljárás. Komplex sajátértékek, illetve többszörös $ \lambda _{1}$ esetén az eljárást módosítani kell. Az eljárás konvergenciáját gyorsítani lehet, ha az $ A-\sigma I$ ún. eltolt mátrixra hajtjuk végre, ahol $ \sigma $ alkalmasan megválasztott szám. Az $ A-\sigma I$ mátrix sajátértékei ui. (mint azt a 5.4 tételben láttuk): $ \lambda _{1}-\sigma ,\lambda _{2}-\sigma ,\ldots ,\lambda _{n}-\sigma .$ A konvergenciát befolyásoló $ \left\vert \lambda _{2}-\sigma \right\vert /\left\vert\lambda _{1}-\sigma \right\vert $ pedig a $ \sigma $ ügyes megválasztásával kisebbé tehető mint $ \left\vert \lambda _{2}/\lambda _{1}\right\vert $ .

A hatványmódszert az

(5.5) $\displaystyle \frac{\left\Vert r_{k}\right\Vert _{2}}{\left\Vert v^{\left( k\right)}\right\Vert _{2}}=\frac{\left\Vert Av^{\left( k\right) }-\gamma_{k}v^{\left( k\right) }\right\Vert _{2}}{\left\Vert v^{\left( k\right)}\right\Vert _{2}}\leq \varepsilon$

kilépési feltétellel szokás leállítani, ahol $ r_{k}$ a $ \gamma _{k}$ és $ v^{\left( k\right) }$ (5.1)-hez tartozó reziduális hibája.

Példa. Keressük meg hatványmódszerrel az előző példában szereplő

$\displaystyle A=\left[\begin{array}{rrr}
3 & 1 & 2 \\ 0 & 1 & 0 \\ -5 & -1 & -4 \end{array}\right].
$

mátrix domináns sajátértékét és a hozzátartozó sajátvektort.

Megoldás: Jó kezdővektort nem mindig sikerül találni, különösen ilyenkor, amikor nincs $ n$ darab független sajátvektor. Induljunk ki a $ v^{(0)}=[2,2,2]^{T}$ -ből. A számítási erdményeket táblázatba foglaltuk.

$\displaystyle \begin{array}{|c|c|c|c|}
\hline z^{T} & \gamma & v^{T} & \left\Vert r\right\Vert _{\infty } \\ \hline
\left[ 12,2,-20\right] & 6 & \left[ 0.6000,0.1000,-1\right] & 6.9 \\
\left[ -0.1000,0.1000,0.9000\right] & -0.9000 & \left[ -0.1111,0.1111,1\right] & 2.6556 \\
\vdots & \vdots & \vdots & \vdots \\
\left[ -0.6754,0.0088,1.7982\right] & -1.7982 & \left[ -0.3756,0.0049,1\right] & 0.3286 \\
\vdots & \vdots & \vdots & \vdots \\
\left[ 0.8006,0.0000,-2.0009\right] & -2.0009 & \left[ 0.4001,0.0000,-1\right] & 0.0014 \\ \hline
\end{array}
$

A $ k=1,2,\ldots ,6,\ldots ,15$ lépéseket tüntettük fel. A konvergencia meglehetősen lassúnak bizonyult, mint láthatjuk. Most a $ \sigma =0.8$ eltolással, az $ A-\sigma I$ -re végrehajtva az algoritmust, már $ k=4$ -nél elértük azt, amit az előbb a $ 15$ -ik lépésben. $ k=15$ -nél pedig megkaptuk az eredményeket a szabványos duplapontos aritmetikában elérhető maximális, azaz $ 16$ decimális jegy pontossággal.

A hatványmódszert, amely igen előnyös lehet nagyméretű ritka mátrixok esetén, leginkább a legnagyobb, ill. a legkisebb abszolút értékű sajátértékek meghatározására használjuk. Ez utóbbi a következőképpen történhet. Az $ A^{-1}$ sajátértékei: $ \frac{1}{\lambda _{1}},\ldots ,\frac{1}{\lambda _{n}}$ . Ezek közül a legnagyobb abszolút értékű sajátérték $ \frac{1}{\lambda _{n}}$ lesz. Itt sem szokás invertálni, hanem a $ z^{(k)}=A^{-1}v^{(k-1)}$ helyett az $ Az^{(k)}=v^{(k-1)}$ egyenletrendszert megoldani; legkényelmesebben $ LU$ -módszerrel.

A (5.5)-ben szereplő $ r_{k}$ reziduális hiba (vagy a relatív hibája) kicsiségétől azt reméljük, hogy nagyságrendben valóban jól adja vissza a $ k$ -adik közelítések hibáját. Sajnos ez nem mindig így van. Tekintsük az

$\displaystyle A\left( \varepsilon \right) =\left[\begin{array}{cc} 1 & 1 \\ \varepsilon & 1 \end{array}\right]
$

mátrixot, ahol $ \varepsilon \approx 0$ kicsi. Az $ A\left( \varepsilon \right) $ mátrix sajátértékei $ 1\pm \sqrt{\varepsilon }$ . Legyen $ \gamma _{k}=1$ és $ x_{k}=\left[ 1,0\right] ^{T}$ . Ekkor a közelítő sajátérték tényleges hibája $ \pm \sqrt{\varepsilon }$ de

$\displaystyle \left\Vert r\right\Vert _{2}=\left\Vert \left[\begin{array}{c} 0 \\ \varepsilon \end{array}\right] \right\Vert _{2}=\varepsilon .
$

Ha most például $ \varepsilon =10^{-10}$ , akkor a reziduális hiba öt nagyságrenddel pontosabbat mutat, mint a tényleges hiba. Óvatosan kell tehát a (5.5) eredményét kezelni.

Végül megjegyezzük, hogy rangszámcsökkentő eljárásokkal és egyéb módosításokkal a Mieses eljárás alkalmassá tehető az összes sajátérték-sajátvektor meghatározására is.

6. Numerikus differenciálás (deriválás)

Alapfeladat: A numerikus deriválás alapfeladata az analitikusan ismeretlen vagy nehezen számolható, esetleg csak diszkrét pontokban ismert $ f: D(\subseteq \mathbb{R}) \rightarrow \mathbb{R}$ függvény deriváltjának kiszámítása egy vagy több adott pontban.

A numerikus deriválást akkor alkalmazzák, ha az $ a < x_0< x_1< \ldots < x_n < b$ alappontokban adottak az $ y=f(x)$ függvény értékei

$\displaystyle y_k = f_k = f(x_k), \qquad k=0, 1, 2, \dots , n.
$

Ekvidisztáns alappontok esetén:

$\displaystyle x_k = x_0 + k \cdot h, \qquad k=0, 1, 2, \dots , n.
$

A numerikus deriválást úgy lehet végrehajtani, hogy az adott függvényt interpolációs polinommal közelítjük:

$\displaystyle f(x) = p(x) + R(x),$   azaz $\displaystyle f(x) \approx p(x)
$

és az $ f(x)$ függvény deriváltját a $ p(x)$ polinom deriváltjával közelítjük.

$\displaystyle f^{(k)}(x) = p^{(k)}(x) + R^{(k)}(x),$    azaz $\displaystyle f^{(k)}(x) \approx p^{(k)}(x)
$

Ha a maradék-tag deriváltjainak értéke $ \left|R^{(k)}(x)\right| < \varepsilon$ , akkor az $ f(x)$ függvény deriváltjai az interpolációs polinom alapján kiszámíthatóak:

$\displaystyle f'(x) \approx p'(x), \dots, f^{(n)}(x) \approx p^{(n)}(x)
$

6.1. Numerikus differenciálás differencia hányadosokkal

Ha $ f\in C^{2}[a,b]$ akkor megszerkeszthetjük a másodfokú Taylor-polinomot:

$\displaystyle f(x+h) = f(x) +h f^{\prime} (x) +h^2 f^{\prime \prime }(\xi)/2,$    ahol $\displaystyle \xi \in [x,x+h].
$

Innen

$\displaystyle f(x+h) - f(x) = h \cdot f^{\prime} (x) + h^2 f^{\prime \prime }(\xi)/2,
$

amiből adódik, hogy

$\displaystyle f^{\prime}(x) \approx \dfrac{f(x+h) - f(x)}{h}
$

A képlet hibájának nagyságrendje $ O(h)$ .

A derivált definíciója:

$\displaystyle f^{\prime}(x) = \lim_{x_0 \to x} \dfrac{f(x_0) - f(x)}{x_0-x}.
$

Legyen $ x_0 = x + h$ . Ekkor $ x_0-x=h$ , és $ {x\to x_0}$ miatt $ {h\to 0}$ . Így az előző definíció

$\displaystyle f^{\prime}(x) = \lim_{h\to 0} \dfrac{f(x+h) - f(x)}{h}
$

alakban írható.

Ha $ f\in C^{3}[a,b]$ akkor a harmadfokú Taylor-polinom segítségével pontosabb közelítést kaphatunk.

$\displaystyle f(x+h) = f(x) + h f^{\prime} (x) +h^2 f^{\prime \prime }(x)/2 +h^3 f^{\prime \prime \prime }(\xi_1)/6,$    ahol $\displaystyle \xi_1 \in [x,x+h].
$

Hasonlóan:

$\displaystyle f(x-h) = f(x) - h f^{\prime} (x) +h^2 f^{\prime \prime }(x)/2 - h^3 f^{\prime \prime \prime }(\xi_2)/6,$    ahol $\displaystyle \xi_2 \in [x-h,x].
$

Ha az első képletből kivonjuk a másodikat, akkor a következőt kapjuk:

$\displaystyle f(x+h) - f(x-h) = 2 h f^{\prime} (x) + h^3/6 [ f^{\prime \prime \prime }(\xi_1) + f^{\prime \prime \prime }(\xi_2)],
$

amelyből adódik, hogy

$\displaystyle f(x+h) - f(x-h) = 2 h f^{\prime} (x) - h^3 f^{\prime \prime \prime }(\xi_3)/3,$    ahol $\displaystyle \xi_3 \in [x-h,x+h].
$

Innen kapjuk, hogy

$\displaystyle f^{\prime} (x) \approx \dfrac{f(x+h) - f(x-h)}{2 h}.
$

Ebben az esetben a hiba $ O(h^2)$ .

A második derivált leggyakrabban alkalmazott képletei:

    $\displaystyle f^{\prime \prime }(x)$ $\displaystyle \approx \dfrac{f(x) - 2 f(x+h) + f(x+2h)}{h^2}$
    $\displaystyle f^{\prime \prime }(x)$ $\displaystyle \approx \dfrac{f(x+h) - 2 f(x) + f(x -h)}{h^2}$

A második képletet a centrális differencia formulának nevezzük. A képletek hibájának nagyságrendje $ O(h^2)$ .

6.2. Numerikus differenciálás Lagrange interpolációval

Amennyiben $ f(x)$ -et az alappontokon átmenő

$\displaystyle p(x)= \sum_{i=1}^{n} y_{i} \cdot l_{i}(x)
$

Lagrange-féle interpolációs polinommal közelítjük, akkor az $ f(x)$ függény $ x$ -pontbeli $ j $ -edik deriváltjának közelítését az

$\displaystyle f^{(j)}(x) \approx p^{(j)}(x)
= \sum_{i=1}^{n} y_{i} \cdot l_{i}^{(j)}(x)
$

összefüggés adja meg.

Hibakorlátot is adhatunk amennyiben $ f$ elég sokszor folytonosan differenciálható $ [a,b]$ -n.

(6.1) $\displaystyle \left| f^{(j)}(x)-p^{(j)}(x)\right| \leq \sum_{i=0}^{j}\frac{j!}{(j-i)!(n+i)!} \max_{x\in \lbrack a,b]} \left| f^{(n+i)}(x)\right| \left| \omega ^{(j-i)}(x)\right| ,$

ahol $ x,x_{1},x_{n}\in [a,b]$ és $ \omega(x)=(x-x_{1})(x-x_{2})\ldots (x-x_{n})$ .

Az első derivált közelítő értéke $ n=2$ és $ x_{1}=x,$ $ x_{2}=x+h$ esetén

$\displaystyle f^{\prime }(x) \approx \frac{f(x+h)-f(x)}{h}.
$

Ennek a hibája $ O(h)$ nagyságrendű, ha $ f\in C^{2}[a,b]$ .

Ha pedig $ n=3$ és $ x_{1}=x-h,$ $ x_{2}=x,$ $ x_{3}=x+h,$ akkor

$\displaystyle f^{\prime}(x)\approx \frac{f(x+h)-f(x-h)}{2h}.
$

Ezen közelítés hibájának nagyságrendje $ O\left(h^{2}\right)$ , ha $ f\in C^{3}[a,b].$

Az

$\displaystyle f^{\prime}(x)\approx \frac{f(x+h)-f(x-h)}{2h}.
$

képlet segítségével másodrendű derivált is származtatható, mégpedig szintén $ O\left(h^{2}\right)$ hibával:

$\displaystyle f^{\prime \prime }(x)\approx \frac{f(x+h)-2f(x)+f(x-h)}{h^{2}}
$

6.3. Numerikus differenciálás Newton-féle interpolációval

$\displaystyle N_n(x) = f_0 + \dfrac{x-x_0}{h} \Delta y_0 + \dfrac{(x-x_0)(x-x_1)}{2! h^2} \Delta^2 y_0 + \ldots
+ \dfrac{(x-x_0)\ldots(x-x_n)}{n! h^n} \Delta^n y_0.
$

Ekvidisztáns pontok esetén, bevezetve a $ t=\frac{x-x_0}{h}$ jelölést kapjuk, hogy $ x-x_n = (t-n)h$ és

$\displaystyle N_n(x) = f_0 + t \Delta y_0 + \dfrac{t(t-1)}{2!} \Delta^2 y_0 + \ldots
+ \dfrac{t(t-1)\ldots(t-(n-1))}{n!} \Delta^n y_0.
$

Az $ x_0, x_1, x_2, x_3, x_4$ alappontok alapján az első Newton-féle interpolációs polinom differenciálásával a következő képletet kapjuk:

    $\displaystyle f^{\prime}(x)$ $\displaystyle \approx \left[(\Delta y_0) + (2t -1) (\Delta^2 y_0)/2
 + (3t^2 -6t +2) (\Delta^3 y_0)/6\right.$
      $\displaystyle +\left. (2t^3 -9t^2 +11t -3) (\Delta^4 y_0)/12 \right]/h$

Mivel az $ x_0$ kezdőpontot tetszőlegesen lehet kiválasztani, ezért feltehetjük, hogy az $ x_0$ az a pont, amelyben a derivált értékét akarjuk kiszámítani.

Figyelembe vesszük, hogy ebben a pontban $ t=0$ , akkor az első Newton-féle interpolációs polinom alapján:

    $\displaystyle f^{\prime}(x_0)$ $\displaystyle \approx \left[(\Delta y_0) - (\Delta^2 y_0)/2
 + (\Delta^3 y_0)/ 3 - (\Delta^4 y_0)/4\right.$
      $\displaystyle +\left. \ldots + (-1)^{n-1} (\Delta^n y_0)/n \right]/h$

Ezeket a képleteket átalakíthatjuk úgy, hogy a differenciák helyett a képletek csak függvény értékeit tartalmazzák:

$\displaystyle f^{\prime}(x_0) \approx [(\Delta y_0) - (\Delta^2 y_0)/2 ]/h = (-3y_0+4 y_1 - y_2)/2h.
$

    $\displaystyle f^{\prime}(x_0)$ $\displaystyle \approx [(\Delta y_0) - (\Delta^2 y_0)/2 + (\Delta^3 y_0)/3 ]/h$
      $\displaystyle = (-11 y_0+ 18 y_1 - 9 y_2+ 2 y_3)/6h.$

    $\displaystyle f^{\prime}(x_0)$ $\displaystyle \approx [(\Delta y_0) - (\Delta^2 y_0)/2 + (\Delta^3 y_0)/3 - (\Delta^4 y_0)/4 ]/h$
      $\displaystyle = (-25 y_0 + 48 y_1 - 36 y_2+ 16 y_3 -3 y_4)/12h.$

A második derivált közelítésére a Newton-féle interpolációs polinom segítségével a következő képletet kapjuk:

$\displaystyle f^{\prime \prime}(x_0) \approx [(\Delta^2 y_0) - (\Delta^3 y_0)
+ (\Delta^4 y_0) \cdot 11/12 - (\Delta^5 y_0) \cdot 5/6 + \ldots ]/h^2
$

Példa. Példa a Newton-féle interpolációs képletek alkalmazására:
Számítsuk ki az $ y = \mathrm{sh}(2x)$ függvény $ y^{\prime}(x)$ és $ y^{\prime \prime}(x)$ deriváltjait az $ x=0$ pontban:

Image image5

Megoldás:

    $\displaystyle y^{\prime}(0)$ $\displaystyle \approx [(\Delta y_0) - (\Delta^2 y_0)/2 + (\Delta^3 y_0)/3 - (\Delta^4 y_0)/4 ]/h$
      $\displaystyle = 20 \cdot (0.10017 - 0.00050 + 0.00034 - 0.00001) = 2.0000.$
    $\displaystyle y^{\prime \prime}(0)$ $\displaystyle \approx [(\Delta ^2 y_0) - (\Delta^3 y_0) + (\Delta^4 y_0) \cdot 11/12]/h^2$
      $\displaystyle = 400 \cdot (0.00100 - 0.00101 + 0.00003) = 0.008$

Az $ y = \mathrm{sh}(2x)$ függvény analitikus differenciálásával kapjuk, hogy $ y^{\prime}(x) = 2\mathrm{ch}(2x)$ és $ y^{\prime \prime}(x) = 4\mathrm{sh}(2x).$ Így a pontos derivált értékek: $ y^{\prime}(0) = 2$ és $ y^{\prime \prime}(0) = 0$ .

6.4. Numerikus differenciálás Spline interpolációval

Spline közelítést is használhatunk deriváltak numerikus közelítésére. Elsőrendű deriváltak előnyösen közelíthetők a harmadfokú természetes Spline-nal.

A képlet levezetése könnyű, hiszen szakaszonként egy-egy harmadfokú polinomot kell deriválni. A közelítés hibájára $ f\in C^{2}\left[ a,b \right] $ esetén fennáll, hogy

$\displaystyle \left| f^{\prime }(x)-S^{\prime }(x)\right| \leq K_{1}\left(\max_{1\leq i\leq n-1}h_{i}\right),
$

ahol $ K_{1}>0$ konstans. A közelítés hibája tehát a legnagyobb részintervallum hosszával arányos. A Spline közelítéseknek van egy simító jellege is, amely mérsékeli a kerekítési, ill. adathibák negatív hatását. A Spline használata akkor előnyös, ha a derivált sok pontban szükséges.

7. Numerikus integrálás

Numerikus integrálás

Newton-Leibnitz formula: Ha $ f$ Riemann-integrálható $ [a,b]$ -n és itt létezik $ F$ primitív függvénye, akkor

$\displaystyle I=\int_a^b f(x)dx = F(b)-F(a).
$

Ezt a képletet csak akkor lehet alkalmazni, ha meg tudjuk határozni az $ F$ primitív függvényt, különben kénytelenek vagyunk numerikus integrálást alkalmazni.

A numerikus integrálást úgy lehet végrehajtani, hogy az $ f$ függvényt egy $ p$ interpolációs polinommal közelítjük:

$\displaystyle f(x) \approx p(x)
$

és ez alapján a határozott integrál értékét általános formában így közelítjük:

$\displaystyle I= \int_a^b f(x) w(x) dx \approx \int_a^b p(x) w(x) dx,
$

ahol $ w \geq 0$ egy tetszőleges súlyfüggvény.

7.1. Lagrangre interpoláció alkalmazása

Lagrangre interpoláció alkalmazása

Legyenek adottak az $ x_1,x_2,\ldots,x_n$ alappontok és ezekben az $ y_1,y_2,\ldots,y_n$ függvényértékek. Ha az interpolációs polinomként a Lagrange féle interpolációs polinomot választjuk:

$\displaystyle p(x)= \sum_{j=1}^{n} y_{j} \cdot l_{j}(x),
$

akkor

    $\displaystyle I$ $\displaystyle = \int_a^b f(x) w(x) dx \approx \int_a^b p(x) w(x) dx = \int_a^b \left(\sum_{j=1}^{n} y_{j} \cdot l_{j}(x) \right) w(x) dx$
      $\displaystyle = \sum_{j=1}^{n} y_{j} \cdot \underbrace{\left(\int_a^b l_{j}(x) w(x) dx \right)} = \sum_{j=1}^{n} y_{j} \cdot H_j = H_j$

Hibabecslés: A numerikus integrálás hibabecslése $ w\equiv 1$ esetén a következő képlet alapján állapítható meg:

$\displaystyle R_n(f) = \int_a^b f(x)dx - \int_a^b p(x)dx = \dfrac{f^{(n+1)}(\xi)}{(n+1)!} \int_a^b \omega(x) dx
$

ahol $ \xi \in [a,b]$ és $ \omega(x)=(x-x_{1})(x-x_{2})\ldots (x-x_{n})$ . Innen:

$\displaystyle |R_n(f)| \leq \frac{M_{n+1}(b-a)^{n+1}}{(n+1)!}
$

ahol

$\displaystyle M_{n+1} = \max_{x\in [a,b]} \left| f^{(n+1)} (x) \right|
$

7.2. Newton-Cotes formulák

Legyen $ w\equiv 1$ . A Newton-Cotes formulákat úgy kaphatjuk, hogy az $ f$ függvényt a Lagrange-féle interpolációs polinommal közelítjük, úgy hogy az alappontok ekvidisztánsak legyenek:

$\displaystyle x_k =a + k \cdot h, \qquad k = 0, 1, 2, \ldots, n
$

ahol a lépésköz

$\displaystyle h = (b - a)/n
$

A Newton-Cotes formulákat két változatban alkalmazhatjuk.

7.2.1. Zárt Newton-Cotes formula

A zárt Newton-Cotes formula az alappontokat (az $ a$ és $ b$ pontokat) is tartalmazza. Ekkor az integrált az

$\displaystyle \int_a^b f(x)dx = \sum_{k=0}^n A^{(n)}_k f(a + k \cdot h) = \sum_{k=0}^n A^{(n)}_k y_k
$

alakban írhatjuk fel. Az $ A^{(n)}_k$ együtthatókat a $ B^{(n)}_k$ együtthatók alapján lehet kiszámítani:

$\displaystyle A^{(n)}_k = (b - a) B^{(n)}_k,
$

ahol

$\displaystyle B^{(n)}_k = \int_a^b l_{k}(x) dx.
$

Mivel ekvidisztáns beosztásunk van, ezért bevezetve a $ t=(x - x_0)/h $ jelölést a Lagrange együtthatókra igaz, hogy

$\displaystyle l_k (x) = (-1)^{n-k} \binom{n}{k} \frac{1}{t-k} \cdot \frac{t(t-1)\cdots(t-n)}{n!}
$

Ezekre a $ B^{(n+1)}_k = \int_a^b l_{k}(x) dx $ együtthatókra igaz, hogy nem függnek az $ [a,b]$ intervallumtól,

$\displaystyle B^{(n)}_k = B^{(n)}_{n-k}
$

és

$\displaystyle \sum_{k=0}^n B^{(n)}_k = 1.
$

A következő táblázat tartalmazza a $ B^{(n)}_k$ értékeket, amelyek a zárt Newton-Cotes formulákhoz tartoznak ($ n \leq 4$ ).

\begin{displaymath}
\begin{array}{lllll}
n=1: & B^{(1)}_0 = 1/2, & B^{(1)}_1 = 1/2, & & \\ [2mm]
n=2: & B^{(2)}_0 = 1/6, & B^{(2)}_1 = 4/6, & B^{(2)}_2 = 1/6, & \\ [2mm]
n=3: & B^{(3)}_0 = 1/8, & B^{(3)}_1 = 3/8, & B^{(3)}_2 = 3/8, & B^{(3)}_3 = 1/8 \\ [2mm]
n=4: & B^{(4)}_0 = 7/90, & B^{(4)}_1 = 32/90, & B^{(4)}_2 = 12/90, & B^{(4)}_3 = 32/90 \\ [2mm]
& B^{(4)}_4 = 7/90 & & &
\end{array}
\end{displaymath}

7.2.2. Nyílt Newton-Cotes formula

A nyílt Newton-Cotes formula az alappontokat (az $ a$ és $ b$ pontokat) nem tartalmazza. Ekkor az integrált az

$\displaystyle \int_a^b f(x)dx = \sum_{k=1}^{n-1} A^{(n)}_k f(a + k \cdot h) = \sum_{k=1}^{n-1} A^{(n)}_k y_k
$

alakban írhatjuk fel. Az $ A^{(n)}_k$ együtthatókat az előzőhöz hasonlóan a $ B^{(n)}_k$ együtthatók alapján lehet kiszámítani.

A következő táblázat tartalmazza a $ B^{(n)}_k$ értékeket, amelyek a nyílt Newton-Cotes formulákhoz tartoznak ($ n \leq 5$ ).

\begin{displaymath}
\begin{array}{lllll}
n=3: & B^{(3)}_1 = 1/2, & B^{(3)}_2 = 1/2, & & \\ [2mm]
n=4: & B^{(4)}_1 = 2/3, & B^{(4)}_2 = -1/3, & B^{(4)}_3 = 2/3, & \\ [2mm]
n=5: & B^{(5)}_1 = 11/24, & B^{(5)}_2 = 1/24, & B^{(5)}_3 = 1/24, & B^{(5)}_4 = 11/24
\end{array}
\end{displaymath}

Példa. Határozzuk meg az

$\displaystyle I=\int_0^1 \dfrac{1}{1+x^2} dx
$

integrál értékét zárt Newton-Cotes formulával $ n=4$ esetén!

Megoldás:

$ n=4$ esetén az alappontok: $ x_0=0,x_1=0.25,x_2=0.5,x_3=0.75,x_4=1$ .

A függvényértékek: $ y_0=1, y_1= 16/17, y_2=4/5, y_3= 16/25, y_4=1/2$ .

A hozzátartozó együtthatók, $ b-a=1$ miatt: $ A^{(4)}_0 = 7/90, A^{(4)}_1 = 32/90,
A^{(4)}_2 = 12/90, A^{(4)}_3 = 32/90, A^{(4)}_4 = 7/90.$

Így

    $\displaystyle I$ $\displaystyle = \int_0^1 \dfrac{1}{1+x^2} dx = (7/90)\cdot 1 + (32/90)\cdot (16/17)$
      $\displaystyle + (12/90)\cdot (4/5) + (32/90)\cdot (16/25) + (7/90)\cdot (1/2)$
      $\displaystyle = 6677/8500 = 0.7855294118.$

A pontos érték:

$\displaystyle I = \int_0^1 \dfrac{1}{1+x^2} dx = \pi/4 = 0.7853981635.
$

7.3. Téglalap-formulák

A téglalapformulák esetén legyen a lépésköz $ h=(b - a)/n$ . Ekkor az első téglalap-formula:

$\displaystyle I^{(1)} = h\cdot \sum_{j=0}^{n-1} y_j
$

alakban írható. Ebben az esetben a téglalapok területét az elöl szereplő függvényértékekhez írjuk fel.

A második téglalap-formula a következő

$\displaystyle I^{(2)} = h\cdot \sum_{j=1}^{n} y_j
$

Könnyen látható, hogy ebben a képletben a téglalapok területét a hátul szereplő függvényértékekhez írjuk fel.

Ha az $ f$ függvény monoton, akkor

    $\displaystyle \left| I^{(.)} - \int_a^b f(x)dx \right|$ $\displaystyle \leq \left| I^{(1)} - I^{(2)} \right|$
      $\displaystyle = h \cdot |y_n-y_0| = h \cdot |f(b)-f(a)|$

Ebből látszik, hogy a lépésköztől lineárisan függ a hiba, azaz $ O(h)$ .

A harmadik téglalap-formula:

$\displaystyle I^{(3)} = h\cdot \sum_{j=1}^{n} y_{j-1/2},
$

ahol

$\displaystyle y_{j-1/2} = f(x_{j-1/2}), \qquad x_{j-1/2}= ( x_{j-1} + x_j)/2, \qquad j=1, 2, \ldots, n
$

azaz a téglalapok területét az intervallum közepén felvett függvényérték alapján számoljuk ki.

7.4. Trapéz-formulák

Trapéz-formulák

7.4.1. Egyszerű trapéz módszer (n=1):

Ekkor $ a=x_0, b=x_1$ .

$\displaystyle I= \int_a^b f(x) dx = \dfrac{y_0 + y_1}2 \cdot h + R, \qquad \int_a^b f(x) dx \approx \dfrac{y_0 + y_1}2 \cdot h .
$

7.1. Tétel.   Ha $ f$ kétszer folytonosan differenciálható és $ \left| f^{\prime \prime} \right| \leq M_2$ az $ [a,b]$ intervallumon, akkor

$\displaystyle |R| \leq \dfrac{M_2 \cdot h^3}{12}.
$

Bizonyítás. A Lagrange interpoláció hibáját felhasználva:

$\displaystyle f(x) = p(x) + \dfrac{f^{\prime \prime}(\xi)}{2} (x-x_0)(x-x_1),
$

ahol $ p(x)$ lineáris (egyenes) és $ \xi \in [a,b]$ . Innen

    $\displaystyle I$ $\displaystyle = \int_a^b f(x) dx = \int_a^b p(x) dx + \int_a^b \dfrac{f^{\prime \prime}(\xi)}{2} (x-x_0)(x-x_1) dx$
      $\displaystyle = \dfrac{y_0 + y_1}2 \cdot h + \int_a^b \dfrac{f^{\prime \prime}(\xi)}{2} (x-x_0)(x-x_1) dx.$

Ebből adódik, hogy

$\displaystyle R = \int_a^b f(x) dx -\dfrac{y_0 + y_1}2 \cdot h = \int_a^b \dfrac{f^{\prime \prime}(\xi)}{2} (x-x_0)(x-x_1) dx.
$

    $\displaystyle |R|$ $\displaystyle = \left| (1/2) \cdot \int_a^b f^{\prime \prime}(\xi) (x-x_0)(x-x_1) dx \right|$
      $\displaystyle \leq (1/2) \cdot \int_a^b \left| f^{\prime \prime}(\xi) \right| \left|(x-x_0)(x-x_1) \right| dx$
      $\displaystyle \leq (M_2/2) \cdot \int_a^b \left|(x-x_0)(x-x_1) \right| dx,$

Mivel

    $\displaystyle \int_a^b$ $\displaystyle |(x-x_0)(x-x_1)| dx = \int_a^b \left(-x^2 + (x_0+x_1)x - x_0x_1\right) dx$
      $\displaystyle = \left[-x^3/3 + (x_0+x_1)x^2/2 -(x_0x_1)x\right]^b_a$
      $\displaystyle = -(b^3-a^3)/3 + (a+b)(b^2-a^2)/2 - ab(b-a) = h^3/6.$

Így

$\displaystyle |R| \leq \dfrac{M_2}{2} \cdot \dfrac{h^3}{6} = \dfrac{M_2 \cdot h^3}{12}.
$

$ \qedsymbol$

7.4.2. Összetett trapéz formula

Kihasználva a határozott integrál additív tulajdonságát, az $ \left[ a,b\right]$ intervallumot felbonthatjuk az

$\displaystyle a=x_0 < x_{1}<x_{2}<\ldots <x_{n}=b
$

pontokkal $ n$ részintervallumra, minden intervallumon kiszámoljuk az egyszerű trapéz formulával az integrált, és ezeket összegezzük. Így jutunk el az összetett trapézformulához:

$\displaystyle \int_{a}^{b} f(x) dx \approx
\sum_{i=0}^{n-1}\frac{x_{i+1}-x_{i}}{2}\left[y_i+y_{i+1}\right] .
$

Hibabecslés: Ha $ f\in C^{2}\left[ a,b \right] $ és $ \left| f^{\prime \prime} \right| \leq M_2$ , akkor

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-\sum_{i=0}^{n-1}\frac{x_{i+1}-x_{i}}{2}
\left[f(x_{i})+f(x_{i+1})\right] \right\vert \leq \frac{M_{2}}{12}
\sum_{i=0}^{n-1}\left( x_{i+1} - x_{i}\right) ^{3}.
$

Ha az alappontok ekvidisztánsak, azaz $ x_{k}=a+k\cdot h$ ( $ k=0,\ldots ,n$ ), akkor a képlet alakja egyszerűsödik:

$\displaystyle \int_{a}^{b}f(x) dx \approx T_{n}\left( f\right) := \frac{h}{2}\left[ y_0 +2 \sum_{i=1}^{n-1}y_{i} +y_n\right] .
$

A képlet hibája ($ nh=b-a$ miatt):

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-T_{n}\left( f\right) \right\vert
\leq \frac{M_{2}(b-a)h^{2}}{12}=\frac{M_{2}(b-a)^{3}}{12n^{2}}.
$

A hiba $ h^{2}$ -tel arányos, vagyis $ n^{2}$ -tel fordítottan arányos. A gyakorlatban csak összetett formulát használunk.

7.5. Az érintőformula

Az érintőformula egy nyílt Newton-Cotes formula, amelyre:

$\displaystyle \int_{a}^{b}f(x)dx \approx (b-a) f\left(\dfrac{a+b}{2}\right).
$

Az érintőformula úgy is értelmezhető, hogy a függvényt az $ [a,b]$ intervallum középpontjához húzott érintőegyenessel közelítjük, és az egyenes alatti területet vesszük. Ez mutatja, hogy legfeljebb elsőfokú polinomig pontos.

Tegyük fel, hogy $ f \in C^2([a,b])$ . Ekkor az érintő formulával

$\displaystyle \int_{a}^{b}f(x)dx = (b-a)f\left(\dfrac{a+b}{2}\right) + \dfrac{(b-a)^3 \cdot f^{\prime\prime}(\xi)}{24}.
$

Így a kapott hibabecslés:

$\displaystyle \left|\int_{a}^{b}f(x)dx - (b-a)f\left(\dfrac{a+b}{2}\right) \right| \leq \dfrac{(b-a)^3 M_2}{24}.
$

ahol $ M_2 \geq |f^{\prime\prime}(x)|$ az $ [a,b]$ intervallumon.

A gyakorlatban ezt a formulát nem az egész $ [a,b]$ intervallumra alkalmazzuk, hanem azt $ n$ részre osztjuk ($ h=(b - a)/n$ ), és az egyes részintervallumokban az érintőformulával integrálunk.

$\displaystyle \int_{a}^{b}f(x)dx \approx
\dfrac{(b-a)}{n} \sum_{i=1}^n f\left(a-\dfrac{h}{2} + i h\right).
$

7.6. A Simpson formula

7.6.1. Egyszerű Simpson formula

Legyen most $ x_{1}=a,x_{2}=\dfrac{a+b}{2}$ és $ x_{3}=b.$ Alkalmazzuk a három pontra támaszkodó másodfokú Lagrange-féle interpolációs polinomot.

$\displaystyle \int_{a}^{b}f(x)dx \approx \dfrac{b-a}{6}\left[ f(a)+4f\left(\dfrac{a+b}{2}\right)+f(b)\right].
$

Vegyük észre, hogy az egyszerű Simpson formula egy zárt Newton-Cotes formula, amelyre $ n=2$ és $ B^{(2)}_0 = 1/6, B^{(2)}_1 = 4/6, B^{(2)}_2 = 1/6.$

Hibabecslés:

Az egyszerű Simpson formula hibáját $ f\in C^{4}\left[ a,b\right] $ esetén a Lagrange-féle interpolációs polinom hibáját felhasználva kapjuk. Ekkor

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-\dfrac{b-a}{6} \left[ f(a) + 4\left(\dfrac{a+b}{2}\right)+f(b)\right] \right\vert \leq M_{4}\dfrac{(b-a)^{5}}{90}
$

formulával becsülhetjük, ahol $ M_{4} \geq \left\vert f^{(4)}(x)\right\vert$ az $ [a,b]$ -n.

7.6.2. Összetett Simpson formula, 1. változat

Tegyük fel, hogy $ n$ páros és az alappontok ekvidisztánsak, azaz $ x_{i}=x_{0}+ i\cdot h$ (ahol $ h=\frac{b-a}{n}$ , és $ i=0,\ldots ,n$ ). Ekkor a képlet alakja

    $\displaystyle S_{n}(f) = \frac{2h}{6} \bigm[ f(x_{0})$ $\displaystyle + 4(f(x_1)+f(x_3)+\cdots + f(x_{n-1}))$
      $\displaystyle + 2 (f(x_2)+f(x_4)+\cdots + f(x_{n-2})) + f(x_n) \bigm] .$

A képlet hibája:

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-S_{n}(f)\right\vert \leq \frac{M_{4}(b-a)}{90}h^{4}
=\frac{M_{4}(b-a)^{5}}{90 n^{4}}.
$

7.6.3. Összetett Simpson formula, 2. változat

Ha az $ \left[ a,b\right]$ intervallumot itt is felosztjuk az

$\displaystyle a=x_{0}<x_{1}<\ldots <x_{n}=b
$

pontokkal $ n$ részintervallumra, akkor az összetett Simpson formula:

$\displaystyle \int_{a}^{b}f(x)dx \approx S_n:=
\sum_{i=0}^{n-1}\frac{x_{i+1}-x_{i}}{6}\left[f(x_{i})+4f\left(\dfrac{x_{i}+x_{i+1}}{2}\right)+f(x_{i+1})\right] .
$

Ha az alappontok ekvidisztánsak, azaz $ x_{i}=x_{0}+ i\cdot h$ (ahol $ h=\frac{b-a}{n}$ és $ i=0,\ldots ,n$ ), akkor a képlet alakja

$\displaystyle S_{n}(f)= \frac{h}{6} \left[ f(x_{0})+ 2\sum_{i=1}^{n-1}f(x_{i})+4 \sum_{i=0}^{n-1}f\left(x_{i}+\dfrac{h}{2}\right)+f(x_{n})\right] .
$

A képlet hibája pedig

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-S_{n}(f)\right\vert \leq \frac{M_{4}(b-a)}{32\cdot 90}h^{4} =\frac{M_{4}(b-a)^{5}}{2880 n^{4}}.
$

7.7. Gauss-kvadratúrák

Az eddigi, interpolációból származtatott kvadratúra-formulák legfeljebb annyiad-fokú polinomra pontosak, ahányad fokú polinomból származtattuk őket. A Gauss-kvadratúrák abból az észrevételből származnak, hogy az alappontok speciális megválasztásával a kavadratúra-formula rendje növelhető.

Ehhez szükségünk lesz az ortogonális polinomokra. A $ \{(p_k(x))\}$ egy ortogonális polinom rendszer, ha

$\displaystyle <p_i,p_j> = \int_a^b p_i(x)p_j(x) w(x) dx = 0 \qquad (i \neq j)
$

7.2. Tétel.   Legyen $ \{(p_k(x))\}$ egy ortogonális polinom rendszer. Ekkor bármely $ n$ -re a $ p_{n+1}(x)$ polinom gyökei valósak, egyszeresek és az $ [a,b]$ intervallumban vannak, ahol $ [a,b]$ a skalárszorzat integrálási tartománya.

Az $ n+1$ -pontos Gauss-kvadratúrát úgy kapjuk, hogy a $ p_{n+1}(x)$ ortogonális polinom gyök-helyein készítjük az interpolációból származtatott kvadratúra-formulát.

A séma a következő:

Legyen $ f(x)=p(x)+R(x)$ , ahol $ p$ a Lagrange interpolációs polinom, $ R$ a hiba. Ekkor

    $\displaystyle \int_a^b f(x) w(x) dx$ $\displaystyle = \int_a^b p(x) w(x) dx + \int_a^b R(x) w(x) dx$
      $\displaystyle = \sum_{i=0}^n a_i f(x_i) +R_n,$

ahol $ a_i = \displaystyle \int_a^b l_i (x) w(x) dx$ .

7.3. Tétel.   Legyenek a $ p_{n+1}(x)$ ortogonális polinom gyökei $ x_0, x_1,\ldots, x_n$ és legyen $ a_i = \int_a^b l_i (x) w(x) dx$ ahol $ l_i$ az i -edik Lagrange alappolinom a fenti alappontokon. Ekkor a Gauss-kvadratúra

$\displaystyle G_n(f) = \sum_{i=0}^n a_i f(x_i)
$

pontos minden legfeljebb $ 2n+1$ -edfokú polinomra, azaz, ha $ f$ egy legfeljebb $ 2n+1$ -edfokú polinom, akkor

$\displaystyle G_n(f) = \int_a^b f(x) w(x) dx.
$

7.4. Tétel. (A Gauss kvadratúra hibaformulája)  
Legyen $ f \in C^{2n+2}[a,b]$ és $ G_n(f) = \sum_{i=1}^n a_i f(x_i)$ , ahol az alappontok a $ p_{n+1}(x)$ ortogonális polinom gyökei. Ekkor

$\displaystyle \int_a^b f(x) w(x) dx - G_n(f) = \dfrac{f^{(2n+2)}(\xi)}{(2n+2)!} \cdot <p_{n+1},p_{n+1}>,
$

ahol $ p_{n+1}(x)$ egy 1-főegyütthatós ortogonális polinom.

Megjegyezzük, hogy könnyen láthatóak az alábbi tulajdonságok:

Az $ a_i$ együtthatók pozitívak.

Az $ f(x) = 1$ függvény integálásával kapjuk a $ \mu_0,\mu_1\ldots$ momentumokat:

$\displaystyle \sum_{i=1}^n a_i = \int_a^b w(x) dx =: \mu_0
$

$\displaystyle \mu_i: = \int_a^b x^i w(x) dx.
$

Végezetül megadunk néhány ortogonális polinomcsaládot.

Legendre-polinom:

    $\displaystyle P_n(x) = \dfrac{(2n)!}{2^n {n!}^2} \bigm[ x^n$ $\displaystyle - \dfrac{n(n-1)}{2(2n-1)}x^{n-2}$
      $\displaystyle + \dfrac{n(n-1)(n-2)(n-3)}{2(2n-1)4(2n-3)}x^{n-4} \pm \cdots \bigm]$

$\displaystyle [a,b] = [-1,1] $

$\displaystyle w(x) = 1 $

$\displaystyle \mu_0 = 2 $

$\displaystyle P_0(x) = 1 $

$\displaystyle P_1(x) = x$

$\displaystyle P_2(x) = 3/2 (x^2 -1/3) $

Csebisev-polinom: Az $ n$ -edfokú Csebisev polinom a következő összefüggéssel adható meg:

$\displaystyle T_n(x) = \cos( n \arccos(x))
$

$\displaystyle [a,b] = [-1,1] $

$\displaystyle w(x) = \dfrac{1}{\sqrt{1-x^2}} $

$\displaystyle \mu_0 = \pi $

$\displaystyle T_0(x) = 1 $

$\displaystyle T_1(x) = x$

$\displaystyle T_2(x) = 2(x^2 -1/2) $

$\displaystyle T_{n+1} (x) = 2xT_n(x) - T_{n-1}(x) $

Laugerre-polinom:

$\displaystyle L_n(x) = \dfrac{2n-1-x}{n}L_{n-1}(x) - \dfrac{n-1}{n}L_{n-2}(x) \qquad n > 1.
$

$\displaystyle [a,b] = \left[0,\infty\right[ $

$\displaystyle w(x) = e^{-x} $

$\displaystyle \mu_0 = 1 $

$\displaystyle L_0(x) = 1 $

$\displaystyle L_1(x) = -(x-1)$

$\displaystyle L_2(x) = x^2 -4x + 2 $

Hermite-polinom:

$\displaystyle H_n(x) = 2xH_{n-1}(x) - 2(n-1)H_{n-2}(x) \qquad n > 1. $

$\displaystyle [a,b] = \left]-\infty,\infty\right[ $

$\displaystyle w(x) = 1 $

$\displaystyle \mu_0 = e^{-x^2} $

$\displaystyle H_0(x) = 1 $

$\displaystyle H_1(x) = x$

$\displaystyle H_2(x) = 4(x^2 -1/2)$

7.8. Kvadraturaformulák hibáinak utólagos becslése

Elvégezzük a numerikus integrálást $ n$ és $ 2n$ részintervallum esetén. Ha fennáll, hogy

$\displaystyle \left\vert T_{n}(f)-T_{2n}(f)\right\vert \leq \varepsilon ,
$

akkor a $ T_{2n}(f)$ közelítést $ \varepsilon$ pontosságúnak fogadjuk el. Ha

$\displaystyle \left\vert T_{n}(f)-T_{2n}(f)\right\vert > \varepsilon ,
$

akkor az $ n$ értékét tovább kell növelni. A hibabecslést az un. Runge-elv alapján lehet végrehajtani.

7.5. Tétel.   Hiba utólagos becslése trapéz-formula esetén:
Ha $ f^{\prime \prime }(x)$ előjele állandó, akkor az összetett trapézformula hibájára fennáll, hogy

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-T_{2n}(f)\right\vert \leq \left\vert T_{n}(f)-T_{2n}(f)\right\vert .
$

7.6. Tétel.   Hiba utólagos becslése Simpson-formula esetén:
Ha $ f^{\left( 4\right) }\left( x\right) $ előjele állandó, akkor az összetett Simpson-formula hibakorlátja a következő:

$\displaystyle \left\vert \int_{a}^{b}f(x)dx-S_{2n}(f)\right\vert \leq \left\vert S_{n}(f)-S_{2n}(f)\right\vert .
$

8. Nemlineáris egyenletek

Nemlineáris egyenletek

Az

$\displaystyle f(x)=0\quad (\ f:\mathbb{R}\rightarrow \mathbb{R)},
$

alakú egyváltozós egyenletek, illetve az

$\displaystyle F(x)=0\quad (\ F:\mathbb{R}^{n}\rightarrow \mathbb{R}^{n},\ n\geq 2),
$

alakú többváltozós egyenletrendszerek közelítő megoldási módszereit vizsgáljuk. Az egyenlet (egyenletrendszer) pontos megoldását következetesen $ x^{\ast }$ -gal jelöljük; $ x^{\ast }\in \mathbb{R}$ (illetve $ x^{\ast}\in\mathbb{R}^{n}$ ).

Direkt módszerek, tehát amelyek véges sok lépés után legalább elméletileg adnák $ x^{\ast }$ -ot, itt még egyváltozós esetben sem igen konstruálhatók.

A gyakorlatban mindig elegendő tudni egy elméleti eredmény többé-kevésbé pontos közelítését, így az iterációs eljárások a legtöbb esetben szóba jöhetnek.

Egy-egy módszer csak speciális esetben alkalmazható. Különösen így van ez a nemlineáris egyenleteknél, egyenletrendszereknél. Nincs univerzális eljárás, ami minden egyenletnél megfelelő pontosságú közelítést garantálna és különösen nincs olyan, ami mindezt elég gyorsan is tenné.

A továbbiakban minden esetben feltételezzük, hogy az $ f$ függvény folytonos. A konvergenciát garantáló feltételek között azonban többnyire még szigorúbb, differenciálhatósági megkötések is szerepelnek.

Az $ f\left( x\right) =0$ ( $ f:\mathbb{R}\rightarrow \mathbb{R}$ ) alakú valós egyenletek megoldási módszerei egy, az $ x^{\ast }$ megoldáshoz konvergáló $ \left\{ x_{i}\right\} _{i=0}^{\infty}$ sorozatot képeznek.

8.1. Intervallumfelező módszer

Tegyük fel, hogy $ f:\mathbb{R}\rightarrow \mathbb{R}\,$ folytonos az $ \left[ a,b\right]$ intervallumon és a végpontokban ellentétes a függyvény előjele, azaz fennáll, hogy

(8.1) $\displaystyle f(a)f(b)<0.$

Ismert tétel, hogy zárt intervallumban folytonos függvénynek van az intervallumon legnagyobb és legkisebb értéke, továbbá a függvény e két szám közötti valamennyi értéket felvesz az intervallumban. Ebből azonnal következik, hogy az $ f\left( x\right) =0$ egyenletnek van legalább egy $ x^{\ast }\in \left( a,b\right) $ gyöke.

Az intervallumfelező eljárás (amit szoktunk röviden csak felező eljárásnak is nevezni) lényege a nevében benne van. Az intervallum középpontja két részre, két félintervallumra osztja az eredeti intervallumot. Megnézzük, hogy közülük melyikben teljesül (8.1) és ott folytatjuk. Kicsit pontosabban megfogalmazva: legyen $ c=\left( a+b\right) /2$ és vizsgáljuk az $ f\left( c\right) $ értékét. Ha annak előjele az $ a$ -beli előjellel ellentétes, azaz $ f\left( a\right)\cdot f\left( c\right) <0$ , akkor az $ \left[ a,c\right] $ intervallumban van gyök. Egyébként a $ \left[ c,b\right] $ intervallum tartalmaz gyököt. Az új intervallumot újra megfelezzük és így tovább.

Az egymásba skatulyázott

$\displaystyle \left[ a,b\right] =\left[ a_{1},b_{1}\right] \supset \left[ a_{2},b_{2}\right] \supset \ldots \left[ a_{k},b_{k}\right] \supset \ldots ,
$

zárt intervallumok ráhúzódnak az egyenlet egy $ x^{\ast }$ gyökére. Más formában is megadva: $ \left[a_{1},b_{1}\right] =\left[ a,b\right] $ , $ c_{i}=\left( a_{i}+b_{i}\right) /2$ ,

$\displaystyle [a_{i+1},b_{i+1}] = \left\{
\begin{array}{ll}
[a_{i},c_{i}],\quad & \text{ha } f(a_{i}) \cdot f(c_{i})<0 \\
(c_{i},b_{i}],\quad & \text{egyébként}
\end{array}\right.
$

ahol $ i=1,2,\ldots$ .

Image felez

Az is nyilvánvaló, hogy az $ i$ -edik intervallum hossza: $ (b_{i}-a_{i})=(b_{i-1}-a_{i-1})/2=(b-a)/2^{i-1}$ szigorúan monoton csökkenő mértani sorozat és az $ x^{\ast }$ gyököt az $ \left[ a_{i},b_{i}\right] $ intervallum tetszőleges $ y$ pontjával közelíthetjük. Az $ y$ közelítés hibája legfeljebb a két végponttól mért nagyobbik távolság lehet, azaz fennáll, hogy

$\displaystyle \left\vert x^{\ast }-y\right\vert \leq \max \{y-a_{i},b_{i}-y\}.
$

A $ \max \{y-a_{i},b_{i}-y\}$ korlát akkor a legkisebb, ha $ y=\frac{a_{i}+b_{i}}{2}$ . Ezért az $ x^{\ast }$ gyök $ i$ -edik közelítéseként általában az $ x_{i}=\left(a_{i}+b_{i}\right) /2$ felezőpontot használjuk. Az intervallumok hosszára tett megállapításból így egzakt hibabecslés is adódik:

(8.2) $\displaystyle \left\vert x^{\ast }-x_{i}\right\vert \leq \frac{b_{i}-a_{i}}{2}=\frac{b-a}{2^{i}}\quad (i=1,2,\ldots ).$

Az algoritmust tehát akkor állítjuk le, ha a közelítés hibája kisebb, mint egy előre megadott $ \varepsilon >0$ hibakorlát. Ezért az intervallumfelező eljárás gyakorlati formája a következő.

Az intervallumfelező eljárás algoritmusa:

  INPUT $ \left[ a,b\right],\varepsilon (\varepsilon >0)$ .
1 Legyen $ fa=f(a)$
2 WHILE $ b-a>2\varepsilon $
3          $ x=\left( a+b\right) /2$
4         IF $ fa\ast f(x)<0$
5                 THEN $ b=x$
6                 ELSE $ a=x$
7 $ x=\left( a+b\right) /2$

8.1. Tétel.   Ha $ f\in C[a,b]$ és $ f\left( a\right) f\left( b\right) <0$ , akkor az az intervallumfelező eljárás során kapott $ \{x_{i}\} $ sorozat konvergál az $ f$ valamely $ [a,b]$ -beli gyökéhez és érvényes az (8.2) hibabecslés.

Ha az $ [a,b]$ intervallum több gyököt is tartalmaz, az $ \{x_{i}\} $ sorozat közülük egyikhez konvergál.

Az intervallumfelező módszer legnagyobb előnye, hogy nagyon enyhe (mondhatni, hogy csak a gyakorlatban szinte kötelezően elvárt) feltételek mellett biztosítja a megoldáshoz való konvergenciát. Előnye még az egyszerűsége is. Ugyanakkor hátránya a lassú konvergencia. A hibát a (8.2) szerint egy konvergens mértani sorozattal tudjuk becsülni. Az $ x_{i}$ hibakorlátja $ x_{i-1}$ hibájának a fele, így a konvergenciája lineáris vagy másképpen elsőrendű.

Példa. Oldjuk meg intervallumfelező eljárással az $ f(x)=4-4x^{2}-e^{x}=0$ egyenletet az $ [a,b]=[0,1]$ intervallumon $ \delta x_{i}=\varepsilon =10^{-6}$ hibakorláttal.

Megoldás. Az $ f$ függvény nyilvánvalóan folytonos, továbbá $ f(a)=fa=f(0)=3$ és $ f(b)=f(1)=-e$ ellentétes előjelű, ezért alkalmazható a felező módszer. A $ b-a=1$ hosszú intervallumból indulva (8.2) alapján az $ 1/2^{i}\leq 10^{-6}$ egyenlőtlenségből $ i\geq -\log \varepsilon /\log 2\approx 19.93$ , azaz $ i=20$ lépés szükséges. A lépéseket táblázatba foglaltuk, bekeretezve a végeredményt:

$\displaystyle \begin{array}{ccllcc}
i & [a,b] & x & \delta x & f(x)\approx & \medskip\\
1 & [0,1] & 0.5 & 0.5 & 1.35 & \rightarrow a=x\medskip\\
2 & [0.5,1] & 0.75 & 0.25 & -0.4 & \rightarrow b=x\medskip\\
3 & [0.5,0.75] & 0.625 & 0.125 & 0.57 & \rightarrow a=x\medskip\\
\vdots & & \quad \vdots & \quad \vdots & & \\
20 & & \fbox{0.703439} & 0.95\times 10^{-6} & &
\end{array}
$

8.2. A fixpont iterációs eljárás

A módszert az $ f\left( x\right) =x-g\left( x\right) =0$ alakú vagy ilyen alakra hozott egyenletek esetén alkalmazzuk. Az $ f\left( x\right) =0$ egyenlet ekvivalens az

(8.3) $\displaystyle x=g\left( x\right)$

egyenlettel. A módszer elnevezésének az az alapja, hogy a megoldás egyben az $ x\rightarrow $ $ g\left( x\right) $ leképezés fixpontja: a leképezés során helyben maradó pont. Választunk tehát egy $ x_{0}$ kezdeti értéket, majd képezzük az

(8.4) $\displaystyle x_{1}=g\left( x_{0}\right) ,$ $\displaystyle x_{2}=g\left( x_{1}\right) ,\ldots$   , $\displaystyle x_{k+1}=g\left( x_{k}\right) ,\ldots$

sorozatot. Azt reméljük, hogy a sorozat az egyenlet $ x^{\ast }$ megoldásához (a leképezés fixpontjához) konvergál. További lényeges kérdés, hogy az iterációt az $ i$ -edik lépésben megállítva, legfeljebb mekkora távolságra vagyunk a megoldástól. A következő két ábrán geometriai szemléltetését adjuk az eljárásnak, ami önmagában is igazolja, hogy a fixpont akár egyértelmű létezése sem ad garanciát a konvergenciára.

Image itdiv5

A fixpont iterációs eljárás vonzó gyök:

Image itkonv1

8.2. Tétel.   Ha $ g\in C\left[ a,b\right] $ és $ a\leq g\left( x\right) \leq b$ minden $ x\in \left[ a,b\right] $ esetén, akkor a $ g\left( x\right) $ függvénynek az $ \left[ a,b\right]$ intervallumon van fixpontja.

Bizonyítás. Feltehetjük, hogy $ g(a)>a$ és $ g(b)<b.$ (Egyenlőség esetén maga az $ a$ , illetve $ b$ fixpont lenne.) Legyen $ h(x)=g(x)-x$ . Ekkor $ h(x)$ folytonos $ \left[ a,b\right]$ -n, $ h(a)>0$ és $ h\left( b\right) <0$ . Ezért a $ h\left( x\right)$ függvénynek van $ \xi \in \left( a,b\right) $ gyöke, azaz $ h(\xi )=g(\xi )$ -$ \xi =0$ . $ \qedsymbol$

A fixpont iterációs eljárás vonzó gyök:

Image numfix

8.3. Definíció.   A $ g\in C\left[ a,b\right] $ függvény kontrakció az $ \left[ a,b\right]$ intervallumon, ha létezik $ 0\leq q<1$ úgy, hogy

$\displaystyle \left\vert g\left( x\right) -g\left( y\right) \right\vert \leq q\left\vert x-y\right\vert ,\quad x,y\in \left[ a,b\right].
$

Példa. A $ g\left( x\right) =x^{2}$ függvény kontrakció a $ \left[ 0,\frac{1}{4}\right] $ intervallumon, de a $ \left[ 0,1\right] $ intervallumon már nem az.

$\displaystyle \left\vert x^{2}-y^{2}\right\vert =\underset{\leq 1/2}{\underbrace{\left\vert x+y\right\vert }}\left\vert x-y\right\vert \leq \frac{1}{2} \left\vert x-y\right\vert ,\quad x,y\in \left[ 0,\frac{1}{4}\right].
$

legyen például $ x,y\in \left[ \frac{3}{4},1\right] $ , de $ x\neq y$ Két ílymódon választott szám ellenpédát ad, ugyanis

$\displaystyle \left\vert x^{2}-y^{2}\right\vert =\underset{\geq 3/2}{\underbrace{\left\vert x+y\right\vert }}\left\vert x-y\right\vert \geq \frac{3}{2}\left\vert x-y\right\vert >
\left\vert x-y\right\vert \quad \left(x\neq y\right)
$

8.4. Tétel.   Banach-féle fixponttétel
Ha $ g\in C\left[ a,b\right] $ , $ a\leq g(x) \leq b \left( x\in \left[ a,b\right] \right) $ és $ g(x)$ kontrakció $ \left[ a,b\right]$ -n, akkor pontosan egy fixpont létezik $ \left[ a,b\right]$ -ben.

8.5. Tétel.   Legyen $ g\in C\left[ a,b\right] $ Ha teljesülnek a következők:

(i) $ a\leq g\left( x\right) \leq b$ minden $ x\in \left[ a,b\right] $ esetén,

(ii) az $ x\rightarrow g(x)$ kontrakció $ [a,b]$ -n $ q$ kontrakciós tényezővel,

akkor az (8.3) egyenletnek pontosan egy megoldása van $ [a,b]$ -n és az (8.4) sorozat minden $ x_{0}\in [a,b]$ esetén az egyenlet egyetlen $ x^{\ast }$ megoldásához konvergál. Érvényes továbbá az alábbi hibabecslés:

(8.5) $\displaystyle \left\vert x^{\ast }-x_{k}\right\vert \leq \frac{q}{1-q}\left\vert x_{k}-x_{k-1}\right\vert \leq \frac{q^{k}}{1-q}\left\vert x_{1}-x_{0}\right\vert .$

8.3. Fixpont iteráció

8.6. Tétel.   Ha a $ g$ függvényre teljesülnek a következők:

(i) $ g\in C^{1}[a,b]$ (azaz folytonosan differenciálható $ \left[ a,b\right]$ -n),

(ii) $ \max_{x\in \left[ a,b\right] }\left\vert g^{\prime }\left( x\right)\right\vert =q<1$ ,

akkor az $ x\rightarrow $ $ g\left( x\right) $ kontrakció $ \left[ a,b\right]$ -n $ q$ kontrakciós tényezővel.

Bizonyítás. Ha $ x,y\in [a,b]$ , akkor a differenciálszámítás Lagrange-féle középértéktétele alapján létezik $ \xi \in \lbrack a,b],$ hogy

$\displaystyle \left\vert g\left( x\right) -g\left( y\right) \right\vert =\left\vert g^{\prime }\left( \xi \right) \left( x-y\right) \right\vert
=\left\vert g^{\prime }\left( \xi \right) \right\vert \left\vert x-y\right\vert \leq q\left\vert x-y\right\vert.
$

$ \qedsymbol$

A fixpont iterációs eljárás algoritmusa:

  INPUT $ x_{0}, \varepsilon (\varepsilon >0)$ .
1 $ k=1,\quad x_{1}=g(x_{0})$
2 WHILE kilépési feltétel=hamis
3          $ x_{k+1}=g\left( x_{k}\right) $
4         $ k=k+1$

Az algoritmus költsége a felező eljáráshoz hasonló. Lépésenként itt is egy függvénykiértékelést kell végezni és ez határozza meg a költséget. Tárolni nem kell a sorozat minden elemét, elegendő mindig csak az utolsó kettőt. A kilépési feltételhez rendszerint ezekre szükség van, ezért is számítjuk ki még a ciklus előtt az $ x_{1}$ -et.

Kilépési feltételként a következőket szokás használni:

$\displaystyle \begin{array}{lc}
\text{(A) }\frac{q}{1-q}\left\vert x_{k}-x_{k-1}\right\vert \leq \varepsilon & \text{(egzakt hibabecslés)} \\
\text{(B) }\left\vert x_{k}-x_{k-1}\right\vert \leq \varepsilon & \\
\text{(C) }\left\vert x_{k}-g(x_{k})\right\vert \leq \varepsilon & \end{array}
$

Ha nem alkalmazhatjuk az egzakt kilépési feltételt, akkor nagyon körültekintően kell eljárni, mert a (B) és (C) egyidejű teljesülése sem garantálja, hogy valóban a gyök $ \varepsilon$ környezetében járunk, sőt, még a konvergenciát sem.

Példa. Oldjuk meg az $ f(x)=4-4x^{2}-e^{x}=0$ egyenletet a $ [0,1]$ intervallumon, $ \delta x_{i}=\varepsilon =10^{-6}$ hibakorláttal, fixpont iterációs módszert alkalmazva. A számítások előtt igazoljuk a konvergenciát is.

Megoldás: Itt kísérletezhetünk az $ x^{2}$ egyik oldalra rendezésével és utána négyzetgyökvonással, hogy az alkalmas $ x=g\left( x\right) $ alakhoz jussunk. Kapjuk tehát az

$\displaystyle x=g(x)=\frac{1}{2}\sqrt{4-e^{x}}
$

egyenletet. (A négyzetgyökvonást pozitív előjellel végezzük mert pozitív gyököt kesesünk.)

A kapott $ g$ függvény folytonos, de az is azonnal látszik, hogy szigorúan monoton csökken a $ [0,1]$ -en. (Ezt a derivált negatív volta mutatja.) Tehát a minimumát az intervallum végpontjában, a maximumát pedig a kezdőpontjában veszi fel. Igaz tehát a következő egyenlőtlenséglánc:

$\displaystyle a=0\leq g(1)=0.56606\leq g(x)\leq g(0)=0.86603\leq 1=b.
$

Ezzel a konvergencia tétel első feltételét beláttuk. (Vele együtt azt is, hogy az egyenletnek van gyöke a keresett helyen.) A kijelölt intervallumon a deriváltfüggvény, illetve az abszolút értéke:

$\displaystyle \left\vert g^{\prime }\left( x\right) \right\vert =\left\vert \frac{-e^{x}}{4\sqrt{4-e^{x}}}\right\vert =\frac{e^{x}}{4\sqrt{4-e^{x}}}.
$

A $ [0,1]$ intervallumon ez folytonos. Ugyanakkor $ \left\vert g^{\prime}\left( x\right) \right\vert $ szigorúan monoton növekvő, ezért maximumát az intervallum végpontjában veszi fel:

$\displaystyle \left\vert g^{\prime }\left( x\right) \right\vert \leq \left\vert g^{\prime}\left( 1\right) \right\vert =0.60026=q<1.
$

Tehát fennáll a konvergeciatételünk (ii) feltétele is. Alkalmazhatjuk az (A) egzakt kilépési feltételt és mivel a hibabecsléshez szükséges $ \alpha =q/(1-q)=1.502$ a példára nézve állandó, ezt előre kiszámoltuk. Legyen az iteráció kezdő adata $ x_{0}=1\in \lbrack a,b]$ A számítások részleteit itt is táblázatban foglaltuk össze, bekeretezve a végeredményt:

$\displaystyle \begin{array}{cll}
k & x & \delta x=\alpha \left\vert x_{k+1}-x_{k}\right\vert \\
0 & 1 & \\
1 & 0.566065 & 0.65 \\
2 & 0.748111 & 0.27 \\
\vdots & \quad \vdots & \quad \vdots \\
14 & \fbox{0.703439} & 0.43\times 10^{-6}
\end{array}
$

8.4. Húrmódszer

Legyen $ f :[a,b]\to \mathbb{R}$ folytonos, $ f(a)\cdot f (b) < 0$ . Ekkor $ (a, b)$ -ben van gyöke $ f$ -nek. Legyen $ x_0 = a , x_1 = b$ . Az $ x_k$ és $ x_s$ közelítések ismeretében (ahol $ f(x_k)\cdot f(x_s) <0$ ) az $ f$ függvényt közelítsük az $ (x_k, f(x_k))$ és $ (x_s, f(x_s))$ pontokon átmenő egyenessel. Az egyenes $ x$ tengellyel vett metszéspontja legyen $ x_{k+1}$ . A következő közelítésben szereplő $ s$ index legyen:

$\displaystyle s = \left\{\begin{array}{ll}
k, \qquad & \mbox{ha } f(x_k) \cdot f(x_{k+1})<0 \\
s, \qquad & \mbox{ha } f(x_k) \cdot f(x_{k+1})>0
\end{array} \right.
$

Képlettel: legyen adott $ x_0,x_1$ úgy, hogy $ f(x_0) \cdot f(x_1) <0$ . Ekkor

$\displaystyle x_{k+1} = x_k - \dfrac{f(x_k)\cdot(x_k-x_s)}{f(x_k)-f(x_s)} \qquad (k \in \mathbb{N}),
$

ahol $ s$ a legnagyobb index, melyre $ f(x_s) \cdot f(x_k) <0$ .

8.7. Tétel.   Ha

(i) $ f \in C^2[a,b]$ ,

(ii) $ f(a)\cdot f (b) < 0$ ,

(iii) $ f^{\prime}$    és $ f^{\prime \prime}$    állandó előjelű az $ [a,b]$    intervallumon ,

(iv) $ 0< m_1 \leq |f^{\prime}|$ ,

(v) $ |f^{\prime\prime}| \leq M_2 < \infty$

akkor a húrmódszer konvergens és a hibabecslése:

$\displaystyle \left| x_{k+1} - x^* \right| \leq \dfrac{M_2}{2m_1} \left| x_{k} - x^* \right| \cdot \left| x_{s} - x^* \right| \qquad (k \in \mathbb{N}).
$

8.5. Szelőmódszer

Legyen $ f :[a,b]\to \mathbb{R}$ folytonos, és tegyük fel, hogy $ (a, b)$ -ben van gyöke $ f$ -nek. Legyen $ x_0 = a , x_1 = b$ . Az $ x_{k-1}$ és $ x_k$ közelítések ismeretében az $ f$ függvényt közelítsük az $ (x_{k-1}, f(x_{k-1}))$ és $ (x_k, f(x_k))$ pontokon átmenő egyenessel. Az egyenes $ x$ tengellyel vett metszéspontja legyen $ x_{k+1}$ . Képlettel: legyen adott $ x_0,x_1$ úgy, hogy $ f(x_0) \cdot f(x_1) <0$ . Ekkor

$\displaystyle x_{k+1} = x_k - \dfrac{f(x_k)\cdot(x_k-x_{k-1})}{f(x_k)-f(x_{k-1})} \qquad (k \in \mathbb{N}).
$

8.8. Tétel.   Ha

(i) $ f \in C^2[a,b]$ ,

(ii) $ f$-nek létezik $ x^* \in (a,b)$    gyöke ,

(iii) $ f^{\prime}$    állandó előjelű az $ [a,b]$    intervallumon ,

(iv) $ 0< m_1 \leq |f^{\prime}|$ ,

(v) $ |f^{\prime\prime}| \leq M_2 < \infty$ ,

(vi) legyen $ x_0\in [a,b]$    olyan, hogy $ \left| x_0 - x^* \right| < r = \min \left\{\tfrac{2m_1}{M_2}, \left| a - x^* \right|, \left| b - x^* \right| \right\} $

akkor a megfelelő környezetből indított szelőmódszer konvergens és a konvergencia rendje $ p= \frac{1+\sqrt{5}}{2}$ . A hibabecslése:

$\displaystyle \left| x_{k+1} - x^* \right| \leq \dfrac{M_2}{2m_1} \left| x_{k} - x^* \right| \cdot \left| x_{k-1} - x^* \right| \qquad (k \in \mathbb{N}).
$

8.6. A Newton-módszer

A módszert szokás érintőmódszernek is nevezni. Tegyük fel, hogy $ f:\mathbb{R}\rightarrow \mathbb{R}$ folytonosan differenciálható. A módszer lényege, hogy az $ x_{k}$ pontban a függvényhez érintőt húzunk és ennek az érintőnek a zérushelye adja meg a keresett gyök $ \left( k+1\right) $ -edik közelítését, azaz $ x_{k+1}$ -et.

Image newton

Az ábrán az előre felvett kezdeti $ x_{0}$ (ami gyakran a szóbanforgó intervallum valamelyik alkalmas végpontja) közelítést és további kettőt tüntettünk fel. Az érintő iránytangense a $ k$ -adik pontban $ f^{\prime }(x_{k})$ és egyenlete

$\displaystyle y-f(x_{k})=f^{\prime }(x_{k})(x-x_{k}).
$

Az $ y=0$ helyen metszi az $ x$ -tengelyt; ezt behelyettesítve:

$\displaystyle x_{k+1}=x_{k}-\frac{f(x_{k})}{f^{\prime }(x_{k})},
$

feltéve, hogy $ f^{\prime }(x_{k})\neq 0$ .

Ehhez képlethez eljuthatunk egy kissé más érveléssel is. Nevezetesen $ f(x)$ -et linearizáljuk az $ x_{k}$ pontban, azaz közelítjük az elsőfokú Taylor-polinomjával:

$\displaystyle f(x)\approx f(x_{k})+f^{\prime }(x_{k})(x-x_{k}).
$

Ezután az $ f(x)=0$ egyenletet helyettesítjük az

$\displaystyle f(x_{k})+f^{\prime }(x_{k})(x-x_{k})=0
$

egyenlettel, amelynek gyöke közelíti az $ f(x)=0$ egyenlet gyökét.

A Newton-módszer tehát a következő. Adott egy $ x_{0}\in \mathbb{R}$ kezdeti közelítés és képezzük az

$\displaystyle x_{k+1}=x_{k}-\frac{f(x_{k})}{f^{\prime }(x_{k})}\quad (k=0,1,\ldots )
$

sorozatot. A Newton-módszer konvergenciájára az alábbi tételt ismertetjük:

8.9. Tétel.   Ha az $ f$ függvényre teljesülnek a következők:

(i) $ f\in C^{2}[a,b]$ (kétszer folytonosan differenciálható $ [a,b]$ -n),

(ii) $ f^{\prime }(x),$ $ f^{\prime \prime }(x)\neq 0$ , ha $ x\in\lbrack a,b]$ (állandó előjelűek),

(iii) $ f$ -nek van zérushelye $ \left( a,b\right) $ -n,

(iv) $ x_{0}\in \lbrack a,b]$ , valamint teljesül, hogy $ f^{\prime }(x_{0})$ és $ f^{\prime \prime }(x_{0})$ azonos előjelű, akkor az $ x_{k+1}=x_{k}-\frac{f(x_{k})}{f^{\prime }(x_{k})}$ sorozat konvergál az egyetlen $ [a,b]$ -beli $ x^{\ast }$ megoldáshoz. Érvényes továbbá az alábbi hibabecslés:

$\displaystyle \left\vert x^{\ast }-x_{k}\right\vert \leq \frac{M}{2m}\left(x_{k}-x_{k-1}\right) ^{2},
$

ahol $ 0<m\leq \left\vert f^{\prime }(x)\right\vert $ és $ M\geq \left\vert f^{\prime \prime }(x)\right\vert $ , azaz a deriváltak abszolút értékeinek alsó, illetve felső korlátjai $ [a,b]$ -n.

Bizonyítás. A zérushely egyedüli volta az $ f$ szigorú monotonitásából következik ( $ f^{\prime}\neq 0$ ). Az is világos, hogy ekkor az intervallum két végpontjában ellentétes az $ f$ előjele, következésképpen az egyik végpont mindig teljesíti a (iv) feltételt. Négy eset különböztethető meg, az $ f^{\prime }(x),$ és $ f^{\prime \prime }(x)$ előjeleitől függően. Mind a négyre hasonló a bizonyítás, ezért csak az ábrán is látható $ f^{\prime }(x)>0,$ $ f^{\prime \prime }(x)>0$ esetet mutatjuk meg. Ekkor az (iv) feltétel miatt $ f(x_{0})$ is pozitív, az $ f^{\prime }(x_{0})$ pozitívitása és korlátossága miatt (zárt intervallumon folytonos függvény ott korlátos is) pedig $ x_{1}<x_{0}.$

Felírva a másodfokú, maradéktagos Taylor-polinomot

$\displaystyle f\left( x_{1}\right) =f\left( x_{0}\right) +f^{\prime }\left( x_{0}\right)\left( x_{1}-x_{0}\right) +\frac{f^{\prime \prime }\left( \mu \right) }{2}\left( x_{1}-x_{0}\right) ^{2}\quad \left( \mu \in
\left[ x_{1},x_{0}\right]\right) ,
$

látható, hogy $ f$ az érintő fölött halad, így $ f(x_{1})>0$ is fennáll.

A második lépésben az $ x_{1}$ játsza az $ x_{0}$ szerepét, tehát $ x_{2}<x_{1}$ , és így tovább. Az $ \{x_{k}\}_{k=1}^{\infty }$ sorozat monoton csökkenő tehát, de korlátos is, mert minden érintő az $ f$ alatt marad az intervallumban. Következésképp az $ x^{\ast }$ egy alsó korlát. Monoton korlátos sorozat konvergens is, legyen a határérték $ t$ . Vegyük az $ x_{k+1}=x_{k}-\frac{f(x_{k})}{f^{\prime }(x_{k})}$ sorozat mindkét oldalán a $ k\rightarrow \infty $ határátmenetet, a folytonosság miatt mindkét oldal határértéke ugyanaz a $ t$ , ami csak az $ f(t)=0$ mellett lehetséges, azaz $ t=x^{\ast }$ . A megoldáshoz való konvergenciát ezzel beláttuk.

A hibabecsléshez írjuk fel az elsőfokú maradéktagos Taylor-polinomot az $ x^{\ast }$ pontban, a másodfokút pedig az $ x_{k}$ -ben:

$\displaystyle f\left( x_{k+1}\right) =f\left( x^{\ast }\right) +f^{\prime }\left( \xi\right) \left( x_{k+1}-x^{\ast }\right) ,
$

$\displaystyle f\left( x_{k+1}\right) =f\left( x_{k}\right) +f^{\prime }\left( x_{k}\right)\left( x_{k+1}-x_{k}\right) +\frac{f^{\prime \prime }\left( \zeta \right) }{2}\left( x_{k+1}-x_{k}\right) ^{2},
$

ahol $ \xi ,$ $ \zeta \in \lbrack a,b]$ . A két egyenlet baloldala egyenlő, így a jobboldalukon álló kifejezések is.

A elsőben $ f\left( x^{\ast }\right) =0$ , a másodikban $ f\left( x_{k}\right) +f^{\prime }\left( x_{k}\right) \left(x_{k+1}-x_{k}\right) =0$ , így

$\displaystyle f^{\prime }\left( \xi \right) \left( x_{k+1}-x^{\ast }\right) =\frac{f^{\prime \prime }\left( \zeta \right) }{2}\left( x_{k+1}-x_{k}\right)^{2}.
$

Vegyük mindkét oldal abszolút értékét, $ k$ helyett írjunk $ k-1$ -et. Rendezzük át az egyenletet és vegyük figyelembe, hogy $ m$ az $ \left\vert f^{\prime }(\xi )\right\vert $ alsó, $ M$ pedig az $ \left\vert f^{\prime \prime }(\zeta)\right\vert $ felső korlátja. Ezzel megkapjuk a hibabecslést. $ \qedsymbol$

Ez a hibabecslés mutatja, hogy a konvergencia sebesség másodrendű (négyzetes). Az is egyszerűen belátható, hogy a $ k+1$ -edik közelítés relatív hibája a $ k$ -adikénak a négyzete.

A Newton-módszer algoritmusa:

  INPUT $ x_{0}, \varepsilon (\varepsilon >0)$ .
1 $ k=1,\quad x_{1}=x_{0}-f(x_{0})/f^{\prime }(x_{0})$
2 WHILE kilépési feltétel=hamis
3                  $ x_{k+1}=x_{k}-f(x_{k})/f^{\prime }(x_{k})$
4                 $ k=k+1$

A kilépési feltételek hasonlóak lehetnek, mint a fixpont iterációnál. Ha igazolni tudtuk a konvergenciát és becsülni az $ m$ , $ M$ értékeket, akkor az (A) egzakt hibabecslést végezhetünk, egyébként a (B) vagy/és a (C)-t (ez utóbbinál $ \left\vert f(x_{k})\right\vert <\varepsilon $ ).

Példa. Oldjuk meg az $ f(x)=4-4x^{2}-e^{x}=0$ egyenletet a $ [0,1]$ intervallumon, $ \delta x_{i}=\varepsilon =10^{-6}$ hibakorláttal, Newton-módszerrel. A számítások előtt igazoljuk a konvergenciát is.

Megoldás: Könnyen kiszámolható, hogy

$\displaystyle f^{\prime }(x)=-8x-e^{x}<0$   és $\displaystyle f^{\prime \prime}(x)=-8-e^{x}<0.
$

Ezekből a deriváltakból azonnal látszik azok állandó előjele is az adott intervallumon; ezzel a konvergenciatétel első két feltételét igazoltuk.

Az $ f(0)=3$ és $ f(1)=-e$ értékek ellentétes előjele egyben az (iii) feltétel teljesülését jelenti. Az $ x_{0}=1$ választással pedig az utolsó feltétel is fennáll. Van tehát egyedüli $ x^{\ast }$ megoldás a $ [0,1]$ -n és az a Newton-módszerrel megközelíthető. Az egzakt hibabecsléshez szükséges konstansok is könnyen adódnak: mindkét derivált abszolút értéke szigorúan monoton nő, így az első a minimumát az $ a$ helyen, a második pedig a maximumát a $ b$ helyen veszi fel. Tehát $ m=\left\vert f^{\prime }(0)\right\vert =1$ és $ M=\left\vert f^{\prime \prime }(1)\right\vert =10.72$ . Itt is előre kiszámolhatjuk a példára nézve állandó $ \beta=M/(2m)=5.36$ értéket.

Az iterációk eredményeit itt is táblázatba foglaltuk.

$\displaystyle \begin{array}{cll}
i & x & \delta x=\beta \left( x-x_{elozo}\right) ^{2} \\
0 & 1 & \\
1 & 0.74638828573 & 0.35 \\
2 & 0.70459003270 & 0.94\times 10^{-2} \\
3 & 0.70344043705 & 0.71\times 10^{-5} \\
4 & \fbox{0.70343957116} & 0.41\times 10^{-11}
\end{array}
$

8.7. Az érintő parabola-módszer

Ennél a módszernél az érintő egyenesek helyett érintő parabolákat használunk.

Legyen adott egy $ [a,b]$ intervallum, amelyben az $ f(x)=0$ egyenletnek van gyöke. Tegyük fel, hogy $ f$ differenciálható $ [a,b]$ -n és $ f(b)>0$ . (Ha nem teljesül, akkor a $ -f(x)=0$ egyenletet oldjuk meg). A $ (b,f(b))$ pontba végtelen sok olyan érintőparabolát illeszthetünk, amely metszi az $ x$ tengelyt.

Ugyanis a

$\displaystyle p(x) = f(b) + f^{\prime}(b)(x-b) -M (x-b)^2, \qquad M>0
$

függvények bármelyikének a képe parabola, és $ f(b)= p(b), f^{\prime}(b) = p^{\prime}(b)$ . Az $ M>0$ miatt az $ x$ tengelyt két pontban metszi mindegyik parabola.

Mivel az $ [a,b]$ -ben keresünk gyököt, ezért a baloldali metszéspontot vesszük figyelembe. A $ p(x)=0$ egyenletből:

$\displaystyle x= x_1 = b + \dfrac{f^{\prime}(b)}{2M}- \dfrac{1}{2M} \sqrt{(f^{\prime}(b))^2 + 4Mf(b)}.
$

Innen a módszer formulája ($ b$ helyére $ x_k$ -t, $ x_1$ helyére $ x_{k+1}$ -et írva):

$\displaystyle x_{k+1} = x_k + \dfrac{f^{\prime}(x_k)}{2M}- \dfrac{1}{2M} \sqrt{(f^{\prime}(x_k))^2 + 4Mf(x_k)} \qquad k=0,1,2\ldots
$

A következő tétel megadja, hogy milyen $ M$ értékeket érdemes használni.

8.10. Tétel.   Az $ f(x)=0$ egyenlet esetén legyen $ f \in C^2[a,b]$ , legyen $ f(b)>0$ és tegyük fel, hogy

$\displaystyle M \geq \dfrac12 \max_{x \in [a,b]} \left| f^{\prime\prime}(x) \right|.
$

Ekkor az $ x_0=b$ választással a módszer konvergál a $ b$ ponthoz legközelebbi $ [a,b]$ -beli gyökhöz (ha az $ [a,b]$ intervallumban van gyök), ellenkező esetben véges sok lépés után $ x_k <a$ .

9. Nemlineáris egyenletrendszerek megoldása

Az $ x=G\left( x\right) $ ( $ G:\mathbb{R}^{n}\rightarrow \mathbb{R}^{n}$ ) és az $ F(x)=0$ ( $ F:\mathbb{R}^{n}\rightarrow \mathbb{R}^{n}$ ) alakú egyenletrendszerek közelítő megoldási módszerei közül említünk kettőt. Mindkettő a már egydimenzióban megismert valamelyik módszer kiterjesztése többdimenzióra.

9.1. Fixpont iterációs eljárás

Az $ x=G\left( x\right) $ egyenletrendszer fixpont iterációját tulajdonképpen már elmondtuk (a lineáris egyenletrendszereknél is és az egydimenziós eljárásoknál is). Ha a $ D\subseteq \mathbb{R}^{n}$ zárt tartományra teljesül a

$\displaystyle G\left( x\right) \in D,\quad x\in D
$

és valamilyen indukált normában a

$\displaystyle \left\Vert G\left( x\right) -G\left( y\right) \right\Vert \leq q\left\Vert
x-y\right\Vert ,\quad x,y\in D\quad \left( 0\leq q<1\right)
$

kontrakciós feltétel, akkor tetszőleges $ x^{(0)}\in D$ esetén az alábbi algoritmus lineáris sebességgel konvergál az $ x=G\left( x\right) $ egyenlet egyetlen megoldásához.

A fixpont iteráció algoritmusa:

1 Input $ x^{(0)}$ , $ \varepsilon >0$ .
2 $ k=1,\quad x^{{\left( 1\right) }}=G\left( x^{(0)}\right) $
3 WHILE kilépési feltétel=hamis DO
4                  $ x^{(k+1)}=G\left( x^{(k)}\right) $
5                 $ k=k+1$

Megjegyezzük, hogy a kilépési feltételek is azonosak az egydimenziós esettel, annyi módosítással, hogy abszolút érték helyett normát veszünk és felső indexet használunk.

9.2. A Newton-módszer

Itt is valamely $ x^{(0)}\in $ $ \mathbb{R}^{n}$ kezdeti vektorból kiindulva állítunk elő egy sorozatot, amely reményeink szerint (bizonyos feltételek megléte esetén garantáltan) az egyenletrendszer megoldásához konvergál. Az $ F(x)=0$ ( $ x\in\mathbb{R}^{n}$ ) egyenletrendszer skalár alakja:

    $\displaystyle f_{1}\left( x_{1},x_{2},\ldots ,x_{n}\right)$ $\displaystyle = 0$
    $\displaystyle \vdots$ $\displaystyle \vdots$
    $\displaystyle f_{n}\left( x_{1},x_{2},\ldots ,x_{n}\right)$ $\displaystyle =0.$

Az egyes skalár egyenleteket linearizáljuk az $ x^{(k)}=[x_{1}^{(k)},x_{2}^{(k)},\ldots ,x_{n}^{(k)}]^{T}\in \mathbb{R}^{n}$ pontban, majd az így kapott lineáris egyenletrendszer megoldása szolgáltatja az $ x^{(k+1)}$ közelítést. Az $ i$ -edik skalár függvény elsőfokú Taylor-polinomja az $ x^{(k)}$ pontban:

    $\displaystyle f_{i}(x_{1},x_{2},\ldots ,x_{n})$ $\displaystyle \approx f_{i}(x_{1}^{(ki)},x_{2}^{(k)},\ldots ,x_{n}^{(k)})$
      $\displaystyle +\sum_{j=1}^{n}\frac{\partial }{\partial x_{j}}f_{i}(x_{1}^{(k)},x_{2}^{(k)},\ldots ,x_{n}^{(k)})
 \left(x_{j}-x_{j}^{(k)}\right) .$

Tömörebb formában ugyanez

$\displaystyle \begin{array}{c}
f_{1}(x)\approx f_{1}(x^{(k)})+\nabla f_{1}(x^{(k)})^{T}(x-x^{(k)}) \\
\vdots \\
f_{n}(x)\approx f_{n}(x^{(k)})+\nabla f_{n}(x^{(k)})^{T}(x-x^{(k)}),
\end{array}
$

ahol $ \nabla f_{i}(x^{(k)})$ az $ i$ -edik skalár függvény gradiense az $ x^{(k)}$ pontban, azaz az $ F$ Jacobi-mátrixának $ i$ -edik sorvektora az $ x^{(k)}$ pontban. Az $ F(x)=0$ egyenletrendszer megoldása helyett keressük a linearizált egyenletrendszer

$\displaystyle \begin{array}{c}
f_{1}(x^{(k)})+\nabla f_{1}(x^{(k)})^{T}(x-x^{(k)})=0 \\
\vdots \\
f_{n}(x^{(k)})+\nabla f_{n}(x^{(k)})^{T}(x-x^{(k)})=0,
\end{array}
$

megoldását. Vegyük észre, hogy az $ y=f_{i}(x^{(k)}) +\nabla f_{i}(x^{(k)})^{T}(x-x^{(k)})$ egyenlet az $ y=f_{i}(x)$ függvény érintő (hiper)síkja az $ x^{(k)}$ pontban. Az $ x^{(k+1)}$ közelítés az érintősíkoknak az $ y=0$ síkon lévő közös pontja.

Az $ F$ függvény

$\displaystyle J(x)=\left[ \frac{\partial f_{i}(x)}{\partial x_{j}}\right]_{i,j=1}^{n}
=\left[\begin{array}{c}
\nabla f_{1}(x)^{T} \\
\vdots \\
\nabla f_{n}(x)^{T}
\end{array}\right]
$

Jacobi-mátrixával tömörebben is megfogalmazható a linearizált egyenletrendszer:

(9.1) $\displaystyle F(x^{(k)})+J(x^{(k)})(x-x^{(k)})=0.$

Ennek megoldása:

(9.2) $\displaystyle x^{(k+1)}=x^{(k)}-\left[ J\bigl(x^{(k)}\bigr)\right] ^{-1}F(x^{(k)})\qquad (k=0,1,\ldots ).$

Az $ \left\{ x^{(k)}\right\} $ sorozat fenti előállítását nevezzük Newton-módszernek. Amennyiben a skalár számmal való osztást úgy tekintjük, hogy az az inverzével (reciprokával) balról történő szorzás, akkor tökéletes analógiát látunk az (9.2) és az egydimenziós Newton-módszer között. Ugyanígy az algoritmusok között is, annyi eltéréssel, hogy a gyakorlatban soha nem invertáljuk a $ J(x^{(k)})$ Jacobi-mátrixot. Helyette az (9.1) lineáris egyenletrendszert oldjuk meg valamely alkalmas módszerrel, a $ \Delta ^{(k)}=$ $ x-x^{(k)}$ új változó bevezetésével.

A Newton-módszer algoritmusa egyenletrendszerekre:

1 Adott $ x^{(0)}\in \mathbb{R}^{n}$ , $ \varepsilon >0$ .
2 FOR $ i =0,1,2,\ldots $
3         Oldjuk meg a $ J(x^{(k)})\Delta ^{(k)}=-F(x^{(k)})$ egyenletrendszert.
4          $ x^{(k)}=x^{(k)}+\Delta ^{(k)}$

Az algoritmust itt taxatív ciklussal írtuk le; természetesen gondoskodni kell a kilépési feltételről. Az alkalmazható kilépési feltétel itt is a korábban megadott (B) vagy/és (C) lehet, értelemszerűen valamilyen normában alkalmazva. (Természetesen az iterációszám korlátozásáról se feledkezzünk meg.) Egzakt (A) hibabecslésre igen ritkán van módunk. Ismerünk ugyan konvergenciatételeket, amelyek becslést is adnak a hibára, ám azok feltételeit a legritkább esetben sikerül belátni, illeve az azokban szereplő konstansokat megbecsülni (a költségekről nem is beszélve). Mindenesetre ezen tételek igazolják, hogy az eljárás konvergenciája alkalmas feltételek esetén lokális és másodrendű.

Megjegyezzük, hogy a lokális konvergencián azt értjük, hogy csak bizonyos tartományból, rendszerint az $ x^{\ast }$ megoldás szűk környezetéből választott $ x^{(0)}$ kezdeti vektor esetén konvergens. Ebben az értelemben az egy- vagy többdimenziós fixpontiteráció és az egydimenziós Newton-módszer is lokálisan konvergens.

Példa. Oldjuk meg az $ F(x)=\left[f_{1}(x),f_{2}(x)\right] ^{T}=0,$      $ x=\left[ x_{1},x_{2}\right] ^{T}$ egyenletrendszert Newton-módszerrel, ha

    $\displaystyle f_{1}(x)$ $\displaystyle =x_{1}+x_{2}^{2}-5$
    $\displaystyle f_{2}(x)$ $\displaystyle =x_{1}^{3}-x_{2}\sqrt{x_{1}}-3.$

Megoldás: A Jacobi-mátrix:

$\displaystyle J(x)=\left[\begin{array}{ccc}
1 & & 2x_{2} \\
3x_{1}^{2}-\frac{x_{2}}{(2\sqrt{x_{1}})} & & -\sqrt{x_{1}}
\end{array}\right].
$

Legyen a kezdővektor $ x^{(0)}=\left[ 3,-5\right] ^{T}$ . A

$\displaystyle J(x^{(0)})\Delta ^{(0)}=-F(x^{(0)})
$

lineáris egyenletrendszer:

$\displaystyle \left[\begin{array}{crr}
1 & & -10.000000 \\
28.443376 & & -1.732051
\end{array}\right] \left[\begin{array}{c}
\Delta _{1} \\
\Delta _{2}
\end{array}\right] = -\left[\begin{array}{c}
23.000000 \\
32.660254
\end{array}\right].
$

Az egyszerűség kevéért itt elhagytuk a $ \Delta $ vektor felső indexeit. A megoldás:

$\displaystyle \left[\begin{array}{c}
\Delta _{1} \\
\Delta _{2}
\end{array}\right] = \left[\begin{array}{r}
-1.014374 \\
2.198563
\end{array}\right] ,\left[\begin{array}{c}
x_{1}^{(1)} \\
x_{2}^{(1)}
\end{array}\right] = x^{(0)} + \left[\begin{array}{c}
\Delta _{1} \\
\Delta _{2}
\end{array}\right] = \left[\begin{array}{r}
1.985626 \\
-2.801437
\end{array}\right].
$

A kilépési feltételhez szükséges normák:

$\displaystyle \left\Vert \Delta \right\Vert _{\infty }=2.198563,\quad \left\Vert F(x^{(1)})\right\Vert _{\infty }=8.776312.
$

A továbbiakban pedig

$\displaystyle \left[\begin{array}{c}
x_{1}^{(2)} \\
x_{2}^{(2)}
\end{array}\right] = \left[\begin{array}{r}
1.384174 \\
-2.046071
\end{array}\right],
$

$\displaystyle \left\Vert \Delta \right\Vert_{\infty }=0.755366,
\quad \left\Vert F(x^{(2)})\right\Vert _{\infty }=2.059214.
$

$\displaystyle \vdots$

$\displaystyle \left[\begin{array}{c}
x_{1}^{(6)} \\
x_{2}^{(6)}
\end{array}\right] = \left[\begin{array}{r}
1.000000 \\
-2.000000
\end{array}\right],
$

$\displaystyle \left\Vert \Delta \right\Vert _{\infty }=0.16\times 10^{-4},\quad
\left\Vert F(x^{(2)})\right\Vert _{\infty }\approx 10^{-9}.
$

Megjegyezzük, hogy a gyök szoros közelében az eljárás ugyanúgy begyorsul, mint egydimenzióban; míg az $ x^{(5)}$ öt tizedesjegyre volt pontos, az $ x^{(6)}$ már valójában 10 jegyre, a $ 7$ -lépésben pedig már elértük a lehetséges 15 tizedesjegyű maximális pontosságot és a kilépési normák is $ 10^{-9}$ , illetve $ 10^{-15}$ nagyságrendűek.

10. Optimalizálás

Optimalizálási feladat számos helyen előfordul. A legrégebbi ilyen típusú feladatok a következőek:

Manapság például azt kell meghatároznunk, hogy hogyan lehet az egyik városból egy másik városba a legrövidebb úton (leghamarabb) eljutni. A lineáris programozás feladata gazdasági jelentőséggel is bír.

Ebben a fejezetben néhány, a későbbiekben felhasználásra kerülő, jelölést és fogalmat gyűjtünk össze.

10.1. Konvexitás, kvázikonvexitás

Az $ A\subset\mathbb{R}^n$ halmazt konvexnek nevezzük, ha tetszőleges két pontjával együtt az azokat összekötő szakaszt is tartalmazza azaz, minden $ x,y\in A$ és $ \lambda\in[0,1]$ esetén $ \lambda x+(1-\lambda)y\in A$ .

A $ \lambda x+(1-\lambda)y$ vektor az $ x,y$ pontok lineáris kombinációja. Tetszőleges $ x_1,x_2,\ldots,x_k \in \mathbb{R}^n$ pontok konvex kombinációját a következőképpen definiálhatjuk:

10.1. Definíció.   Legyenek $ \lambda_1,\lambda_2,\ldots,\lambda_k$ olyan pozitív számok, melyre

$\displaystyle \sum_{i=1}^k \lambda_i =1
$

Ekkor az

$\displaystyle x = \sum_{i=1}^k \lambda_i x_i
$

vektor az adott pontok konvex kombinációja.

Példa. Példák Konvex és konkáv halmazokra:

Image konvex
Konvex halmazok
Image konkav
Konkáv halmazok

10.2. Definíció.   Az $ f: D\subset \mathbb{R}^n \to \mathbb{R}$ függvény konvex, ha minden $ x,y \in D$ és $ 0 \leq \lambda \leq 1$ esetén

$\displaystyle f(\lambda x + (1-\lambda)y) \leq \lambda f(x) + (1-\lambda) f(y).
$

Az $ f$ függvény szigorúan konvex, ha minden $ x,y \in D$ és $ 0 < \lambda < 1$ esetén

$\displaystyle f(\lambda x + (1-\lambda)y) < \lambda f(x) + (1-\lambda) f(y).
$

Az $ f$ függvény (szigorúan) konkáv, ha $ -f$ (szigorúan) konvex.

Ez a definíció ekvivalens módon megfogalmazható a következőképpen is:

10.3. Definíció.   Az $ f: D\subset \mathbb{R}^n \to \mathbb{R}$ függvény konvex, ha

$\displaystyle f(x+ \lambda h) \leq f(x) + \lambda \Delta f(x) \qquad (x,x+h \in D, 0 \leq \lambda \leq 1),
$

ahol

$\displaystyle \Delta f(x) = f(x+h) - f(x).
$

Az $ f: D\subset \mathbb{R}^n \to \mathbb{R}$ függvény szigorúan konvex, ha

$\displaystyle f(x+ \lambda h) < f(x) + \lambda \Delta f(x) \qquad (x,x+h \in D, 0 < \lambda < 1).
$

Szükségünk lesz ezen klasszikus függvénytípusok következő általánosítására is:

10.4. Definíció.   Az $ f: D\subset \mathbb{R}^n \to \mathbb{R}$ függvény kvázikonvex, ha minden $ x,y \in D$ és $ 0 \leq \lambda \leq 1$ esetén

$\displaystyle f(\lambda x + (1-\lambda)y) \leq \max\{f(x), f(y)\}.
$

Az $ f$ függvény szigorúan kvázikonvex, ha minden $ x,y \in D$ és $ 0 < \lambda < 1$ esetén

$\displaystyle f(\lambda x + (1-\lambda)y) < \max\{f(x), f(y)\}.
$

Az $ f$ függvény (szigorúan) kvázikonkáv, ha $ -f$ (szigorúan) kvázikonvex.

Ez a definíció valós esetben megfogalmazható alsó és felső nívóhalmazok segítségével is.

10.5. Definíció.   Legyen $ I$ egy intervallum és $ f : I \to \mathbb{R}$ . Az $ f$ függvényt kvázikonvexnek mondjuk, ha az

$\displaystyle L(f; \alpha) = \left\{x \in I : f(x) \leq \alpha \right\}
$

alsó nívóhalmazok minden $ \alpha$ mellett konvexek. Hasonlóan: az $ f : I \to \mathbb{R}$ függvényt kvázikonkávnak nevezzük, ha az

$\displaystyle L(f; \alpha) = \left\{x \in I : f(x) \geq \alpha\right\}
$

felső nívóhalmazok minden $ \alpha$ mellett konvexek.

A konvex függvények az értelmezési tartomány belsejében folytonosak, a kvázikonvexitásból viszont nem következik a folytonosság. Erre példa lehet tetszőleges szakadásos monoton függvény, például a $ \mathop{\hbox{\rm sgn}}(x)$ .

Példa. A következő ábrákon konvex, szigorúan konvex, kvázikonvex és szigorúan kvázikonvex függvények láthatóak.

Image konvex_a Image konvex_b
(a) (b)
Image konvex_c Image konvex_d
(c) (d)
Image konvex_e Image konvex_f
(e) (f)
Image konvex_g  
(g)  

Az $ (a)$ ábrán egy szigorúan konvex, a $ (b)$ és $ (c)$ ábrákon látható függvények konvexek, a $ (d)$ és $ (e)$ szigorúan kvázikonvex függvényeket mutat, végül az $ (f)$ és $ (g)$ függvények kvázikonvexek.

10.6. Definíció.   Egy $ f : D \subseteq \mathbb{R}^n \to \mathbb{R}$ . Az $ f$ függvény epigráfja

$\displaystyle \mathop{\hbox{\rm epi}}(f) = \left\{(x,y) : f(x)\leq y \right\} \subseteq \mathbb{R}^{n+1}
$

halmaz.
Image epigraf
Epigráf $ \mathbb{R}^2$ -ben

Egy konvex $ D$ halmazon értelmezett $ f : D \to \mathbb{R}$ függvény akkor es csak akkor konvex, ha $ f$ epigráfja konvex halmaz.

Egy $ A\subset\mathbb{R}^n$ halmaz affin burkán az őt tartalmazó legszűkebb lineáris sokaságot értjük, jele $ \mathop{\hbox{\rm aff}}{A}$ .

Legyen $ A\subset\mathbb{R}^n$ , az $ x\in A$ pont benne van $ A$ relatív belsejében ha létezik olyan $ \varepsilon$ pozitív valós szám, hogy $ B_\varepsilon(x)\cap\mathop{\hbox{\rm aff}}{A}\subset A$ . $ A$ relatív belsejében lévő pontok halmazát $ \mathop{\hbox{\rm ri}}{A}$ -val jelöljük.

10.2. Definitség, feltételes definitéség

Jelöljön $ \| \cdot \|$ egy tetszőleges normát és jelöljük az Az $ n$ -edrendű egységmátrixot $ E \in \mathbb{R}^{n\times n}$ , vagy $ E_{n}$ -nel. Egy $ Q \in \mathbb{R}^{n \times n}$ mátrix szimmetrikus, ha $ Q^T = Q$ , ferdén szimmetrikus, ha $ Q^T = -Q$ .

10.7. Definíció.   Az $ A\in \mathbb{R}^{n\times n}$ mátrix pozitív (negatív) definit, ha

(10.1) $\displaystyle x^{T}Ax>0 \quad\left(x^{T}Ax<0\right) \qquad \forall x\in\mathbb{R}^{n},x\neq0.$

Az $ A$ mátrix pozitív (negatív) szemidefinit, ha

(10.2) $\displaystyle x^{T}Ax \geq 0 \quad \left(x^{T}Ax \leq 0 \right) \qquad \forall x\in\mathbb{R}^{n}.$

Az $ A$ mátrix indefinit, ha nem tartozik a fenti kategóriák egyikébe sem.

Adunk két példát konvex függvényekre, amely a későbbiekben fontosak lesznek számunkra:

Példa. Legyen $ B\in\mathbb{R}^{n\times n}$ szimmetrikus valós mátrix, $ p\in\mathbb{R}^{n}$ és $ c\in\mathbb{R}$ . Az

$\displaystyle f\left( x\right) =x^{T}Bx+p^{T}x+c
$

kvadratikus függvény akkor és csak akkor konvex, ha a $ B$ mátrix pozitív szemidefinit.

Példa. Legyen $ a\in\mathbb{R}^{n}$ és $ b\in\mathbb{R}$ . Az

$\displaystyle f\left( x\right) =a^{T}x-b
$

lineáris függvény konvex és egyúttal konkáv is. Ez utóbbi triviális, mert minden $ \lambda\in\left[ 0,1\right] $ és minden $ x,y\in \mathbb{R}^{n}$ esetén fennáll, hogy

$\displaystyle a^{T}\left( \lambda x+\left( 1-\lambda\right) y\right) -b=\lambda\left(a^{T}x-b\right) + (1-\lambda)\left(a^{T}y-b\right).
$

Könnyen látható, hogy egy $ A$ mátrix akkor és csak akkor negatív definit, ha $ -A$ pozitív definit. Legyen $ A=\left[a_{ij}\right]_{i,j=1}^{n}$ és jelölje

$\displaystyle A_{k}=\left[\begin{array}[c]{ccc}
a_{11} & \ldots & a_{1k}\\
\vdots & & \vdots\\
a_{k1} & \ldots & a_{kk}
\end{array}\right]
$

az $ A$ mátrix $ k$ -adik főminor mátrixát ( $ k=1,\ldots,n$ ). Ekkor igazak a következő tételek.

10.8. Tétel.   Egy szimmetrikus $ A\in \mathbb{R}^{n\times n}$ mátrix akkor és csak akkor pozitív definit, ha

$\displaystyle \det\left(A_{1}\right) >0, \ldots, \det\left(A_{n}\right) >0 \qquad (i=1,\ldots,n).
$

Egy szimmetrikus $ A\in \mathbb{R}^{n\times n}$ mátrix akkor és csak akkor negatív definit, ha

$\displaystyle \left(\mathop{\hbox{\rm sgn}}\left(\det\left(A_{i}\right)\right)\right) =\left(-1\right)^{i},\qquad (i=1,\ldots,n).
$

10.9. Tétel.   Egy szimmetrikus $ A\in \mathbb{R}^{n\times n}$ mátrix akkor és csak akkor pozitív (negatív) definit, ha minden sajátértéke pozitív (negatív) valós szám.

10.10. Tétel.   Egy szimmetrikus $ A\in \mathbb{R}^{n\times n}$ mátrix akkor és csak akkor pozitív definit, ha az $ A=LU$ -felbontásban (ahol $ L$ egység alsó, $ U$ felső háromszögmátrix) az $ U$ mátrix diagonális elemei mind pozitívak.

10.11. Definíció.   Legyen $ A\in \mathbb{R}^{n\times n}$ szimmetrikus mátrix, $ B$ pedig egy $ n\times m$ típusú valós mátrix, amelynek rangja maximális, azaz $ \mathop{\hbox{\rm rank}}(B)=m$ . Az $ A$ mátrix feltételesen pozitív definit a $ B$ -re nézve, ha

$\displaystyle x^{T}Ax>0, \qquad\forall x\in\mathbb{R}^{n}, x\neq 0, B^{T}x=0;
$

feltételesen pozitív szemidefinit, ha

$\displaystyle x^{T}Ax \geq 0,\qquad \forall x\in\mathbb{R}^{n}, B^{T}x=0;
$

feltételesen negatív definit, ha

$\displaystyle x^{T}Ax < 0, \qquad \forall x\in\mathbb{R}^{n}, x\neq 0, B^{T}x=0;
$

feltételesen negatív szemidefinit, ha

$\displaystyle x^{T}Ax\leq 0,\qquad \forall x\in\mathbb{R}^{n}, B^{T}x=0.
$

10.12. Tétel. (Főminor teszt feltételes pozitív/negatív definitségre)   Tekintsük a $ C \in \mathbb{R}^{(n+m)\times(n+m)}$ szimmetrikus mátrixot. Konstruáljuk meg a $ \mathbf{C}_{k}$ mátrixokat az alábbi módon:

$\displaystyle \mathbf{C}_{k}=\left[\begin{array}[c]{cc}
\mathbf{A}_{k} & \mathbf{B}_{k}^{T}\\
\mathbf{B}_{k} & \mathbf{0}
\end{array}\right],
$

ahol $ \mathbf{A}_{k}$ az $ \mathbf{A}$ mátrix első $ k$ sora és első $ k$ oszlopa (az $ \mathbf{A}$ mátrix $ k$ -adik főminor mátrixa), $ \mathbf{B}_{k}$ a $ \mathbf{B}$ mátrix első $ k$ oszlopa.

Az $ \mathbf{A}$ mátrix feltételesen pozitív definit a $ \mathbf{B}$ mátrixra nézve akkor és csak akkor, ha

$\displaystyle (-1)^{m}\det(\mathbf{C}_{k})>0\ \ \ $   minden $\displaystyle k=m+1,m+2,\ldots,n$ esetén$\displaystyle .$

Az $ \mathbf{A}$ mátrix feltételesen negatív definit a $ \mathbf{B}$ mátrixra nézve akkor és csak akkor, ha

$\displaystyle (-1)^{k}\det(\mathbf{C}_{k})>0\ \ \ $   minden $\displaystyle k=m+1,m+2,\ldots,n$ esetén$\displaystyle .$

10.3. Differenciálhatóság

Az $ f:\mathbb{R}\rightarrow \mathbb{R}$ egyváltozós valós függvény differenciálhatósága jól ismert fogalom, mi szerint akkor mondjuk, hogy az $ f(x)$ függvény az $ x_0\in \mathbb{R}$ pontban differenciálható, ha létezik az alábbi határérték és az véges

$\displaystyle \lim_{x\rightarrow x_0}\frac{f(x)-f(x_0)}{x-x_0},
$

vagy szokás az előzővel ekvivalens definíció is használni

$\displaystyle \lim_{\lambda\rightarrow 0}\frac{f(x_0 +\lambda)-f(x_0)}{\lambda}.
$

A határértéket differenciálhányadosnek, vagy deriváltnak nevezik és $ f^{\prime}(x_0)$ szimbólummal jelölik.

Az utóbbi formula egyszerűen általánosítható többváltozós függvényekre ezt nevezzük iránymenti deriváltnak. Viszont egyik formula sem alkalmas a többváltozós függvény differenciálására. Amennyiben az első formulát átírjuk az

$\displaystyle f(x)=f(x_0)+f^{\prime}(x_0)(x-x_0)+\left\vert x-x_0\right\vert \alpha(x_0,x-x_0)
$

alakra, akkor az $ f(x)$ függvény $ x_0\in R$ pontbeli differenciálhatósága az alábbiak szerint fogalmazható át:

Az $ f:R\rightarrow R$ függvény differenciálható az $ x_0$ pontban, ha létezik egy $ f^{\prime}(x_0)\in \mathbb{R}$ véges valós szám és egy $ \alpha:R\rightarrow \mathbb{R}$ függvény úgy, hogy

$\displaystyle f(x)=f(x_0)+f^{\prime}(x_0)(x-x_0)+\left\vert x-x_0\right\vert \alpha(x_0,x-x_0)
$

ahol $ \lim_{x\rightarrow x_0}\alpha(x_0,x-x_0)=0$ .

Sokszor a második formula átírását használjuk, amely szerint Az $ f:\mathbb{R}\rightarrow \mathbb{R}$ függvény differenciálható az $ x_0$ pontban, ha létezik egy $ f^{\prime}(\bar{x})\in \mathbb{R}$ véges valós szám és egy $ \alpha:\mathbb{R}\rightarrow \mathbb{R}$ függvény úgy, hogy

$\displaystyle f(x+\lambda)=f(x_0)+\lambda f^{\prime}(x_0)+\left\vert \lambda \right\vert \alpha(x_0,\lambda)
$

ahol $ \lim_{\lambda\rightarrow0}\alpha(x_0,\lambda)=0$ .

A következő fogalom amit bevezetünk az Iránymenti derivált fogalma. Legyen $ S\subset \mathbb{R}^{n}$ egy nemüres halmaz és legyen $ f:S\rightarrow
\mathbb{R}$ függvény. Legyen $ \bar{x}\in S$ és legyen $ d\in \mathbb{R}^{n}, d\neq 0$ olyan vektor, hogy $ \bar{x}+\lambda d\in S, \lambda>0$ elegendően kicsi valós számra. Az $ f$ függvénynek az $ \bar{x}$ pontban a $ d$ irány mentén vett iránymenti deriváltjának nevezzük és $ f^{\prime}(\bar{x},d)$ -vel jelöljük az alábbi határértéket, ha létezik:

$\displaystyle f^{\prime}(\bar{x},d)=\lim_{\lambda\rightarrow 0+} \frac{f(\bar{x}+\lambda d)-f(\bar{x})}{\lambda}.
$

Az $ f^{\prime}(\bar{x},d)$ iránymenti derivált az $ f$ függvénynek a változását méri a $ d$ irányban. A $ d$ irány elvileg bármilyen vektor lehet, a változás mérése azonban csak akkor lesz hasonló az egyváltozós esethez, ha a $ d$ irányvektor hossza egy.

A differenciálhatóság fogalma:

Legyen $ S\subseteq \mathbb{R}^{n}$ egy nemüres halmaz, legyen $ f:S\rightarrow
\mathbb{R}$ függvény. Az $ f$ függvényt differenciálhatónak mondunk az $ S$ halmaz egy $ \bar{x}$ belső pontjában, ha létezik egy $ \nabla f(\bar{x})\in \mathbb{R}^{n}$ vektor és egy $ \alpha :\mathbb{R}^{n}\rightarrow \mathbb{R}$ függvény úgy, hogy

$\displaystyle f(x)=f(\bar{x}) + \nabla f(\bar{x})(x - \bar{x})+ \left\Vert x - \bar{x} \right\Vert \alpha(\bar{x}, x - \bar{x})$   minden $\displaystyle x \in S$   -re$\displaystyle ,$

ahol $ \lim_{x\rightarrow \bar{x}}\alpha(\bar{x},x-\bar{x})=0$ .

Megjegyzés. A későbbiekben általában úgy használjuk a differenciálhatósági összefüggést, hogy az $ \bar{x}$ helyébe $ x$ -et, $ x$ helyébe pedig $ x + \lambda d, \lambda\in \mathbb{R}$ vektort írunk, ekkor az alábbi formulát használjuk:

$\displaystyle f(x+\lambda d)=f(x)+\lambda\mathbf{\nabla}f(x) d +\left\vert \lambda\right\vert \left\Vert d\right\Vert \alpha(x,\lambda d)
$

minden $ d$ vektorra és $ \lambda $ valós számra. A formulában szereplő határérték az alábbiak szerint alakul, $ \lim_{\lambda\rightarrow 0}\alpha(x,\lambda d)=0$ .

Az alábbiakban a $ \nabla f(x)$ vektort vizsgáljuk. Kimondjuk az iránymenti derivált és a $ \nabla f(x)$ vektor kapcsolatára vonatkozó tételt.

10.13. Tétel.   Legyen $ f:S\rightarrow R$ differenciálható függvény és legyen a $ d$ irányvektor egységhosszúságú. Ekkor az iránymenti derivált megegyezik a $ \nabla f(x)$ vektor és az egységhosszúságú irányvektor skaláris szorzatával, azaz

$\displaystyle f^{\prime}(x,d)=\nabla f(x) d.
$

Bizonyítás. Induljunk ki a

$\displaystyle f(x+\lambda d)=f(x)+\lambda \nabla f(x) d +\left\vert \lambda\right\vert \left\Vert d\right\Vert \alpha(x,\lambda d)
$

differenciálhatósági összefüggésből. Átrendezés, határérték képzés után adódik, hogy

$\displaystyle \underset{\lambda\rightarrow0}{\lim}\frac{f(x+\lambda d)-f(x)}{\lambda}= \nabla f(x) d.
$

A baloldal pedig definíció szerint az iránymenti derivált. $ \qedsymbol$

A következő tétel mutatja, hogy a $ \nabla f(x)$ vektor a parciális deriváltak vektora.

10.14. Tétel.   Legyen $ f:S\rightarrow
\mathbb{R}$ differenciálható függvény. A $ \nabla f(x)$ vektor elemei az $ f$ függvény parciális deriváltjai, azaz

$\displaystyle \nabla f(x) =\left[ \begin{array}{c} \dfrac{\partial f}{\partial x_{1}} \\ \vdots \\ \dfrac{\partial f}{\partial x_{n}}\end{array}\right] .
$

Bizonyítás. Alkalmazzuk az előző tételt az $ i$ -edik $ (i=1,2,\ldots,n)$ egységvektorokra:

$\displaystyle f^{\prime}(x,e_{i}) = \nabla f(x) e_{i}.
$

A baloldal:

$\displaystyle \underset{\lambda\rightarrow 0}{\lim}\frac{f(x +\lambda e_{i})-f(x)}{\lambda}=\underset{\lambda\rightarrow 0}{\lim} \frac{f(x_{1},x_{2},\ldots, x_{i-1},x_{i}+\lambda,x_{i+1},\ldots,x_{n})-f(x)}{\lambda},
$

amely definíció szerint az $ f$ függvény $ i$ -edik parciális deriváltja. A jobboldal pedig a $ \nabla f(x)$ vektor $ i$ -edik koordinátája. Ebből azonnal következik a tétel állítása. $ \qedsymbol$

A következő tételben összefoglaltuk a gradiens vektor fontosabb tulajdonságait.

10.15. Tétel.   Legyen $ f:S\rightarrow
\mathbb{R}$ differenciálható függvény. Ekkor

a) $ \mathbf{\nabla}f(x)$ vektor az $ f$ függvény legnagyobb növekedési irányát jelöli ki,
b) $ \left\Vert \mathbf{\nabla}f(x)\right\Vert$ értéke az $ f$ függvény legnagyobb növekedésnek mértékét adja,
c) $ \mathbf{\nabla}f(x)$ vektor az $ f(x)=const$ szintfelület normálisa, azaz az $ f$ függvény
    $ x$ pontbeli érintősíkjára merőleges.

Bizonyítás. a) Az

$\displaystyle f^{\prime}(x,d)=\nabla f(x) d.
$

alapképletet használva a jobboldalon lévő skaláris szorzat akkor a legnagyobb, ha a $ d$ irányvektor párhuzamos a $ \nabla f(x)$ vektorral, tehát a gradiens vektor az $ f$ függvény legnagyobb növekedési irányába mutat.

b) Ha az irányvektor a gradiens vektor irányába mutató egység hosszúságú vektor, azaz $ d=\frac {\nabla f(x)}{\left\Vert \nabla f(x)\right\Vert }$ , akkor $ f^{\prime}(x,d)=\left\Vert \nabla f(x)\right\Vert $ , amelyből nyilvánvaló az állítás.

c) Az alapképlet szerint, ha a gradiens vektor merőleges az irányvektorra, akkor az $ f$ függvény ebben az irányban nem változik. Ez az irány nem más mint az $ x$ ponton áthaladó szintfelület normálisa. $ \qedsymbol$

Most a kétszer differenciálhatóság fogalma-val foglalkozunk. Legyen $ S\subseteq \mathbb{R}^{n}$ egy nemüres halmaz, legyen $ f:S\rightarrow
\mathbb{R}$ függvény. Az $ f$ függvényt kétszer differenciálhatónak mondunk az $ S$ halmaz egy $ \bar{x}$ belső pontjában, ha létezik egy $ \nabla f(\bar{x})\in \mathbb{R}^{n}$ vektor, egy $ H(\bar{x})$ $ n\times n$ -es szimmetrikus mátrix és egy $ \alpha :\mathbb{R}^{n}\rightarrow \mathbb{R}$ függvény úgy, hogy

$\displaystyle f(x)=f(\bar{x}) + \nabla f(\bar{x})(x - \bar{x}) + \frac{1}{2}(x - \bar{x}) H(\bar{x})(x - \bar{x}) + \left\Vert x - \bar{x}\right\Vert^{2} \alpha(\bar{x},x - \bar{x})
$

minden $ x\in S$ -re, ahol $ \lim_{x\rightarrow \bar{x}}\alpha(\bar{x},x-\bar{x})=0$ .

10.16. Definíció.   A $ H(\bar{x})$ mátrixot Hesse mátrixnak nevezzük, elemei az $ f$ függvény másodrendű parciális deriváltjai, azaz

$\displaystyle H(\mathbf{x})=\left[
\begin{array}[c]{cccc}
\frac{\partial^{2}f(\mathbf{x})}{\partial x_{1}\partial x_{1}} & \frac{\partial^{2}f(\mathbf{x})}{\partial x_{1}\partial x_{2}} & \ldots & \frac{\partial^{2}f(\mathbf{x})}{\partial x_{1}\partial x_{n}}\\ [2mm]
\frac{\partial^{2}f(\mathbf{x})}{\partial x_{2}\partial x_{1}} & \frac{\partial^{2}f(\mathbf{x})}{\partial x_{2}\partial x_{2}} & \ldots & \frac{\partial^{2}f(\mathbf{x})}{\partial x_{2}\partial x_{n}}\\ [2mm]
\vdots & \vdots & \ddots & \vdots\\
\frac{\partial^{2}f(\mathbf{x})}{\partial x_{n}\partial x_{1}} & \frac{\partial^{2}f(\mathbf{x})}{\partial x_{n}\partial x_{2}} & \ldots & \frac{\partial^{2}f(x)}{\partial x_{n}\partial x_{n}}
\end{array}\right],
$

más szóval úgy is mondhatjuk, hogy a Hesse mátrix $ i$ -edik sora a $ \mathbf{\nabla}f(\mathbf{x})$ gradiens vektor $ i$ -edik koordinátájának, mint valós függvénynek a gradiense. A Hesse mátrixot nagyon gyakran $ \nabla^{2}f(x)$ vagy $ Hf(x)$ szimbólummal jelöljük.

Megjegyzés. Hasonlóan az előző megjegyzéshez, itt is gyakran használatos az alábbi formula:

$\displaystyle f(x + \lambda d) = f(\bar{x}) + \lambda \nabla f(\bar{x}) d + \frac{1}{2}\lambda^{2} d H(\bar{x}) d + \lambda^{2}\left\Vert d\right\Vert ^{2} \alpha(\bar{x},\lambda d)
$

minden $ d$ vektorra és $ \lambda $ valós számra. A formulákban szereplő határérték az alábbiak szerint alakul, $ \lim_{\lambda\rightarrow 0} \alpha(\bar{x},\lambda d)=0$ .

A diifferenciálhatóságot mint láttuk egy belső pontban definiáltuk. Az $ f$ függvényt differenciálhatónak mondunk az $ S\subseteq R^{n}$ halmazon, ha az $ f$ függvény az $ S$ halmaz minden belső pontjában differenciálható. Ez természetesen a kétszer differenciálhatóságra is vonatkozik.

A definícióból könnyen észrevehetjük, hogy kétszer folytonosan differenciálható függvények Hesse-mátrixa szimmetrikus.

10.17. Definíció.   Az $ F:\mathbb{R}^{n} \rightarrow \mathbb{R}^{m}$

$\displaystyle F(x)=\left[ \begin{array}{c} F_{1}(x) \\ \vdots \\ F_{m}(x) \end{array} \right]
$

vektor-vektor függvény gradiensén az

(10.3) $\displaystyle \nabla F(x) = [ \nabla F_{1}(x), \ldots, \nabla F_{m}(x)]$

előírással megadott $ n\times m$ -es mátrixot értjük.

10.4. Farkas lemma

A Farkas tételt szokás Farkas lemmaként is emlegetni. Ez a tétel nagyon fontos szerepet játszik az optimalizálásban, a lineáris és nemlineáris programozás optimalitási feltételeinek meghatározásában. A lemma bizonyításához szükségünk lesz a következő szeparációs tételre.

10.18. Tétel.   Legyen $ S\subset \mathbb{R}^{n}$ nemüres zárt konvex halmaz és $ \mathbf{y}\notin S$ . Ekkor létezik olyan $ p \in \mathbb{R}^{n}, p \neq0$ vektor és $ \alpha\in \mathbb{R}$ , hogy

    $\displaystyle p^T y$ $\displaystyle >\alpha$   és
    $\displaystyle p^T x$ $\displaystyle \leq\alpha$   minden $\displaystyle \mathbf{x}\in S$ vektorra$\displaystyle .$

A tétel azt fejezi ki, hogy létezik egy hipersík ($ p$ a hipersíkra merőleges vektor), amely szeparálja (elválasztja) a pontot és a halmazt, azaz a hipersík által meghatározott félterek közül az egyikben van a pont, a másik féltérben pedig a halmaz minden eleme. Ezek után kimondhatjuk a Farkas lemmát.

10.19. Lemma.   Legyen adott egy $ m\times n$ -es $ \mathbf{A}$ mátrix és egy $ m$ elemű $ b$ vektor. Ekkor az alábbi két rendszer közül pontosan egyiknek van megoldása:

$\displaystyle \begin{array}[c]{cccc}
\begin{array}[c]{c}
Ax =b\\
x \geq 0
\end{array} & & &
\begin{array}[c]{c}
y^T A\leq 0\\
y^T b>0
\end{array}
\end{array}
$

Bizonyítás. Először tegyük fel, hogy a baloldali rendszernek van megoldása, azaz létezik olyan $ x$ , hogy $ Ax=b, x\geq 0$ . Indirekt tegyük fel, hogy a jobboldali rendszernek is van megoldása, ekkor $ y^T b = y^T A x \leq 0$ , ami ellentmond annak, hogy $ y^T b>0$ . Tehát ha a baloldali rendszernek van megoldása, akkor a jobboldali rendszernek nincs.

Most tegyük fel, hogy a baloldali rendszernek nincs megoldása. Konstruáljuk meg az alábbi $ S$ halmazt a következőképpen:

$\displaystyle S=\left\{ z : z = Ax, x\geq 0\right\}
$

Ez az $ S$ nemüres zárt konvex halmaz és mivel a feltevésünk szerint a baloldali rendszernek nincs megoldása, így $ b \notin S$ . Ekkor az előző tétel (pont és konvex halmaz szeparációja) szerint létezik egy $ y$ ($ y\neq 0$ ) vektor és $ \alpha$ skalár úgy, hogy $ y^T b>\alpha$ és $ y^T z\leq\alpha$ minden $ z\in S$ vektorra. Mivel $ 0\in S$ , így $ \alpha\geq0$ , amiből $ y^T b>0$ . Továbbá $ z=Ax, x\geq 0$ , ebből pedig adódik, hogy $ y^T Ax \leq \alpha$ minden $ x\geq 0$ vektorra. A $ \sum(y^T A)_{i} x_{i}$ akkor és csak akkor lehet kisebb vagy egyenlő egy nem negatív $ \alpha$ számnál minden $ x_{i}\geq 0$ esetén, ha minden $ (y^T A)_{i}\leq 0$ . Amennyiben ugyanis valamelyik $ (y^T A)_{i}>0$ lenne, akkor megadható lenne egy olyan $ x_{i}>0$ , hogy $ \sum(y^T A)_{i}x_{i}>0$ . Összefoglalva tehát ha a baloldali rendszernek nincs megoldása, akkor a jobboldali rendszernek van megoldása, azaz létezik olyan $ y$ vektor, hogy $ yA \leq 0, y^T b>0$ . $ \qedsymbol$

10.5. Függvények szélsőértékei

Első lépésként definiáljuk a környezet fogalmát.

10.20. Definíció.   Az

(10.4) $\displaystyle S\left( x_0,r\right) =\left\{ x\in\mathbb{R}^{n} : \left\| x-x_0\right\| < r \right\} \subset \mathbb{R}^{n}$

halmazt az $ x_0\in\mathbb{R}^{n}$ pont körüli $ r$ sugarú nyílt gömbi környezetnek nevezzük.

Ebben a fejezetben összefoglaljuk az egy- és többváltozós függvények szélsőértékeivel kapcsolatos alapvető definíciókat és eredményeket.

10.21. Definíció.   Legyen adott egy $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ vektor-skalár függvény ($ n\geq 1$ ). Az $ x^{\ast}\in \mathcal{D}_f$ pont az $ f$ függvény globális minimumhelye, ha

$\displaystyle f\left( x^{\ast}\right) \leq f\left( x\right) \quad\left( x\in \mathcal{D}_f \right)
$

és globális maximumhelye, ha

$\displaystyle f\left( x^{\ast}\right) \geq f\left( x\right) \quad\left( x\in \mathcal{D}_f\right).
$

10.22. Definíció.   Legyen adott egy $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ vektor-skalár függvény ($ n\geq 1$ ). Az $ x^{\ast}\in \mathcal{D}_f$ pont az $ f$ függvény lokális minimumhelye, ha létezik $ \delta>0 $ szám, hogy

$\displaystyle f\left( x^{\ast}\right) \leq f\left( x\right) \quad\left( x\in \mathcal{D}_f \cap S\left( x^{\ast},\delta\right) \right)
$

és lokális maximumhelye, ha

$\displaystyle f\left( x^{\ast}\right) \geq f\left( x\right) \quad\left( x\in \mathcal{D}_f \cap S\left( x^{\ast},\delta\right) \right).
$

A minimum-, vagy maximumhelyre egyaránt az extremális pont elnevezéssel utalunk.

Példa. Az $ f(x) = 3x^4+4y^2-12x+8y$ függvénynek egyetlen minimumhelye van: $ x=1,y=-1$ , amit az alábbi ábra is mutat:

Image harmadik

10.23. Definíció.   Egy $ x^{\ast}\in \mathcal{D}_f$ minimumhelyet szigorúnak nevezzük, ha egy $ \delta>0 $ számra fennáll, hogy

$\displaystyle f\left(x^{\ast}\right) < f\left( x\right), \qquad \forall x\in \mathcal{D}_f \cap S\left(x^{\ast},\delta\right), x\neq x^{\ast}.
$

Egy $ x^{\ast}\in \mathcal{D}_f$ maximumhelyet szigorúnak nevezzük, ha egy $ \delta>0 $ számra fennáll, hogy

$\displaystyle f\left(x^{\ast}\right) > f\left( x\right), \qquad \forall x\in \mathcal{D}_f \cap S\left(x^{\ast},\delta\right), x\neq x^{\ast}.
$

Ha egy minimumhely nem szigorú (erős), akkor gyenge minimumhelynek is hívjuk. Az előző példa minimumhelye szigorú minimum. Az $ f(x) = \left( x_{1}^{2}+4x_{1}x_{2}+x_{2}^{2}\right) \left(x_{1}-3x_{2}\right)^{2}$ függvénynek az $ x_{1}=3x_{2}$ egyenes bármely pontja gyenge minimumhelye.

Ismertek a következő eredmények:

10.24. Tétel.   Legyen $ f:\mathbb{R}\rightarrow \mathbb{R}$ egy függvény. Ha $ f\in C^{1}$ és $ x^{\ast }$ extremális pont, akkor $ f^{\prime}(x^{\ast})=0$ .

10.25. Tétel.   Legyen $ f:\mathbb{R}\rightarrow \mathbb{R}$ egy függvény. Ha $ f\in C^{2}$ és $ x^{\ast }$ minimumhely (maximumhely), akkor $ f^{\prime}(x^{\ast})=0$ és $ f^{\prime\prime}(x^{\ast})\geq0$ ( $ f^{\prime\prime}(x^{\ast})\leq0$ ).

10.26. Tétel.   Legyen $ f:\mathbb{R}\rightarrow \mathbb{R}$ egy függvény. Ha $ f\in C^{2}, f^{\prime}(x^{\ast})=0$ és teljesül, hogy $ f^{\prime\prime}(x^{\ast})>0$ ( $ f^{\prime\prime}(x^{\ast})<0$ ), akkor $ x^{\ast }$ az $ f$ függvény minimumhelye (maximumhelye).

10.27. Tétel.   Legyen $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ egy vektor-skalár függvény. Ha $ f\in C^{1}$ és $ x^{\ast }$ extremális pont, akkor

$\displaystyle \nabla f\left( x^{\ast}\right) =0.
$

A $ \nabla f\left( x^{\ast}\right) =0$ feltételt stacionárius egyenletnek (egyenletrendszernek) nevezzük.

10.28. Tétel.   Legyen $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ egy vektor-skalár függvény. Ha $ f\in C^{2}$ és $ x^{\ast }$ minimumhely (maximumhely), akkor

$\displaystyle \nabla f\left( x^{\ast}\right) =0
$

és a

$\displaystyle H\left( x^{\ast}\right) =\left[ \frac{\partial^{2}f\left( x^{\ast}\right)}{\partial x_{i}\partial x_{j}}\right]_{i,j=1}^{n}
$

Hesse-mátrix pozitív (negatív) szemidefinit.

10.29. Tétel.   Legyen $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ egy vektor-skalár függvény. Ha $ f\in C^{2}$ , $ \nabla f\left( x^{\ast}\right) =0$ és a $ H\left(x^{\ast}\right)$ Hesse-mátrix pozitív (negatív) definit, akkor az $ x^{\ast }$ pont minimumhely (maximumhely).

A $ \nabla f\left(x\right)=0$ ( $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ ) egyenlet megoldásait, amelyeket az optimalizálásban stacionárius pontoknak nevezünk, az $ f$ függvény kritikus pontjainak is szokás hívni. Mi csak olyan kritikus pontokkal foglalkozunk, amelyek nem degeneráltak, azaz $ \det(H(x)) \neq0$ .

Megmutatható, hogy csak olyan nemdegenerált kritikus (stacionárius) pontok léteznek, amelyekben a $ H(x)$ Hesse-mátrixnak $ l$ pozitív és $ n-l$ negatív sajátértéke van ( $ 0\leq l\leq n$ ). Ha $ l=0$ , akkor $ H(x)$ negatív definit (maximumhely), ha $ l=n$ , akkor $ H(x)$ pozitív definit (minimumhely), a $ 0<l<n$ esetben nyeregpontról beszélünk. Nyeregpontban nincs szélsőérték.

Degenerált kritikus pontokban elvileg lehet szélsőérték ám ennek vizsgálata általában nem egyszerű.

Példa. Határozzuk meg az $ f\left(x_{1},x_{2}\right)=x_{1}^{3}+x_{2}^{3}-3x_{1}-12x_{2} + 3$ függvény szélsőértékeit és nyeregpontjait! Az

$\displaystyle \nabla f\left(x_{1},x_{2}\right) =\left[\begin{array}[c]{c}
3x_{1}^{2}-3\\
3x_{2}^{2}-12
\end{array}\right] =0
$

stacionárius egyenletből könnyen kapjuk, hogy az $ x_{1}=\pm 1$ és $ x_{2}= \pm 2$ értékekkel képezett $ 4$ darab $ \left(x_{1},x_{2}\right)$ pontpár adja a függvény kritikus pontjait. Minthogy

$\displaystyle H\left( x_{1},x_{2}\right) =\left[\begin{array}[c]{cc}
6x_{1} & 0\\
0 & 6x_{2}
\end{array}\right]
$

behelyettesítéssel könnyen megkaphatjuk, hogy az $ (x_1,x_2)=(1,2)$ pontban lokális minimuma van, az $ (x_1,x_2)=(-1,-2)$ pontban lokális maximuma van, míg az $ (x_1,x_2)=(1,-2)$ és a $ (x_1,x_2)=(1,-2)$ pontokban inflexiós (nyereg) pontja van.
Image negyedik

10.6. Matematikai programozási (MP) feladat

A matematikai programozási feladatot a következőképpen definiáljuk.

Meghatározandó az $ x = (x_{1},\ldots ,x_{n})$ vektor, amely minimalizálja az

$\displaystyle f(x_{1},\ldots ,x_{n})
$

függvényt az alábbi feltételek mellett

    $\displaystyle g_{i}(x_{1},\ldots ,x_{n})$ $\displaystyle \leq 0, \qquad i=1,\ldots ,k$
    $\displaystyle h_{i}(x_{1},\ldots ,x_{n})$ $\displaystyle = 0, \qquad i=1,\ldots ,m$
    $\displaystyle x$ $\displaystyle \in X$

ahol az $ x\in\mathbb{R}^{n}$ a döntési változó vektor, az

$\displaystyle f:\mathbb{R}^{n}\rightarrow\mathbb{R}, g_{i}: \mathbb{R}^n \to \mathbb{R}, h_{i}: \mathbb{R}^{n}\rightarrow \mathbb{R}\ (i=1,\ldots,m)
$

$ n$ változós valós függvények, amelyeket rendre célfüggvénynek, egyenlőtlenséges ill. egyenlőséges feltételi függvényeknek nevezünk. Az $ X \subseteq \mathbb{R}^{n}$ halmaz pedig nyílt halmaz. Számos problémában $ k=m=0$ és $ X\equiv \mathbb{R}^{n}$ , az ilyen feladatot feltétel nélküli optimalizálási feladatnak nevezzük. Egyéb problémákat pedig feltételes optimalizálási feladatnak nevezünk.

10.7. Lineáris programozási (LP) feladat

A legegyszerűbb feltételes optimalizálási feladatban a célfüggvény és a feltételi függvények a döntési változónak lineáris függvényei, ezt az optimalizálási problémát lineáris programozási feladatnak nevezzük. A lineáris programozási feladat standard formája a következő:

Skalár formában:

Minimalizálandó a

$\displaystyle \sum_{j=1}^{n}c_{j}x_{j}
$

a következő feltételek mellett

    $\displaystyle \sum_{j=1}^{n} a_{ij}x_{j}$ $\displaystyle = b_{i}, \qquad i=1,\ldots ,m$
    $\displaystyle x_{j}$ $\displaystyle \geq 0, \qquad j=1,\ldots ,n$

Mátrix-vektor formában:

    $\displaystyle c^{T} x$ $\displaystyle \rightarrow \min !$
    $\displaystyle Ax$ $\displaystyle = b$
    $\displaystyle x$ $\displaystyle \geq 0$

ahol $ A\in \mathbb{R}^{m\times n}, b \in \mathbb{R}^{m}, c \in \mathbb{R}^{n}$ ismert konstans mátrix ill. vektorok, $ x\in\mathbb{R}^{n}$ pedig a döntési változó vektor. A $ c^{T}x$ a $ c$ és az $ x$ vektorok skaláris szorzatát jelöli. Néha, ahol nem zavaró, ott az egyszerűség kedvéért a $ cx$ jelölést használjuk, vagy a $ <c,x>$ jelölés is elfogadott.

11. Általános nemlineáris optimalizálási feladat

Az általános nemlineáris optimalizálási feladat (Nonlinear Optimization NLO) a következőképpen írható fel:

    $\displaystyle f(x)$ $\displaystyle \rightarrow \min \quad(\max)$
(11.1) $\displaystyle h_{i}(x)$ $\displaystyle =0 \qquad (i=1,\ldots,m),$
    $\displaystyle g_{j}(x)$ $\displaystyle \leq 0 \qquad (j=1,\ldots,r)$

ahol $ x\in D\subseteq \mathbb{R}^{n}$ , $ f:D \rightarrow\mathbb{R}$ és $ h_{i},g_{j}:D \rightarrow\mathbb{R} \quad(i=1,\ldots,m,\ j=1,\ldots,r).$ A

$\displaystyle h_{i}\left( x\right) =0 \quad (i=1,\ldots,m)
$

korlátozást egyenlőségi feltételeknek, a

$\displaystyle g_{j}\left( x\right) \leq 0 \quad (j=1,\ldots,r)
$

korlátozást pedig egyenlőtlenségi feltételeknek nevezzük. Ha nincs semmilyen korlátozó feltétel, akkor feltétel nélküli optimalizálásról beszélünk.

A feltételeket kielégítő pontokat megengedett megoldásoknak nevezzük, halmazukat $ \mathcal{F}$ -fel jelöljük, vagyis

$\displaystyle \mathcal{F} = \left\{x \in D : h_i(x) = 0, g_j(x) \leq 0, (i = 1,\ldots, m, j = 1,\ldots r)\right\} .
$

A fenti feladatot tömörebb formában is felírhatjuk. Legyen

$\displaystyle h(x)=\left[\begin{array}[c]{c}
h_{1}\left( x\right) \\
\vdots\\
h_{m}\left( x\right)
\end{array}\right] \qquad \left( h:\mathbb{R}^{n}\rightarrow\mathbb{R}^{m}\right),
$

$\displaystyle g(x)=\left[\begin{array}[c]{c}
g_{1}\left( x\right) \\
\vdots\\
g_{r}\left( x\right)
\end{array}\right] \qquad (g:\mathbb{R}^{n}\rightarrow\mathbb{R}^{r})
$

és vezessük be a következő jelölést.

11.1. Definíció.   Legyen $ x,y\in\mathbb{R}^{n}.$ Az $ x\leq y$ egyenlőtlenség akkor és csak akkor teljesül, ha $ x_{i}\leq y_{i}$ ( $ i=1,\ldots ,n$ ).

A fenti jelöléseket felhasználva a feladatot a következő alakban írhatjuk:

    $\displaystyle f(x)$ $\displaystyle \rightarrow \min \quad(\max)$
(11.2) $\displaystyle h(x)$ $\displaystyle = 0$
    $\displaystyle g(x)$ $\displaystyle \leq 0$

11.2. Definíció.   A (11.1) feladat megengedett megoldásainak halmaza:

$\displaystyle S=\left\{ x\mid x\in\mathbb{R}^{n},\ h\left( x\right) =0,\ g\left(x\right) \leq0\right\}.
$

Az $ x$ vektort megengedett megoldásnak nevezzük, ha $ x\in S$ .

Megjegyzés. Valójában

$\displaystyle S=\left\{ x\mid x\in D\left( f\right) ,\ h\left( x\right)=0,\ g\left( x\right) \leq0\right\}
$

volna a helyes definíció, de feltesszük, hogy a $ h\left( x\right)=0$ és $ g\left( x\right)\leq0$ feltételek együttes fennállása esetén $ x\in\mathcal{D}\left( f\right)$ .

Előfordulnak csak egyenlőségi, vagy csak egyenlőtlenségi korlátokat tartalmazó szélsőértékfeladatok is. Ezek általános alakja

$\displaystyle \begin{array}[c]{l}
f\left( x\right) \rightarrow\min \quad \left( \max\right) \\
h\left( x\right) =0,
\end{array}
$

illetve

$\displaystyle \begin{array}[c]{l}
f\left( x\right) \rightarrow \min \quad \left( \max\right) \\
g\left( x\right) \leq 0.
\end{array}
$

A feladatok megengedett megoldás halmazai értelemszerűen az

$\displaystyle S=\left\{ x\mid x\in\mathbb{R}^{n}\text{, }h\left( x\right) =0\right\} ,
$

illetve a

$\displaystyle S=\left\{ x\mid x\in\mathbb{R}^{n}\text{, }g\left( x\right) \leq0\right\}
$

halmazok.

Az optimalizálási feladatot felírhatjuk a következő formában is:

$\displaystyle f(x)\rightarrow\min\ \left( \max\right) \quad\left( x\in S\right) .
$

Feltétel nélküli optimalizálás esetén $ S=\mathcal{D}(f)$ . Feltételes optimalizálásról valójában akkor beszélünk, ha $ S\subset\mathcal{D}(f)$ és $ S\neq\mathcal{D}(f)$ .

11.3. Definíció.   Az $ x^{\ast}\in S$ vektor optimális megoldás, ha fennáll, hogy

$\displaystyle f\left( x^{\ast}\right) \leq f\left( x\right), \quad \forall x\in S
\quad\left(f\left(x^{\ast}\right) \geq f(x), \quad \forall x\in S\right).
$

Az $ x$ vektort megengedett megoldásnak nevezzük, ha $ x\in S$ .

Tömören jelölve egy $ x^{*}\in S$ megoldást optimálisnak nevezünk, ha

$\displaystyle f\left( x^{*}\right) =\min_{x\in S}f\left( x\right) \qquad\left( f\left(x^{*}\right) =\max_{x\in S}f(x) \right).
$

11.4. Definíció.   Az $ x^{\ast}\in S$ vektor lokálisan optimális megoldás, ha létezik olyan $ \delta>0 $ szám, hogy

$\displaystyle f\left(x^{\ast}\right) = \min_{x\in S \cap S\left(x^{\ast},\delta\right)}f\left( x\right)
\qquad\left( f\left( x^{\ast}\right) =\max_{x\in S\cap S\left( x^{\ast},\delta\right)}f(x) \right).
$

11.5. Definíció.   Egy $ x^{\ast}\in S$ minimumhelyet szigorúnak nevezünk, ha egy $ \delta>0 $ számra fennáll, hogy

$\displaystyle f\left( x^{\ast}\right) <f\left( x\right) ,\quad\forall x\in S\cap S\left( x^{\ast},\delta\right)$   , $\displaystyle x\neq x^{\ast}.
$

Egy $ x^{\ast}\in S$ maximumhelyet szigorúnak nevezünk, ha egy $ \delta>0 $ számra fennáll, hogy

$\displaystyle f\left( x^{\ast}\right) >f\left( x\right) ,\quad\forall x\in S\cap S\left( x^{\ast},\delta\right)$   , $\displaystyle x\neq x^{\ast}.
$

Számos esetben csak egy lokális optimumot tudunk (akárcsak közelítőleg is) meghatározni. Az optimum létezésére következtethetünk Weierstrass-tételéből, ha $ S\subseteq \mathbb{R}^{n}$ korlátos és zárt halmaz és az $ f(x)$ célfüggvény az $ S$ halmazon folytonos. A gyakorlatban ezt a tényt csak ritkán használhatjuk ki.

Végül megjegyezzük, hogy elég csak az $ f(x)\rightarrow \min\ (x\in S)$ minimum feladatot vizsgálni, mert fennáll a $ \min f(x) = -\max(-f(x))$ egyenlőség.

11.1. Nemlineáris optimalizálási feladatok osztályozása

A fenti definíciókat használva megadhatjuk a NLO feladatok néhány osztályát. Ezeknek az osztályoknak a leírásakor felhasználjuk azt a triviális tényt, hogy az $ \mathbb{R}^n$ -beli nemnegatív vektorokból álló $ \mathbb{R}^n_\oplus$ halmaz konvex. Egy $ f : \mathbb{R}^n \to \mathbb{R}$ függvényt kvadratikusnak nevezünk, ha

$\displaystyle f(x) = \frac{1}{2}x^{T}Qx+b^{T}x+c=\frac{1}{2}\sum_{i=1}^{n} \sum_{j=1}^{n}q_{ij}x_{i}x_{j}+\sum_{i=1}^{n}b_{i}x_{i}+c,
$

ahol $ A\in \mathbb{R}^{n\times n}$ szimmetrikus mátrix, $ b\in\mathbb{R}^{n}$ és $ c\in\mathbb{R}$ . Ha $ Q = 0$ , akkor $ f$ -et affin vagy lineáris függvénynek mondjuk.

Általában a NLO feladatok következő osztályait különböztetjük meg:

11.2. Egyenlőségi feltételek

Legyen $ f:\mathbb{R}^{n}\rightarrow\mathbb{R},\ h:\mathbb{R}^{n} \rightarrow\mathbb{R}^{m} (m<n)$ és vizsgáljuk az

(11.3) \begin{displaymath}\begin{array}[c]{l}
 f(x)\rightarrow extr\\ 
 h(x)=0
 \end{array}\end{displaymath}

feltételes szélsőértékfeladatot!

11.6. Definíció.   Legyen $ x^{\ast}\in S=\left\{x\in\mathbb{R}^{n}\mid h\left(x^{\ast}\right)=0\right\}$ és tegyük fel, hogy $ h\in C^{1}\left(S\left(x^{\ast}, \varepsilon\right)\right)$ valamilyen $ \varepsilon >0$ értékre. Az $ x^{\ast }$ pont reguláris, ha a

$\displaystyle \nabla h_{1}\left( x^{\ast}\right),\ldots,\nabla h_{m}\left( x^{\ast}\right)
$

gradiens vektorok lineárisan függetlenek.

11.7. Definíció.   Az (11.3) optimalizálási feladat Lagrange-függvénye

$\displaystyle L(x,\lambda)=f(x)+\lambda^{T}h(x)=f(x)+\sum_{i=1}^{m}\lambda_{i}h_{i}\left(x\right),
$

ahol $ \lambda=\left[ \lambda_{1},\ldots,\lambda_{m}\right]^{T}\in\mathbb{R}^{m}$ .

A $ \lambda_{1},\ldots,\lambda_{m}$ együtthatókat Lagrange-szorzóknak (multiplikátoroknak) is nevezik. A $ L(x,\lambda) $ függvény $ x$ vektor szerinti gradiensét $ \nabla_{x}L(x,\lambda)$ , az $ x$ vektor szerinti Hesse-mátrixát pedig $ HL(x,\lambda)$ fogja jelölni.

11.8. Tétel.   Legyen $ x^{\ast }$ lokális minimum (maximum) pont és tegyük fel, hogy az $ x^{\ast }$ pont reguláris. Ekkor egyértelműen létezik egy $ \lambda^{\ast}\in\mathbb{R}^{m}$ úgy, hogy

$\displaystyle \nabla_{x}L(x^{\ast},\lambda^{\ast})=0.
$

Ha $ f,h\in C^{2}\left(S\left( x^{\ast},\varepsilon\right) \right)$ és $ x^{\ast }$ minimumhely, akkor fennáll

$\displaystyle z^{T}HL(x^{\ast},\lambda^{\ast})z\geq0,\quad\forall z\in\mathbb{R}^{n}\ $   és$\displaystyle \ \nabla h\left( x^{\ast}\right) ^{T}z=0.
$

Ha $ f,h\in C^{2}\left(S\left( x^{\ast},\varepsilon\right) \right)$ és $ x^{\ast }$ maximumhely, akkor fennáll

$\displaystyle z^{T}HL(x^{\ast},\lambda^{\ast})z\leq0,\quad\forall z\in\mathbb{R}^{n}\ $   és$\displaystyle \ \nabla h\left( x^{\ast}\right) ^{T}z=0.
$

Az $ (x^{\ast},\lambda^{\ast})$ pont az $ L(x,\lambda) $ Lagrange-függvény nyeregpontja. Minimum esetén a $ HL(x^{\ast},\lambda^{\ast})$ Hesse-mátrix feltételesen pozitív szemidefinit, a maximum esetén pedig feltételesen negatív szemidefinit.

11.9. Tétel.   Tegyük fel, hogy $ x^{\ast}\in S$ reguláris pont, $ f,h\in C^{2}\left(S\left(x^{\ast},\varepsilon\right)\right), (\varepsilon>0)$ és létezik $ \lambda^{\ast}\in\mathbb{R}^{m}$ úgy, hogy

$\displaystyle \nabla_{x}L(x^{\ast},\lambda^{\ast})=0.
$

Ha $ HL\left( x^{\ast},\lambda^{\ast}\right)$ feltételesen pozitív definit, azaz

$\displaystyle z^{T}HL(x^{\ast},\lambda^{\ast})z>0,\quad\forall z\in \mathbb{R}^{n},\ z\neq0$,$\displaystyle \ \nabla h\left( x^{\ast}\right) ^{T}z=0,
$

akkor $ x^{\ast }$ szigorú lokális minimumhely. Ha a $ HL(x^{\ast},\lambda^{\ast})$ Hesse-mátrix feltételesen negatív definit, azaz

$\displaystyle z^{T}HL(x^{\ast},\lambda^{\ast})z<0,\quad\forall z\in \mathbb{R}^{n},\ z\neq0$,$\displaystyle \ \nabla h\left( x^{\ast}\right) ^{T}z=0,
$

akkor $ x^{\ast }$ szigorú lokális maximumhely.

A feltételes pozitív definitség ellenőrzése meglehetősen nehéz feladat. Ismertetjük a két legismertebb eredményt.

11.10. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ szimmetrikus. Az $ A$ mátrix akkor és csak akkor feltételesen pozitív definit (negatív definit), ha a

$\displaystyle p(\gamma)=\det \left(\left[\begin{array}[c]{cc}
A-\gamma I & B\\
B^{T} & 0 \end{array}\right] \right) =0
$

polinomegyenlet gyökei mind pozitívak (negatívak).

A következő tétel Chabrillac és Crouzeix eredménye:

11.11. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ szimmetrikus. Az $ A$ mátrix feltételesen pozitív definit, akkor és csak akkor, ha az

$\displaystyle \left[\begin{array}[c]{cc}
A & B\\
B^{T} & 0 \end{array}\right] \in\mathbb{R}^{\left( n+m\right) \times\left( n+m\right) }
$

szegélyezett mátrixnak $ m$ negatív, 0 zérus és $ n$ pozitív valós sajátértéke van. Az $ A$ mátrix akkor és csak akkor feltételesen negatív definit, ha a fenti szegélyezett mátrixnak $ n$ negatív, 0 zérus és $ m$ pozitív valós sajátértéke van.

11.12. Definíció.   Legyen $ A\in \mathbb{R}^{n\times n}$ szimmetrikus mátrix. Az $ \mathop{\hbox{\rm in}}(A) =(p_s,z_s,n_s)$ vektort az $ A$ mátrix inerciájának nevezzük, ha $ p_s$ az $ A$ mátrix pozitív, $ z_s$ az $ A$ zérus, $ n_s$ pedig az $ A$ mátrix negatív sajátértékeinek a számát jelenti.

Az inercia meghatározása és a feltételes definitség meghatározása véges lépésben is lehetséges. A Chabrillac-Crouzeix tételt ez alapján a következő alakban is kimondhatjuk (mivel tulajdonképpen a a szegélyezett mátrix inerciájára mond ki feltételt). Értelemszerűen $ n=p_s+z_s+n_s$ .

11.13. Tétel.   Legyen $ A\in \mathbb{R}^{n\times n}$ szimmetrikus. Az $ A$ mátrix feltételesen pozitív definit, akkor és csak akkor, ha az

$\displaystyle C= \left[\begin{array}[c]{cc}
A & B\\
B^{T} & 0 \end{array}\right] \in\mathbb{R}^{\left( n+m\right) \times\left( n+m\right) }
$

szegélyezett mátrix inerciája $ \mathop{\hbox{\rm in}}(C)=(m,0,n)$ . Az $ A$ mátrix akkor és csak akkor feltételesen negatív definit, ha $ \mathop{\hbox{\rm in}}(C)=(n,0,m)$ .

Az előző két tétel alapján a $ HL(x^{\ast},\lambda^{\ast})$ Hesse-mátrix feltételes definitségét a

$\displaystyle p(\gamma)=\det\left( \left[\begin{array}[c]{cc}
HL(x^{\ast},\lambda^{\ast})-\gamma I & \nabla h\left( x^{\ast}\right) \\
\nabla h\left( x^{\ast}\right) ^{T} & 0 \end{array} \right] \right) =0
$

polinomegyenlet gyökeinek, vagy a

$\displaystyle \left[\begin{array}[c]{cc}
HL(x^{\ast},\lambda^{\ast}) & \nabla h\left( x^{\ast}\right) \\
\nabla h\left( x^{\ast}\right) ^{T} & 0 \end{array} \right] \in\mathbb{R}^{\left( n+m\right) \times\left( n+m\right) }
$

szegélyezett mátrix inerciájának vizsgálatával dönthetjük el. Megjegyezzük, hogy a szegélyezett mátrix az $ L\left( x,\lambda\right)$ Lagrange-függvény $ (x,\lambda)$ változó szerinti Hesse-mátrixa az $ \left( x^{\ast},\lambda^{\ast}\right) $ helyen, azaz

$\displaystyle \left[ \begin{array}[c]{cc}
HL(x^{\ast},\lambda^{\ast}) & \nabla h\left( x^{\ast}\right) \\
\nabla h\left( x^{\ast}\right) ^{T} & 0 \end{array} \right]
=\nabla_{\left( x,\lambda\right) ,\left( x,\lambda\right) }^{2}L\left( x^{\ast},\lambda^{\ast}\right).
$

A (11.3) feltételes optimalizálási feladat megoldása a következőképpen történhet:

  1. Megoldjuk a

    $\displaystyle \nabla_{x}L(x,\lambda)=0,\quad h\left( x\right) =0
$

    egyenletrendszert. Jelölje a megoldást: $ \left( x^{*},\lambda^{*}\right) $
  2. Ellenőrizzük a $ HL(x^{*},\lambda^{*})$ Hesse-mátrix feltételes definitségét a fenti két tétel valamelyikével.

Példa. Határozzuk meg az $ (x-3)^2 + (y-4)^2 = 9$ kör origóhoz legközelebbi és legtávolabbi pontját!

Ebben az esetben a következő feltételes szélsőértékfeladatot kell megoldanunk:

$\displaystyle \begin{array}[c]{l}
x^{2} + y^{2} \rightarrow extr\\
h_{1}(x,y) = (x-3)^2 + (y-4)^2 - 9 =0.
\end{array}
$

A feladatnak egy legkisebb és egy legnagyobb pontja van. A feladat Lagrange-függvénye:

$\displaystyle L(x,y,\lambda) = x^{2} + y^{2} + \lambda\left((x-3)^2 + (y-4)^2 - 9 \right).
$

Az $ L$ függvény gradiense:

$\displaystyle \nabla L(x,y,\lambda) = \left[
\begin{array}{c}
2x + 2\lambda(x-3) \\
2y + 2\lambda(y-4) \\
(x-3)^2 + (y-4)^2 - 9
\end{array}\right]=0.
$

Az egyenletrendszer megoldása

$\displaystyle x = \dfrac{3\lambda}{1+\lambda},\qquad y = \dfrac{4\lambda}{1+\lambda},
$

amelyet a feltételi egyenletbe helyettesítve

$\displaystyle h_1(x,y) = \left(\dfrac{3\lambda}{1+\lambda}-3\right)^2 + \left(\dfrac{4\lambda}{1+\lambda}-4\right)^2 - 9 = \dfrac{25}{(1+\lambda)^2} -9 = 0
$

adódik. Innen a lehetséges megoldások:

$\displaystyle \lambda_1 = 2/3, \qquad \lambda_2 = -8/3.
$

Ebből kapjuk, hogy

$\displaystyle \lambda=2/3, x=6/5, y=8/5, \qquad \lambda=-8/3, x=24/5, y=32/5.
$

Mindkét pont reguláris.
Image kor

A pontok jellegét először a determináns tétel alapján ellenőrizzük. Ekkor

$\displaystyle p(\gamma) = \det\left( \left[\begin{array}[c]{ccc}
2+2\lambda -\gamma & 0 & 2x-6\\
0 & 2+\lambda -\gamma & 2y-8\\
2x-6 & 2y-8 & 0
\end{array}\right] \right) =0,
$

amelyet kifejtve kapjuk, hogy

    $\displaystyle p(\gamma)$ $\displaystyle = (2x-6)^2(2+\lambda -\gamma) + (2y-8)^2(2+2\lambda -\gamma)$
      $\displaystyle = \bigl((2x-6)^2 + (2y-8)^2\bigr)(2+2\lambda -\gamma) = 0.$

Innen az egyetlen gyök $ \gamma = 2+2\lambda$ . Ha $ \lambda=2/3$ , akkor $ \gamma=10/3$ , ami a determináns tétel szerint azt jelenti, hogy a $ (x=6/5, y=8/5)$ pont szigorú lokális minimumhely. A $ \lambda=-8/3$ pont esetén $ \gamma=-10/3$ , amiből az következik, hogy a $ (x=24/5, y=32/5)$ pont szigorú lokális maximumhely.

A Chabrillac-Crouzeix tétel alapján eljárva kapjuk, hogy a szegélyezett mátrix

$\displaystyle C= \left[\begin{array}[c]{ccc}
2+2\lambda & 0 & 2x-6\\
0 & 2+2\lambda & 2y-8\\
2x-6 & 2y-8 & 0
\end{array}\right].
$

Ennek sajátértékei a $ \lambda=2/3, x=6/5, y=8/5$ esetben:

$\displaystyle \left[\dfrac{10}{3}, \dfrac{5}{3}+\dfrac{1}{3} \sqrt{349}, \dfrac{5}{3}-\dfrac{1}{3} \sqrt{349}\right] = [3.3333, 7.8938, -4.5605].
$

A negatív sajátértékek száma 1, a zérus sajátértékek száma 0, a pozitívaké pedig 2 (azaz $ \mathop{\hbox{\rm in}}(C)=(2,0,1)$ ). Eszerint itt a feladatnak szigorú lokális minimuma van.

A szegélyezett mátrix sajátértékei a $ \lambda=-8/3, x=24/5, y=32/5$ esetben:

$\displaystyle \left[-\dfrac{10}{3}, -\dfrac{5}{3}+\dfrac{1}{3} \sqrt{349}, -\dfrac{5}{3}-\dfrac{1}{3} \sqrt{349}\right] = [-3.3333, 4.5605,-7.8938].
$

Ekkor tehát 2 negatív, 0 zérus és 1 pozitív sajátérték van (azaz $ \mathop{\hbox{\rm in}}(C)=(1,0,2)$ ), ami azt jelenti, hogy az adott pont szigorú lokális maximumhely.

11.3. Egyenlőtlenségi feltételek

A következő általános esetet vizsgáljuk:

(11.4) \begin{displaymath}\begin{array}[c]{l}
 f\left( x\right) \rightarrow\min\\ 
 h\left( x\right) =0,\\ 
 g\left( x\right) \leq0,
 \end{array}\end{displaymath}

ahol $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ , $ h:\mathbb{R}^{n}\rightarrow \mathbb{R}^{m}$ , $ g:\mathbb{R}^{n}\rightarrow\mathbb{R}^{r}$ adott függvények és $ m+r<n$ .

11.14. Definíció.   Ha $ g_{j}(x) =0, x\in S$ , akkor $ j $ -edik egyenlőtlenségi feltételt aktívnak nevezzük. Az $ x\in S$ pontban aktív egyenlőtlenségi feltételek halmazát

$\displaystyle \mathcal{A}(x) = \left\{ j \mid g_{j}(x)=0 \right\}
$

jelöli. Egy $ g_{j}(x) \leq 0 $ egyenlőtlenségi feltétel az $ x\in S$ pontban inaktív, ha $ g_{j}(x) <0$ .

11.15. Definíció.   Legyen $ x^{\ast}\in S$ és tegyük fel, hogy $ h,g\in C^{1}\left(S\left(x^{\ast},\varepsilon\right)\right)$ valamilyen $ \varepsilon >0$ értékre. Az $ x^{\ast }$ pont reguláris, ha a

$\displaystyle \nabla h_{1}\left(x^{\ast}\right),\ldots,\nabla h_{m}\left(x^{\ast}\right),\nabla g_{j}\left(x^{\ast}\right) \quad(j\in \mathcal{A}\left( x^{\ast}\right))
$

gradiens vektorok lineárisan függetlenek.

Vezessük be az $ u=\left[u_{1},\ldots,u_{r}\right]^{T}\in\mathbb{R}^{r}$ változót az alábbiak szerint

$\displaystyle g_{1}\left( x\right)+u_{1}^{2}=0,\ \ldots\ ,g_{r}\left( x\right) +z_{r}^{2}=0.
$

Legyen továbbá

$\displaystyle \begin{array}[c]{rcl}
F\left( x,z\right) & = & f\left( x\right) ,\\
H_{i}\left( x,z\right) & = & h_{i}\left( x\right) \quad\left(i=1,\ldots,m\right) ,\\
G_{j}\left( x,z\right) & = & g_{j}\left( x\right) +z_{j}^{2}\quad\left(j=1,\ldots,r\right) ,
\end{array}
$

valamint $ H=\left[H_{1},\ldots,H_{m}\right]^{T}$ és $ G=\left[G_{1},\ldots,G_{r}\right]^{T}$ . Könnyű belátni, hogy ha $ x^{\ast }$ az eredeti feladat lokális minimumhelye, akkor az

$\displaystyle \left[\begin{array}[c]{c}
x^{\ast}\\
\sqrt{-g_{1}\left( x^{\ast}\right) }\\
\vdots\\
\sqrt{-g_{r}\left( x^{\ast}\right) }
\end{array}\right] \in\mathbb{R}^{n+r}
$

pont az ekvivalens

$\displaystyle \begin{array}[c]{l}
F\left( x,z\right) \rightarrow\min\\
H\left( x,z\right) =0,\\
G\left( x,z\right) =0,
\end{array}
$

optimumfeladat lokális minimumhelye. Tehát alkalmazható rá a korábban megismert Lagrange-féle elmélet. Igazak a következő szükséges tételek. Az első tétel Carathéodory és John tétele:

11.16. Tétel.   Legyenek $ f, h_{i}$ és $ g_{j}$ ( $ i=1,\ldots,m$ , $ j=1,\ldots,r$ ) folytonosan differenciálhatók egy $ G\subseteq\mathbb{R}^{n}$ halmazon. Tegyük fel, hogy $ x^{\ast}\in G$ belső pont és egyúttal az (11.4) feladat lokális minimuma. Ekkor létezik $ \lambda_{0}\in\mathbb{R}, \lambda\in\mathbb{R}^{m}$ és $ \mu\in\mathbb{R}^{r}$ úgy, hogy

$\displaystyle \lambda_{0} \nabla f\left(x^{\ast}\right) + \sum_{i=1}^{m}\lambda_{i}\nabla h_{i}\left( x^{\ast}\right) + \sum_{j=1}^{r}\mu_{j}\nabla g_{j}\left(x^{\ast}\right) =0,
$

$\displaystyle \mu\geq0,\quad\sum_{j=1}^{r}\mu_{j}g_{j}\left( x^{\ast}\right) =0
$

és

$\displaystyle \left[\begin{array}[c]{c}
\lambda\\
\mu
\end{array}\right] \neq 0.
$

A tétel

$\displaystyle \mu\geq 0, \sum_{j=1}^{r}\mu_{j}g_{j}\left( x^{\ast}\right)=0
$

szükséges feltételét szokás az alábbi ekvivalens formában is megadni:

$\displaystyle \mu\geq 0, \mu_{j}g_{j}\left( x^{\ast}\right) =0, \qquad (j=1,\ldots,r).
$

A Carathéodory-John tétel híres következménye a következő Karush-Kuhn-Tucker tétel:

11.17. Tétel.   Legyenek $ f, h_{i}$ és $ g_{j}$ ( $ i=1,\ldots,m$ , $ j=1,\ldots,r$ ) folytonosan differenciálhatók egy $ G\subseteq\mathbb{R}^{n}$ halmazon. Tegyük fel, hogy $ x^{\ast}\in G$ belső pont és egyúttal az (11.4) feladat lokális minimuma. Ekkor létezik $ \lambda\in\mathbb{R}^{m}$ és $ \mu\in\mathbb{R}^{r}$ úgy, hogy

$\displaystyle \nabla f\left(x^{\ast}\right) + \sum_{i=1}^{m}\lambda_{i}\nabla h_{i}\left( x^{\ast}\right) + \sum_{j=1}^{r}\mu_{j}\nabla g_{j}\left(x^{\ast}\right) =0,
$

$\displaystyle \mu\geq0,\quad\sum_{j=1}^{r}\mu_{j}g_{j}\left( x^{\ast}\right) =0
$

és

$\displaystyle \left[\begin{array}[c]{c}
\lambda\\
\mu
\end{array}\right] \neq 0.
$

A tétel alapján bevezethetjük a

$\displaystyle L\left( x,\lambda,\mu\right) =f\left( x\right) +\lambda^{T}h\left(x\right) +\mu^{T}g\left( x\right) \quad\left( \lambda\in\mathbb{R}^{m},\ \mu\in\mathbb{R}^{r}\right)
$

Lagrange-féle függvényt és az alábbi fogalmat.

11.18. Definíció.   Az $ x^{\ast}\in S$ pontot az (11.4) szélsőérték feladat KKTL-pontjának (Karush-Kuhn-Tucker-Lagrange pontjának) nevezzük, ha léteznek $ \lambda^{\ast}\in\mathbb{R}^{m}$ és $ \mu^{\ast}\in\mathbb{R}^{r}$ Lagrange-szorzók úgy, hogy

$\displaystyle \mu^{\ast}\geq0,\emph{\quad}\left[\begin{array}[c]{c}
\lambda^{\ast}\\
\mu^{\ast}
\end{array}\right] \neq0,
$

$\displaystyle \nabla_{x}L\left( x^{\ast},\lambda^{\ast},\mu^{\ast}\right) =0
$

és

$\displaystyle \left( \mu^{\ast}\right)^{T} \cdot g\left( x^{\ast}\right) =0.
$

Igaz a következő elégséges eredmény.

11.19. Tétel.   Legyen $ x^{\ast}\in S$ az (11.4) szélsőérték feladat reguláris KKTL-pontja és tegyük fel, hogy $ \mu_{j}^{\ast}>0$ minden $ j\in \mathcal{A}\left(x^{\ast}\right)$ esetén. Tegyük fel továbbá, hogy $ f,h,g\in C^{2}\left(S\left(x^{\ast},\varepsilon\right) \right)$ valamilyen $ \varepsilon >0$ értékre. Ha

$\displaystyle y^{T}HL\left( x^{\ast},\lambda^{\ast},\mu^{\ast}\right) y>0
$

fennáll

$\displaystyle \forall y\neq0,\quad\nabla h\left( x^{\ast}\right) ^{T}y=0,\quad\nabla g_{j}\left( x^{\ast}\right) ^{T}y=0\ \left( \forall j\in A\left( x^{\ast}\right) \right)
$

esetén, akkor $ x^{\ast }$ szigorú lokális minimum pont.

A feltételes pozitiv definitség ellenőrzésére vezessük az

$\displaystyle A= HL\left( x^{\ast},\lambda^{\ast},\mu^{\ast}\right) \qquad B=[\nabla h_{i}\left(x^{\ast}\right),\nabla g_{j}\left(x^{\ast}\right) ] \quad (i=1,\ldots,m, j\in \mathcal{A}\left(x^{\ast}\right))
$

és

$\displaystyle C= \left[\begin{array}[c]{cc}
A & B \\
B^T & 0
\end{array}\right]
$

mátrixokat. Jelöljük $ s$ -sel a $ B$ mátrix oszlopainak számát. Ha a $ C$ szegélyezett mátrixnak $ s$ negatív, 0 zérus és $ n$ pozitív sajátértéke van, akkor $ x^{\ast }$ szigorú lokális minimumhely. (Ez következik az előző részben bevezetett inerciára kimondott tételből),

A tétel alkalmazásához szükséges, hogy $ \mu_{j}^{*}>0$ teljesüljön minden $ j\in \mathcal{A}\left( x^{*}\right) $ esetén.

Példa. Oldjuk meg a

$\displaystyle \begin{array}[c]{l}
f\left(x_{1},x_{2}\right) =x_{1}^2 + x_{2}^2 \rightarrow\min\\
g\left(x_{1},x_{2}\right) =x_{1} + x_{2} + 3 \leq 0
\end{array}
$

feladatot! Az $ f$ és $ g$ gradiense

$\displaystyle \nabla f\left(x_{1},x_{2}\right) =\left[ 2x_1 , 2x_2, \right]^{T},
$

$\displaystyle \nabla g\left(x_{1},x_{2}\right) =\left[ 1 , 1, \right]^{T}.
$

A Lagrange-függvény

$\displaystyle L\left(x_{1},x_{2},\mu\right) = x_{1}^2 + x_{2}^2 + \mu\left(x_{1} + x_{2} -3\right).
$

A KKTL-pontokra vonatkozó tétel szerint az alábbi egyenletrendszert kell megoldanunk:

    $\displaystyle 2x_1 + \mu$ $\displaystyle = 0$
    $\displaystyle 2x_2 + \mu$ $\displaystyle = 0$
    $\displaystyle \mu(x_{1} + x_{2} + 3 )$ $\displaystyle = 0$

Innen $ \mu=0$ esetén $ x_1=0$ és $ x_2=0$ adódik, amely nem KKTL pont, mert $ g(0,0) = 3 \not\leq 0$ .

$ \mu\neq 0$ esetén $ x_1=-\mu/2$ és $ x_2=-\mu/2$ adódik, amit visszahelyettesítve a harmadik egyenletbe adódik, hogy $ \mu=3$ . Innen $ x_1=x_2=-3/2$ megoldás adódik, amely KKTL pont. Megállapíthatjuk, hogy az egyenlőtlenségi feltétel aktív, $ \mathcal{A}=\{1\}$ (így kaptuk a KKTL pontot) és $ \mu>0$ . A KKTL pont nyilvánvalóan reguláris, valamint $ B=\nabla g(-3/2,-3/2) = \left[1,1\right]^{T}$ . A szegélyezett mátrix

$\displaystyle C= \left[\begin{array}[c]{ccc}
2 & 0 & 1\\
0 & 2 & 1\\
1 & 1 & 0
\end{array}\right].
$

Ennek 2 pozitív és egy negatív sajátértéke van, így az inerciája: $ \mathop{\hbox{\rm in}}(C)=(2,0,1)$ . Az elégségességi tétel alapján a KKTL pontban szigorú lokális minimum van.

A $ \nabla_{x}L\left( x,\lambda\right) =0$ , ill. $ \nabla_{x}L\left(x,\lambda,\mu\right) =0$ szükséges feltételeket elsőrendű optimalitási feltételeknek, a $ HL\left( x,\lambda\right) $ , ill. $ HL\left( x,\lambda,\mu\right)$ Hesse-mátrixok feltételes pozitív (szemi) definitségére vonatkozó feltételeket másodrendű feltételeknek nevezzük. Fontos speciális esetekben a másodrendű feltételek vizsgálata elhagyható. Ezeket a következő szakaszban vizsgáljuk.

11.4. A konvex optimalizálási feladat

11.20. Definíció.   Legyen $ D\subset\mathbb{R}^n$ nemüres, konvex halmaz, $ f : \mathbb{R}^n \to \mathbb{R}$ egy $ D$ -n véges, konvex függvény, $ h_1\dots,h_m:\mathbb{R}^n\to\mathbb{R}$ konvex függvények, és $ g_1,\ldots,g_r : \mathbb{R}^n\to\mathbb{R}$ affin függvények. Ekkor az

    $\displaystyle f(x) \rightarrow \min$
(11.5) $\displaystyle h_i(x) = 0 \qquad i=1,\dots,m$    és $\displaystyle x \in D$
    $\displaystyle g_j(x) \leq 0 \qquad j=1,\dots,r$    és $\displaystyle x \in D$

problémát konvex optimalizálási problémának nevezzük.

A Lagrange-féle függvény:

$\displaystyle L\left( x,\lambda,\mu\right) =f\left( x\right) + \sum_{i=1}^m \lambda_i h_i(x) + \sum_{j=1}^r \mu_j g_j(x).
$

A $ (\lambda_0,\dots,\lambda_m,\mu_1\ldots,\mu_r)$ együtthatókat Lagrange szorzók-nak (vagy Lagrange multiplikátoroknak nevezzük.

11.21. Tétel. (Karush-Kuhn-Tucker szükséges feltétel)   Legyen $ x^*$ a (11.5) probléma megoldása. Ekkor léteznek olyan $ (\lambda_0,\dots,\lambda_m,\mu_1,\ldots,\mu_r)$ Lagrange szorzók, hogy
  1. $ \lambda_i, \mu_j \geq 0$ és $ \lambda_0+\dots+\lambda_m+\mu_1+\ldots+\mu_r >0$ ;
  2. $ \mu_j g_j(x^*)=0,\quad j=1,\dots,r$ ;
  3. $ \min_{x\in D}L(x,\mu)=L(x^*,\mu)$ .

Bizonyítás. Legyen

    $\displaystyle \Lambda:=\left\{\ \lambda=(\lambda_0,\dots\lambda_m)\in\mathbb{R}^{m+1}\ |\ \right.$létezik $\displaystyle x\in A,$ hogy
    $\displaystyle f_i(x)\leq\lambda_i,\ i=0,\dots,k$ és $\displaystyle \left.f(x_j(x))=\lambda_j,\ j=k+1,\dots,m\ \right\}.$

Ekkor $ \Lambda\not=\emptyset$ , mert $ \lambda^*:=(f_0(p),0,\dots,0)\in\Lambda\ x=p$ -vel. Továbbá, $ \Lambda$ konvex, így $ \mathop{\hbox{\rm ri}}{\Lambda}\not=\emptyset$ egy korábbi tétel miatt.

Bebizonyítjuk, hogy $ \lambda^*\not\in\mathop{\hbox{\rm ri}}{\Lambda}$ . Tegyük fel az ellenkezőjét. Ekkor létezik olyan pozitív $ \varepsilon$ valós szám, hogy $ \mathop{\hbox{\rm aff}}{\Lambda}\cap B_\varepsilon(\lambda^*)\subset\Lambda$ . Mivel $ (f_0(p)+\varepsilon,0,\dots,0)$ eleme az előbbi metszetnek, $ (f_0(p)-\varepsilon,0,\dots,0)$ is eleme. Így létezik olyan $ x\in A$ , hogy $ f_{i}(x)\leq f_{0}(p)-\varepsilon$ , ami ellentmondás. Tehát $ \lambda^*\not\in\mathop{\hbox{\rm ri}}{\Lambda}$ . Az első szeparációs tétel szerint $ \lambda^*$ és $ \Lambda$ elválaszthatóak azaz, létezik $ \mu:=(\mu_0,\dots,\mu_m)\not=(0,\dots,0)$ , hogy

(11.6) $\displaystyle \sum_{i=0}^{m}\mu_i\lambda_i\geq\mu_0 f_0(p)$   minden $\displaystyle \lambda=(\lambda_0,\dots,\lambda_m)\in\Lambda$ esetén.

Helyettesítsük $ \lambda $ -t a következő vektorokkal:

$\displaystyle (f_0(p)+1,0,\dots,0),\ (f_0(p),1,0,\dots,0),\dots, (f_0(p),0,\dots,0,1,0,\dots,0),
$

ahol az utolsó vektorban a $ k.$ helyen áll $ 1$ . Ezzel kapjuk, hogy $ \mu_i\geq 0$ . Így az állítás első részét bebizonyítottuk.

Helyettesítsük most (11.6)-ben $ \lambda $ helyére a

$\displaystyle (f_0(p),f_1(p),0,\dots,0),\dots, (f_0(p),0,\dots,0,f_k(p),0,\dots,0),
$

vektorokat. Az állítás első részét és azt a tényt felhasználva, hogy $ p$ lehetséges megoldás, kapjuk az állítás második részét.

Legyen $ x$ tetszőleges lehetséges megoldás. Ekkor $ (f_0(x),\dots,f_m(x))\in\Lambda$ . Felhasználva ezt, az előző részt, (11.6), és az $ f_j(p)=0,\ j=k+1,\dots,m$ egyenleteket kapjuk a következőt:

$\displaystyle L(x,\mu)=\sum_{i=0}^{m}\mu_if_i(x)\leq
\mu_0f_0(p)=\sum_{i=0}^{m}\mu_if_i(p)=
L(x,\mu).
$

Ezzel a bizonyítás kész. $ \qedsymbol$

11.22. Tétel. (Karush-Kuhn-Tucker elegendő feltétel)   Tegyük fel, hogy a $ p$ pont lehetséges megoldása a (11.5) feladatnak és az előző tételbeli feltételek $ \mu_0>0$ -val teljesülnek, akkor $ p$ optimális megoldás is egyben.

Bizonyítás. A tétel feltételei mellett tetszőleges $ x$ lehetséges megoldás esetén

$\displaystyle \mu_0f_0(x)\geq\mu_0f_0(x)+\sum_{i=1}^m\mu_if_i(x)
\geq\mu_0f_0(p)+\sum_{i=1}^m\mu_if_i(p)=\mu_0f_0(p).
$

$ \mu_0$ -lal osztva kapjuk az állítást. $ \qedsymbol$

12. Minimumkereső eljárások

Egy és többváltozós függvények minimumhelyének és minimumának meghatározására két fő lehetőség van:

1. Valamilyen gyökkereső eljárást (pl. Newton-módszert) alkalmazunk a $ \nabla f(x)=0$ stacionárius egyenletre.

2. Direkt kereső eljárást alkalmazunk.

A fejezetben mindkét csoportba tartozó hatékony eljárásokat ismertetünk. A feltételes szélsőértékek meghatározásának általános módszereként a büntetőfüggvények módszerét ismertetjük.

12.1. Egyváltozós függvények kereső eljárásai

A direkt kereső eljárásoknál egy, az $ x^{\ast }$ minimumhelyet biztosan tartalmazó intervallumból indulunk ki. Ezt az úgynevezett befoglaló intervallumot (vagy más néven bizonytalansági intervallumot, mivel csak azt tudjuk, hogy a minimumpont itt keresendő, de a helyéről nincs információnk) szűkítjük az eljárások során lépésről lépésre.

Ehhez nem teszünk mást, mint az intervallumot részekre osztjuk (általában két belső pont felvételével) és az osztópontokban a függvényértéket kiszámítjuk, a függvényértékek nagysága alapján fogjuk az új (szűkebb) bizonytalansági intervallumot meghatározni. Ahhoz, hogy az eljárás konvergens legyen a függvénynek bizonyos konvexitási, vagy más bizonyos tulajdonsággal kell rendelkeznie.

Megjegyezzük, hogy sok esetben anélkül is alkalmazzuk az alábbi eljárásokat,hogy meggyőződnénk a konvexitásról, ekkor azonban nincs garancia az eljárások konvergenciájára.

12.1. Definíció.   Az $ f\in C\left[ a,b\right] $ függvényt unimodálisnak nevezzük, ha tetszőleges $ x_{1},x_{2}\in\left[ a,b\right], x_{1}<x_{2}$ esetén

    $\displaystyle x_{2}$ $\displaystyle \leq x^{\ast}\Rightarrow f\left( x_{1}\right) >f\left(x_{2}\right)$
    $\displaystyle \ x_{1}$ $\displaystyle \geq x^{\ast}\Rightarrow f\left( x_{1}\right) <f\left(x_{2}\right)$

Az unimodális $ f$ függvény az $ x^{\ast }$ minimumhelytől balra szigorúan monoton csökkenő, tőle jobbra pedig szigorúan monoton növő. A szigorúan konvex és a szigorúan kvázikonvex függvények unimodálisak. Az unimodális függvények kereső eljárásai a következő észrevételen alapulnak.

12.2. Tétel.   Legyen $ f\in C\left[ a,b\right] $ unimodális függvény és $ a<c<d<b$ . Ekkor

(i) Ha $ f(c) < f(d)$ , akkor $ x^{*}\in\left[a,d\right]$ .

(ii) Ha $ f(c) > f(d)$ , akkor $ x^{*}\in\left[c,b\right]$ .

(iii) Ha $ f(c) = f(d)$ , akkor $ x^{*}\in\left[c,d\right]$ .

Bizonyítás. (i) Tegyük fel, indirekt, hogy $ x^{\ast}>d$ . Ekkor az unimodalitás miatt $ x^{\ast }$ -tól balra a függvény szigorúan monoton csökkenő, amelyből $ f(c) > f(d)$ adódik. Ez pedig ellentmond a $ f(c) < f(d)$ feltételnek. Így $ x^{*}\in\left[a,d\right]$ .

A többi rész igazolása hasonló. $ \qedsymbol$

Megjegyezzük, hogy csak egy belső pontból származó információ alapján nem lehet a minimumhelyet tartalmazó intervallumot szűkíteni. A fenti tétel alapján a következő eljárást definiálhatjuk unimodális függvények minimumhelyének megkeresésére.

12.1.1. Általános minimum kereső algoritmus

1 Input $ [a_{1},b_{1}]$
2 FOR $ k=1,2,\ldots $
3         Legyen $ c_{k},d_{k}\in\left( a_{k},b_{k}\right)$ és $ c_{k}<d_{k}$ .
4         IF $ f\left(c_{k}\right) < f\left( d_{k}\right) $
5                 THEN $ a_{k+1}=a_{k}$ , $ b_{k+1}=d_{k}$
6         IF $ f\left(c_{k}\right) > f\left( d_{k}\right) $
7                 THEN $ a_{k+1}=c_{k}$ , $ b_{k+1}=b_{k}$
8         IF $ f\left(c_{k}\right) = f\left( d_{k}\right) $
9                 THEN $ a_{k+1}=c_{k}$ , $ b_{k+1}=d_{k}$

A kapott

$\displaystyle \lbrack a_{1},b_{1}]\supset\ldots\supset\lbrack a_{k},b_{k}]\supset\ldots
$

intervallumsorozat közös pontként tartalmazza az $ x^{\ast }$ minimumhelyet. Ha $ b_{k}-a_{k}\rightarrow0$ , akkor a minimumhely adott $ \varepsilon >0$ pontosságú közelítését véges iterációs lépésben megkaphatjuk. A $ c_{k}$ vagy $ d_{k}$ pont ismételt felhasználásával az $ f$ függvény behelyettesítéseinek számát csökkenthetjük.

12.1.2. Dichotomous keresés

Legegyszerűbben úgy tudjuk biztosítani az új bizonytalansági intervallumok hosszának megegyezését, ha az intervallum középpontjától balra és jobbra azonos távolságra választjuk meg a pontokat. Jelölje a középponttól való távolságot, egy alkalmasan választott $ \delta>0 $ szám.

Ekkor:

    $\displaystyle c_{k}$ $\displaystyle =\frac{a_{k}+b_{k}}{2}-\delta=a_{k}+\frac{L_{k}}{2}-\delta,$
    $\displaystyle d_{k}$ $\displaystyle =\frac{a_{k}+b_{k}}{2}+\delta=a_{k}+\frac{L_{k}}{2}+\delta. \qquad k=1,2,3,\ldots$

Az új bizonytalansági intervallum számítása:

Ha $ f(c_{k})>f(d_{k})$ , akkor az új bizonytalansági intervallum $ \left[ a_{k+1},b_{k+1}\right] =\left[ c_{k},b_{k}\right]$ .

Ha $ f(c_{k})\leq f(d_{k})$ , akkor az új bizonytalansági intervallum $ \left[ a_{k+1},b_{k+1}\right] =\left[ a_{k},d_{k}\right] $ .

Nyilvánvaló, hogy mindkét esetben $ L_{k+1}=\frac{L_{k}}{2}+\delta$ .

Az eljárást addig folytatjuk, amig valamely $ k$ -ra $ L_{k}<2\varepsilon$ , ahol $ \varepsilon >0$ a pontossági előírás. Ekkor, ha a minimumpontot a megállásnál kapott $ \left[a_{k},b_{k}\right] $ intervallum középpontjára választjuk, akkor $ \varepsilon$ -nál kisebb hibát követünk el a minimumpont közelítésében.

1 Input $ [a_{1},b_{1}]$ és $ \delta,\varepsilon >0$
2 WHILE $ b_{k}-a_{k}\geq 2\varepsilon$
3         Legyen $ c_{k} =\frac{a_{k}+b_{k}}{2}-\delta=a_{k}+\frac{L_{k}}{2}-\delta$ , $ d_{k}=\frac{a_{k}+b_{k}}{2}+\delta=a_{k}+\frac{L_{k}}{2}+\delta$ .
4         IF $ f\left(c_{k}\right) > f\left( d_{k}\right) $
5                 THEN $ a_{k+1}=c_{k}$ , $ b_{k+1}=b_{k}$
6                 ELSE $ a_{k+1}=a_{k}$ , $ b_{k+1}=c_{k}$
7         $ k=k+1$

Példa. Oldjuk meg az $ f(x)=x^{2}-7x+12\rightarrow\min!$ egyváltozós optimalizálási feladatot dichotomous módszerrel, ha a bizonytalansági intervallum $ \left[ a,b\right] =\left[ 2,4\right] $ , $ \delta=0.3$ , $ \varepsilon=0.4$ .

Megoldás:

1. lépés: Az első közelítésbeli bizonytalansági intervallum $ \left[ a_{1},b_{1}\right] =\left[ 2,4 \right] $ , melynek hossza $ L_{1}=2$ . A két közbülső pont és a hozzájuk tartozó függvényértékek:

    $\displaystyle c_{1}$ $\displaystyle =a_{1}+\frac{L_{1}}{2}-\delta=2.7,\ \ \ \ \ \ \ \ f(c_{1})=0.39,$
    $\displaystyle d_{1}$ $\displaystyle =a_{1}+\frac{L_{1}}{2}+\delta=3.3,\ \ \ \ \ \ \ \ f(d_{1})=-0.21$

2. lépés: Mivel $ f(c_{1})>f(d_{1})$ , így az új bizonytalansági intervallum $ \left[ a_{2},b_{2}\right] =\left[2.7,4\right]$ , melynek hossza $ L_{2}=1.3$ . A két közbülső pont és a hozzájuk tartozó függvényértékek:

    $\displaystyle c_{2}$ $\displaystyle =3.05,\ \ \ \ \ \ \ \ f(c_{2})=-0.0475,$
    $\displaystyle d_{2}$ $\displaystyle =3.65,\ \ \ \ \ \ \ \ f(d_{2})=-0.2275$

3. lépés: Mivel $ f(c_{2})>f(d_{2})$ , így az új bizonytalansági intervallum $ \left[ a_{3},b_{3}\right] =\left[2.7,3.65\right] $ ,melynek hossza $ L_{3}=0.95$ . A két közbülső pont és a hozzájuk tartozó függvényértékek:

    $\displaystyle c_{3}$ $\displaystyle =2.875,\ \ \ \ \ \ \ \ f(c_{3})=0.140625,$
    $\displaystyle d_{3}$ $\displaystyle =3.475,\ \ \ \ \ \ \ \ f(d_{3})=-0.24937500$

4. lépés: Mivel $ f(c_{3})>f(d_{3})$ , így az új bizonytalansági intervallum $ \left[ a_{4},b_{4}\right] =\left[2.875,3.65\right] $ ,melynek hossza $ L_{4}=0.775$ . Itt megállunk, mivel $ L_{4}<2\varepsilon$ . A minimumpont közelítése $ x_{\min} \approx 3.2625$ . Általában kisebb $ \varepsilon$ értéket szokás megadni, de ezzel is elég közel kerültünk a pontos minimumhelyhez, az $ \bar{x}$ $ =3.5$ értékhez.

12.1.3. Aranymetszéses keresés

Ez az eljárás egyike a leggyakrabban használtaknak. Előnye, hogy minden lépésben csak egy olyan új pont adódik, ahol ki kell kiszámolni a függvényértéket.

Legyen $ \tau=\left(\sqrt{5}-1\right) /2\approx0.618$ . Ha az aranymetszéses keresés (Golden section) eljárás befejeződik, akkor az $ x^{\ast }$ lokális minimumhely a legfeljebb $ 2 \varepsilon$ hosszúságú $ [a_{k},b_{k}]$ intervallumban van. Az intervallum bármelyik pontja választható az $ x^{\ast }$ közelítéseként. Célszerű azonban az $ \widetilde{x}=\frac{a_{k}+b_{k}}{2}$ közelítést alkalmazni, mert ekkor biztosan teljesül az $ \left| \widetilde{x}-x^{\ast}\right| < \varepsilon$ feltétel.

Az aranymetszés eljárása a következő:

1 $ [a_{1},b_{1}]$ , $ \varepsilon >0$ , $ k=1$
2 $ c_{1}=a_{1}+\left(1-\tau\right)\left( b_{1}-a_{1}\right) ,\quad F_{c}=f\left( c_{1}\right) $
3 $ d_{1}=b_{1}-\left(1-\tau\right)\left( b_{1}-a_{1}\right) ,\quad F_{d}=f\left( d_{1}\right) $
4 WHILE $ b_{k}-a_{k}\geq 2\varepsilon$
5         IF $ F_{c}<F_{d}$
6                 THEN $ a_{k+1}=a_{k},\ b_{k+1}=d_{k},\ d_{k+1}=c_{k}$
7                          $ c_{k+1}=a_{k+1}+\left(1-\tau\right)\left(b_{k+1}-a_{k+1}\right)$
8                          $ F_{d}=F_{c},\quad F_{c}=f\left( c_{k+1}\right)$
9                 ELSE $ a_{k+1}=c_{k},\ b_{k+1}=b_{k},\ c_{k+1}=d_{k}$
10                          $ d_{k+1}=b_{k+1}+\left(1-\tau\right)\left(b_{k+1}-a_{k+1}\right)$
11                          $ F_{c}=F_{d},\quad F_{d}=f\left( d_{k+1}\right) $
12         $ k=k+1$

Az aranymetsző keresés sebessége lineáris. Ugyanis az $ [a_{k+1},b_{k+1}]$ intervallum hossza pontosan $ \tau$ -szorosa ($ 0.628$ -szorosa) az $ [a_{k},b_{k}]$ intervallum hosszának. Jelöljük el $ L_k$ -val az $ [a_{k},b_{k}]$ hosszát, azaz $ L_k=b_{k}-a_{k}$ . Ekkor

$\displaystyle L_{k+1} = \tau L_k = \tau^2 L_{k-1} = \cdots = \tau^k L_1.
$

Ezért adott $ [a_1,b_1]$ intervallum és adott $ \varepsilon$ ismeretében előre meg lehet határozni, hogy hány lépést kell végrehajtanunk ahhoz, hogy $ L_{k+1}$ kisebb legyen $ \varepsilon$ -nál. Például, ha $ L_1=1$ és $ \varepsilon = 10^{-6}$ , akkor a $ \tau^k < 2\cdot 10^{-6}$ egyenletet kell megoldanunk. Innen $ k > \frac{\log 2 \cdot 10^{-6}}{\log \tau} \approx 27.2694$ , azaz 28 intervallumot kell meghatározni.

Példa. Oldjuk meg az $ f(x)=x^{2}-7x+12\rightarrow\min!$ egyváltozós optimalizálási feladatot aranymetszés módszerrel, ha a bizonytalansági intervallum $ \left[ a,b\right] =\left[ 2,4\right] $ , $ \varepsilon=0.3$ .

Megoldás:

1. lépés: Az első közelítésbeli bizonytalansági intervallum $ \left[ a_{1},b_{1}\right] =\left[ 2,4 \right] $ , melynek hossza $ L_{1}=2$ . A két közbülső pont és a hozzájuk tartozó függvényértékek:

    $\displaystyle c_{1}$ $\displaystyle =a_{1}+0.382\ L_{1}=2.764,\ \ \ \ \ \ \ \ f(c_{1})=0.291696,$
    $\displaystyle d_{1}$ $\displaystyle =a_{1}+0.618\ L_{1}=3.236,\ \ \ \ \ \ \ \ f(d_{1})=-0.180304$

2. lépés: Mivel $ f(c_{1})>f(d_{1})$ , így az új bizonytalansági intervallum $ \left[ a_{2},b_{2}\right] =\left[ 2.764,4 \right] $ , melynek hossza $ L_{2}=1.236$ . A két közbülső pont és a hozzájuk tartozó függvényértékek az alábbiak. Ne feledjük, hogy most a $ c_{2}$ pont az előző intervallumbeli $ d_{1}$ értékkel azonos.

    $\displaystyle c_{2}$ $\displaystyle =d_{1} =3.236,\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f(c_{2})=-0.180304,$
    $\displaystyle d_{2}$ $\displaystyle =a_{2}+0.382\ L_{2}=3.527848,\ \ \ \ \ \ \ \ \ \ f(d_{2})=-0.24922449$

3. lépés: Mivel $ f(c_{2})>f(d_{2})$ , így az új bizonytalansági intervallum $ \left[ a_{3},b_{3}\right] =\left[3.236,4 \right] $ ,melynek hossza $ L_{3}=0.764$ . A két közbülső pont és a hozzájuk tartozó függvényértékek az alábbiak. Ez esetben a $ c_{3}$ pont lesz az előző intervallumbeli $ d_{2}$ értékkel azonos.

    $\displaystyle c_{3}$ $\displaystyle =d_{2}=3.527848,\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f(c_{3})=-0.24922449,$
    $\displaystyle d_{3}$ $\displaystyle =a_{3}+0.618\ L_{3}=3.70806,\ \ \ \ \ \ \ \ \ \ \ \ f(d_{3})=-0.20671104$

4. lépés: Mivel $ f(c_{3})<f(d_{3})$ , így az új bizonytalansági intervallum $ \left[ a_{4},b_{4}\right] =\left[ 3.236, 3.70806\right]$ , melynek hossza $ L_{4}=0.47206$ . Itt megállunk, mivel $ L_{4}<2\varepsilon$ . A minimumpont közelítése $ x_{\min} \approx 3.47203$ . Most még közelebb kerültünk a pontos minimumhelyhez (az $ \bar{x} =3.5$ értékhez, mint a Dichotomous keresés esetén.

12.1.4. Fibonacci keresés

A golden section módszernél láttuk, hogy a bizonytalansági intervallumok hossza minden lépésben azonos arányban csökken, azaz $ L_{k+1}=\alpha L_{k}$ . A Fibonacci módszernél a redukciós arány lépésről lépésre változik, de megmarad a golden section módszernek az a jó tulajdonsága, hogy az első intervallumban kettő, a többi intervallumban pedig csak egy függvény-kiértékelésre van szükség. Az eljárás alapját a Fibonacci számok képezik, amelyeket az alábbi rekurzív formula definiál:

    $\displaystyle F_{0}$ $\displaystyle =F_{1}=1,$
    $\displaystyle F_{k}$ $\displaystyle =F_{k-1}+F_{k-2}\ \ \ \ k=2,3,\ldots$

A sorozat első néhány eleme: $ 1,1,2,3,5,8,13,21,34,55,89,144,\ldots$

A módszer elején kiválasztunk egy $ n$ természetes számot, amelyet a lépésszám meghatározására fogunk használni a későbbiekben. A Fibonacci módszernél az $ n$ és a Fibonacci számok segítségével az alábbi formulákkal számítjuk ki az $ \left[a_{k},b_{k}\right] $ intervallum belsejében a $ c_{k},d_{k}$ pontokat:

    $\displaystyle c_{k}$ $\displaystyle =a_{k}+\frac{F_{n-k-1}}{F_{n-k+1}}L_{k},$
    $\displaystyle d_{k}$ $\displaystyle =a_{k}+\frac{F_{n-k}}{F_{n-k+1}}L_{k}.$

Az első intervallumbeli közbülső pontok számításánál a nevezőben mindig $ F_{n}$ áll, a számlálóban pedig attól kettővel ill. eggyel kisebb indexű Fibonacci szám áll. A további lépésekben a Fibonacci számok indexe mindig eggyel csökken.

Megjegyzés.

Összefoglalva, a Fibonacci módszernél az új bizonytalansági intervallum és abban lévő két pont számítása a következő:

Ha $ f(c_{k})>f(d_{k})$ , akkor az új bizonytalansági intervallum

    $\displaystyle \left[ a_{k+1},b_{k+1}\right]$ $\displaystyle =\left[ c_{k},b_{k}\right]$
    $\displaystyle c_{k+1}$ $\displaystyle =d_{k}$
    $\displaystyle d_{k+1}$ $\displaystyle =a_{k+1}+\frac{F_{n-k}}{F_{n-k+1}}L_{k+1},$

Ha $ f(c_{k})\leqq f(d_{k})$ , akkor az új bizonytalansági intervallum

    $\displaystyle \left[ a_{k+1},b_{k+1}\right]$ $\displaystyle =\left[ a_{k},d_{k}\right]$
    $\displaystyle c_{k+1}$ $\displaystyle =a_{k+1}+\frac{F_{n-k-1}}{F_{n-k+1}}L_{k+1}$
    $\displaystyle d_{k+1}$ $\displaystyle =c_{k}.$

Az algoritmus:

1 Input $ [a_{1},b_{1}]$ és $ n$
2 $ L_1 = b_1 - a_1$
3 $ c_{1} =a_{1}+\frac{F_{n-2}}{F_{n}}L_{1}$
4 $ d_{1} =a_{1}+\frac{F_{n-1}}{F_{n}}L_{1}$
5 FOR k=1 TO n-1 DO
6         IF $ f\left(c_{k}\right) > f\left( d_{k}\right) $
7                 THEN $ a_{k+1}=c_{k}$ , $ b_{k+1}=b_{k}$ , $ L_{k+1} = b_{k+1} - a_{k+1}$
8                          $ c_{k+1}=d_{k}$ , $ d_{k+1} =a_{k+1}+\frac{F_{n-k}}{F_{n-k+1}}L_{k+1}$
9                 ELSE $ a_{k+1}=a_{k}$ , $ b_{k+1}=d_{k}$ , $ L_{k+1} = b_{k+1} - a_{k+1}$
10                          $ c_{k+1} =a_{k+1}+\frac{F_{n-k-1}}{F_{n-k+1}}L_{k+1}$ , $ d_{k+1}=c_{k}$

Az eljárást $ k=n-1$ lépésig folytatjuk és a $ c_{n-1}=d_{n-1}$ közös értékre választjuk a minimumpontot. Ekkor a hiba, amit elkövethetünk legfeljebb $ L_{n-1}/2$ . Könnyen ellenőrizhető, hogy a közös érték nem más, mint a $ k=n-1$ intervallum középpontja.

Az $ n$ értékét a következőképpen választjuk: Az első intervallum esetén kettő, a további intervallumokban csak egy függvény-kiértékelés szükséges. Ha az utolsó, azaz a $ k=n-1$ -edik intervallumban is kiszámítjuk a függvény minimumát, akkor a függvény-kiértékelések száma $ n$ , tehát az előre nem definiált $ n$ a függvény-kiértékelések számát jelenti. Ha előírjuk, hogy a választott minimumpontnak legfeljebb $ \varepsilon >0$ legyen a hibája, azaz

$\displaystyle L_{n-1}< 2 \varepsilon,
$

akkor az $ n$ értéke ennek a formulának a segítségével számítható. Itt a $ k+1$ -edik intervallum hosszára az adódik, hogy

$\displaystyle L_{k+1}=\frac{F_{n-k}}{F_{n-k+1}}L_{k}=\frac{F_{n-k}}{F_{n-k+1}}\frac{F_{n-k+1}}{F_{n-k+2}}L_{k-1}=\ldots=\frac{F_{n-k}}{F_{n}}L_{1}.
$

Ezt felhasználva, $ k=n-2$ helyettesítéssel

$\displaystyle L_{n-1}=\frac{F_{2}}{F_{n}}L_{1}=\frac{2}{F_{n}}L_{1}.
$

A hibára vonatkozó képlet használható formában az alábbiak szerint írható

$\displaystyle \frac{L_{1}}{F_{n}}<\varepsilon,
$

amelyből az adott kezdeti intervallumhossz ($ L_{1}$ ) és egy előre megadott pontossági tűrés ( $ \varepsilon$ ) ismertében $ n$ értékét úgy kell megválasztani, hogy

$\displaystyle F_{n}>\frac{L_{1}}{\varepsilon}.
$

Példa. Oldjuk meg az $ f(x)=x^{2}-7x+12\rightarrow\min!$ egyváltozós optimalizálási feladatot Fibonacci módszerrel, ha a bizonytalansági intervallum $ \left[ a,b\right] =\left[ 2,4\right] $ .

Megoldás:

Válasszuk meg az $ n$ értékét $ n=4$ -re. Az algoritmushoz szükséges Fibonacci számok: $ F_{0}=F_{1}=1, F_{2}=2, F_{3}=3, F_{4}=5.$

1. lépés: Az első közelítésbeli bizonytalansági intervallum $ \left[ a_{1},b_{1}\right] =\left[ 2,4 \right] $ , melynek hossza $ L_{1}=2$ . A két közbülső pont és a hozzájuk tartozó függvényértékek:

    $\displaystyle c_{1}$ $\displaystyle =a_{1}+\frac{F_{2}}{F_{4}}\ L_{1}=2 + \frac{2}{5}\cdot 2 = 2.8,\ \ \ \ \ \ \ \ f(c_{1})=0.24,$
    $\displaystyle d_{1}$ $\displaystyle =a_{1}+\frac{F_{3}}{F_{4}}\ L_{1}=2 + \frac{3}{5}\cdot 2 = 3.2,\ \ \ \ \ \ \ \ f(d_{1})=-0.16.$

2. lépés: Mivel $ f(c_{1})>f(d_{1})$ , így az új bizonytalansági intervallum $ \left[ a_{2},b_{2}\right] =\left[2.8, 4\right]$ , melynek hossza $ L_{2}=1.2$ . A két közbülső pont és a hozzájuk tartozó függvényértékek az alábbiak. A $ c_{2}$ pont az előző intervallumbeli $ d_{1}$ értékkel azonos.

    $\displaystyle c_{2}$ $\displaystyle =d_{1}=3.2,\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f(c_{2})=-0.16,$
    $\displaystyle d_{2}$ $\displaystyle =a_{2} + \frac{F_{1}}{F_{3}}\ L_{2}= 2.8 + \frac{2}{3}\cdot 1.2 = 3.6,\ \ \ \ \ \ \ f(d_{2})=-0.24.$

3. lépés: Mivel $ f(c_{2})>f(d_{2})$ , így az új bizonytalansági intervallum $ \left[a_{3},b_{3}\right] =\left[ 3.2, 4\right] $ ,melynek hossza $ L_{3}=0.8$ . A két közbülső pont és a hozzájuk tartozó függvényértékek az alábbiak. Ez esetben a $ c_{3}$ pont lesz az előző intervallumbeli $ d_{2}$ értékkel azonos.

    $\displaystyle c_{3}$ $\displaystyle = d_{2} = 3.6,\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f(c_{3})=-0.24,$
    $\displaystyle d_{3}$ $\displaystyle = a_{3}+\frac{F_{1}}{F_{2}}\ L_{3} = 3.2 + \frac{1}{2}\cdot 0.8 = 3.6,\ \ \ \ \ \ \ \ \ \ \ \ \ f(d_{3})=-0.24$

4. lépés: Mivel $ c_{3}=d_{3}$ , így az algoritmust be kell fejezni. A minimumpont közelítése $ x_{\min}\approx 3.6$ , vagyis a közbülső pontok értéke.

Megfigyelhető, hogy a bizonytalansági intervallumok hosszának csökkenése minden lépésben a Fibonacci számok hányadosával arányos. Például az $ L_{3}=\frac{F_{2}} {F_{3}}L_{2}$ .

Ha az $ n$ értékét önkényesen választjuk meg, akkor - mint ahogy tapasztaltuk - nem tudjuk befolyásolni a pontosságot. Amennyiben azt szeretnénk, hogy a pontossági tűrés például $ \varepsilon=0.05$ legyen, akkor az $ n$ értékét olyanra kell választani, hogy fennálljon az

$\displaystyle F_{n}>\frac{L_{1}}{\varepsilon}.
$

összefüggés, ez pedig azt jelenti példánkban, hogy $ F_{n}>\frac{2}{0.05}=40$ . A Fibonacci számokból adódik, hogy $ n=9$ , mivel $ F_{9}=55$ .

12.1.5. Newton módszer

A klasszikus Newton módszer a $ g(x)=0$ egyenlet gyökét keresi meg bizonyos feltételek (pl. folytonosan differenciálhatóság) mellett egy adott intervallumon. Ezt az eljárást alkalmazzunk most a stacionárius egyenlet megoldására. Tegyük fel, hogy az egyváltozós függvény, amelynek szélsőértékét keressük, kétszer differenciálható függvény. Induljunk ki egy $ x_{1}$ pontból és alkalmazzuk az $ f^{\prime}(x)=0$ egyenlet megoldására a Newton iterációs eljárást, amely a következő

$\displaystyle x_{k+1}=x_{k}-\dfrac{f^{\prime}(x_{k})}{f^{\prime\prime}(x_{k})} \qquad k=1,2,\ldots
$

Ezek után írjuk le az algoritmust a már megszokott pszeudókódban.

1 Input $ x_0$ és $ \varepsilon$
2 $ k=1$
3 $ x_{1}=x_{0}-f^{\prime}(x_{0})/f^{\prime\prime }(x_{0})$
4 WHILE kilépési feltétel=hamis
5          $ x_{k+1}=x_{k}-f^{\prime}(x_{k})/f^{\prime\prime}(x_{k})$
6         $ k=k+1$

Kilépési feltételként a következőket szokás használni:

$\displaystyle \begin{array}{lc}
\text{(A) }\frac{M}{2m}\left(x_{k}-x_{k-1}\right) ^{2} \leq \varepsilon & \text{(egzakt hibabecslés)} \\
\text{(B) }\left\vert x_{k+1}-x_{k}\right\vert \leq \varepsilon &
\end{array}
$

Ha igazolni tudtuk a konvergenciát és becsülni az $ m$ , $ M$ értékeket, akkor (A) egzakt hibabecslést végezhetünk, egyébként a (B)-t használjuk. Megjegyezzük azonban, hogy a (B) teljesülése esetén nem biztos, hogy a szélsőértékhez már elég közel vagyunk.

Példa. Keressük meg az $ f(x)= 4x - 4/3 x^3 -e^x$ függvény szélsőértékét a [0,1] intervallumon $ \varepsilon = 10^{-6}$ hibakorláttal Newton-módszerrel. Ekkor az $ f^{\prime}(x)=4-4x^{2}-e^{x}=0$ egyenletet a kell megoldanunk Newton-módszerrel a $ [0,1]$ . A számítások előtt igazoljuk a konvergenciát is.

Megoldás. A könnyen kiszámolható

$\displaystyle f^{\prime\prime }(x) = -8x-e^{x}<0$   és $\displaystyle f^{\prime \prime \prime}(x)=-8-e^{x}<0
$

deriváltakból azonnal látszik azok állandó előjele is az adott intervallumon; ezzel a konvergenciatétel első két feltételét igazoltuk. Az $ f^{\prime}(0)=3$ és $ f^{\prime}(1)=-e$ értékek ellentétes előjele egyben az (iii) feltétel teljesülését jelenti. Az $ x_{0}=1$ választással pedig az utolsó feltétel is fennáll. Van tehát egyedüli $ x^{\ast }$ megoldás a $ [0,1]$ -n és az a Newton-módszerrel megközelíthető. Az egzakt hibabecsléshez szükséges konstansok is könnyen adódnak: mindkét derivált abszolút értéke szigorúan monoton nő, így az első a minimumát az $ a$ helyen, a második pedig a maximumát a $ b$ helyen veszi fel. Tehát $ m=\left\vert f^{\prime\prime}(0)\right\vert =1$ és $ M=\left\vert f^{\prime\prime \prime }(1)\right\vert =10.72$ . Itt is előre kiszámolhatjuk a példára nézve állandó $ \beta=M/(2m)=5.36$ értéket.

Az iterációk eredményeit itt is táblázatba foglaltuk.

$\displaystyle \begin{array}{cll}
i & x & \text{hiba} = \beta \left( x-x_{elozo}\right) ^{2} \\
0 & 1 & \\
1 & 0.74638828573 & 0.35 \\
2 & 0.70459003270 & 0.94\times 10^{-2} \\
3 & 0.70344043705 & 0.71\times 10^{-5} \\
4 & \fbox{0.70343957116} & 0.41\times 10^{-11}
\end{array}
$

Példa. Oldjuk meg az $ f(x)=x^{3}-9x+7\rightarrow\min!$ egyváltozós optimalizálási feladatot Newton módszerrel, ha a kiinduló közelítő megoldás $ x_{0}=3$ , $ \varepsilon=0.005$ és a (B) kilépési feltételt használjuk.

Megoldás:

A függvény első és második deriváltjai:

$\displaystyle f^{\prime}(x)=3x^{2}-9, \qquad f^{\prime\prime}(x)=6x
$

A közelítések:

$\displaystyle x_{1}=x_{0}-\frac{3x_{0}^{2}-9}{6x_{0}}=2
$

Az utolsó két közelítés távolsága: $ \left\vert x_{1}-x_{0}\right\vert =1 > \varepsilon$ .

$\displaystyle x_{2}=x_{1}-\frac{3x_{1}^{2}-9}{6x_{1}}=1.75
$

A hibabecslés: $ \left\vert x_{2}-x_{1}\right\vert =0.25 > \varepsilon$ .

$\displaystyle x_{3}=x_{2}-\frac{3x_{2}^{2}-9}{6x_{2}}=1.732050810
$

A hibabecslés: $ \left\vert x_{3}-x_{2}\right\vert =0.01794919 > \varepsilon$ .

$\displaystyle x_{4}=x_{3}-\frac{3x_{3}^{2}-9}{6x_{3}}=1.732050808
$

A hibabecslés: $ \left\vert x_{3}-x_{2}\right\vert =0.2 \cdot 10^{-8} < \varepsilon$ . A 4. közelítésben megkaptuk a $ x_{\min}=\sqrt{3}$ pontos értéket kilenc tizedes pontossággal.

12.2. Többváltozós függvények kereső eljárásai

12.2.1. A Newton-módszer

Legyenek $ f_{1},f_{2},\ldots,f_{m}:\mathbb{R}^{n}\rightarrow \mathbb{R}$ többváltozós differenciálható valós függvények. Tekintsük az alábbi $ m$ egyenletből álló egyenletrendszert:

    $\displaystyle f_{1}(x)$ $\displaystyle = 0$
    $\displaystyle f_{2}(x)$ $\displaystyle = 0$
      $\displaystyle ...$
    $\displaystyle f_{m}(x)$ $\displaystyle = 0$

Közelítsük ezeket a függvényeket a többváltozós valós függvényekre megismert elsőfokú Taylor polinommal egy $ \mathbf{x}_{k}\in \mathbb{R}^{n}$ helyen, azaz

    $\displaystyle f_{1}(x)$ $\displaystyle \approx f_{1}(x_{k})+\nabla f_{1}(x_{k})(x-x_{k})$
    $\displaystyle f_{2}(x)$ $\displaystyle \approx f_{2}(x_{k})+\nabla f_{2}(x_{k})(x-x_{k})$
      $\displaystyle ...$
    $\displaystyle f_{m}(x)$ $\displaystyle \approx f_{m}(x_{k})+\nabla f_{m}(x_{k})(x-x_{k})$

Legyen $ F:\mathbb{R}^{n} \rightarrow \mathbb{R}^{m}$ , az $ F$ vektor elemei legyenek az $ f_{1}(x),f_{2}(x),\ldots, f_{m}(x)$ függvények. Az $ F(x)=0$ ( $ F:\mathbb{R}^{n} \rightarrow \mathbb{R}^{m}$ ) egyenletrendszer esetén a Newton-módszer alakja

$\displaystyle F(x) = F(x_k) + F^{\prime}(x) (x-x_k),
$

ahol

$\displaystyle F^{\prime}\left( x\right) =\left[ \frac{\partial f_{i}\left( x\right)}{\partial x_{j}}\right]_{i,j=1}^{m,n}\in\mathbb{R}^{m\times n}.
$

a Jacobi mátrix. Innen kapjuk, hogy a közelítés sorozata (hasonlóan az egyváltozós esethez)

$\displaystyle 0 = F(x_k) + F^{\prime}(x) (x_{k+1}-x_k),
$

ahonnan az

$\displaystyle F^{\prime}(x) (x_{k+1}-x_k) = -F(x_k)
$

egyenletrendszer adódik. Ha $ m=n$ , és $ F^{\prime}(x)$ invertálható, akkor

$\displaystyle x_{k+1}=x_{k}-\left[ F^{\prime}\left( x_{k}\right) \right] ^{-1}F\left(x_{k}\right) \quad\left( k=0,1,\ldots\right).
$

Mindkét formulát használják a Newton-módszernek, de az $ F^{\prime}\left( x\right)$ Jacobi-mátrix invertálásának elkerülése miatt célszerű az eljárást az alábbi módon használni:

1 FOR $ k=0,1,\ldots$
2          $ F^{\prime}\left( x_{k}\right) s_{k}=-F\left( x_{k}\right)$
3          $ x_{k+1}=x_{k}+s_{k}$

Ha a Newton-módszert az $ F(x)=\nabla f(x)=0$ stacionárius egyenletrendszerre alkalmazzuk, akkor a Jacobi mátrix alakja

$\displaystyle F^{\prime}\left( x\right) =H f\left( x\right) = H f(x) =\left[\frac{\partial^{2}f\left( x\right) }{\partial x_{i}\partial x_{j}}\right]_{i,j=1}^{n},
$

ami nem más mint az $ f$ függvény Hesse-mátrixa. A Newton-módszert itt is két alakban használjuk. Az eső esetben nem kell invertálni. Ekkor a módszer alakja következő lesz:

1 FOR $ k=0,1,\ldots$
2          $ H f\left( x_{k}\right) s_{k}=-\nabla f\left(x_{k}\right)$
3          $ x_{k+1}=x_{k}+s_{k}$

Ezt az alakot a későbbiekben Newton I. formulának fogjuk nevezni.

Invertálást használva azt kapjuk, hogy az közelítő sorozat a következőképpen állítható elő:

1 FOR $ k=0,1,\ldots$
2          $ s_{k}=\left(-Hf\left( x_{k}\right)\right)^{-1} \nabla f\left(x_{k}\right)$
3          $ x_{k+1}=x_{k}+s_{k}$

Ezt az alakot Newton II. formulának fogjuk nevezni.

A $ Hf\left( x_{k}\right) $ együtthatómátrix szimmetrikus. Ha $ x_{k}\approx x_{\min}$ és $ H f\left(x_{\min}\right) $ pozitív definit, akkor $ Hf\left( x_{k}\right) $ is pozitív definit.

A Newton-módszer lépésenkénti számítási költsége $ 1$ szimmetrikus lineáris egyenletrendszer megoldása, a $ \nabla f\left( x\right) $ a gradiens vektor és a $ H f\left( x\right) $ Hesse-mátrix kiértékelése.

A Newton-módszer fenti alakját megkaphatjuk egy más, geometria jellegű okfejtéssel is! Közelítsük az $ f(x)$ függvényt az $ x_{k}$ pontban az

$\displaystyle f\left( x_{k}+s\right) \approx q_{k}\left( \delta\right) =f\left(x_{k}\right) +\nabla f\left( x_{k}\right) ^{T}s +\frac{1}{2}s^{T} Hf\left( x_{k}\right)s
$

kvadratikus kifejezéssel. Ennek minimumhelyét a $ Hf\left( x_{k}\right) s=-\nabla f\left( x_{k}\right) $ egyenletrendszer megoldása adja, ahonnan az $ f(x)$ függvény minimumhelyének következő közelitése:

$\displaystyle x_{k+1}=x_{k}-\left[ H f\left( x_{k}\right) \right]^{-1}\nabla f\left( x_{k}\right).
$

Példa. Határozzuk meg az

$\displaystyle f(x,y)=4x^2 + 4xy+ 2y^2 - 10x -12 y + 2
$

függvény minimumát Newton módszerrel az $ x_{1}=\left[0,0\right]$ startvektorból kiindulva!

Megoldás:

A gradiensvektor és a Hesse mátrix a következő:

$\displaystyle \nabla f(\mathbf{x})=\left[
\begin{array}[c]{c}
8x + 4y -10\\
4x + 4y-12
\end{array}\right],\qquad
Hf(x)=\left[
\begin{array}[c]{cc}
8 & 4\\
4 & 4
\end{array}\right].
$

Az $ x_{1}$ pontban kiszámítva az értékeiket kapjuk, hogy

$\displaystyle \nabla f(x_{1})=\left[\begin{array}[c]{c} -10\\ -12 \end{array}\right], \qquad Hf(x_{1})=\left[\begin{array}{cc} 8 & 4\\ 4 & 4 \end{array}\right].
$

Első esetben használjuk a megoldás során a Newton I. formulát. Ekkor a megoldandó lineáris egyenletrendszer

$\displaystyle H(x_{1})s_{1}=-\nabla f(x_{1})
$

az $ s_{1}$ vektor két koordinátájára

    $\displaystyle 8a+4b$ $\displaystyle =10$
    $\displaystyle 4a+4b$ $\displaystyle =12.$

Innen a megoldás: $ a= -1/2=-0.5$ , $ b=7/2=3.5$ , amelyből az $ x_{2}$ közelítés

$\displaystyle x_{2}=x_{1}+s_{1}=\left[ \begin{array}{c} -0.5 \\ 3.5 \end{array}\right].
$

Azt tapasztaltuk, hogy egy lépésben megkaptuk az optimumpontot. Könnyen ellenőrizhető, hogy az optimumpont $ x_{\min}=\left[ -0.5, 3.5 \right]$ . Az optimális célfüggvény érték $ f_{\min}=-33/2 = - 11.5$ .

Most alkalmazzuk a Newton II. formulát. Ehhez ki kell számítanunk a Hesse mátrix inverzét, ami

$\displaystyle H^{-1}f(x) = \left[
\begin{array}{cc}
1/4 & -1/4 \\
-1/4 & 1/2
\end{array}\right]
$

és így alkalmazva az

$\displaystyle s_{k}=-H(x_{k})^{-1}\nabla f(x_{k})
$

formulát azt kapjuk, hogy

$\displaystyle s_k= - \left[
\begin{array}{cc}
1/4 & -1/4 \\
-1/4 & 1/2
\end{array}\right] \cdot
\left[\begin{array}{c}
-10\\
-12
\end{array}\right] =
\left[ \begin{array}{c}
-1/2 \\
7/2
\end{array}\right]
$

Innen az előző formulához hasonlóan

$\displaystyle x_{2}=x_{1}+s_{1}=\left[ \begin{array}{c} -0.5 \\ 3.5 \end{array}\right].
$

A példában azt tapasztaltuk, hogy egyetlen lépésben megkaptuk az optimális megoldást. Ez mindig így van, ha a minimalizálandó függvény kvadratikus. Emlékezzünk a Newton módszer második levezetésére, amikor az $ f$ függvényt annak másodfokú Taylor polinomjával helyettesítettük, ez pedig kvadratikus függvényeknél mindig önmagával egyezik meg.

12.2.2. Módosított Newton-módszer

A Newton módszer alkalmazásánál előfordulhat, hogy a $ Hf(x_k)$ Hesse mátrix nem invertálható, vagy az $ s_{k}$ vektor nem csökkenő irány, vagy ha csökkenő is ( $ \nabla f(x_{k})s_{k}<0$ ), azonban az $ x_{k+1}$ pontbeli függvényérték nem kisebb az $ x_{k}$ pontbeli függvényértéknél. Ezeken próbál segíteni a módosított Newton-módszer. (Emellett az is segít, ha a Newton módszert összekapcsoljuk egy vonalmenti optimalizálással. Ezt be is fogjuk mutatni a későbbiekben).

A módosított Newton-módszert az alábbi alakban szokás használni:

$\displaystyle \begin{array}{ll}
1 & \text{\textbf{FOR}}\ k=0,1,\ldots\\
2 & \qquad\left[ Hf\left( x_{k}\right) +E_{k}\right]s_{k}=-\nabla f\left( x_{k}\right) \\
3 & \qquad x_{k+1}=x_{k}+s_{k}
\end{array}
$

ahol $ E_{k}$ olyan diagonális mátrix, amelynek diagonális elemei nemnegatívak úgy, hogy $ \nabla^{2}f(x_{k})+E_{k}$ jól kondícionált pozitív definit lesz.

Az $ E_{k}$ diagonális mátrix megválasztására sokféle algoritmus ismert. Itt kettőt fogunk ismertetni. A legismertebb Gill és Murray eljárása. A másik az úgynevezett Levenberg-Marquardt módszer.

12.2.3. A Gill-Murray algoritmus

Legyen adott az $ A$ szimmetrikus mátrix, az $ \varepsilon\geq0$ és $ \beta>0$ paraméter. Az eljárás egy olyan $ R$ felső háromszögmátrixot és egy $ E=$ diag $ (\varepsilon_{i})\geq0$ diagonális mátrixot állít elő, amelyekre $ A+E=R^{T}R$ fennáll.

\begin{displaymath}
\begin{array}{cl}
1 & \text{\textbf{FOR}}\ i=0,1,\ldots,n \\
2 & \qquad \displaystyle \gamma_{ij}=a_{ij}-\sum_{k=1}^{i-1}r_{kj}r_{ki}, i\leq j\leq n \\
3 & \qquad \mu_{i}=\max\{\left| \gamma_{ij}\right| :i<j\leq n\} \\
4 & \qquad r_{ii}=\max\{\varepsilon,\left| \gamma_{ii}\right| ^{1/2},\frac{\mu_{i}}{\beta}\} \\
5 & \qquad r_{ij}=\dfrac{\gamma_{ij}}{r_{ii}}, i<j\leq n \\
6 & \qquad \varepsilon_{i}=r_{ii}^{2}-\gamma_{ii}
\end{array}
\end{displaymath}

A $ \beta$ paraméter javasolt értéke

$\displaystyle \beta^{2}=\max\left\{\frac{1}{n}\max\{\left| a_{ij}\right| ~:~ i\neq j\},\max \{\left| a_{ii}\right| ~:~ 1\leq i\leq n\}\right\}.
$

12.2.4. A Levenberg-Marquardt módszer

A Hesse mátrixot most helyettesítsük egy $ B$ szimmetrikus pozitív definit mátrix-szal, amelyet a következőképpen definiálunk

$\displaystyle \mathbf{B}=\mathbf{H}(\mathbf{x}_{k})+ E \varepsilon_{k},
$

ahol $ \varepsilon_{k}\geq 0$ paraméter, ezzel megnöveljük a Hesse mátrix főátlójában lévő elemek értékét. A Newton módszerben az $ s_{k}$ meghatározása a

$\displaystyle B s_{k}= (H(x_{k})+ E \varepsilon_k) s_{k} = -\nabla f(x_{k})
$

egyenletrendszer megoldására fog módosulni. Az algoritmus során az $ \varepsilon_{k}$ paramétert módosítjuk, mégpedig egy arány függvényében. Ez az arány az $ \mathbf{x}_{k+1}$ és $ \mathbf{x}_{k}$ pontokbeli függvényértékek különbségének hányadosa, számlálóban a minimalizálandó függvény, nevezőben pedig annak kvadratikus közelítő függvénye szerepel. Legyen ez az arány $ R_{k}$ , képletben

$\displaystyle R_{k}=\frac{f(x_k)-f(x_{k+1})}{q(x_{k})-q(x_{k+1})}.
$

Levenberg és Marquardt az alábbi eljárást javasolta.

    Induló lépés $ (k=1)$ : Kiindulunk egy tetszőleges $ x_{k}\in \mathbb{R}^{n}$ vektorból és egy $ \varepsilon_{k}>0$ paraméterből.

1. Kísérletet teszünk a $ Hf(x_k)+ E \varepsilon_{k}$ mátrix Cholesky felbontására. Ha nem sikerül, akkor az $ \varepsilon_{k}$ paraméter értékét négyszeresére növeljük, azaz: $ \varepsilon_{k}:=4\varepsilon_{k}$ . Addig folytatjuk a kísérletet a Cholesky felbontására és az $ \varepsilon_{k}$ értékének módosítását, amig nem sikerül a felbontás.

2. Ha sikerül a Cholesky felbontás, azaz a $ Hf(x_{k})+E \varepsilon_{k}$ mátrix pozitív definit, akkor megoldjuk az $ (Hf(x_{k})+E \varepsilon_{k}) s_{k} = -\nabla f(x_{k})$ egyenletrendszert $ s_{k}$ -ra.

3. Meghatározzuk a következő közelítést: $ x_{k+1}=x_{k}+s_{k}$ .

4. Megállunk, ha $ \left\Vert x_{k+1}-x_{k}\right\Vert <\varepsilon$ , egyébként folytatjuk az eljárást a következő sorral.

5. Kiszámítunk az $ R_{k}$ arányt.

Ha $ 0<R_{k}<0.25$ , akkor legyen $ \varepsilon_{k+1}=4\varepsilon_{k}.$
Ha $ R_{k}>0.75$ , akkor legyen $ \varepsilon_{k+1}=\frac{1}{2}\varepsilon_{k}.$
Ha $ 0.25\leqq R_{k}\leqq0.75$ , akkor legyen $ \varepsilon_{k+1}=\varepsilon_{k}$ .
Ha $ R_{k}\leqq0$ , akkor legyen $ \varepsilon_{k+1}=4\varepsilon_{k}$ és az $ x_{k+1}$ értékét visszaállítjuk $ x_{k}$ -ra, azaz $ x_{k+1}:=x_{k}.$

6. Folytatjuk az eljárást, $ k:=k+1$ .

12.2.5. Trust region módszerek

A trust-region módszereket Levenberg (1944), Marquardt (1963), valamint Goldfeld, Quandt és Trotter (1966) munkái nyomán fejlesztették ki. A trust-region módszerek azon alapulnak, hogy a $ q_{k}\left(s\right) $ kvadratikus modell csak az $ x_{k}$ közelében pontos. Legyen

$\displaystyle \Omega_{k}=\left\{ x:\left\| x-x_{k}\right\| \leq\Delta_{k}\right\}
$

az úgynevezett trust region (megbízhatósági tartomány). Az $ x_{k+1}=x_{k}+s_{k}$ közelítést $ \Omega_{k}$ -ban keressük: az $ s_{k}$ lépést az

$\displaystyle \min\left\{ q_{k}\left( s\right) \mid\left\| s\right\| _{2}\leq\Delta_{k}\right\}
$

feltételes kvadratikus programozási feladat megoldásával adjuk meg, ahol a trust-region paraméter $ \Delta_{k}>0$ valamilyen adott konstans. Ha $ \Delta_{k}$ elég nagy, akkor a megoldás azonos a feltétel nélküli kvadratikus esettel. Ha elég kicsi, akkor ez megszorítást jelent. A $ \Delta_{k}$ paraméter értékét az $ f\left( x\right)$ értékének becsült és tényleges csökkenését figyelembevéve változtatjuk

A trust region módszer algoritmusa

1 INPUT $ x_{0}\in\mathbb{R}^{n}$ , $ \Delta_{0}>0$ , $ 0<\mu<\eta<1$ , $ 0<\gamma_{1}<1<\gamma_{2}$
2 FOR $ i=0,1,\ldots$
3         Határozzuk meg a $ \min\left\{ q_{k}\left( s\right) : \left\| s\right\|_{2}\leq\Delta_{k}\right\}$ feladat $ s_{k}$ közelítő megoldását!
4          $ \rho_{k}:=\dfrac{f\left( x_{k}\right) -f\left( x_{k}+s_{k}\right)}{f\left( x_{k}\right)-q_{k}\left( s_{k}\right) }$
5         IF $ \rho_{k}>\mu$ , THEN $ x_{k+1}:=x_{k}+s_{k}$ , ELSE $ x_{k+1}:=x_{k}$ .
6         Határozzuk meg $ \Delta_{k+1}$ értékét!

A $ \rho_{k}>\mu$ esetben az iterációs lépést sikeresnek nevezzük. A $ \rho_{k}\leq\mu$ esetben az iterációs lépést sikertelennek nevezzük. A $ \rho_{k}\,$ hányados jelentése:

$\displaystyle \dfrac{\text{a függvény tényleges csökkenése}}{\text{a függvény jelzett csökkenése}}.
$

A $ \Delta_{k}$ paramétert megválasztó algoritmus a következő. A $ \Delta_{k}$ update algoritmus:

  Legyen $ 0<\mu<\eta<1$ és $ 0<\gamma_{1}<1<\gamma_{2}$ .
a) Ha $ \rho_{k}\leq\mu$ , akkor $ \Delta_{k+1}\in(0,\gamma_{1}\Delta_{k}]$ .
b) Ha $ \rho_{k}\in(\mu,\eta)$ , akkor $ \Delta_{k+1}\in\lbrack\gamma_{1}\Delta_{k},\Delta_{k}].$
c) Ha $ \rho_{k}\geq\eta$ , akkor $ \Delta_{k+1}\in[\Delta_{k},\gamma_{2}\Delta_{k}].$

Az algoritmus a paraméterek megválasztására nem túl érzékeny. Néhány javasolt érték: $ \mu=0.25, \eta=0.75, \gamma_{1}=0.25, \gamma_{2}=2$ .

A feltételes kvadratikus optimalizálási probléma megoldására vonatkozik a következő

12.3. Lemma. (Gay, 1981)   Az $ s=s\left(\lambda\right)$ vektor a $ \min\left\{ q_{k}\left( s\right) : \left\| s\right\|_{2}\leq\Delta_{k}\right\}$ feladat megoldása akkor és csak akkor, ha létezik $ \lambda\geq0$ úgy, hogy

$\displaystyle \left( H f\left( x_{k}\right) +\lambda I\right) s=-\nabla f\left(x_{k}\right), \qquad \lambda\left( \left\| s\right\|_{2}^{2}-\Delta_{k}^{2}\right) =0
$

fennáll.

Eset szétválasztással adódik, hogy $ \lambda=0$ és $ \left\| s\right\|_{2}<\Delta_{k}$ , vagy $ \lambda>0$ és $ \left\|s\right\|_{2}=\Delta_{k}$ . Az utóbbi esetben a fenti feltételrendszer átmegy a

$\displaystyle \begin{array}{c}
\left( \nabla^{2}f\left( x_{k}\right) +\lambda I\right) s\left(\lambda\right) =-\nabla f\left( x_{k}\right) \\
\left\| s\left( \lambda\right) \right\| _{2}^{2}=\Delta_{k}^{2}
\end{array}
$

egyenletrendszerbe, amely $ \lambda $ -ra nézve nemlineáris. Ez relatíve könnyen megoldható iteratív úton.

Elég nagy $ k$ esetén $ \Delta_{k}$ már nem csökken, az $ \left\| s_{k}\right\| =\Delta_{k}$ feltétel inaktívvá válik, $ \lambda_{k}=0$ lesz és $ s_{k}$ a Newton-lépéssel lesz azonos. A következőkben $ \lambda_{k}$ , ill. $ s_{k}$ meghatározásával foglalkozunk. Minthogy

$\displaystyle s_{k}=s_{k}(\lambda_{k})=-(H f(x_{k})+\lambda_{k}I)^{-1}\nabla f(x_{k}),
$

ezért az egyváltozós

$\displaystyle \Delta_{k}=\left\| (\nabla^{2}f(x_{k})+\lambda_{k}I)^{-1}\nabla f(x_{k})\right\|
$

egyenletet kell megoldanunk $ \lambda_{k}$ -ra. A Hesse-mátrix szimmetrikus, tehát van olyan $ Q$ ortogonális mátrix, hogy $ H f(x_{k})=Q\Gamma Q^{T}$ , ahol $ \Gamma=diag(\alpha_{1},\ldots,\alpha_{n})$ . Innen

$\displaystyle \left\| s_{k}\right\| ^{2}=\left\| Q(\Gamma+\lambda_{k}I)^{-1}Q^{T}\nabla f(x_{k})\right\| ^{2}=\sum_{j=1}^{n}\frac{d_{j}^{2}}{\left( \alpha_{j}+\lambda_{k}\right) ^{2}},
$

ahol $ d_{j}$ a $ Q^{T}\nabla f(x_{k})$ vektor $ j $ -edik komponense. Mármost igaz, hogy

$\displaystyle \frac{\sum_{j=1}^{n}d_{j}^{2}}{\left( \alpha_{n}+\lambda_{k}\right) ^{2}}\leq\left\| s_{k}\right\| ^{2}\leq\frac{\sum_{j=1}^{n}d_{j}^{2}}{\left(\alpha_{1}+\lambda_{k}\right) ^{2}},
$

ahol $ \alpha_{1}$ a $ Hf\left( x_{k}\right) $ legkisebb, $ \alpha_{n}$ a legnagyobb sajátértéke. Tehát a $ \lambda_{k}$ megoldás az

$\displaystyle \left[ \frac{\left\| d\right\| }{\Delta_{k}}-\alpha_{n},\frac{\left\|d\right\| }{\Delta_{k}}-\alpha_{1}\right]
$

intervallumban van. Az $ \alpha_{1}$ helyen $ \left\| s_{k}\right\| $ -nak szingularitása van. Ezért a Newton-módszer nem a legjobban viselkedik.

Hebden az $ \left\| s_{k}\right\| =\Delta_{k}$ egyenlet megoldása helyett javasolta az

$\displaystyle \frac{1}{\Delta_{k}}-\frac{1}{\left\| s_{k}\right\| }=0
$

egyenlet megoldását, amelynek már nincs szingularitása.

A gyakorlatban a $ \min\left\{ q_{k}\left( s\right) \mid\left\| s\right\| _{2}\leq\Delta_{k}\right\} $ feladat helyett a

$\displaystyle \min\left\{ q_{k}\left( s\right) \mid\left\| D_{k}s\right\| _{2}\leq\Delta_{k}\right\}
$

alakot is használják, ahol $ D_{k}$ valamilyen skálázó mátrix. Ekkor az optimális megoldás $ s_{k}$ meghatározható az értelemszerűen módosított

$\displaystyle \left( H f\left( x_{k}\right) +\lambda D_{k}^{T}D_{k}\right)s=-\nabla f\left( x_{k}\right),\qquad \lambda\left( \left\| D_{k}s\right\|_{2}^{2}-\Delta_{k}^{2}\right) =0
$

feltételből, ahol $ \lambda\geq0$ .

12.2.6. Kvázi-Newton módszerek

A kvázi-Newton módszerek olyan közelítő Newton-módszerek, amelyek iterációnkénti számítási költsége (ideje) rendkívül kicsi és ezért a számítási összköltsége (ideje) is kisebb mint a Newton-módszereké. Alapgondolatuk a következő.

Vizsgáljuk $ F(x)=0$ ( $ F:\mathbb{R}^{n}\rightarrow \mathbb{R}^{n}$ ) nemlineáris egyenletrendszert! Legyen $ x_{0}\approx x^{\ast}, B_{0}\approx F^{\prime}\left( x^{\ast}\right) $ . A Newton-módszerben az $ F^{\prime}(x_{k})$ Jacobi-mátrixot kicseréljük egy alkalmas módon definiált $ B_{k}\approx F^{\prime}\left( x_{k}\right) $ közelítő mátrixszal:

1 FOR $ k=0,1,\ldots$
2          $ B_{k}s_{k}=-F\left( x_{k}\right)$
3          $ x_{k+1}=x_{k}+s_{k}$

A $ B_{k}$ mátrixot a $ B_{k-1}$ mátrixból nyerjük egy, vagy több diadikus mátrix hozzáadásával. A $ B_{k}$ alakja egyrangú módositás (update) esetén

$\displaystyle B_{k}=B_{k-1}+u_{k}v_{k}^{T}\quad\left( u_{k},v_{k}\in\mathbb{R}^{n}\right),
$

kétrangú módositás esetén pedig

$\displaystyle B_{k}=B_{k-1}+u_{k}v_{k}^{T}+w_{k}z_{k}^{T}\quad\left( u_{k},v_{k},w_{k},z_{k}\in\mathbb{R}^{n}\right).
$

A diadikus mátrixszal történő módositás egy fontos előnyét mutatja a következő

12.4. Tétel. (Sherman-Morrison-Woodbury)   Ha $ A$ nemszinguláris és fennáll, hogy $ 1+v^{T}A^{-1}u\neq 0$ , akkor

$\displaystyle \left( A+uv^{T}\right) ^{-1}=A^{-1}-\frac{A^{-1}uv^{T}A^{-1}}{1+v^{T}A^{-1}u}.
$

Ha a $ B_{k-1}$ mátrix inverzét ismerjük, akkor $ B_{k}$ inverzét a fenti formulával $ O\left( n^{2}\right) $ flop művelettel tudjuk kiszámolni. Minthogy $ s_{k}=-B_{k}^{-1}F\left(x_{k}\right) $ és egy mátrix-vektor szorzás szintén $ O\left( n^{2}\right) $ flop, az új $ x_{k+1}$ közelitést összességében $ O\left( n^{2}\right) $ flop művelettel kaphatjuk meg.

A Gauss-eliminációval a $ H f\left( x_{k}\right) s_{k}=-\nabla f\left(x_{k}\right)$ egyenletrendszer megoldásának műveletigénye $ O(n^{3})$ flop. Ezért a kvázi-Newton módszerek használata lényeges számitási költség megtakarítást jelent. Hasonló eredményt lehet elérni a $ B_{k}$ mátrixok $ QR$ -felbontásával is.

A $ B_{k}$ mátrixoknak ki kell elégíteniük bizonyos feltételeket. Legyen

$\displaystyle F\left( x\right) \approx L_{k}\left( x\right) =F\left( x_{k}\right) +B_{k}\left( x-x_{k}\right) ,\quad B_{k}\approx F^{\prime}\left(x_{k}\right)
$

az $ F(x)$ függvény egy lineáris közelítése. Az $ x_{k+1}$ közelítést az $ L_{k}\left( x\right) =0$ egyenletrendszer megoldása adja. A kvázi-Newton módszerek esetén kikötjük, hogy

$\displaystyle \begin{array}{c}
L_{k+1}\left( x_{k}\right) =F\left( x_{k}\right) ,\\
L_{k+1}\left( x_{k+1}\right) =F\left( x_{k+1}\right) .
\end{array}
$

Vezessük be az $ y_{k}=F(x_{k+1})-F(x_{k})$ mennyiséget! Ekkor a fenti két feltételből kapjuk az úgynevezett

$\displaystyle B_{k+1}s_{k}=y_{k}
$

szelő egyenletet. Az egyrangú kvázi-Newton update formulák általános alakja

$\displaystyle B_{k+1}=B_{k}+\frac{\left( y_{k}-B_{k}s_{k}\right) z_{k}^{T}}{z_{k}^{T}s_{k}},
$

ahol $ z_{k}\in\mathbb{R}^{n}$ alkalmas módon megválasztott paraméter. Az optimális Broyden-módszer esetén $ z_{k}=s_{k}$ .

12.2.7. Broyden módszer

Az algoritmus:

1 $ x_{0} \approx x^{\ast}, B_{0} \approx F^{\prime}\left(x^{\ast}\right).$
2 FOR $ k=0,1,\ldots$
3          $ B_{k}s_{k}=-F\left( x_{k}\right)$
4          $ x_{k+1}=x_{k}+s_{k}$
5          $ y_{k}=F\left( x_{k+1}\right) -F\left( x_{k}\right)$
6          $ B_{k+1}=B_{k}+\dfrac{\left( y_{k}-B_{k}s_{k}\right) s_{k}^{T}}{s_{k}^{T}s_{k}}$

A Newton-módszer konvergencia rendje 2. A kvázi-Newton módszerek konvergenciája a Jacobi mátrixot közelitő $ B_{k}$ mátrixok konstrukciója miatt csak szuperlináris. Ezért adott pontosságú közelitő megoldás eléréséhez a kvázi-Newton módszereknek általában több lépésre van szükségük. Azonban a lépések lényegesen kisebb számitási költsége miatt a kvázi-Newton módszerek számitási összköltsége, különösen nagyméretű feladatok esetén, sok esetben lényegesen kisebb mint a Newton-módszeré. Ezért a kvázi-Newton módszerek használata előnyös.

A minimalizálási feladatoknál közvetlenül alkalmazhatunk bármilyen kvázi-Newton módszert az $ F(x)=\nabla f\left( x\right)$ stacionárius egyenletre. Minthogy a stacionárius egyenletrendszer Jacobi mátrixa $ F^{\prime}(x)=H(x)=Hf\left( x\right) $ , azaz $ f(x)$ Hesse-mátrixa, célszerű olyan kvázi-Newton módszereket alkalmazni, amelyekben a $ B_{k}$ mátrix szimmetrikus. Ezt biztosítják az egy- vagy kétrangú diáddal dolgozó kvázi-Newton módszerek. A ma legjobbnak tartott eljárás a BFGS (Broyden-Fletcher-Goldfarb-Shanno) módszer.

12.2.8. BFGS (Broyden-Fletcher-Goldfarb-Shanno) eljárás

Az algoritmus:

1 FOR $ k=0,1,\ldots$
2          $ H_{k}s_{k}=-\nabla f\left( x_{k}\right)$
3          $ x_{k+1}=x_{k}+s_{k}$
4          $ y_{k}=\nabla f\left( x_{k+1}\right) -\nabla f\left( x_{k}\right)$
5          $ H_{k+1}=H_{k}+\dfrac{y_{k}y_{k}^{T}}{y_{k}^{T}s_{k}}-\dfrac{H_{k}s_{k}s_{k}^{T}H_{k}}{s_{k}^{T}H_{k}s_{k}}$

Itt a $ B_{k}$ mátrixot a Hesse-mátrixra való utalásként $ H_{k}$ -szel is jelölhetnénk.

A $ B_k$ mátrixok kiszámítására többféle módszer létezik. A

$\displaystyle B_{k+1} = B_{k}+\dfrac{y_{k}y_{k}^{T}}{y_{k}^{T}s_{k}}-\dfrac{B_{k}s_{k}s_{k}^{T}B_{k}}{s_{k}^{T}B_{k}s_{k}}
$

formulát kétrangú formulának szokés nevezni. Az úgynevezett egyrangú formula a következő:

$\displaystyle B_{k+1} =B_{k} + \dfrac{(y_{k}-B_{k}s_{k})(y_{k}-B_{k}s_{k})^{T}}{(y_{k}-B_{k}s_{k})^{T}s_{k}}
$

12.2.9. A vonalmenti minimalizálás algoritmusa

A direkt minimumkereső eljárások közül az egyik legbeváltabb módszertípus vonalmenti (iránymenti) minimalizálásokon alapul. általános alakja a következő.

A vonalmenti minimalizálás algoritmusa

1 INPUT $ x_{1}$
2 FOR $ k=1,2,\ldots $
3         Válasszunk $ s_{k}\in\mathbb{R}^{n}$ keresési irányt!
4         Határozzuk meg az $ \alpha_{k}\in\mathbb{R}^{+}$ értéket, amelyre $ \displaystyle f\left( x_{k}+\alpha_{k}s_{k}\right) =\min_{\alpha\geq0}f\left(x_{k}+\alpha s_{k}\right).$
5 $ x_{k+1}=x_{k}+\alpha_{k}s_{k}$

Az eljárástól megköveteljük az

$\displaystyle f\left( x_{1}\right) \geq f\left( x_{2}\right) \geq\ \ldots\ \geq f\left(x_{k}\right) \geq f\left( x_{k+1}\right) \geq\ \ldots.
$

csökkenési feltételt. Ez teljesül, ha az $ s_{k}$ irányt úgy választjuk meg, hogy fennálljon

$\displaystyle g^{\prime}\left( 0\right) =\nabla f\left( x_{k}\right) ^{T}s_{k}<0.
$

Ekkor $ g^{\prime}\left( 0\right) <0$ miatt a $ g\left( \alpha\right)$ függvény csökkenő az $ \alpha=0$ helyen. Következésképpen létezik $ \alpha_{k}>0$ , hogy $ f\left( x_{k+1}\right) = f\left( x_{k}+\alpha_{k}s_{k}\right) \leq f\left( x_{k}\right) $ . A tapasztalatok szerint az $ f\left( x_{k}\right) $ függvényértékek csökkenése nem lehet túl gyors. Az alábbi három heurisztikus feltételt a gyakorlati eljárások kielégítik.

12.2.10. Armijo-Goldstein feltételek

(12.1) $\displaystyle f\left( x_{k+1}\right)$ $\displaystyle \leq f\left( x_{k}\right) +\alpha_{k}\rho\nabla f\left( x_{k}\right)^{T}s_{k},$
(12.2) $\displaystyle f\left( x_{k}\right) + \alpha_{k}\sigma\nabla f\left( x_{k}\right)^{T}s_{k}$ $\displaystyle \leq f\left( x_{k+1}\right),$

ahol $ \rho\in\left(0,\frac{1}{2}\right), \sigma\in\left(\rho,1\right)$ fix paraméterek.

A gyakorlatban $ \rho=\frac{1}{10}$ ( $ \sigma=1-\rho$ ), vagy kisebb. Az Armijo-Goldstein feltételek azt biztosítják, hogy a függvényértékek se túl lassan, se túl gyorsan ne csökkenjenek: $ \alpha_{k}>0$ és $ \nabla f\left( x_{k}\right)^{T}s_{k}<0$ miatt $ f\left( x_{k+1}\right) \leq f\left( x_{k}\right)$ , de

$\displaystyle \left| f\left( x_{k+1}\right) -f\left( x_{k}\right) \right| \leq \alpha_{k}\left| \nabla f\left( x_{k}\right) ^{T}s_{k}\right| .
$

Egy $ \alpha_{k}$ lépéshossz akkor és csak akkor elégíti ki a két Armijo-Goldstein feltételt, ha

(12.3) $\displaystyle g\left( 0\right) +\alpha_{k}\sigma g^{\prime}\left( 0\right) \leq g\left(\alpha_{k}\right) \leq g\left( 0\right) +\alpha_{k}\rho g^{\prime}\left(0\right).$

12.3. Iránykeresési módszerek

Számos lehetőség van az $ \left\{ s_{k}\right\} $ kutatási irányok megválasztására:

1. A leggyorsabb lecsökkenés módszere: $ s_{k}=-\nabla f\left( x_{k}\right) $ ;

2. Newton-szerû módszerek: $ s_{k}=-B_{k}^{-1}\nabla f\left( x_{k}\right) $ , ahol $ B_{k}$ szimmetrikus pozitív definit mátrix.

Mindkét esetben a csökkenő tulajdonság teljesül. A leggyorsabb lecsökkenés módszerénél

$\displaystyle \nabla f\left( x_{k}\right) ^{T}s_{k}=-\left\| \nabla f\left(x_{k}\right) \right\| ^{2}<0\quad\left( \nabla f\left( x_{k}\right) \neq 0\right).
$

A $ B_{k}^{-1}$ pozitív definitsége miatt a Newton-szerű módszereknél

$\displaystyle \nabla f\left( x_{k}\right) ^{T}s_{k}=-\nabla f\left( x_{k}\right)^{T}B_{k}^{-1}\nabla f\left( x_{k}\right) <0\quad\left( \nabla f\left(x_{k}\right) \neq0\right) .
$

12.3.1. Gradiens módszer (Cauchy módszer, 1847)

Mint tudjuk, a gradiens vektor a függvény legnagyobb növekedésének irányába mutat. Legkézenfekvőbb tehát a $ d$ kereső irányra a $ d=-\nabla f(x)$ választás, hisz ebben az irányban várható a függvény legnagyobb csökkenése. Szokás ezt a módszer a legnagyobb csökkenés módszerének is nevezni. A módszer lényege az alábbiakban foglalható össze.

Gradiens módszer algoritmusa

1 INPUT: $ k=0$ és $ x_{k}\in \mathbb{R}^{n}$ pont.
2 FOR $ k=1,2,\ldots $
3          $ s_{k}=-\nabla f\left( x_{k}\right) $
4          $ \alpha_{k}>0 : f\left( x_{k}+\alpha_{k}s_{k}\right) =\min_{\alpha\geq 0}f\left( x_{k}+\alpha s_{k}\right)$
5          $ x_{k+1}=x_{k}+\alpha_{k}s_{k}$

Megállási feltétel lehet például ha $ \left\Vert {x}_{k+1}- {x}_{k}\right\Vert <\varepsilon$ , vagy ha $ \left\Vert \nabla f(x_k) \right\Vert < \varepsilon$ .

Példa. Oldjuk meg az alábbi optimalizálási feladatot gradiens módszerrel. Legyen az $ {x}_{1}=(0,0)$ a startvektor és legyen $ \varepsilon=0.005$ a pontossági tűrés.

$\displaystyle f(x_{1},x_{2})=x_{1}^{2}+2x_{1}x_{2}+2x_{2}^{2}-x_{1}+x_{2}+5\rightarrow\min!
$

Megoldás:

A célfüggvény gradiense

$\displaystyle \nabla f(x_{1},x_{2})=\left[\begin{array}[c]{c}
2x_{1}+2x_{2}-1\\
2x_{1}+4x_{2}+1
\end{array}\right]
$

1. lépés: $ {x}_{1}=(0,0)$

$\displaystyle \nabla f(\mathbf{x}_{1})=\left[\begin{array}[c]{c}
-1\\
1
\end{array}\right] ,\qquad s_{1} = -\nabla f(x_{1})=\left[\begin{array}[c]{c}
1\\
-1
\end{array}\right]
$

Innen $ x=x_{1}+\alpha s_{1} = (\alpha,-\alpha)$ . Az egyváltozós optimalizálási feladat és megoldása: $ \varphi(\alpha)=f(\alpha,-\alpha)=\alpha^{2}-2\alpha+5\rightarrow\min!$ , amelyből $ \alpha_{1}=1$

2. lépés: $ {x}_{2}=x_{1}+\alpha_{1} s_{1} = (\alpha_{1},-\alpha_{1}) = (1,-1)$ . Innen $ s_{2}=-\nabla f(x_{2})=(1,1)$ és $ x=x_{2}+\alpha s_{2} = (1+\alpha, -1+\alpha)$ . Az egyváltozós optimalizálási feladat és megoldása: $ \varphi(\alpha)=f(1+\alpha,-1+\alpha)=5\alpha^{2}-2\alpha+4\rightarrow \min!$

Ennek megoldása $ \alpha_{2}=\frac{1}{5}$

3. lépés: $ x_{3}=x_{2}+\alpha_{2} s_{2} = \left(\dfrac{6}{5},-\dfrac{4}{5}\right)$ , ahonnan

$\displaystyle s_{3}=-\nabla f(x_{3}) = \left(\dfrac{1}{5}, -\dfrac{1}{5}\right), x = x_{3}+ \alpha s_{3}= \left(\dfrac{6}{5}+\dfrac{1}{5}\alpha, -\dfrac{4}{5}-\dfrac {1}{5}\alpha\right).
$

Az egyváltozós optimalizálási feladat és megoldása:

$\displaystyle \varphi(\alpha) = f\left(\dfrac{6}{5}+\dfrac{1}{5}\alpha, -\dfrac{4}{5}-\dfrac{1}{5} \alpha\right) = \dfrac{1}{25} \alpha^{2} -\dfrac{2}{25}\alpha +\dfrac{19}{5}\rightarrow\min!
$

Innen $ \alpha_{3}=1$

4. lépés: $ x_{4}=x_{3}+\alpha_{3} s_{3} = \left(\dfrac{7}{5},-1\right)$ , $ s_{4}=-\nabla f(x_{4})=\left(\dfrac{1}{5},\dfrac{1}{5}\right)$ ,
$ x = x_{4} + \alpha s_{4}=\left(\dfrac{7}{5}+\dfrac{1}{5}\alpha,-1+\dfrac{1}{5}\alpha\right)$ .

Az egyváltozós optimalizálási feladat és megoldása:

$\displaystyle \varphi(\alpha)=f\left(\dfrac{7}{5}+\dfrac{1}{5}\alpha,-1+\dfrac{1}{5}\alpha\right) = \dfrac{1}{5}\alpha^{2} - \dfrac{2}{25}\alpha + \dfrac{94}{25} \rightarrow\min!
$

ahonnan $ \alpha_{4}=\frac{1}{5}$

5. lépés: $ x_{5}=x_{4}+\alpha_{4}s_{4}=\left(\dfrac{36}{25},-\dfrac{24}{25}\right)$ , $ s_{5}=-\nabla f(x_{4}) = \left(\dfrac{1}{25}, -\dfrac{1}{25}\right)$ , $ x = x_{5}+\alpha s_{5} = \left(\dfrac{36}{25}+\dfrac{1}{25}\alpha,-\dfrac{24}{25}-\dfrac{1}{25}\alpha\right)$ .

Az egyváltozós optimalizálási feladat és megoldása:

$\displaystyle \varphi(\alpha)=f\left(\dfrac{36}{25}+\dfrac{1}{25}\alpha,-\dfrac{24}{25}-\dfrac {1}{25}\alpha\right) = \dfrac{1}{625} \alpha^{2} -\frac{2}{625} \alpha + \dfrac{469}{125}\rightarrow\min!
$

Innen $ \lambda_{5}=1$

6. lépés: $ x_{6}=x_{5}+\alpha_{5} s_{5}= \left(\dfrac{37}{25},-1\right) = \left(1.48,-1\right).$ Az eljárást befejezzük, mert az 5. lépésben már elég közel kerültünk a minimumhelyhez, amely $ x=(1.5,-1)$ .

12.3.2. Konjugált gradiens módszer (Fletcher, Reeves)

Első lépésként definiáljuk a konjugált vektorok fogalmát. Legyen $ C$ egy $ n\times n$ -es szimmetrikus mátrix. A $ v_{1},v_{2},\ldots,v_{k} \in \mathbb{R}^{n}$ vektorokat $ C$ -konjugáltaknak vagy egyszerűen konjugáltaknak nevezzük, ha lineárisan függetlenek és $ v_{i}^{T} C v_{j}=0$ minden $ i\neq j$ esetén.

Az irány megválasztására eddig sok módszert láttunk, a gradiens módszerben $ s_{k} = -\nabla f(x_{k})$ , a későbbiekben ismertetésre kerülő DFP módszerben $ s_{k}=-{D}_{k}\nabla f(x_{k})$ . A DFP módszer úgy is felfogható, hogy nem a legnagyobb csökkenés irányába mutató vektort használjuk irányvektornak, hanem annak egy mátrix-szal szorzott transzformáltját. A konjugált gradiens módszerben sem a gradiens vektor $ (-1)$ -szeresét használjuk irányvektornak, hanem ahhoz egy vektort adunk hozzá, amely az előző lépésben használt irányvektor irányába mutat, képletben

$\displaystyle s_{k+1}=-\nabla f(x_{k+1}) + \alpha_{k} s_{k}.
$

Több módszer ismert az $ \alpha_{k}$ szorzóra, Fletcher és Reeves az alábbi szorzót javasolta

$\displaystyle \alpha_{k}=\frac{\left\Vert \nabla f(\mathbf{x}_{k+1})\right\Vert ^{2}}{\left\Vert \nabla f(\mathbf{x}_{k})\right\Vert ^{2}}.
$

Fletcher-Reeves módszer algoritmusa:

Induló lépés $ (k=1)$ : Kiindulunk egy tetszőleges $ \mathbf{x}_{k}\in R^{n}$ vektorból és a $ s_{k} = -\nabla f(x_{k})$ irányvektorból.

Közbülső lépés:

  1. Megállunk, ha $ \left\Vert \nabla f(x_{k})\right\Vert <\varepsilon$ , egyébként folytatjuk az eljárást a következő sorral.
  2. Megoldjuk a $ \min\left\{f(x_{k}+\lambda s_{k}):\lambda\geq 0\right\}$ minimalizálási feladatot $ \lambda $ -ra, legyen az optimális megoldás $ \lambda_{k}$ .
  3. Meghatározzuk a következő közelítést: $ x_{k+1} = x_{k} + \lambda_{k} s_{k}$ .
  4. Irányvektor meghatározása: $ s_{k+1}=-\nabla f(x_{k+1})+ \frac{\left\Vert \nabla f(x_{k+1})\right\Vert^{2}}{\left\Vert \nabla f(x_{k})\right\Vert ^{2}}s_{k}$ .
  5. Folytatjuk az eljárást, $ k:=k+1$ .

12.5. Tétel.   Legyen a minimalizálandó függvény kvadratikus, azaz $ f(x) = c x + \dfrac{1}{2} x H x$ . Alkalmazzuk ennek a feladatnak a megoldására a Fletcher-Reeves módszert, amelyben a kiindulásnál legyen $ x_{1}\in \mathbb{R}^{n}$ tetszőleges vektor és $ s_{1}=-\nabla f(x_{1})$ . Végezzünk el $ n$ darab iterációt. Ha minden $ k=1,2,\ldots,n$ esetén $ \nabla f(x_{k}) \neq 0$ , akkor igazak az alábbi állítások

(1) $ s_{1},s_{2},\ldots,s_{n}$ kereső irányok $ H$ -konjugáltak,

(2) $ s_{1},s_{2},\ldots,s_{n}$ kereső irányok javító (csökkenő) irányok

(3) $ \alpha_{k}=\dfrac{\left\Vert \nabla f(x_{k+1})\right\Vert^{2}}{\left\Vert \nabla f(x_{k})\right\Vert^{2}} =\dfrac{s_{k}^{T} H \nabla f(x_{k+1})}{s_{k}^{T} H s_{k}},\ k=1,2,\ldots,n$ .

Példa. Oldjuk meg az alábbi optimalizálási feladatot Fletcher-Reeves módszerrel. Legyen az $ x_{1}=(0,0)$ a startvektor és legyen $ \varepsilon=0.005$ a pontossági tűrés.

$\displaystyle f(x_{1},x_{2})=x_{1}^{2}+2x_{1}x_{2}+2x_{2}^{2}-x_{1}+x_{2}+5\rightarrow\min!
$

Megoldás:

A célfüggvény gradiense:

$\displaystyle \nabla f(x_{1},x_{2})=\left[\begin{array}[c]{c}
2x_{1}+2x_{2}-1\\
2x_{1}+4x_{2}+1
\end{array}\right]
$

1. lépés: Az első lépés megegyezik a gradiens módszerrel.

$ x_{1}=(0,0)$ , $ s_{1}=-\nabla f(x_{1})=(1,-1)$ , $ x = x_{1} + \lambda s_{1}=(\lambda,-\lambda)$

Az egyváltozós optimalizálási feladat és megoldása:

$ \varphi(\lambda)=f(\lambda,-\lambda)=\lambda^{2}-2\lambda+5\rightarrow\min!$

$ \lambda_{1}=1$

2. lépés: $ x_{2} = x_{1} + \lambda_{1} s_{1} = (\lambda_{1},-\lambda_{1}) = (1,-1)$ , $ \nabla f(x_{2})=(-1,-1)$ .

Ettől a lépéstől térünk el a gradiens módszertől, mert az irányvektor meghatározása kissé bonyolultabb. Ehhez számítsuk ki a két utolsó közelítéshez tartozó gradiensek hosszának négyzetét:

$\displaystyle \left\Vert \nabla f(\mathbf{x}_{1})\right\Vert ^{2}=2, \qquad
\left\Vert \nabla f(\mathbf{x}_{2})\right\Vert ^{2}=2
$

Az új irányvektor

$\displaystyle s_{2} = -\nabla f(x_{2})+\frac{\left\Vert \nabla f(x_{2})\right\Vert ^{2}}{\left\Vert \nabla f(x_{1})\right\Vert^{2}} s_{1}=(2,0)
$

$ x = x_{2}+\lambda s_{2}=(1+2\lambda,-1)$

Az egyváltozós optimalizálási feladat és megoldása:

$ \varphi(\lambda)=f(1+2\lambda,-1)=4\lambda^{2}-2\lambda+4\rightarrow\min!$

$ \lambda_{2}=\frac{1}{4}$

3. lépés: $ x_{3} = x_{2} + \lambda_{2}s_{2}=\left(\frac{3}{2},-1\right)$ , $ s_{3} = -\nabla f(x_{3})=(0,0)$ .

Mivel az $ \mathbf{x}_{3}$ közelítéshez tartozó gradiensvektor zérus, így befejezzük az eljárást.

Az $ x=(1.5,-1)$ pontban teljesül a minimum szükséges feltétele, így megkaptuk az optimális megoldást.

Mivel a minimalizálandó függvényünk kvadratikus, így érvényes a Fletcher-Reeves módszerre a fentebb közölt tétel állításai.

12.3.3. Newton-módszer vonalmenti minimalizálással

Tekintsük most néhány Newton-típusú módszer vonalmenti minimalizálással kiegészített változatát!

1 FOR $ k=0,1,2, \ldots $
2          $ H f\left( x_{k}\right) s_{k}=-\nabla f\left(x_{k}\right)$
3          $ \alpha_{k}>0 : f\left( x_{k}+\alpha_{k}s_{k}\right) =\min_{\alpha\geq 0}f\left( x_{k}+\alpha s_{k}\right)$
4          $ x_{k+1}=x_{k}+\alpha_{k}s_{k}$

12.3.4. Módositott Newton-módszer vonalmenti minimalizálással

1 FOR $ k=0,1,2, \ldots $
2          $ \left[ Hf\left( x_{k}\right) +E_{k}\right] s_{k}=-\nabla f\left( x_{k}\right)$
3          $ \alpha_{k}>0 : f\left( x_{k}+\alpha_{k}s_{k}\right) =\min_{\alpha\geq 0}f\left( x_{k}+\alpha s_{k}\right)$
4          $ x_{k+1}=x_{k}+\alpha_{k}s_{k}$

Az egyik legismertebb, vonalmenti minimalizálást is használó kvázi-Newton módszer a Davidon-Fletcher-Powell-féle DFP eljárás.

12.3.5. DFP (Davidon-Fletcher-Powell) eljárás

Adott egy $ x_1$ kiinduló pont és egy szimmetrikus pozitív definit $ D_1$ mátrix.

1 FOR $ k=1,2,\ldots $
2          $ d_{k}=-D_{k} \nabla f\left( x_{k}\right)$
3          $ \lambda_{k}>0:f\left( x_{k}+\lambda _{k}s_{k}\right) =\min_{\alpha\geq 0}f\left( x_{k}+\alpha s_{k}\right)$
4          $ s_k= \lambda_{k}d_{k}$
4          $ x_{k+1}=x_{k}+s_{k}$
5          $ y_{k}=\nabla f\left( x_{k+1}\right) -\nabla f\left( x_{k}\right)$
6          $ D_{k+1} = D_{k} + \dfrac{s_{k}s_{k}^{T}}{s_{k}^{T}y_{k}} - \dfrac{D_{k}y_{k}y_{k}^{T}D_{k}}{y_{k}^{T} D_{k} y_{k}}$

Itt is, hasonlóan a BFGS-módszerhez, beszélhetünk egyrangú illetve kétrangú formuláról. A

$\displaystyle D_{k+1} = D_{k} + \dfrac{s_{k}s_{k}^{T}}{s_{k}^{T}y_{k}} - \dfrac{D_{k}y_{k}y_{k}^{T}D_{k}}{y_{k}^{T} D_{k} y_{k}}
$

formula az úgynevezett kétrangú formula. Az egyrangú formula a következő:

$\displaystyle D_{k+1} = D_{k}+ \dfrac{(s_{k}-D_{k}y_{k})(s_{k}-D_{k}y_{k})^{T}}{(s_{k}-D_{k}y_{k})^{T}y_{k}}.
$

Példa. Oldjuk meg az alábbi optimalizálási feladatot Davidon-Fletcher-Powell módszerrel a kétrangú formulát használva a $ D_k$ előállítására.

$\displaystyle f(x_{1},x_{2})=x_{1}^{2}+2x_{1}x_{2}+2x_{2}^{2}-x_{1}+x_{2}+5\rightarrow\min!
$

Legyen az $ x_{1}$ startvektor és a Hesse mátrixot helyettesítő $ D_{1}$ startmátrix az alábbi.

$\displaystyle x_{1}=(0,0),\qquad D_{1}=\left[\begin{array}[c]{cc}
1 & 0 \\ 0 & 1 \end{array}\right].
$

Megoldás:

Előkészületként határozzuk meg a célfüggvény gradiensét

$\displaystyle \nabla f(x_{1},x_{2})=\left[\begin{array}[c]{c}
2x_{1}+2x_{2}-1\\
2x_{1}+4x_{2}+1
\end{array}\right]
$

1. lépés: Az első lépés megegyezik a gradiens módszerrel.

    $\displaystyle \ x_{1}$ $\displaystyle =(0,0),$
    $\displaystyle \nabla f(x_{1})$ $\displaystyle =(-1,1),$
    $\displaystyle d_{1}$ $\displaystyle = -D_{1} \nabla f(x_{1})=(1,-1),$
    $\displaystyle x$ $\displaystyle =x_{1}+\lambda d_{1}=(\lambda,-\lambda)$

Az egyváltozós optimalizálási feladat és megoldása:

$ \varphi(\lambda)=f(\lambda,-\lambda)=\lambda^{2}-2\lambda+5\rightarrow\min!$

Ennek megoldása: $ \lambda_{1}=1$

2. lépés:

$ x_{2}=x_{1}+\lambda_{1} d_{1}=(\lambda_{1},-\lambda_{1})=(1,-1)$

Most előkészítjük a $ D_{2}$ mátrix számítását.

    $\displaystyle \nabla f(\mathbf{x}_{2})$ $\displaystyle =(-1,-1)$
    $\displaystyle s_{1}$ $\displaystyle = x_{2}-x_{1} = \lambda_{1} d_{1}=(1,-1),$
    $\displaystyle y_{1}$ $\displaystyle =\nabla f(x_{2})-\nabla f(x_{1})=(0,-2)$
    $\displaystyle D_{1} y_{1}$ $\displaystyle =(0,-2)$
    $\displaystyle s_{1} s_{1}^{T}$ $\displaystyle =\left[\begin{array}[c]{c} 1 \\ -1 \end{array}\right] \left[\begin{array}[c]{cc} 1 & -1 \end{array} \right] =\left[\begin{array}[c]{cc} 1 & -1\\ -1 & 1 \end{array}\right]$
    $\displaystyle s_{1}^{T} y_{1}$ $\displaystyle =\left[\begin{array}[c]{cc} 1 & -1 \end{array} \right] \left[\begin{array}[c]{c} 0\\ -2 \end{array}\right] =2$
    $\displaystyle (D_{1} y_{1})(D_{1}y_{1})^{T}$ $\displaystyle =\left[\begin{array}[c]{c}0 \\ -2 \end{array} \right] \left[\begin{array}[c]{cc} 0 & -2 \end{array} \right] =\left[ \begin{array}[c]{cc} 0 & 0\\ 0 & 4 \end{array} \right]$
    $\displaystyle (D_{1} y_{1})^{T}y_{1}$ $\displaystyle =\left[\begin{array}[c]{cc} 0 & -2 \end{array} \right] \left[\begin{array}[c]{c} 0\\ -2 \end{array}\right] =4$
    $\displaystyle D_{2}$ $\displaystyle = D_{1}+ \dfrac{s_{1}s_{1}^{T}}{s_{1}^{T}y_{1}}-\frac{(D_{1}y_{1})(D_{1}y_{1})^{T}}{(D_{1}y_{1})^{T}y_{1}}=\left[ \begin{array}[c]{cc} 1 & 0\\ 0 & 1 \end{array}\right] +\dfrac{1}{2}\left[\begin{array}[c]{cc}1 & -1\\ -1 & 1 \end{array}\right] -\left[ \begin{array}[c]{cc} 0 & 0\\ 0 & 1 \end{array} \right]$
      $\displaystyle =\left[ \begin{array}[c]{cc} \dfrac{3}{2} & -\dfrac{1}{2}\\ -\dfrac{1}{2} & \dfrac{1}{2} \end{array} \right]$

Az $ x_{2}$ ponthoz tartozó irányvektor: $ d_{2} = -D_{2} \nabla f(x_{2})=(1,0)$

$ x = x_{2} + \lambda d_{2}=(1+\lambda,-1)$ .

Az egyváltozós optimalizálási feladat és megoldása:

$ \varphi(\lambda)=f(1+\lambda,-1)=\lambda^{2}-\lambda+4\rightarrow\min!$

Ennek megoldása: $ \lambda_{2}=\frac{1}{2}$

3. lépés:

$ x_{3} = x_{2} + \lambda_{2} d_{2} = (1+\lambda_{2},-1)=\left(\frac{3}{2},-1\right)$

Most jön a $ D_{3}$ mátrix számítása.

$ \nabla f(x_{3})=(0,0).$

Mivel az $ x_{3}$ közelítéshez tartozó gradiensvektor zérus, így befejezzük az eljárást. Az $ x=(1.5,-1)$ pontban teljesül a minimum szükséges feltétele, így megkaptuk az optimális megoldást.

Mivel a minimalizálandó függvényünk kvadratikus, folytassuk tovább a számítást, hogy az algoritmushoz közölt tételek állításainak helyességét ellenőrizhessük.

    $\displaystyle s_{2}$ $\displaystyle =x_{3}-x_{2}=\lambda_{2}d_{2}=\left(\frac{1}{2},0\right),$
    $\displaystyle y_{2}$ $\displaystyle =\nabla f(x_{3})-\nabla f(x_{2})=(1,1),$
    $\displaystyle D_{2} y_{2}$ $\displaystyle =(1,0)$
    $\displaystyle s_{2} s_{2}^{T}$ $\displaystyle =\left[\begin{array}[c]{c} \frac{1}{2}\\ 0 \end{array} \right] \left[\begin{array}[c]{cc} \frac{1}{2} & 0 \end{array} \right] =\left[ \begin{array}[c]{cc} \frac{1}{4} & 0 \\ 0 & 0 \end{array} \right]$
    $\displaystyle s_{2}^{T} y_{2}$ $\displaystyle =\left[\begin{array}[c]{cc} \frac{1}{2} & 0 \end{array} \right] \left[\begin{array}[c]{c} 1\\ 1 \end{array} \right] =\frac{1}{2}$
    $\displaystyle (D_{2}y_{2})(D_{2}y_{2})^{T}$ $\displaystyle =\left[ \begin{array}[c]{c} 1\\ 0 \end{array} \right] \left[ \begin{array}[c]{cc} 1 & 0 \end{array}\right] =\left[ \begin{array}[c]{cc} 1 & 0\\ 0 & 0 \end{array} \right]$
    $\displaystyle (D_{2} y_{2})^{T} y_{2}$ $\displaystyle =\left[\begin{array}[c]{cc} 1 & 0 \end{array} \right] \left[ \begin{array}[c]{c} 1 \\ 1 \end{array}\right] =1$
    $\displaystyle D_{3}$ $\displaystyle =D_{2}+\dfrac{s_{2} s_{2}^{T}}{s_{2}^{T}y_2} - \dfrac{(D_{2} y_{2})(D_{2} y_{2})^{T}}{(D_{2}{y}_{2})^{T}{y}_{2}}=\left[ \begin{array}[c]{cc} \frac{3}{2} & -\frac{1}{2}\\ -\frac{1}{2} & \frac{1}{2} \end{array} \right] +\left[ \begin{array}[c]{cc} \frac{1}{2} & 0 \\ 0 & 0 \end{array} \right] -\left[ \begin{array}[c]{cc} 1 & 0\\ 0 & 0 \end{array}\right]$
      $\displaystyle =\left[\begin{array}[c]{cc} 1 & -\frac{1}{2}\\ -\frac{1}{2} & \frac{1}{2} \end{array} \right]$

A célfüggvény Hesse mátrixa:

$\displaystyle \mathbf{H}=\left[\begin{array}[c]{cc} 2 & 2\\ 2 & 4 \end{array}\right]
$

és ellenőrizhetjük a fenti tételek egyik állításának helyességét, miszerint a $ D_{3}$ mátrix a Hesse mátrix inverze.

A Davidon-Fletcher-Powell módszer az egyik leggyakrabban alkalmazott eljárás.

12.3.6. Hooke-Jeeves módszer

Végül megadunk egy egyszerű, lassú, de sok esetben használható eljárást.

Az $ s_{k}$ irányok ciklikusan rendre az $ e_{1},e_{2},\ldots,e_{n}$ $ n$ -dimenziós egységkoordináta irányok. Képletben kifejezve

$\displaystyle s_{in+j}=e_{j},\quad j=1,\ldots,n;\ i=0,1,\ldots.
$

A Hooke-Jeeves módszer bizonyos esetekben nem konvergál. Ennek oka az $ s_{k}$ irányok rögzítése. Szokás az $ s_{in+j}=\pm e_{j}$ választással élni, aszerint, hogy az $ f\left( x_{in+j} + e_{j}\right) \leq f\left( x_{in+j}\right) $ , vagy $ f\left( x_{in+j}-e_{j}\right) \leq f\left( x_{in+j}\right) $ feltételek közül melyik teljesül. Más hatékonyabb módszerek pl. Rosenbrock-módszer az irányokat nem rögzítik, hanem valamilyen elv alapján változtatják.

12.4. A büntetőfüggvény módszerek

Az alábbiakban közölt módszerek alapgondolata az, hogy a feltételes optimalizálási feladat megoldását visszavezetjük feltétel nélküli optimalizálási feladatok sorozatos megoldására. Ezt a megoldási eljárást szokás SUMT (Sequential Unconstrained Minimization Technique) módszer néven is emlegetni. Két változatát ismertetjük, az egyik a büntetőfüggvényes eljárás, a másik a korlátfüggvényes eljárás. Mindkét módszer lényege az, hogy a feltételeket beépíti a célfüggvénybe, így kapunk egy feltételnélküli optimalizálási feladatot.

Ezen két módszer közül mi a büntetőfüggvények módszerét ismertetjük.

Vizsgáljuk elsőként az

(12.4) \begin{displaymath}\begin{array}{l}
 f\left( x\right) \rightarrow\min\\ 
 h\left( x\right) =0
 \end{array}\end{displaymath}

egyenlőségi feltétellel megadott szélsőérték feladatot, ahol $ f:\mathbb{R}^{n}\rightarrow \mathbb{R}$ és $ h:\mathbb{R}^{n}\rightarrow\mathbb{R}^{m}.$ A SUMT módszerek alapgondolata R. Couranttól származik 1943-ból. Az ötlet a következő: Vezessük be a

(12.5) $\displaystyle \Phi\left( x,\sigma\right) =f\left( x\right) +\dfrac{\sigma}{2}\sum_{i=1}^{m}h_{i}^{2}\left( x\right) =f\left( x\right) +\dfrac{\sigma}{2}h\left( x\right) ^{T}h\left( x\right) =f\left( x\right) +\dfrac{\sigma}{2}\left\| h\left( x\right) \right\| _{2}^{2}$

büntetőfüggvényt és az eredeti feladat helyett vizsgáljuk a

(12.6) $\displaystyle \Phi\left( x,\sigma\right) \rightarrow\min$

feltétel nélküli szélsőérték feladatot a $ \sigma>0$ büntető paraméter különböző értékeire!

Ha $ x\in S=\left\{ x\mid h\left( x\right) =0\right\} $ , akkor $ \Phi\left(x,\sigma\right) =f\left( x\right) $ . Ha $ x\notin S$ , akkor van legalább egy $ i_{0}$ index, hogy $ h_{i_{0}}\left( x\right) \neq0$ . Ezért

$\displaystyle \Phi\left( x,\sigma\right) =f\left( x\right) +\dfrac{\sigma}{2}\sum_{i=1}^{m}h_{i}^{2}\left( x\right) \geq f\left( x\right) +\dfrac{\sigma}{2}h_{i_{0}}^{2}\left( x\right) >f\left( x\right) .
$

Tehát $ \Phi\left( x,\sigma\right) >f\left( x\right) $ attól függően, hogy milyen mértékben tér el $ h(x)$ a 0 vektortól és mekkora a $ \sigma $ paraméter. Ha $ \sigma $ nagyobb, a büntetés is nagyobb.

Vizsgáljuk meg a következő két egyszerű példát!

Példa. Az $ f\left( x,y\right) =-x-y\rightarrow\min, h\left( x,y\right) =x^{2}+y^{2}-1=0$ feladat célfüggvényét, megengedett megoldásainak halmazát és a $ \sigma=10$ értékhez tartozó büntetőfüggvényt ábrázolja az alábbi ábra.

Image sumt_1
A Courant-féle büntetőfüggvény.

Látható, hogy büntetőfüggvény a célfüggvényt a megengedett megoldások halmazán (az egységkörön) kívül mintegy felhajlítja.

Példa. Legyen

$\displaystyle f\left( x\right) =x\rightarrow\min,\quad h(x)=x-1=0.
$

Ekkor $ \Phi\left( x,\sigma\right) =x+\frac{\sigma}{2}\left( x-1\right)^{2}$ , amelynek minimumhelye $ x\left( \sigma\right) =1-\frac{1}{\sigma}$ . Ez $ \sigma\rightarrow+\infty$ esetén tart $ 1$ -hez, az eredeti feladat minimumhelyéhez. Ha tehát $ \sigma $ elég nagy, akkor $ x(\sigma)$ elég pontosan megközelíti az eredeti feladat megoldását (lásd a következő ábrát).

Image sumt_2
Courant-féle büntetőfüggvény különböző $ \sigma $ értékekre

A büntetőfüggvény módszerek egy lehetséges általános sémája a következő.

A SUMT algoritmus

1 INPUT $ \left\{ \sigma_{k}\right\}_{k=1}^{\infty}\subset\mathbb{R}^{+}, \sigma_{k}\rightarrow+\infty$ sorozat, $ \varepsilon>0, x_{0}\in \mathbb{R}^{n}, k=1$
1 FOR $ k=1,2,\ldots $
2         $ x_{k-1}$ -ből kiindulva