GiNaC contains the following predefined mathematical functions:
For functions that have a branch cut in the complex plane GiNaC follows
the conventions for C++ as defined in the ANSI standard as far as
possible. In particular: the natural logarithm (log) and the
square root (sqrt) both have their branch cuts running along the
negative real axis where the points on the axis itself belong to the
upper part (i.e. continuous with quadrant II). The inverse
trigonometric and hyperbolic functions are not defined for complex
arguments by the C++ standard, however. In GiNaC we follow the
conventions used by CLN, which in turn follow the carefully designed
definitions in the Common Lisp standard. It should be noted that this
convention is identical to the one used by the C99 standard and by most
serious CAS. It is to be expected that future revisions of the C++
standard incorporate these functions in the complex domain in a manner
compatible with C99.