DMUG-Archiv 2008

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: A.x==b /; 0<=x<=max

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/

Antworten:
Re[2]: A.x==b /; 0<=x<=max
Udo und Susanne Krause, 16.03.2008
Verweise:
A.x==b /; 0<=x<=max
Robert Nowak, 13.03.2008

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 16.03.2008 18:09