Skip to content

Commit

Permalink
documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
edgarcosta committed Jun 15, 2024
1 parent fbabf32 commit 0cae160
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 11 deletions.
5 changes: 5 additions & 0 deletions doc/source/acb_theta.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
**acb_theta** -- Riemann theta functions
===============================================================================

.. autofunction :: flint.types.acb_theta.acb_theta
1 change: 1 addition & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ Matrix types
fmpz_mod_mat.rst
arb_mat.rst
acb_mat.rst
acb_theta.rst

Polynomial types
................
Expand Down
17 changes: 10 additions & 7 deletions src/flint/types/acb_mat.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -818,15 +818,18 @@ cdef class acb_mat(flint_mat):
def theta(tau, z, square=False):
r"""
Computes the vector valued Riemann theta function
`(\theta_{a,b}{z, tau) : a, b \in \{0,1\}^{g}\)` or its squares.
This is a wrapper for the C-function `acb_theta_all` and it follows the
same conventions for the ordering of the theta characteristics.
`(\theta_{a,b}(z, \tau) : a, b \in \{0,1\}^{g})` or its squares,
where `\tau` is given by ``self``.
This is a wrapper for :func:`.acb_theta.acb_theta`; see the
documentation for that method for details and examples.
This follows the same conventions of the C-function
`acb_theta_all <https://flintlib.org/doc/acb_theta.html#c.acb_theta_all>`_
for the ordering of the theta characteristics.
This is a wrapper for :meth:`.acb_theta.acb_mat_theta`; see the
documentation for that method for details for examples.
"""
try:
from .acb_theta import acb_mat_theta
from .acb_theta import acb_theta
except ImportError:
raise NotImplementedError("acb_mat.theta needs Flint >= 3.1.0")
return acb_mat_theta(z, tau, square=square)
return acb_theta(z, tau, square=square)
12 changes: 8 additions & 4 deletions src/flint/types/acb_theta.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ from flint.flintlib.acb cimport *
from flint.flintlib.acb_mat cimport *
from flint.flintlib.acb_theta cimport *

def acb_mat_theta(acb_mat z, acb_mat tau, ulong square=False):
def acb_theta(acb_mat z, acb_mat tau, ulong square=False):
r"""
Computes the vector valued Riemann theta function `(\theta_{a,b}{z, tau) : a, b \in \{0,1\}^{g}\)` or its squares.
This is a wrapper for the function `acb_theta_all` and it follows the same conventions for the ordering of the theta characteristics.
Computes the vector valued Riemann theta function
`(\theta_{a,b}(z, \tau) : a, b \in \{0,1\}^{g})` or its squares.
This should be used via method `acb_mat.theta` with the order of `z` and `tau` swapped,
This is a wrapper for the C-function
`acb_theta_all <https://flintlib.org/doc/acb_theta.html#c.acb_theta_all>`_
and it follows the same conventions for the ordering of the theta characteristics.
This should be used via the method :meth:`.acb_mat.theta`, explicitly ``tau.theta(z)``.
>>> from flint import acb, acb_mat, showgood
>>> z = acb(1+1j); tau = acb(1.25+3j)
Expand Down

0 comments on commit 0cae160

Please sign in to comment.