| 1 | initial version |
A possibility is to transform each element as a fraction and look at the coefficients of the numerator. The main issue is about the leading 0 which is not an element of the symbolic ring, and whose list of coefficients is empty. So here is a way (the fill function transforms [] into [0]):
sage: L = [0, -15*x1^3/x0^7 + 10*x1*x2/x0^6 - x3/x0^5, 15*x1^2/x0^6 - 4*x2/x0^5, -6*x1/x0^5, x0^(-4)]
sage: fill = lambda x : [0] if not x else x
sage: [fill(SR(p).fraction(ZZ).numerator().coefficients()) for p in L]
[[0], [-15, 10, -1], [15, -4], [-6], [1]]
| 2 | No.2 Revision |
A possibility is to transform each element as a fraction and look at the coefficients of the numerator. The main issue is about the leading 0 which is not an element of the symbolic ring, and whose list of coefficients is empty. So here is a way (the fill fill function transforms [] into [0]):
sage: L = [0, -15*x1^3/x0^7 + 10*x1*x2/x0^6 - x3/x0^5, 15*x1^2/x0^6 - 4*x2/x0^5, -6*x1/x0^5, x0^(-4)]
sage: fill = lambda x : [0] if not x else x
sage: [fill(SR(p).fraction(ZZ).numerator().coefficients()) for p in L]
[[0], [-15, 10, -1], [15, -4], [-6], [1]]
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.