InnerTrigonometricManipulations(R, F, FG)

efstruc.spad line 815 [edit on github]

This package provides transformations from trigonometric functions to exponentials and logarithms, and back. F and FG should be the same type of function space.

F2FG : F -> FG

F2FG(a + sqrt(-1) b) returns a + i b.

FG2F : FG -> F

FG2F(a + i b) returns a + sqrt(-1) b.

GF2FG : Complex(F) -> FG

GF2FG(a + i b) returns a + i b viewed as a function with the i pushed down into the coefficient domain.

do_liou : (BasicOperator, List(Complex(F))) -> Complex(F)

do_liou(op, lf) should be local but conditional.

explogs2trigs : FG -> Complex(F)

explogs2trigs(f) rewrites all the complex logs and exponentials appearing in f in terms of trigonometric functions.

trigs2explogs : (FG, List(Kernel(FG))) -> FG

trigs2explogs(f, [k1, ..., kn]) rewrites all the trigonometric functions appearing in f in terms of complex logarithms and exponentials. A kernel of the form tan(u) is expressed using exp(u)^2 if it is one of the ki's, in terms of exp(2*u) otherwise.