Skip to content

algebraic real field partial_fraction_decomposition bug #10981

@sagetrac-mariah

Description

@sagetrac-mariah
sage: x= AA['x'].gen()
sage: P= 1/(1+x^4) 
sage: P.partial_fraction_decomposition() 
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/home/mariah/<ipython console> in <module>()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/categories/quotient_fields.pyc in partial_fraction_decomposition(self)
    173                 # note that the product below is non-empty, since the case
    174                 # of only one factor has been dealt with above
--> 175                 n = numer * prod([r for r in factors if r != d]).inverse_mod(d) % d # we know the inverse exists as the two are relatively prime
    176                 parts.append(n/d)
    177             return whole, parts

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.inverse_mod (sage/rings/polynomial/polynomial_element.c:9816)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.PrincipalIdealDomainElement.xgcd (sage/structure/element.c:15524)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial._xgcd (sage/rings/polynomial/polynomial_element.c:33988)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial.__div__ (sage/rings/polynomial/polynomial_element.c:12221)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:11449)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6105)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/coerce_actions.so in sage.structure.coerce_actions.RightModuleAction._call_ (sage/structure/coerce_actions.c:5782)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/polynomial_element.so in sage.rings.polynomial.polynomial_element.Polynomial_generic_dense._lmul_ (sage/rings/polynomial/polynomial_element.c:40358)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element.__nonzero__ (sage/structure/element.c:5806)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element.__richcmp__ (sage/structure/element.c:7169)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element._richcmp (sage/structure/element.c:7052)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/qqbar.pyc in __cmp__(self, other)
   3400         if self is other: return 0
   3401         if other._descr.is_rational() and other._descr.rational_value() == 0:
-> 3402             return self.sign()
   3403         elif self._descr.is_rational() and self._descr.rational_value() == 0:
   3404             return -other.sign()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/qqbar.pyc in sign(self)
   3597             0
   3598         """
-> 3599         if self._value.lower() > 0:
   3600             return 1
   3601         elif self._value.upper() < 0:

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/element.so in sage.structure.element.Element.__getattr__ (sage/structure/element.c:2715)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.getattr_from_other_class (sage/structure/parent.c:2841)()

/home/mariah/sage/sage-4.6.2-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.raise_attribute_error (sage/structure/parent.c:2636)()

AttributeError: 'sage.rings.complex_interval.ComplexIntervalFieldElement' object has no attribute 'lower'
sage: 

Apply

  1. attachment: trac_10981.patch
  2. attachment: trac_10981-fix_sphinx_warnings.reviewer.patch
    to the Sage library.

Component: algebra

Keywords: sd32

Author: William Stein

Reviewer: Simon Spicer, Leif Leonhardy

Merged: sage-4.7.2.alpha3

Issue created by migration from https://trac.sagemath.org/ticket/10981

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions