|
Hallo Jens-Peer, Im Grunde meinten wir (Thomas und ich) ja dasselbe, nämlich das die TrueQ einwandfrei Funktioniert. Thomas führt das auf den einen Defaultwert zurück, sobald die Funktion nicht ausgewertet werden kann (unbestimmt ist). Ich glaube das TrueQ für x Werte einsetzt, (nämlich x element R) zumindest für Teilbereiche um eine Entscheidung zu treffen. Thomas Variante hat für mich was von einer "Glaskugel": MMA entscheidet irgendwie, die Funktion ist unbestimmt. Leider wissen wir beide nicht exakt, wie MMA TrueQ intern überhaupt auswertet DiracDelta ist zugegeben ein dummes Beispiel, das kam aber weder von Thomas noch von mir. Ich würde x=. y=. TrueQ[x/y==x/y] False bevorzugen. Mit freundlichen Grüßen [André El-Ama] -----Original Message----- From: Jens-Peer Kuska [mailto:kuska@XXXXXXX.de] Sent: Tuesday, February 15, 2005 12:38 PM To: Thomas Hahn; Andre El-Ama Cc: DMUG Subject: Re: Re(Woysch): Frage zur Aequivalenz von modifizierten DiracDelta-Funktionen Hallo, das ist ja HAARSTRÄUBEND ! DiracDelta[] ist eine *Distribution*, das heißt sie ist nur in Ausdrücken Integrate[f[x]*DiracDelta[x],{x,-Infinity,Infinity}] erlaubt und sinnvoll. Und auch nicht für beliebige Funktionen f[] sondern nur für eine bestimmte Klasse z.B den Raum der (quadratisch) integrablen Funktionen. Eine nackte DiracDelta[] Funktion kann es nicht geben. Es gibt immer nur Integrale in denen eine solche Funktion steht. Um genau zu sein, ist DiracDelta[] diejenige Distribution, die Integrate[f[x]*DiracDelta[x],{x,-Infinity,Infinity}] -> f[0] zuordnet. Es ist also höchst sinnlos darüber zu spekulieren ob DiracDelta[s]==DiracDelta[5 s] ist oder nicht, denn es ist nur ein Ausdruck Integrate[f[x]*DiracDelta[x],{x,-Infinity,Infinity}]== Integrate[f[x]*DiracDelta[ 5 x],{x,-Infinity,Infinity}] überhaupt definiert, und der ist natürlich f[0]==f[0]/s ob das True oder False ist kann man so nicht sagen, TrueQ[] sollte aber auf jeden Fall False ergeben ... Natürlich ist es schlimm, wenn so etwas überhaupt ausgewertet wird, denn der Ausdruck DiracDelta[s]==DiracDelta[5 s] ist sinnlos, und das FullSimplify[] das auch noch zu True vereinfacht ist bedauerlich, weil eigentlich Indeterminate heraus kommen sollte. Aber vermutlich ist es kein Bug, wenn bei der Eingabe von Unsinn auch Unsinn rauskommt ... Es ist eine beliebte Ungenauigkeit einfach das Integral und die Funktion f[] wegzulassen und die Daumen zu drücken, das alle Integrale konvergieren, das hat aber nix mit Mathematik zu tun, sonder mit (Schreib-)Faulheit, genauso, wie man in Differentialgleichungen gern die Funktionsargumente weg läßt. Aus einer gewissen Laxheit/Faulheit heraus aber zu schlußfolgern, das DiracDelta[s]==DiracDelta[5 s] überhaupt etwas sinnvolles ergibt ist recht vermessen. Selbst mit der üblichen "auch ganz doofe Studenten sollen das verstehen"-Erklärung: "Eine Diracsche Delta-Funktion ist überall null außer dort wo das Argument verschwindet, dort ist sie unendlich." ist klar das man "Unendlich" und "Unendlich/5" wohl eher nicht vergleichen kann. Jedenfalls hat es die Anzahl der Postings in der DMUG dramatisch erhöht Gruß Jens ----- Original Message ----- From: "Thomas Hahn" <hahn@XXXXXXX.de> To: "Andre El-Ama" <Andre@XXXXXXX.de> Cc: "DMUG" <demug@XXXXXXX.ch> Sent: Monday, February 14, 2005 3:45 PM Subject: Re: Re(Woysch): Frage zur Aequivalenz von modifizierten DiracDelta-Funktionen >> >Na und, wo ist da ein Problem? >> > x^2 == x^2 ist schon ja von sich aus True. >> >> Genau, "von sich aus True" entspricht in diesem Fall "x element R" > > Vielleicht steh ich gerade auf der Leitung, aber x^2 == x^2 > ist auch im Komplexen True. > >> >Mathematica Basics: >> >Alle ...Q-Funktionen liefern False, wenn das Ergebnis nicht >> >bestimmt werden kann. >> >> schon mal falsch, denn es gilt nicht für Funktionen die "von sich aus >> True" >> sind. > > Natürlich ist TrueQ[True] True, d.h. daß TrueQ[x^2 == x^2] > True ergibt, bestätigt in diesem Fall doch nur, daß x^2 == x^2 > schon True ist. > > Das Ausgangsproblem war doch, daß > > TrueQ[ DiracDelta[s] == DiracDelta[s]/5 ] > > False ergibt, und da behaupte ich: das ist völlig korrekt, denn > DiracDelta[s] == DiracDelta[s]/5 kann ohne zusätzliche Informationen > eben nicht eindeutig als True oder False ausgewertet werden, und > dann gibt TrueQ seinen Default, nämlich False zurück. Es ist > ein Feature und kein Bug der ...Q-Funktionen, daß sie im > Zweifelsfalle False zurückliefern. > >> >Im Übrigen habe ich mir das mit den ...Q-Funktionen nicht >> >selbst ausgedacht, sondern das steht im Mma-Buch (müßte suchen, >> >wo genau). >> Ja, dauert "echt" lange im MMA-Buch unter "TrueQ" nachzusehen! > > Weil es nicht bei TrueQ steht, sondern in Section 2.3.5: > > An important feature of all the Mathematica property-testing > functions whose names end in Q is that they always return False if they > cannot determine whether the expression you give has a particular > property. > > > Schöne Grüße, > > Thomas > > > |