Ryan Rueger

ryan@rueg.re / picture / key / home
aboutsummaryrefslogtreecommitdiffhomepage
path: root/uv_params.py
diff options
context:
space:
mode:
authorRyan Rueger <git@rueg.re>2025-04-30 18:26:40 +0200
committerRyan Rueger <git@rueg.re>2025-06-10 13:10:04 +0200
commit1f7e7d968ea1827459f7092abcf48ca83fe25a79 (patch)
treea6d096edb8c7790dc8bc42ce17f0c77efd5977dd /uv_params.py
parentcb6080eaa4f326d9fce5f0a9157be46e91d55e09 (diff)
downloadpegasis-main.tar.gz
pegasis-main.tar.bz2
pegasis-main.zip
Bugfixes and RefactoringHEADmain
Co-Authored-By: Pierrick Dartois <pierrickdartois@icloud.com> Co-Authored-By: Jonathan Komada Eriksen <jonathan.eriksen97@gmail.com Co-Authored-By: Boris Fouotsa <tako.fouotsa@epfl.ch> Co-Authored-By: Jonathan Komada Eriksen <jonathan.eriksen97@gmail.com> Co-Authored-By: Arthur Herlédan Le Merdy <ahlm@riseup.net> Co-Authored-By: Riccardo Invernizzi <nidadoni@gmail.com> Co-Authored-By: Damien Robert <Damien.Olivier.Robert+git@gmail.com> Co-Authored-By: Ryan Rueger <git@rueg.re> Co-Authored-By: Frederik Vercauteren <frederik.vercauteren@gmail.com> Co-Authored-By: Benjamin Wesolowski <benjamin@pasch.umpa.ens-lyon.fr>
Diffstat (limited to 'uv_params.py')
-rw-r--r--uv_params.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/uv_params.py b/uv_params.py
index c651347..e93d8ff 100644
--- a/uv_params.py
+++ b/uv_params.py
@@ -2,6 +2,7 @@ from sage.all import *
import coin
import const_precomp
+from ideals import ideal_to_sage
class UV_params:
"""
@@ -49,7 +50,9 @@ class UV_params:
def __init__(self, level, params=None):
level = int(level)
- if level == 500:
+ if level == 100:
+ self.init_100()
+ elif level == 500:
self.init_500()
elif level == 1000:
self.init_1000()
@@ -86,11 +89,22 @@ class UV_params:
self.n_squares = 2
self.sol_bound = 1
+ self.two_left = ideal_to_sage([[2, 0], [-1 / 2, 1 / 2]], self.max_order)
+ self.two_right = ideal_to_sage([[2, 0], [1 / 2, 1 / 2]], self.max_order)
+
# Optional parameter update
if params:
for p_key, p_val in params.items():
setattr(self,p_key,p_value)
+ def init_100(self):
+ self.f = 77
+ self.e = 100
+ self.p = self.f * 2**self.e - 1
+ self.A = 86576444069281248423336823187435
+ allowed_primes = [5, 7, 11]
+ self.allowed_primes = [ZZ(li) for li in allowed_primes]
+
def init_500(self):
self.f = 33
self.e = 503