Opened 3 years ago

Closed 2 years ago

#20308 closed enhancement (fixed)

Generic zeta function method for schemes

Reported by: kedlaya Owned by:
Priority: minor Milestone: sage-8.1
Component: algebraic geometry Keywords: zeta function, scheme, finite field, sd87
Cc: Merged in:
Authors: Ben Hutz Reviewers: David Ayotte
Report Upstream: N/A Work issues:
Branch: d47998c (Commits) Commit: d47998cbe6316478873257856cd5009ac674a074
Dependencies: Stopgaps:

Description (last modified by kedlaya)

Currently there is a generic method zeta_series for schemes over a finite field, but not zeta_function. It would be useful to have the latter so that zeta_series could invoke it when it is implemented (which hopefully will happen for hyperelliptic curves soon).

At the same time, also make zeta_series work over nonprime fields.

Change History (17)

comment:1 Changed 2 years ago by chapoton

  • Branch set to public/20308
  • Commit set to d6e70dbeae70a9d2e03a7a973e9d0fa42ce4d66b

Here is a tentative


New commits:

d6e70dbusing zeta_function to compute zeta_series if possible

comment:2 Changed 2 years ago by roed

  • Keywords sd87 added

comment:3 follow-up: Changed 2 years ago by bhutz

  • Status changed from new to needs_info

It's not clear to me what the goal here is. The initial code seems to be using the zeta_function call to try and compute the zeta series as opposed to trying to compute zeta functions for generic schemes. So, are we improving zeta series or trying to make a generic .zeta_function()?? The later seems daunting...

I've improved the zeta_series code to allow for non-prime base fields.

comment:4 Changed 2 years ago by bhutz

  • Branch changed from public/20308 to u/bhutz/20308
  • Commit changed from d6e70dbeae70a9d2e03a7a973e9d0fa42ce4d66b to 5e776a6c202afcc67e74d554694e648e541868bd

New commits:

5e776a620308: improve zeta series for generic schemes

comment:5 Changed 2 years ago by kedlaya

Sorry, am on vacation this week and hence unable to participate in sd87, but I can still clarify what I had in mind here!

What I had in mind is that the generic .zeta_function() returns a NotImplementedError?. Then the generic .zeta_series() method would check for the existence of a .zeta_function() method, and if present would call it and convert the rational function into a power series instead of falling back to manually counting points.

comment:6 in reply to: ↑ 3 Changed 2 years ago by kedlaya

Replying to bhutz:

It's not clear to me what the goal here is. The initial code seems to be using the zeta_function call to try and compute the zeta series as opposed to trying to compute zeta functions for generic schemes. So, are we improving zeta series or trying to make a generic .zeta_function()?? The later seems daunting...

I've improved the zeta_series code to allow for non-prime base fields.

That is an important improvement, but it is actually separate from the issue I had in mind. Maybe we should create a new ticket and put this patch there instead?

comment:7 Changed 2 years ago by git

  • Commit changed from 5e776a6c202afcc67e74d554694e648e541868bd to 280e260e4d79fa1a40ab61ff0583423cb78334bd

Branch pushed to git repo; I updated commit sha1. New commits:

280e26020308: add generic zeta_function()

comment:8 follow-up: Changed 2 years ago by bhutz

  • Authors set to Ben Hutz
  • Milestone changed from sage-7.2 to sage-8.1
  • Priority changed from major to minor
  • Status changed from needs_info to needs_review

ok, that is certainly reasonable to do. I've added the generic function and put my doc test is the right place.

My zeta_series improvement is such a minor change and related to the original functionality, I'm fine with leaving it as part of this ticket. Perhaps we should make a slight change to the ticket description to include improving zeta_series in the generic case?

comment:9 Changed 2 years ago by git

  • Commit changed from 280e260e4d79fa1a40ab61ff0583423cb78334bd to 7f1bfec0929016db4550f68db54a4b1b0801eda3

Branch pushed to git repo; I updated commit sha1. New commits:

7f1bfec20308: fix typo

comment:10 in reply to: ↑ 8 Changed 2 years ago by kedlaya

  • Description modified (diff)

Replying to bhutz:

ok, that is certainly reasonable to do. I've added the generic function and put my doc test is the right place.

My zeta_series improvement is such a minor change and related to the original functionality, I'm fine with leaving it as part of this ticket. Perhaps we should make a slight change to the ticket description to include improving zeta_series in the generic case?

Changed the description accordingly. Unfortunately I won't be able to review this before the end of the week, but all the better if someone else can do it...

comment:11 Changed 2 years ago by davidayotte

Everything seems right. I ran the doctest and all test passed. For some reason I had difficulty generating the reference manual, but the problem doesn't seems to come from this ticket. I got this error :

Error building the documentation.
Traceback (most recent call last):
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage_setup/docbuild/__main__.py", line 2, in <module>
    main()
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 1642, in main
    builder()
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 720, in _wrapper
    getattr(DocBuilder, build_type)(self, *args, **kwds)
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 104, in f
    runsphinx()
  File "/projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage_setup/docbuild/sphinxbuild.py", line 215, in runsphinx
    raise exception
OSError: [schemes  ] /projects/da1818ed-996d-4de6-acc6-361415b7725d/Src/sage-david.ayotte/SageMath/local/lib/python2.7/site-packages/sage/schemes/affine/affine_space.py:docstring
of sage.schemes.affine.affine_space.AffineSpace_field.points_of_bounded_height:4: WARNING: citation not found: Doyle-Krumm

comment:12 Changed 2 years ago by git

  • Commit changed from 7f1bfec0929016db4550f68db54a4b1b0801eda3 to d47998cbe6316478873257856cd5009ac674a074

Branch pushed to git repo; I updated commit sha1. New commits:

d47998c20308: add OUTPUT to zeta_function

comment:13 Changed 2 years ago by bhutz

make doc-clean
make doc

is able to build all docs.

comment:14 Changed 2 years ago by davidayotte

  • Status changed from needs_review to positive_review

comment:15 Changed 2 years ago by vbraun

  • Status changed from positive_review to needs_work

Reviewer name...

comment:16 Changed 2 years ago by bhutz

  • Reviewers set to David Ayotte
  • Status changed from needs_work to positive_review

comment:17 Changed 2 years ago by vbraun

  • Branch changed from u/bhutz/20308 to d47998cbe6316478873257856cd5009ac674a074
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.