การรักษาเฟสแฟกเตอร์ใน Sqrt

Jan 06 2021

ฉันกำลังพยายามพล็อตฟังก์ชันโฮโลมอร์ฟิกบางอย่างที่มีรากที่สองและสูงกว่า ในแง่การวิเคราะห์ที่ซับซ้อนฟังก์ชัน$f:z\mapsto z^\alpha$ สำหรับบางคน $\alpha\in\mathbb C$ มีเฟสแฟกเตอร์ $e^{2\pi i\alpha}$ ที่ $z=0$ซึ่งหมายความว่าบนเส้นทางวงกลมเล็ก ๆ รอบ ๆ $0$ ฟังก์ชั่น $f$หยิบปัจจัยนี้ขึ้นมา มีวิธีนำสิ่งนี้ไปใช้ใน Mathematica หรือไม่?

ตัวอย่างเช่น

g[z_] = z^4;
Sqrt[g[Exp[Pi I/2]]]

ให้ผลลัพธ์เป็น 1 โดยที่ฉันต้องการให้ Mathematica เก็บเฟสไว้ $g(e^{\pi i/2})=e^{2\pi i}$ แล้วคำนวณ $$\sqrt{g(e^{\pi i/2})}=e^{\pi i}=-1.$$ด้วยSqrtหรือ$(\cdot)^{1/2}$ดูเหมือนจะเป็นไปไม่ได้เนื่องจากพวกเขาเลือกรากที่สองหลัก ขอบคุณมากสำหรับความช่วยเหลือของคุณ!

แก้ไขนี่คือตัวอย่าง:

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}}]

เห็นได้ชัดว่าฟังก์ชั่นf1และf2ไม่เหมือนกันเช่นเดียวกับ$\sqrt{x^2}=|x|$ ไม่เท่ากับ $x$ บน $\mathbb R\ni x$. สำหรับจุดประสงค์ของฉันฉันค่อนข้างสนใจในความละเอียดของสแควร์รูทที่นำไปสู่ฟังก์ชันที่ราบรื่น พล็อตด้านบนมีลักษณะดังนี้:

ในภาพซ้ายจะเห็นจุดที่ฟังก์ชันตัดกิ่งก้านของรากที่สอง ฉันสงสัยว่ามีวิธีหลีกเลี่ยงหรือไม่เช่นในภาพด้านขวาโดยไม่สามารถแก้ปัญหารากที่สองด้วยมือได้ ตัวอย่างเช่นหากมีคนเพิ่มนิพจน์ให้$z^8$ ที่มีเฟสที่คล้ายกันฉันต้องการนำเฟสทั่วไปออกจากรากที่สองเพื่อไม่ให้ได้รับผลกระทบจากการตัดกิ่ง

นอกจากนี้เรายังสามารถเปลี่ยนรูปแบบของฟังก์ชันข้างต้นเพื่อพูดได้ $f(z)=\sqrt{z^8+\varepsilon}$ สำหรับบางคน $\varepsilon>0$. ไม่มีทางที่จะหารากที่สองสำหรับสามัญได้$z$และไม่สามารถพล็อตการเสียรูปของภาพที่ถูกต้องได้ ฉันไม่สนใจที่จะหาวิธีทำเช่นนั้นภาพด้านขวาจะผิดรูปไปเรื่อย ๆ

ความสนใจที่แท้จริงของฉันมาจากรากที่สองของฟังก์ชันโมดูลาร์EllipticThetaและDedekindEtaซึ่งเปลี่ยนรูปภายใต้การแปลงเชิงเส้นเศษส่วนบางอย่างด้วยเฟส จากนั้นจึงมีการกำหนดให้มีนิพจน์เช่น$\sqrt{\vartheta_4(z)^8+\varepsilon \vartheta_2(z)^4\vartheta_3(z)^4}$ เนื่องจาก summands ทั้งสองแปลงด้วยเฟสเดียวกัน

ปัญหาทั้งหมดข้างต้นมาจากข้อเท็จจริงที่ว่า Mathematica แสดงจำนวนเชิงซ้อนในแต่ละขั้นตอนไม่ว่าจะเป็นพิกัดคาร์ทีเซียนหรือละเว้นโมดูโลทุกอย่าง $2\pi$ในรูปแบบขั้ว จะเป็นการดีที่จะหาวิธีป้องกันไม่ให้ Mathematica ทำเช่นนี้โดยไม่ต้องกำหนดทุกการดำเนินการใหม่ ขอบคุณมาก!

คำตอบ

5 Dominic Jan 07 2021 at 02:38

นี่คือตัวอย่างของปัญหาทั่วไปของการวิเคราะห์ฟังก์ชันที่มีค่าหลายค่าอย่างต่อเนื่องตามเส้นทางที่ต่อเนื่องกัน

ในกรณีของฟังก์ชันพีชคณิตเช่น $w=\sqrt{z^8}$เราสามารถเขียนเป็น $f(z,w)=w^2-z^8=0$ และในกรณีของคุณปล่อยให้ $z(t)=1+it$, เขียน: $$ \frac{dw}{dt}=-\frac{f_z}{f_w}\frac{dz}{dt}=\frac{4i(1+it)^7}{w} $$ ต่อไปเราจะแก้ IVP (หลายมูลค่า): $$ \frac{dw}{dt}=\frac{4i(1+i t)^7}{w};\quad \{w_0\}=\{f(z(t_0),w)=0\} $$ โดยที่ DE และค่าเริ่มต้น $\{w_0\}$ สำหรับ $t_0=-5$ ได้รับการตั้งค่าเป็น:

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]

ตอนนี้แก้ทั้ง IVP และพล็อตผลลัพธ์:

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]