[math-fun] FunctionExpand knows no special values of DedekindEta.
(The main simplifier rather annoyingly special-cases tau = i.) DedekindEta[quadraticsurd] comes out as algebraic*productGamma(rational)). E.g., DedekindEta[ I/10 - 1/5] == ((-1)^(1/12) Sqrt[2 + I] Gamma[1/4])/(2^(7/8) \[Pi]^(3/4)) DedekindEta[1/2 + I/Sqrt[6]] == ((-1)^(1/24) (-1 + Sqrt[2])^( 1/12) (-Sqrt[2] + Sqrt[3])^(3/8) Gamma[1/24])/( 2 2^(5/24) 3^(1/8) (-1 + Sqrt[3])^(1/4) Sqrt[\[Pi] Gamma[1/12]]) (There is strong evidence against any such formulas for, e.g., DedekindEta[I*(1/2 + 1/Sqrt[6])]].) The Gammas are predicted by known formulas. The algebraic is mostly predicted by ModularLambda, as I posted a few weeks ago. RootApproximant should take care of what's left. Thus it might be feasible to FunctionExpand DedekindEta on the fly. At present, I just look them up in a database that I expand as needed. Nonrigorous answers from RootApproximant may raise some eyebrows, although it's more reliable than the True and False returned by Equal. Perhaps the results can be double checked to $MaxExtraPrecision. I don't recall seeing a false positive survive a retry at higher precision. The radicals above were hand-simplified. Probably an on-the-fly eta simplifier would mostly give Root objects. Best might be a combination of hand-simplified table plus on-the-fly for the untabulated. Radical simplification is where computer algebra rejoins AI. At least until the creation of a miraculous algorithm. FunctionExpand knows two(?) special values of EllipticK, 1/2 and -1, with 0 and 1 automatic in the simplifier. This misses scads of special values at algebraics, e.g EllipticK[(-1 + Sqrt[2])^2] == (Gamma[1/8] Gamma[3/8])/( 8 2^(1/4) Sqrt[(-1 + Sqrt[2]) \[Pi]]) EllipticK[(1 + Sqrt[2])^2] == ((1 - I Sqrt[2]) Sqrt[(-1 + Sqrt[ 2])/\[Pi]] Gamma[1/8] Gamma[3/8])/(8 2^(1/4)) EllipticK[1/2 + Sqrt[-2 + Sqrt[5]]] == ((1 + Sqrt[5]) Gamma[1/20] Gamma[9/ 20])/(8 5^(1/8) (2 + Sqrt[5])^(1/4) Sqrt[2 \[Pi]]) EllipticK[1/2 - Sqrt[-2 + Sqrt[5]]] == ((1 + Sqrt[5]) Gamma[1/20] Gamma[9/ 20])/(8 5^(5/8) (2 + Sqrt[5])^(1/4) Sqrt[2 \[Pi]]) EllipticK[1/4 (2 - Sqrt[3])] == (3^(1/4) Gamma[1/3]^3)/(4 2^(1/3) \[Pi]) EllipticK[1/8 (2 - Sqrt[2] 3^(1/4))^2 (-1 + Sqrt[3])^2] == Gamma[1/4]^2/(2 3^(3/4) (-1 + Sqrt[3]) Sqrt[2 \[Pi]]) . . . Given a good DedekindEta capability, it might be possible to do these on the fly via EllipticK[(16 DedekindEta[\[Tau]]^8 DedekindEta[4 \[Tau]]^16)/ DedekindEta[2 \[Tau]]^24] == (\[Pi] DedekindEta[2 \[Tau]]^10)/( 2 DedekindEta[\[Tau]]^4 DedekindEta[4 \[Tau]]^4) Failing that, you can use the above plus a big DedekindEta database to create a big EllipticK database... to be also searched by ArithmeticGeometricMean, because ArithmeticGeometricMean[1, Sqrt[z]] == \[Pi]/(2 EllipticK[1 - z]) --Bill Gosper
participants (1)
-
Bill Gosper