From b683f55821991763310a398797e03d935aa9e5fb Mon Sep 17 00:00:00 2001 From: "Johan S. R. Nielsen" Date: Sat, 30 Jul 2016 18:01:14 +0200 Subject: [PATCH] divide-by-two potential error. Improved an error message --- src/sage/rings/polynomial/skew_polynomial_ring.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/sage/rings/polynomial/skew_polynomial_ring.py b/src/sage/rings/polynomial/skew_polynomial_ring.py index bf965f95b87..bf5146d5c2b 100644 --- a/src/sage/rings/polynomial/skew_polynomial_ring.py +++ b/src/sage/rings/polynomial/skew_polynomial_ring.py @@ -717,13 +717,14 @@ def minimal_vanishing_polynomial(self, eval_pts, check=True): else: return x - (sigma(eval_pts[0]) / eval_pts[0]) else: - A = eval_pts[:len(eval_pts)/2] - B = eval_pts[(len(eval_pts)/2):] + t = len(eval_pts)//2 + A = eval_pts[:t] + B = eval_pts[t:] M_A = self.minimal_vanishing_polynomial(A) M_A_B = self.multi_point_evaluation(M_A, B) if check: if 0 in M_A_B: - raise ValueError("evaluation points are not linearly independent") + raise ValueError("evaluation points must be linearly independent over the fixed field of the twist map") M_M_A_B = self.minimal_vanishing_polynomial(M_A_B) return M_M_A_B * M_A @@ -758,8 +759,9 @@ def multi_point_evaluation(self, p, eval_pts): if len(eval_pts) == 1: return [ p(eval_pts[0]) ] else: - A = eval_pts[:len(eval_pts)/2] - B = eval_pts[(len(eval_pts)/2):] + t = len(eval_pts)//2 + A = eval_pts[:t] + B = eval_pts[t:] M_A = self.minimal_vanishing_polynomial(A) M_B = self.minimal_vanishing_polynomial(B) Q_A, R_A = p.right_quo_rem(M_A)