Guten Morgen Robert,
Nur zum Sagen, Gegenfrage: Wie würde man das Problem für ein lineares
Gleichungssystem A.x == b, A reguläre Matrix n x n, x und b Vektoren der
Länge n, lösen?
x ist derjenige Vektor, der von der Transformationsmatrix A in den Vektor
b transformiert wird. Wenn eine Randbedingung vorliegt, dann muss man den
Vektor
x' suchen, der am dichtesten an x liegt (bzgl. der Metrik) und noch die
Randbedingung erfüllt. Das sollte auch in hohen Dimensionen geometrisch
lösbar sein, wenn die Randbedingung ein konvexes Gebiet beschreibt, das
den Koordinatenursprung enthält. Dann durchstösst x an (höchstens) einer
Stelle s die Grenze des konvexen Gebiets und um dieses s sucht man. Wenn
über rellen Zahlen gerechnet wird, reicht eine Verkürzung x' = \alpha x;
wenn der Vektor x' z.B. ganzzahlige Komponenten haben soll, muss man in
der Nähe von s nach solchen suchen: Minimize[{f, cons}, {x, y, ...}, dom]
wobei f der Metrikausdruck mit x ist, die cons aus der Randbedingung
übernommen werden und dom in dem Fall Integers wäre. Das sollte für die
l^2 Norm funktionieren.
Spricht etwas dagegen, auf x = PseudoInverse[A].b dasselbe Verfahren
anzuwenden?
Gruss
Udo.
wie löst man (beste näherung bezüglich eines minimierung kriteriums K
z.B. least square sum, summe der quadratischen Fehler) effizient ein
lineares über/unter bestimmtes Gleichungssystem:
A.x=b, K[A.x-b]=min
unter der Randbedingung:
0<=x<=max
ohne den Randbedingungen ist die optimale Lösung bezüglich least square
sum bekanntlich:
x=PseudoInverse[A].b (sehr effizient, schnell)
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/