Math Is Fun Forum

  Discussion about math, puzzles, games and fun.   Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ • π ƒ -¹ ² ³ °

You are not logged in.

#1 Yesterday 16:23:57

lanxiyu
Member
Registered: 2022-05-10
Posts: 60

Special values of Weierstrass functions (Mathematica)

Module[{w1, w2, w3, g2, g3, Δ, case},
	On[Assert];
	w1 = RandomReal[WorkingPrecision -> 50];
	case[t_] := (w3 = t*w1; w2 = -w1 - w3; {g2, g3} = WeierstrassInvariants[{w1, w3}]; Δ = g2^3 - 27*g3^2);

	case[I]; (* Lemniscatic cases *)
	Assert[WeierstrassZeta[w1, {g2, g3}] == Pi/(4*w1)];
	Assert[WeierstrassZeta[w3, {g2, g3}] == -I*Pi/(4*w1)];
	Assert[WeierstrassP[w1, {g2, g3}] == Gamma[1/4]^4/(32*Pi*w1^2)];
	Assert[WeierstrassP[w2, {g2, g3}] == 0];
	Assert[WeierstrassP[w3, {g2, g3}] == -Gamma[1/4]^4/(32*Pi*w1^2)];
	Assert[g2 == Gamma[1/4]^8/(16*Pi*w1^2)^2];
	Assert[g3 == 0];
	Assert[Δ == Gamma[1/4]^24/(16*Pi*w1^2)^6];
	Assert[g2^3/Δ == 1];

	case[Exp[2*Pi*I/3]]; (* Equianharmonic cases *)
	Assert[WeierstrassZeta[w1, {g2, g3}] == Pi/(2*Sqrt[3]*w1)];
	Assert[WeierstrassZeta[w2, {g2, g3}] == Exp[2*Pi*I/3]*Pi/(2*Sqrt[3]*w1)];
	Assert[WeierstrassZeta[w3, {g2, g3}] == Exp[-2*Pi*I/3]*Pi/(2*Sqrt[3]*w1)];
	Assert[WeierstrassP[w1, {g2, g3}] == Gamma[1/3]^6/(2^(14/3)*(Pi*w1)^2)];
	Assert[WeierstrassP[w2, {g2, g3}] == Exp[-2*Pi*I/3]*Gamma[1/3]^6/(2^(14/3)*(Pi*w1)^2)];
	Assert[WeierstrassP[w3, {g2, g3}] == Exp[2*Pi*I/3]*Gamma[1/3]^6/(2^(14/3)*(Pi*w1)^2)];
	Assert[g2 == 0];
	Assert[g3 == Gamma[1/3]^18/(4*Pi*w1)^6];
	Assert[Δ == -27*Gamma[1/3]^36/(4*Pi*w1)^12];
	Assert[g2^3/Δ == 0];

	case[I*Sqrt[2]];
	Assert[WeierstrassZeta[w1, {g2, g3}] == (Gamma[1/8]*Gamma[3/8])^2/(384*Pi*w1) + Pi/(2^(5/2)*w1)];
	Assert[WeierstrassZeta[w3, {g2, g3}] == I*(Sqrt[2]*(Gamma[1/8]*Gamma[3/8])^2/(384*Pi*w1) - Pi/(4*w1))];
	Assert[WeierstrassP[w1, {g2, g3}] == (3 + Sqrt[2])*(Gamma[1/8]*Gamma[3/8])^2/(2^(13/2)*3*Pi*w1^2)];
	Assert[WeierstrassP[w2, {g2, g3}] == -(3 - Sqrt[2])*(Gamma[1/8]*Gamma[3/8])^2/(2^(13/2)*3*Pi*w1^2)];
	Assert[WeierstrassP[w3, {g2, g3}] == -(Gamma[1/8]*Gamma[3/8])^2/(2^5*3*Pi*w1^2)];
	Assert[g2 == 5*(Gamma[1/8]*Gamma[3/8])^4/(2^11*3*(Pi*w1^2)^2)];
	Assert[g3 == 7*(Gamma[1/8]*Gamma[3/8])^6/(2^16*(3*Pi*w1^2)^3)];
	Assert[Δ == (Gamma[1/8]*Gamma[3/8])^12/(2^33*(Pi*w1^2)^6)];
	Assert[g2^3/Δ == 125/27];

	case[I*Sqrt[3]];
	Assert[WeierstrassZeta[w1, {g2, g3}] == Gamma[1/3]^6/(2^(20/3)*Pi^2*w1) + Pi/(4*Sqrt[3]*w1)];
	Assert[WeierstrassZeta[w3, {g2, g3}] == I*(Sqrt[3]*Gamma[1/3]^6/(2^(20/3)*Pi^2*w1) - Pi/(4*w1))];
	Assert[WeierstrassP[w1, {g2, g3}] == (2*Sqrt[3] + 1)*Gamma[1/3]^6/(2^(20/3)*(Pi*w1)^2)];
	Assert[WeierstrassP[w2, {g2, g3}] == -Gamma[1/3]^6/(2^(17/3)*(Pi*w1)^2)];
	Assert[WeierstrassP[w3, {g2, g3}] == -(2*Sqrt[3] - 1)*Gamma[1/3]^6/(2^(20/3)*(Pi*w1)^2)];
	Assert[g2 == 15*Gamma[1/3]^12/(2^(34/3)*(Pi*w1)^4)];
	Assert[g3 == 11*Gamma[1/3]^18/(2^17*(Pi*w1)^6)];
	Assert[Δ == 27*Gamma[1/3]^36/(2^32*(Pi*w1)^12)];
	Assert[g2^3/Δ == 125/4];
];

Last edited by lanxiyu (Yesterday 19:01:40)

Offline

Board footer

Powered by FluxBB