|
Hallo Thomas, >x/y == x/y ist von der Form a == a und gilt für alle a, für >die die Gleichung überhaupt definiert ist. > >x/y == y/x ist nicht von dieser Form. Nicht nur, daß Mma >das hier nicht sofort erkennt, sondern es gibt auch keine >algebraische Umformung, die diese Gleichung auf die Form >0 == 0 bringt. Ach und x/y == x/y kriegst Du auf die Form 0==0 ? Das geht nur mit der Limit[] funktion! TrueQ[Limit[x/y, y -> \[Infinity]] == Limit[x/y, y -> \[Infinity]]] gleich True dann aber auch genausogut mit TrueQ[Limit[x/y, y -> \[Infinity]] == Limit[y/x, x -> \[Infinity]]] gleich True Für mich sind die Funktionen exakt gleich, nur die Parameter wechseln. Das beantwortet meine Frage also nicht! noch mal die Frage: Was ich nicht verstehe ist aber: Beispiel: 1 x=. y=. TrueQ[x/y==x/y] Liefert True Beispiel: 2 x=. y=. TrueQ[x/y==y/x] Liefert False Wenn MMA die Funktionen schlicht auf beiden Seiten vereinfacht (infinite evaluation loop) und quasi die Vereinfachung nach Deinen Ausführungen verglichen werden und für Beispiel 1. True ergeben, wieso dann nicht auch für Beispiel 2? Schließlich sind die Funktionen exakt gleich, auch die Parameter sind gleich, nur die Position der Parameter einer Seite ist unterschiedlich ( y/x satt x/y) Würde meine Variante stimmen, x und y element R durchlaufen numerische Teilbereiche (ähnlich wie bei Plot) , so ergäbe Beispiel 1 bei mir True, weil die komplette Teilbereichsevaluierung True ergibt. Denn für alle x und alle y ist die Funktion gleich True. Meine Variante ergibt für Beispiel 2 False, weil die Funktion beim Durchlauf der numerischen Teilbereiche für x ungleich y auf falsche Auswertungen trifft, während für x gleich y die Auswertungen True ergeben. Da aber Teile False sind, ist der ganze Ausdruck False. Analogie: Die Funktion Plot - Plot durchläuft numerische Teilbereiche einer Funktion, ist die Funktion überall definiert zeichnet Plot die Funktion (was True entspricht), stößt Plot auf einen nicht definierten Bereich, gibt es eine Fehlermeldung aus (was False entspricht). Auch hier reicht eine einzige nicht definierte Stelle, um die Funktion nicht auszugeben (somit False anzuzeigen). Mit freundlichen Grüßen [André El-Ama] |