make corrections to zeta_zeros

This commit is contained in:
p15-git-acc 2019-02-19 05:37:40 -06:00
parent 234e553ed8
commit 7ae2683454
5 changed files with 10 additions and 20 deletions

View file

@ -177,7 +177,7 @@ void _acb_dirichlet_refine_hardy_z_zero(arb_t res, const arf_t a, const arf_t b,
void acb_dirichlet_hardy_z_zero(arb_t res, const fmpz_t n, slong prec);
void acb_dirichlet_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, slong prec);
void acb_dirichlet_zeta_zero(acb_t res, const fmpz_t n, slong prec);
void acb_dirichlet_zeta_zeros(acb_t res, const fmpz_t n, slong len, slong prec);
void acb_dirichlet_zeta_zeros(acb_ptr res, const fmpz_t n, slong len, slong prec);
void _acb_dirichlet_exact_zeta_nzeros(fmpz_t res, const arf_t t);
void acb_dirichlet_zeta_nzeros(arb_t res, const arb_t t, slong prec);
void acb_dirichlet_backlund_s(arb_t res, const arb_t t, slong prec);

View file

@ -174,20 +174,5 @@ _acb_dirichlet_refine_hardy_z_zero(arb_t res,
void
acb_dirichlet_hardy_z_zero(arb_t res, const fmpz_t n, slong prec)
{
arf_t a, b;
if (fmpz_cmp_si(n, 1) < 0)
{
flint_printf("n must be positive\n");
flint_abort();
}
arf_init(a);
arf_init(b);
acb_dirichlet_isolate_hardy_z_zero(a, b, n);
_acb_dirichlet_refine_hardy_z_zero(res, a, b, prec);
arf_clear(a);
arf_clear(b);
acb_dirichlet_hardy_z_zeros(res, n, 1, prec);
}

View file

@ -1268,6 +1268,8 @@ acb_dirichlet_hardy_z_zeros(arb_ptr res, const fmpz_t n, slong len, slong prec)
flint_printf("n must be positive\n");
flint_abort();
}
if (len <= 0)
return;
fmpz_init(k);
c = 0;
while (c < len)

View file

@ -20,14 +20,13 @@ acb_dirichlet_zeta_zero(acb_t res, const fmpz_t n, slong prec)
switch (fmpz_sgn(n))
{
case -1:
acb_set_d(res, 0.5);
fmpz_neg(k, n);
acb_dirichlet_hardy_z_zero(acb_imagref(res), k, prec);
acb_dirichlet_zeta_zeros(res, k, 1, prec);
acb_conj(res, res);
break;
case 1:
acb_set_d(res, 0.5);
acb_dirichlet_hardy_z_zero(acb_imagref(res), n, prec);
acb_dirichlet_zeta_zeros(res, n, 1, prec);
break;
default:
acb_indeterminate(res);

View file

@ -19,6 +19,10 @@ acb_dirichlet_zeta_zeros(acb_ptr res, const fmpz_t n, slong len, slong prec)
{
acb_indeterminate(res);
}
else if (len <= 0)
{
return;
}
else
{
slong i;