Mantenere i fattori di fase in Sqrt
Sto cercando di tracciare alcune funzioni olomorfe che contengono radici quadrate e superiori. Nel senso dell'analisi complessa, la funzione$f:z\mapsto z^\alpha$ per alcuni $\alpha\in\mathbb C$ ha un fattore di fase $e^{2\pi i\alpha}$ a $z=0$, il che significa che su un piccolo percorso circolare intorno $0$ la funzione $f$riprende questo fattore. C'è un modo per implementarlo in Mathematica?
Per esempio,
g[z_] = z^4;
Sqrt[g[Exp[Pi I/2]]]
restituisce 1 come risultato, dove vorrei che Mathematica mantenga la fase $g(e^{\pi i/2})=e^{2\pi i}$ e quindi calcola $$\sqrt{g(e^{\pi i/2})}=e^{\pi i}=-1.$$Con Sqrt
o$(\cdot)^{1/2}$questo non sembra possibile, poiché scelgono le principali radici quadrate. Molte grazie per il vostro aiuto!
EDIT Ecco un esempio:
lim = 5; dlim = 20;
f1[z_] = Sqrt[z^8];
f2[z_] = z^4;
p1 = ParametricPlot[{Re[f1[1 + d I]], Im[f1[1 + d I]]}, {d, -dlim,
dlim}, PlotRange -> {{-lim, lim}, {-lim, lim}}];
p2 = ParametricPlot[{Re[f2[ 1 + d I]], Im[f2[1 + d I]]}, {d, -dlim,
dlim}, PlotRange -> {{-lim, lim}, {-lim, lim}}];
GraphicsGrid[{{p1, p2}}]
Ovviamente le funzioni f1
e f2
non sono le stesse, proprio come$\sqrt{x^2}=|x|$ non è uguale a $x$ sopra $\mathbb R\ni x$. Per il mio scopo sono piuttosto interessato a una risoluzione della radice quadrata che porti ad una funzione liscia. I grafici di cui sopra hanno il seguente aspetto:
Nella figura a sinistra si vedono i punti in cui la funzione incrocia il ramo tagliato della radice quadrata. Mi chiedo se esista un modo per evitarlo, come nella foto a destra, senza poter risolvere a mano la radice quadrata. Ad esempio, se si aggiunge un'espressione a$z^8$ che contiene fasi simili, vorrei togliere una fase comune dalla radice quadrata, per non risentire del taglio del ramo.
Si può anche deformare la funzione di cui sopra per dire $f(z)=\sqrt{z^8+\varepsilon}$ per alcuni $\varepsilon>0$. Quindi non c'è modo di prendere la radice quadrata per generico$z$e non è possibile tracciare una deformazione dell'immagine a destra. Sono comunque interessato a trovare un modo per farlo, in modo tale che l'immagine giusta venga deformata continuamente.
Il mio attuale interesse deriva dalle radici quadrate delle funzioni modulari EllipticTheta
e DedekindEta
, che si trasformano in determinate trasformazioni lineari frazionarie con fasi. Quindi è ben definito avere espressioni come$\sqrt{\vartheta_4(z)^8+\varepsilon \vartheta_2(z)^4\vartheta_3(z)^4}$ poiché entrambi gli addendi si trasformano con le stesse fasi.
Tutti i problemi di cui sopra derivano dal fatto che Mathematica esprime numeri complessi ad ogni passaggio in coordinate cartesiane o ignora tutto modulo $2\pi$in forma polare. Sarebbe bello trovare un modo per impedire a Mathematica di farlo, senza dover ridefinire ogni singola operazione. Molte grazie!
Risposte
Questo è un esempio del problema generale di continuare analiticamente una funzione multivalore lungo un percorso continuo.
Nel caso di una funzione algebrica come $w=\sqrt{z^8}$, possiamo scriverlo come $f(z,w)=w^2-z^8=0$ e nel tuo caso, lasciando $z(t)=1+it$, Scrivi: $$ \frac{dw}{dt}=-\frac{f_z}{f_w}\frac{dz}{dt}=\frac{4i(1+it)^7}{w} $$ Successivamente risolveremo l'IVP (multivalore): $$ \frac{dw}{dt}=\frac{4i(1+i t)^7}{w};\quad \{w_0\}=\{f(z(t_0),w)=0\} $$ dove i valori DE e iniziali $\{w_0\}$ per $t_0=-5$ sono configurati come:
tStart = -5;
tEnd = 5;
thez[t_] = 1 + t I;
theDE = w'[t] == ((4 I z^7)/w /. {z -> thez[t],
w -> w[t]});
wStart = w /. Solve[w^2 == (1 + tStart I)^8, w]
Ora risolvi entrambi gli IVP e traccia i risultati:
colors = {Red, Blue};
plotTable = Table[
dSol =
First[NDSolve[{theDE, w[-5] == wStart[[i]]},
w, {t, tStart, tEnd}]];
theSol[t_] := Evaluate[Flatten[w[t] /. dSol]];
ParametricPlot[{Re[theSol[t]], Im[theSol[t]]}, {t, tStart, tEnd},
PlotRange -> {{-5, 5}, {-5, 5}}, PlotStyle -> colors[[i]]],
{i, 1, 2}];
Show[plotTable]