sage: var('q')
q
sage: (q+q^(-1))^(1/2)
sqrt(q + 1/q)
(By the way, I'm not sure I would call using a fraction field "naive".)
On Sunday, April 26, 2020 at 9:01:35 AM UTC-7, Jin Guu wrote:
>
> I am writing a calculator for various 'q' quantities, and often find that
> I need to manipulate symbols more flexibly. For example, I have to deal
> with the expression
>
> ( q + q^(-1) ) ^ (1/2) ------------------ (*)
>
> But currently I could not find any way to achieve this. A naive attempt
> gives a failure:
>
> sage: q = Frac(ZZ['q']).gen()
> sage: q ^ (1/2)
> ---> ValueError: not a 2nd power
> sage: power(q, 1/2)
> NotImplementedError: non-integral exponents not supported
>
> Leave alone the expression I need! Indeed, one might have to define a
> larger parent for the expression (*) to live in. So this might require
> implementing a new algebraic structure. If that's the case, I'm willing to
> write it. The problem is that implementing a new structure seems a bit
> complicated to me.. I might take some time, and need some guides. Thank you
> so much!
>
> PS. Weirdly enough, exp(sin(q)) is already implemented as in the class
> <class 'sage.symbolic.expression.Expression'>. Perhaps what I need might
> not be too hard to implement?
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-support/ade75123-de8c-4c93-a81b-ba244057c72a%40googlegroups.com.