New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
CG-Verfahren - Wikipedia

CG-Verfahren

aus Wikipedia, der freien Enzyklopädie

Das CG-Verfahren (von engl. conjugate gradients oder auch Verfahren der konjugierten Gradienten) ist eine effiziente numerische Methode zur Lösung von großen, symmetrischen, positiv definiten Gleichungssystemen der Form Ax = b. Es gehört zur Klasse der Krylow-Unterraum-Verfahren. Das Verfahren konvergiert nach spätestens m Schritten. Insbesondere ist es aber als iteratives Verfahren interessant, da der Fehler monoton fällt.

Inhaltsverzeichnis

[Bearbeiten] Idee des CG-Verfahrens

Die Idee des CG-Verfahrens besteht darin, dass das Maximieren von

E(x):=\langle b,x\rangle-\frac12\langle Ax,x\rangle

äquivalent zum Lösen von Ax = b ist.

Der Gradient von E an der Stelle x(k) ist gerade g(k) = bAx(k) und somit bei großen, dünn besetzten Matrizen schnell zu berechnen. Die Idee des CG-Verfahrens ist es nun, anstelle in Richtung g(k) in eine andere Richtung d(k) die Funktion E zu maximieren. Die Richtungen d(k) sind dabei alle A-konjugiert, d.h. es gilt

\langle Ad^{(i)},d^{(j)}\rangle=0\qquad\forall i\neq j.

Weiter realisieren alle x(k) das Maximum von E in dem affinen Raum

V_k:=x^{(0)}+\operatorname{span}\left(\{d^{(1)},\ldots,d^{(k)}\}\right).

Dabei handelt es sich also um den Vektorraum, der durch die Vektoren d^{(1)},\ldots,d^{(k)} aufgespannt und um x(0) verschoben wird.

Da die Vektoren d(k) alle A-konjugiert sind, ist die Dimension von Vk gerade k. Ist also A eine m\times m-Matrix, so terminiert das Verfahren nach spätestens m Schritten, falls korrekt gerechnet wird. Numerische Fehler können durch weitere Iterationen eliminiert werden. Hierzu betrachtet man den Gradienten g(k), der den numerischen Fehler, d.h. das Residuum angibt. Unterschreitet die Norm dieses Residuums einen gewissen Schwellenwert, wird das Verfahren abgebrochen.

Das Verfahren baut sukzessive eine orthogonale Basis für den \mathbb R^m auf und minimiert in die jeweilige Richtung bestmöglich.

[Bearbeiten] CG-Verfahren ohne Vorkonditionierung

Zunächst wählt man ein x^{(0)}\in\mathbb{R}^m beliebig und berechnet:

g(0) = bAx(0)
d(0) = − g(0)

Für k = 0,1,... setzt man:

Finde von x(k) in Richtung d(k) das Minimum x(k + 1) und aktualisiere den Gradienten bzw. das Residuum

\alpha^{(k)}=\frac{g^{(k)^T}\,g^{(k)}}{d^{(k)^T}\,A\,d^{(k)}}
x^{(k+1)}=x^{(k)}-\alpha^{(k)}\,d^{(k)}
g^{(k+1)}=g^{(k)}+\alpha^{(k)}\,A\,d^{(k)}

Korrigiere die Suchrichtung d(k + 1) mit Hilfe von d(k) und g(k + 1)

\beta_k=\frac{g^{(k+1)^T} g^{(k+1)}}{g^{(k)^T} g^{(k)}}
d(k + 1) = − g(k + 1) + βkd(k)

bis das Residuum in der Norm kleiner als eine Toleranz ist (\|g^{(k+1)}\|<\mbox{tol}).

[Bearbeiten] CG-Verfahren mit symmetrischer Vorkonditionierung (PCG-Verfahren)

Die Konvergenz des CG-Verfahren ist nur bei symmetrischen positiv definiten Matrizen gesichtert. Dies muss ein Vorkonditionierer berücksichtigen. Bei einer symmetrischen Vorkonditionierung wird das Gleichungssystem Ax = b mithilfe einer Vorkonditionierer-Matrix C=KK^T\approx A^{-1} zu KTAKy = KTb mit y = K − 1x transformiert, und darauf das CG-Verfahren angewandt.

Die Matrix KTAK ist symmetrisch, da A symmetrisch ist. Sie ist ferner positiv definit, da nach dem Trägheitssatz von Sylvester A und KTAK die gleichen Anzahlen positiver und negativer Eigenwerte besitzen.

Das resultierende Verfahren ist das sog. PCG-Verfahren (von engl. Preconditioned Conjugate Gradient):

Zunächst wählt man ein x^{(0)}\in\mathbb{R}^m beliebig und berechnet:

g(0) = bAx(0)
h(0) = Cg(0)
d(0) = − h(0)

Für k = 0,1,... setzt man:

Finde von x(k) in Richtung d(k) das Minimum x(k + 1) und aktualisiere Gradienten und vorkonditionierten Gradienten

\alpha_k=\frac{\langle g^{(k)}, h^{(k)}\rangle}{\langle d^{(k)}, A d^{(k)}\rangle}
x(k + 1) = x(k) − αkd(k)
g(k + 1) = g(k) + αkAd(k) (Residuum)
h(k + 1) = Cg(k + 1)

Korrigiere die Suchrichtung d(k + 1)

\beta_k=\frac{\langle g^{(k+1)}, h^{(k+1)}\rangle}{\langle g^{(k)}, h^{(k)}\rangle}
d(k + 1) = − h(k + 1) + βkd(k)

bis das Residuum in der Norm kleiner als eine Toleranz ist (\|g^{(k+1)}\|<\mbox{tol}).

Vergleich von ICCG mit CG anhand der 2D-Poisson-Gleichung
Vergleich von ICCG mit CG anhand der 2D-Poisson-Gleichung

Ein häufiger Vorkonditionierer im Zusammenhang mit CG ist die unvollständige Cholesky-Zerlegung. Diese Kombination wird auch als ICCG bezeichnet und wurde in den 1970ern von Meijerink und van der Vorst eingeführt.

Zwei weitere für das PCG-Verfahren zulässige Vorkonditionierer sind der Jacobi-Vorkonditionierer C = D − 1, wobei D die Hauptdiagonale von A ist, und der SSOR-Vorkonditionierer C=(\frac{1}{2-\omega}(\frac{1}{\omega}D+L)(\frac{1}{\omega}D)^{-1}(\frac{1}{\omega}D+L)^T)^{-1} mit \omega \in (0, \,2), wobei D die Hauptdiagonale und L die strikte untere Dreiecksmatrix von A ist.

[Bearbeiten] Konvergenzrate CG-Verfahrens

Man kann zeigen, dass die Konvergenz des CG-Algorithmus

\|x_k-x\|_A \le 2\frac{\sqrt{\kappa(A)}-1}{\sqrt{\kappa(A)}+1}\|x_{k-1}-x\|_A

ist. Hierbei ist κ(A) die Kondition der Matrix A, sowie \|\cdot\|_A = \|A \cdot\|_2 die A-Norm.

(\sqrt{\kappa(A)}-1) ist nicht negativ, da A symmetrisch und positiv definit ist. Damit ist die Kondition

\kappa(A) = \frac{\lambda_{max}(A)}{\lambda_{min}(A)}

und es gilt

0<\lambda_{min}(A) \le \lambda_{max}(A) \Rightarrow 1 \le \frac{\lambda_{max}}{\lambda_{min}}.

[Bearbeiten] Literatur

  • P. Knabner, L. Angermann: Numerik partieller Differentialgleichungen, Springer, ISBN 3-540-66231-6
  • A. Meister: Numerik linearer Gleichungssysteme, Vieweg 1999, ISBN 3-528-03135-2
Andere Sprachen

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu