Solve does not look at keepfloat. It insists on finding the right
answer when possible.
Leo Butler wrote:
> 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)
>
>
>