Ask Your Question

Revision history [back]

First of all, as written in the documentation of the assume function: Instead of using chained comparison notation, each relationship should be passed as a separate assumption:

sage: x = SR.var('x')
sage: assume(0 < x, x < 1) # instead of assume(0 < x < 1)

Then, when you try to use solve the error message is relevant

TypeError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(a>0)', see `assume?` for more details)
Is a an integer?

(here the last line) If you add this additional assumption it works.

Here is the complete code

sage: a, x, y = SR.var('a,x,y')
sage: assume(a, 'real')
sage: assume(a, 'noninteger')   # or alternatively 'integer'
sage: assume(x, 'real')
sage: assume(y, 'real')
sage: assume(x > 0)
sage: assume(y > 0)
sage: solve(x == y^a, [y])
[y == x^(1/a)]