Opened 6 years ago

Closed 4 years ago

#12417 closed enhancement (duplicate)

extend partial_fraction_decomposition() to work on ratios of multivariate polynomials

Reported by: araichev Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: categories Keywords: partial fraction decomposition multivariate polynomial ring
Cc: robertwb, malb Merged in:
Authors: Alex Raichev Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

Code to the compute a partial fraction decomposition of any elements of a fraction field of a multivariate polynomial rings over a field. Extends the existing sage.categories.quotient_fields function partial_fraction_decomposition().

Attachments (3)

trac_12417-pfd.patch (29.0 KB) - added by malb 6 years ago.
trac_12417-pfd.2.patch (29.9 KB) - added by araichev 6 years ago.
Tested on Sage 4.8
trac_12417-pfd.3.patch (41.8 KB) - added by araichev 5 years ago.
Tested on Sage 5.0.1

Download all attachments as: .zip

Change History (14)

comment:1 Changed 6 years ago by araichev

Imports fail in decompose_via_algebraic_dependence().

comment:2 Changed 6 years ago by malb

diff --git a/sage/categories/quotient_fields.py b/sage/categories/quotient_fields.py
--- a/sage/categories/quotient_fields.py
+++ b/sage/categories/quotient_fields.py
@@ -1052,8 +1052,8 @@

         - Alex Raichev (2011-01-10)
         """
-        from sage.structure.sequence import *
-        from sage.rings.polynomial.polynomial_ring_constructor import *
+        from sage.structure.sequence import Sequence
+        from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing

         parts = REFDSum([])
         R = self.base_ring()
@@ -1195,4 +1195,4 @@
         if done_decomposing:
             return parts
         else:
-            return parts.decompose_via_nullstellensatz()
\ No newline at end of file
+            return parts.decompose_via_nullstellensatz()
diff --git a/sage/rings/polynomial/multi_polynomial_sequence.py b/sage/rings/polynomial/multi_polynomial_sequence.py
--- a/sage/rings/polynomial/multi_polynomial_sequence.py
+++ b/sage/rings/polynomial/multi_polynomial_sequence.py
@@ -159,6 +159,7 @@
 from sage.rings.polynomial.multi_polynomial_ideal import MPolynomialIdeal
 from sage.rings.polynomial.multi_polynomial import is_MPolynomial
 from sage.structure.sequence import Sequence_generic
+from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing

 from sage.interfaces.singular import singular

gets you further. There was indeed an import missing, I wonder why we didn't catch this before?

Changed 6 years ago by malb

comment:3 Changed 6 years ago by malb

I've updated your patch accordingly.

Changed 6 years ago by araichev

Tested on Sage 4.8

comment:4 Changed 6 years ago by araichev

  • Status changed from new to needs_review

Changed 5 years ago by araichev

Tested on Sage 5.0.1

comment:5 in reply to: ↑ description Changed 5 years ago by araichev

Also posted notes at http://arxiv.org/abs/1206.4740 about the mathematical background of the multivariate partial fraction decompositions involved. These are referenced in the patch.

Last edited 5 years ago by araichev (previous) (diff)

comment:6 Changed 5 years ago by araichev

  • Owner changed from nthiery to (none)

I'd like to discard this ticket, because the patch's functionality has been subsumed by the patch for http://trac.sagemath.org/sage_trac/ticket/10519.

comment:7 Changed 4 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:8 Changed 4 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:9 Changed 4 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:10 Changed 4 years ago by rws

  • Milestone changed from sage-6.3 to sage-duplicate/invalid/wontfix
  • Status changed from needs_review to positive_review

abandoned, see comment:6

comment:11 Changed 4 years ago by vbraun

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.