# What does "Runtime Error: ECL says: ... is not of type FIXNUM" mean and how to fix it?

I am trying to integrate $x(0.6x^{0.5}+0.6)$ from $0$ to 1.

Here's what I tried:

var('x')
(x*(0.6*x^0.5+0.6)).integrate(x,0,1)


But I received the following error:

RuntimeError: ECL says: 3.0 is not of type FIXNUM.


What does the error mean (I am especially curious where the 3 came from) and what can I do to correctly evaluate the definite integral? According to Wolfram Alpha, the answer is 0.54.

edit retag close merge delete

Sort by » oldest newest most voted

This doesn't fix the underlying issue that Maxima really doesn't like floating point exponents for some reason (see here for a related issue), but since you probably mean exact precision with your exponent here, try this:

sage: (x*(0.6*x^(1/2)+0.6)).integrate(x,0,1)
0.54


The underlying question is whether x^0.5 or x to any decimal power (as a "floating point" object) is really the same as x^(1/2), and if it isn't, then what the heck does it mean? These are subtle questions that different systems handle differently.

more