fredstro / hilbertmodgroup Goto Github PK
View Code? Open in Web Editor NEWImplementation of Hilbert modular groups using SageMath
License: GNU General Public License v3.0
Implementation of Hilbert modular groups using SageMath
License: GNU General Public License v3.0
sage has some automated tests to check that categories, inheritance, etc are correctly implemented. You can run it via
sage: from hilbert_modgroup.upper_half_plane import ComplexPlaneProduct
sage: TestSuite(ComplexPlaneProduct(2)).run()
The above fails because
Part of openjournals/joss-reviews#3996
github actions provide a way to run tests using the github infrastructure. This is very convenient while working on the code.
Part of openjournals/joss-reviews#3996.
In hilbert_modular_group_element.pyx
hilbert_modular_group_element.pyx:18:1 'sage.matrix.matrix_generic_dense.Matrix_generic_dense' imported but unused
hilbert_modular_group_element.pyx:21:1 'hilbert_modgroup.upper_half_plane.ComplexPlaneProductElement' imported but unused
hilbert_modular_group_element.pyx:22:1 'hilbert_modgroup.upper_half_plane.UpperHalfPlaneProductElement__class' imported but unused
and in upper_half_plane.pyx
upper_half_plane.pyx:13:1 'sage.structure.element.MultiplicativeGroupElement' imported but unused
upper_half_plane.pyx:14:1 'sage.structure.richcmp.richcmp' imported but unused
upper_half_plane.pyx:15:1 'sage.rings.all.ZZ' imported but unused
upper_half_plane.pyx:16:1 'sage.rings.infinity.infinity' imported but unused
upper_half_plane.pyx:19:1 'sage.matrix.matrix_space.MatrixSpace' imported but unused
upper_half_plane.pyx:20:1 'sage.matrix.matrix_generic_dense.Matrix_generic_dense' imported but unused
upper_half_plane.pyx:21:1 'sage.misc.cachefunc.cached_method' imported but unused
upper_half_plane.pyx:22:1 'sage.structure.unique_representation.UniqueRepresentation' imported but unused
upper_half_plane.pyx:28:1 'sage.categories.semigroups.Semigroups' imported but unused
upper_half_plane.pyx:29:1 'cysignals.memory.sig_free' imported but unused
upper_half_plane.pyx:29:1 'cysignals.memory.sig_malloc' imported but unused
upper_half_plane.pyx:29:1 'cysignals.memory.check_allocarray' imported but unused
upper_half_plane.pyx:30:1 redefinition of unused 'SageObject' from line 17
upper_half_plane.pyx:33:1 redefinition of unused 'vector' from line 11
upper_half_plane.pyx:880:9 redefinition of unused 'infinity' from line 16
upper_half_plane.pyx:1608:13 local variable 'maxd' is assigned to but never used
upper_half_plane.pyx:1610:30 f-string is missing placeholders
Part of openjournals/joss-reviews#3996
Python packaging is shifting toward havin a pyproject.toml
at the root of the package that specifies the tool to install the package (for this package this would be setuptools
). Also it becomes more common to specify the setup options in a setup.cfg
file rather than in the setup.py
. This way of doing is much more complete to specify build dependencies and runtime dependencies.
Part of openjournals/joss-reviews#3996
In your examples/
folder you do call functions starting with underscore
_bound_for_sigma_norm
_candidate_integers_sigma
_bound_for_rho_embeddings
If these are supposed to be called by users why making them start with an underscore?
Part of openjournals/joss-reviews#3996
It is standard to provide releases for any library or software. As far as this Python package is concerned, the most straightforward would be to
0.0.0
)python setup.py sdist
)pip install
) and validity (using twine check
)Part of the review for openjournals/joss-reviews#3996
At https://github.com/fredstro/hilbertmodgroup/blob/main/src/hilbert_modgroup/upper_half_plane.pyx#L236 and https://github.com/fredstro/hilbertmodgroup/blob/main/src/hilbert_modgroup/hilbert_modular_group_class.py#L160 you overwrite the default __call__
of the sage Parent
class. Is there any reason for that? Doing so would prevent any coercion to happen.
Part of openjournals/joss-reviews#3996
The SageMath wiki has a page dedicated to external packages. Please add a section for hilbertmodgroup.
Part of openjournals/joss-reviews#3996.
The assumption about the localtion of SAGE_LIB
might be wrong
SAGE_LIB = f"{SAGE_LOCAL}/lib/python{PYTHON_VERSION}/site-packages"
On my system the compiled version of sage does not satisfy the above
$ sage-dev -python -c 'from sage.env import SAGE_LOCAL, SAGE_LIB; print(f"{SAGE_LOCAL}\n{SAGE_LIB}")'
/opt/sage/local
/opt/sage/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages
Part of openjournals/joss-reviews#3996
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.