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.

Reply via email to