[Maxima] keepfloat

Leo Butler l.butler at ed.ac.uk
Mon Apr 13 13:11:31 CDT 2009

There appears to be an inconsistency in the documentation of `rat' and
`keepfloat' and how they work in practice.

Personally, I prefer the documented behaviour. Leo.

(%i1) ?? keepfloat;

  -- Option variable: keepfloat
      Default value: `false'

      When `keepfloat' is `true', prevents floating point numbers from
      being rationalized when expressions which contain them are
      converted to canonical rational expression (CRE) form.

(%o1)                                true
(%i2) keepfloat:true$ display2d:false$
(%i4) solve(4.5*x=0.77, x);
`rat' replaced -0.77 by -77/100 = -0.77
`rat' replaced 4.5 by 9/2 = 4.5
(%o4) [x = 77/450]
(%i5) ? rat;

  -- Function: rat (<expr>)
  -- Function: rat (<expr>, <x_1>, ..., <x_n>)

       `keepfloat' if `true' prevents floating point numbers from being
      converted to rational numbers.

(%i6) build_info();

Maxima version: 5.17.1
Maxima build date: 23:0 3/15/2009
host type: i686-pc-linux-gnu
lisp-implementation-type: CLISP
lisp-implementation-version: 2.44.1 (2008-02-23) (built 3427349244)
(memory 3446146824)

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

More information about the Maxima mailing list