On 25.07.2018 15:30, Waldek Hebisch wrote:
> Ralf Hemmecke wrote:
>>
>>> Thinking loudly. In order to integrate trigonometric
>>> functions we need imaginary unit. So, if not present we
>
> Well, ATM I am thinking of doig this, but witout introducing such
> global constructor.
> But this is just small part of the whole problem.
>
Indeed! It would be nice to have full conformity with the (group) of roots of
unity (makes sense for any unital ring).
(Un)fortunately - depending on the pint of view - we have with X==>EXPR
INT,XC==>EXPR COMPLEX INT
(1) -> I:=rootsOf(x::X^2+1)
(1) [%x0, - %x0]
Type: List(Expression(Integer))
(2) -> J:=rootsOf(x::XC^2+1)
(2) [%x8, - %x8]
Type: List(Expression(Complex(Integer)))
but neither test(J.?=%i::XC) -> true. It's even unclear to me how one could
"save" XC so that exp(2*%pi*%i/N) is "known" as a principal N-th root of unity?
https://en.wikipedia.org/wiki/Principal_root_of_unity
In an integral domain, every primitive n-th root of unity is also a principal
n-th root of unity. In any ring,...
It works at least in the context of primitive roots, e.g. N=5
(3) -> rootsOf(x::XC^5+1)
(3)
2 3 3 2
[%x0, %x0 %x1, %x0 %x1 , %x0 %x1 , - %x0 %x1 - %x0 %x1 - %x0 %x1 - %x0]
Type: List(Expression(Complex(Integer)))
but simply adding an "imaginary" might lead to more confusion.
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.