DMUG-Archiv 1998

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: Solve (einfaches Problem, hoher Zeit- und Speicherbedarf)

  • From: gloor@XXXXXXX.de (Oliver Gloor)
  • Subject: Re: Solve (einfaches Problem, hoher Zeit- und Speicherbedarf)
  • Date: Mon, 16 Dec 1996 16:24:03 +0100
  • To: dmug@XXXXXXX.ch
Wenn man die Gleichungen

> eqn = Flatten[{
>         { C12+C13*C23/(C13+C23) == C10*C20/(C10+C20) },
>         { C13+C12*C23/(C12+C23) == C10*C30/(C10+C30) },
>         { C23+C12*C13/(C12+C23) == C20*C30/(C20+C30) } }];
> Solve[eqn, {C10, C20, C30}]

vor Solve etwas "massiert", d.h. auf polynomiale Form bringt
(und sich dabei die auftretenden Bedingungen merkt),
dann geht es auch mit Mathematica ganz flott:

eqnew = Map[ (Numerator[Together[Simplify[#[[2]] - #[[1]]]]] == 0)&,
             eqn ];
Solve[eqnew, {C10, C20, C30}]

dauert dann nur Sekunden.

Es wäre natürlich interessant zu wissen, warum zwischen der ersten
und der zweiten Version der Eingabe (algorithmisch) ein so großer
Unterschied besteht; insbesondere, ob dies nur auf das Mitspeichern
der Bedingungen zurückzuführen ist, oder ob ein anderer Algorithmus
verwendet wird.

Im Allgemeinen werden wohl Resultanten oder Gröbner Basen für
Eliminationsprobleme verwendet, und da treten auch bei trügerisch
"kleinen" Eingaben oft sehr aufwendige Berechnungen auf.

-- Oliver Gloor

--------------------------------------------------------------
Oliver Gloor                    University of Tuebingen
Dr. sc. math. ETH               Institute for Computer Science
Tel:   +49 / 7071 297 5480      Sand 13
Fax:   +49 / 7071  67  540      D-72076 Tuebingen, Germany
e-mail: gloor@XXXXXXX.de
http://www-sr.informatik.uni-tuebingen.de/~gloor



Verweise:
Solve (einfaches Problem, hoher Zeit- und Speicherbedarf)
Harald von Aschen, 15.12.1996

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:44