1 | initial version |
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)]