We have two implementations of univariate Laurent series. One of them fails to compute all terms of degree <= 0 of the Laurent series 0. See demonstration below.
https://github.com/fricas/fricas/blob/master/src/algebra//suls.spad#L117 Problem seems to be that SULS computes the order of its input and fails to match the specification of order(l, 0). http://fricas.github.io/api/UnivariatePowerSeriesCategory.html#l-univariate-power-series-category-order order : % -> Expon ++ \spad{order(f)} is the degree of the lowest order non-zero ++ term in f. ++ This will result in an infinite loop if f has no non-zero terms. order : (%, Expon) -> Expon ++ \spad{order(f, n) = min(m, n)}, where m is the degree of the ++ lowest order non-zero term in f. Well, perhaps even the documentation is bad, since it is not really clear whether for f=0 and n=0, m is infinity and min(infinity, 0) is supposed to be 0, i.e. whether min refers to an implemented function min or to the (mathematical) min used in Z\cup\{\infty\}. IMHO, the implementation of iOrder is wrong. https://github.com/fricas/fricas/blob/master/src/algebra//sups.spad#L284 Shouldn't it rather be something like this? iOrder(st, n, refer) == explicitlyEmpty? st => n ... Ralf ======================================================== (1) -> L ==> UnivariateLaurentSeries(Fraction Integer, 'z, 0) Type: Void (2) -> l: L := 0 (2) 0 Type: UnivariateLaurentSeries(Fraction(Integer),z,0) (3) -> rationalFunction(l,0) (3) 0 Type: Fraction(Polynomial(Fraction(Integer))) (4) -> )clear completely All user variables and function definitions have been cleared. All )browse facility databases have been cleared. Internally cached functions and constructors have been cleared. )clear completely is finished. (1) -> L ==> SparseUnivariateLaurentSeries(Fraction Integer, 'z, 0) Type: Void (2) -> l: L := 0 (2) 0 Type: SparseUnivariateLaurentSeries(Fraction(Integer),z,0) (3) -> rationalFunction(l, 0) >> Error detected within library code: order: series has infinite order (3) -> order(l, 0) >> Error detected within library code: order: series has infinite order -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
