login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Submitted by : kratt6 at: 2007-12-05T06:41:43-08:00 (14 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :


(1) -> d := continuedFraction(0,[1 for i in 1..], [1 for i in 0..])$CONTFRAC INT

\label{eq1}\zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \zag{1}{1}+ \ldots(1)
Type: ContinuedFraction?(Integer)

\label{eq2}1 + \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \zag{1}{4}+ \ldots(2)
Type: ContinuedFraction?(Integer)

so far, so good. But changing the domain to CONTFRAC UP(x, FRAC INT) makes axiom crash.

The problem appears to be, that INT is ordered, while UP(x, FRAC INT) is not. In contfrac.spad we find:

    eucWhole(a: Q): R == numer a quo denom a

    eucWhole0(a: Q): R ==
        isOrdered =>
            n := numer a
            d := denom a
            q := n quo d
            r := n - q*d
            if r < 0 then q := q - 1
        eucWhole a

If R is INT, eucWhole0(4/3) yields 1, in the other case it returns 4/3. I haven't been able to investigate further yet, though.


  Subject:   Be Bold !!
  ( 15 subscribers )  
Please rate this page: