From 7610a2fdd45a99c55c0ea06b75d951a30100b8e4 Mon Sep 17 00:00:00 2001 From: NAThompson Date: Wed, 5 Aug 2020 12:25:55 -0400 Subject: [PATCH] Reintroduce gamma(1/4); but not ln(gamma(1/4)). [CI SKIP] --- example/representations/dirichlet_l.cpp | 4 ++-- example/representations/soldner.cpp | 2 +- include/boost/multiprecision/pslq.hpp | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/example/representations/dirichlet_l.cpp b/example/representations/dirichlet_l.cpp index 8e466b0c9..14910fc10 100644 --- a/example/representations/dirichlet_l.cpp +++ b/example/representations/dirichlet_l.cpp @@ -5,7 +5,7 @@ int main() { using boost::multiprecision::mpfr_float; - mpfr_float::default_precision(700); + mpfr_float::default_precision(900); using Real = mpfr_float; // See: Mathematical Constants II, Section 1.13 by Steven Finch. @@ -113,7 +113,7 @@ int main() 521698841993288727173249743" }; - analyze(L5_12, "L₅(1/2"); + analyze(L5_12, "L₅(1/2)"); // L_8(1/2) in Finch. // Mathematica: N[DirichletL[8, 2, 1/2], 1005] diff --git a/example/representations/soldner.cpp b/example/representations/soldner.cpp index af76f79da..d212f8510 100644 --- a/example/representations/soldner.cpp +++ b/example/representations/soldner.cpp @@ -31,7 +31,7 @@ T soldner() int main() { using boost::multiprecision::mpfr_float; - mpfr_float::default_precision(400); + mpfr_float::default_precision(1000); using Real = mpfr_float; Real s = soldner(); analyze(s, "μ"); diff --git a/include/boost/multiprecision/pslq.hpp b/include/boost/multiprecision/pslq.hpp index 484c47157..d040d70d9 100644 --- a/include/boost/multiprecision/pslq.hpp +++ b/include/boost/multiprecision/pslq.hpp @@ -258,6 +258,12 @@ auto standard_pslq_dictionary() { m.emplace(exp(eim1), "exp(Ei(-1))"); // These show up in a lot of identities in Finch: + auto gamma_14 = boost::math::tgamma(Real(1)/Real(3)); + m.emplace(gamma_14, "Γ(1/4)"); + // Don't put this in or the basis is linearly dependent with Gauss's constant: + //m.emplace(log(gamma_14), "ln(Γ(1/4))"); + m.emplace(1/gamma_14, "1/Γ(1/4)"); + auto gamma_13 = boost::math::tgamma(Real(1)/Real(3)); m.emplace(gamma_13, "Γ(1/3)"); m.emplace(log(gamma_13), "ln(Γ(1/3))");