1. 27 May, 2015 1 commit
  2. 26 May, 2015 2 commits
  3. 23 May, 2015 1 commit
  4. 22 May, 2015 9 commits
  5. 21 May, 2015 11 commits
    • Release Manager's avatar
      Trac #18255: Remove silly LimitedPrecisionConstant class · 13e4d52f
      Release Manager authored
      `brun` fails horribly:
      {{{
      sage: brun.n()
      NotImplementedError: brun is only available up to 41 bits
      sage: brun?
      NotImplementedError: brun is only available up to 41 bits
      sage: brun??
      NotImplementedError: brun is only available up to 41 bits
      }}}
      and this leads to sporadic failure of `random_expr`, falsifying patchbot
      test results.
      
      URL: http://trac.sagemath.org/18255
      Reported by: rws
      Ticket author(s): Ralf Stephan
      Reviewer(s): Karl-Dieter Crisman, Jeroen Demeyer
      13e4d52f
    • Jori Mäntysalo's avatar
      Few corrections. · 311b95b0
      Jori Mäntysalo authored
      311b95b0
    • Release Manager's avatar
      Trac #18465: is_unit for multivariate Laurent polynomials · 9ced9779
      Release Manager authored
      the method is_unit is lacking for multivariate Laurent polynomials.
      
      URL: http://trac.sagemath.org/18465
      Reported by: chapoton
      Ticket author(s): Frédéric Chapoton
      Reviewer(s): Travis Scrimshaw
      9ced9779
    • Release Manager's avatar
      Trac #18445: Make Graph.sparse6 work on non-integer graphs · cd94981d
      Release Manager authored
      Right now:
      
      {{{
      sage: g = graphs.KneserGraph(5,2)
      sage: g.size()
      15
      sage: Graph(g.sparse6_string()).size()
      1
      }}}
      
      URL: http://trac.sagemath.org/18445
      Reported by: ncohen
      Ticket author(s): Nathann Cohen
      Reviewer(s): Michele Borassi
      cd94981d
    • Release Manager's avatar
      Trac #17520: Division by monomials in LaurentPolynomialRings should not be in the fraction field · 614bbf50
      Release Manager authored
      Right now, if we divide a Laurent Polynomial by a monomial, the result
      will live in the fraction field of the corresponding polynomial ring:
      
      {{{
      sage: R.<s,q,t>=LaurentPolynomialRing(QQ)
      sage: f=s^2*q+q^(-1)*t
      sage: f
      s^2*q + q^-1*t
      sage: f.parent()
      Multivariate Laurent Polynomial Ring in s, q, t over Rational Field
      sage: f/s
      (s^2*q^2 + t)/(s*q)
      sage: (f/s).parent()
      Fraction Field of Multivariate Polynomial Ring in s, q, t over Rational
      Field
      }}}
      
      But monomials here are units, so dividing by them should result in an
      element of the same ring.
      
      This patch solves this:
      
      {{{
      sage: R.<s,q,t>=LaurentPolynomialRing(QQ)
      sage: f=s^2*q+q^(-1)*t
      sage: f.parent()
      Multivariate Laurent Polynomial Ring in s, q, t over Rational Field
      sage: f/s
      s*q + s^-1*q^-1*t
      sage: (f/s).parent()
      Multivariate Laurent Polynomial Ring in s, q, t over Rational Field
      }}}
      
      URL: http://trac.sagemath.org/17520
      Reported by: mmarco
      Ticket author(s): Miguel Marco
      Reviewer(s): Frédéric Chapoton
      614bbf50
    • Frédéric Chapoton's avatar
      91f77733
    • Frédéric Chapoton's avatar
      487ff8e6
    • Jori Mäntysalo's avatar
    • Release Manager's avatar
      Trac #18461: Implement Field._gcd_univariate_polynomial() · 7a921c8d
      Release Manager authored
      The goal of this ticket is to implement a Cython method
      `Field._gcd_univariate_polynomial()` using the standard Euclidean
      algorithm.  This is much faster than
      `Fields.ParentMethods._gcd_univariate_polynomial()`, which calls
      `EuclideanDomains.ElementMethods.gcd()`, since both are Python methods.
      (The `_gcd_univariate_polynomial` mechanism was introduced in #13442.)
      
      The following bug can then be fixed by just removing
      `PolynomialRealDense.gcd()`, which does not take into account the case
      where one of the arguments of `gcd` is zero:
      {{{
      sage: R.<x> = RR[]
      sage: x.gcd(R.zero())
      Traceback (most recent call last):
      ...
      TypeError: 'MinusInfinity' object cannot be interpreted as an index
      }}}
      Removing this method ''without'' implementing
      `Field._gcd_univariate_polynomial()` (falling back on Python code) is
      about twice as slow; with this ticket there is no slowdown.
      
      Similarly, to make `CC` and `QQbar` use the new method instead of Python
      code, we also remove the now obsolete `Polynomial_generic_field.gcd()`.
      
      URL: http://trac.sagemath.org/18461
      Reported by: pbruin
      Ticket author(s): Peter Bruin
      Reviewer(s): Bruno Grenet
      7a921c8d
    • Release Manager's avatar
      Trac #18361: CategoryObject: never cache gens_dict · ebd5f4fe
      Release Manager authored
      The `cdef class CategoryObject` has this strange method:
      {{{
          def gens_dict(self):
               r"""
               Return a dictionary whose entries are
      ``{var_name:variable,...}``.
               """
               if HAS_DICTIONARY(self):
                  try:
                      if self._gens_dict is not None:
                          return self._gens_dict
                  except AttributeError:
                      pass
               v = {}
               for x in self.gens():
                   v[str(x)] = x
               if HAS_DICTIONARY(self):
                  self._gens_dict = v
               return v
      }}}
      which provides caching only for Python subclasses. It turns out that
      caching this doesn't really matter since `gens_dict()` is not used in
      critical code, so we can just remove the funny "caching".
      
      URL: http://trac.sagemath.org/18361
      Reported by: jdemeyer
      Ticket author(s): Jeroen Demeyer
      Reviewer(s): Vincent Delecroix
      ebd5f4fe
    • Frédéric Chapoton's avatar
  6. 20 May, 2015 14 commits
  7. 19 May, 2015 2 commits