Martin R wrote: > > Nasser found the following interesting bug at > https://trac.sagemath.org/ticket/25905: > > (1) -> f := (I*a*tan(d*x + c) + a)^3*tan(d*x + c) > > (1) > 3 3 4 2 3 3 3 2 > I a tan(d x + c) + 3 I a tan(d x + c) + 3 I a tan(d x + c) > + > 3 > a tan(d x + c) > Type: > Expression(Integer) > (2) -> F := integrate(f, x) > > (2) > 2 3 1 3 3 3 > (9 I - 3)a log(-----------------) + 2 I a tan(d x + c) > 2 > tan(d x + c) + 1 > + > 2 3 2 3 3 3 3 > 9 I a tan(d x + c) + (- 6 I + 18 I)a tan(d x + c) + (6 I - 18 I)a > d x > / > 6 d > Type: > Union(Expression(Integer),...) > (3) -> D(eval(F, I =%i), x)-eval(f, I=%i) > > (3) 0 > Type: > Expression(Complex(Integer)) > (4) -> F := integrate(eval(f, I=%i), x) > > >> System error: > arithmetic error DIVISION-BY-ZERO signalled > Operation was (/ -2 0). > > Any ideas?
This is old confusion between real and complex. We create Complex(Complex(Integer)) and loose. It would be good to clean this up. AFAICS proper fix should not require much code, but it is going to touch several domains and packages. Basically, old code assumed that functions are real and allowed complex functions only as a hack. Current 'FunctionSpaceComplexIntegration' integrates _real_ function by passage to complex variables. We need a function to integrate _complex_ functions. -- Waldek Hebisch -- 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 fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.