Frage Holen Sie Verzweigungspunkte der Gleichung


Wenn ich eine allgemeine Funktion habe,f(z,a), z und a sind beide real und die Funktion f nimmt reale Werte für alle an z außer in einigen Intervallen (z1,z2), wo es komplex wird. Wie ermittle ich? z1 und z2 (was in Bezug auf sein wird a) mit Mathematica (oder ist das möglich)? Was sind die Einschränkungen?

Betrachten Sie für ein Testbeispiel die Funktion f[z_,a_]=Sqrt[(z-a)(z-2a)]. Wirklich z und a, das nimmt reale Werte außer im Intervall an (a,2a), wo es imaginär wird. Wie finde ich dieses Intervall in Mathematica?

Im Allgemeinen würde ich gerne wissen, wie man es für einen allgemeinen Fall mathematisch finden würde. Für eine Funktion mit nur zwei Variablen wie dieser wäre es wahrscheinlich einfach, ein Konturdiagramm der Riemann-Oberfläche zu machen und die Verzweigungsschnitte zu beobachten. Aber was, wenn es eine multivariate Funktion ist? Gibt es einen allgemeinen Ansatz, den man annehmen kann?


5
2018-03-17 04:54


Ursprung


Antworten:


Was Sie haben, scheint eine Riemann-Oberfläche zu sein, die durch 'a' parametrisiert ist. Betrachten Sie die algebraische (oder analytische) Relation g (a, z) = 0, die aus diesem Zweig einer parametrisierten Riemann-Oberfläche hervorgehen würde. In diesem Fall ist es einfach g ^ 2 - (z - a) * (z - 2 * a) == 0. Allgemeiner kann es mit Groebnerbasis, wie folgt, erreicht werden (keine Garantie, dass dies immer ohne eine gewisse Menge an Benutzer funktioniert Intervention).

grelation = First[GroebnerBasis[g - Sqrt[(z - a)*(z - 2*a)], {x, a, g}]]

Aus [472] = 2 a ^ 2 - g ^ 2 - 3 a z + z ^ 2

Eine notwendige Bedingung für die Verzweigungspunkte als Funktionen des Parameters 'a' ist, dass die Nullmenge für 'g' in einer Nachbarschaft solcher Punkte keine (einwertige) Funktion ergibt. Dies wiederum bedeutet, dass die partielle Ableitung dieser Beziehung in Bezug auf g verschwindet (dies ergibt sich aus dem impliziten Funktionssatz des multivariablen Kalküls). So finden wir, wo die Grellation und ihre Ableitung verschwinden und lösen für 'z' als eine Funktion von 'a'.

Solve[Eliminate[{grelation == 0, D[grelation, g] == 0}, g], z]

Out [481] = {{z -> a}, {z -> 2 a}}

Daniel Lichtblau Wolfram Forschung


3
2018-03-21 15:39



Für polynomiale Systeme (und einige andere Klassen) Reduce kann den Job machen.

Z.B.

In[1]:= Reduce[Element[{a, z}, Reals] 
           && !Element[Sqrt[(z - a) (z - 2 a)], Reals], z]
Out[1]= (a < 0 && 2a < z < a) || (a > 0 && a < z < 2a)

Diese Art von Ansatz funktioniert auch (oft mit sehr komplizierten Lösungen für Funktionen mit vielen Verzweigungsschnitten) für andere Kombinationen von Elementarfunktionen, die ich überprüft habe.

Um die Verzweigungsschnitte (im Gegensatz zu der einfachen Klasse von Verzweigungspunkten, an denen Sie interessiert sind) im Allgemeinen zu finden, kenne ich keinen guten Ansatz. Der beste Ort, um die detaillierten Konventionen zu finden, die Mathematica verwendet, ist der Funktionen.Wolfram Seite? ˅.

Ich erinnere mich, dass ich vor einiger Zeit eine gute Zeitung darüber gelesen habe ... Ich werde versuchen, sie zu finden ....


Stimmt! Der einfachste Ansatz, den ich für die Branch Cut Analyse gesehen habe, ist der abrollende Nummer. Da ist ein Papier "Nachdenken über die elementaren Funktionen der komplexen Analyse"Dazu die Zeitschrift" Artificial Intelligence and Symbolic Computation ". Sie und ähnliche Arbeiten finden Sie auf einer der Autoren-Homepage: http://www.apmaths.uwo.ca/~djeffrey/offprints.html.


2
2018-03-17 05:26



Für allgemeine Funktionen können Sie Mathematica nicht berechnen lassen. Selbst für Polynome braucht das Finden einer genauen Antwort Zeit. Ich glaube, dass Mathematica eine Art Quantifier-Eliminierung verwendet, wenn es Reduce verwendet, Das braucht Zeit.

Ohne Einschränkungen für Ihre Funktionen (sind sie Polynome, stetig, glatt?) Man kann leicht Funktionen aufbauen, die Mathematica nicht weiter vereinfachen kann:     f [x_, y_]: = Abs [Zeta [y + 0,5 + x * I]] * I

Wenn diese Funktion reell für beliebiges x und beliebig -0,5 <y <0 oder 0 <y <0,5 ist, dann haben Sie ein Gegenbeispiel zur Riemann-Zeta-Vermutung gefunden, und ich bin sicher, Mathematica kann keine richtige Antwort geben.


1
2018-03-18 12:51