| 
      
      
      From: Dieter K. <cra...@us...> - 2011-06-15 19:21:57
      
     | 
| This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima, A Computer Algebra System".
The branch, master has been updated
       via  e0a447b32f3198c0e05912082a01e0f781a5b784 (commit)
       via  7ff14cb55b3197e8ca6d91d8f390414a24ffb332 (commit)
       via  2dd09e7f1fc4f1ef2fdf390fc629f8be728dc597 (commit)
       via  f031546790826943cee3d5560d42e1f2f64fe5d2 (commit)
       via  5f4cddc1eb9eba4f37141f71c9869c5e170dd7e5 (commit)
       via  37bff78b0e002aa94da4d52e4d1d4c9b7f02bb15 (commit)
      from  0108623c8eea2c36ffd5677f34b7223cd5cfeb54 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e0a447b32f3198c0e05912082a01e0f781a5b784
Author: crategus <cra...@us...>
Date:   Wed Jun 15 21:19:23 2011 +0200
    Adding documentation
    
    from Logarithms.texi
    %e_to_numlog
    li
    log
    logabs
    logarc
    logconcoeffp
    logexpand
    lognegint
    lognumer
    logsimp
    plog
    
    from Trigonometric.texi:
    %piargs
    %iargs
    acos
    acosh
    acot
    acoth
    acsc
    acsch
    asec
    asech
    asin
    asinh
    atan
    atan2
    atanh
    atrig1
    cos
    cosh
    cot
    coth
    csc
    csch
    halfangles
    ntrig
    sec
    sech
    sin
    sinh
    tan
    tanh
    trigexpand
    trigexpandplus
    trigexpandtimes
    triginverses
    trigreduce
    trigsign
    trigsimp
    trigrat
diff --git a/doc/info/MathFunctions.texi b/doc/info/MathFunctions.texi
index e4f7597..aaafa57 100644
--- a/doc/info/MathFunctions.texi
+++ b/doc/info/MathFunctions.texi
@@ -4,7 +4,6 @@
 * Combinatorial Functions::
 * Root Exponential and Logarithmic Functions::
 * Trigonometric Functions::
-* Hyperbolic Functions::
 * Random Numbers::
 @end menu
 
@@ -779,6 +778,22 @@ When @code{sumsplitfact} is @code{false},
 @c -----------------------------------------------------------------------------
 
 @c -----------------------------------------------------------------------------
+@anchor{%e_to_numlog}
+@defvr {Option variable} %e_to_numlog
+Default value: @code{false}
+
+When @code{true}, @code{r} some rational number, and @code{x} some expression,
+@code{%e^(r*log(x))} will be simplified into @code{x^r} .  It should be noted
+that the @code{radcan} command also does this transformation, and more
+complicated transformations of this ilk as well.  The @code{logcontract}
+command "contracts" expressions containing @code{log}.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
 @anchor{%emode}
 @defvr {Option variable} %emode
 Default value: @code{true}
@@ -848,6 +863,302 @@ See @mrefdot{%emode}
 @closecatbox
 @end deffn
 
+
+@c -----------------------------------------------------------------------------
+@anchor{li}
+@deffn {Function} li [@var{s}] (@var{z})
+
+Represents the polylogarithm function of order @var{s} and argument @var{z},
+defined by the infinite series
+
+@tex
+$${\rm Li}_s \left(z\right) = \sum_{k=1}^\infty {z^k \over k^s}$$
+@end tex
+@ifnottex
+@example
+                                 inf
+                                 ====   k
+                                 \     z
+                        Li (z) =  >    --
+                          s      /      s
+                                 ====  k
+                                 k = 1
+@end example
+@end ifnottex
+
+@code{li [1]} is @code{- log (1 - z)}.  @code{li [2]} and @code{li [3]} are the
+dilogarithm and trilogarithm functions, respectively.
+
+When the order is 1, the polylogarithm simplifies to @code{- log (1 - z)}, which
+in turn simplifies to a numerical value if @var{z} is a real or complex floating
+point number or the @code{numer} evaluation flag is present.
+
+When the order is 2 or 3,
+the polylogarithm simplifies to a numerical value
+if @var{z} is a real floating point number
+or the @code{numer} evaluation flag is present.
+
+Examples:
+
+@c ===beg===
+@c assume (x > 0);
+@c integrate ((log (1 - t)) / t, t, 0, x);
+@c li [2] (7);
+@c li [2] (7), numer;
+@c li [3] (7);
+@c li [2] (7), numer;
+@c L : makelist (i / 4.0, i, 0, 8);
+@c map (lambda ([x], li [2] (x)), L);
+@c map (lambda ([x], li [3] (x)), L);
+@c ===end===
+@example
+(%i1) assume (x > 0);
+(%o1)                        [x > 0]
+(%i2) integrate ((log (1 - t)) / t, t, 0, x);
+(%o2)                       - li (x)
+                                2
+(%i3) li [2] (7);
+(%o3)                        li (7)
+                               2
+(%i4) li [2] (7), numer;
+(%o4)        1.24827317833392 - 6.113257021832577 %i
+(%i5) li [3] (7);
+(%o5)                        li (7)
+                               3
+(%i6) li [2] (7), numer;
+(%o6)        1.24827317833392 - 6.113257021832577 %i
+(%i7) L : makelist (i / 4.0, i, 0, 8);
+(%o7)   [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]
+(%i8) map (lambda ([x], li [2] (x)), L);
+@group
+(%o8) [0, .2676526384986274, .5822405249432515, 
+.9784693966661848, 1.64493407, 2.190177004178597
+ - .7010261407036192 %i, 2.374395264042415
+ - 1.273806203464065 %i, 2.448686757245154
+ - 1.758084846201883 %i, 2.467401098097648
+ - 2.177586087815347 %i]
+@end group
+(%i9) map (lambda ([x], li [3] (x)), L);
+(%o9) [0, .2584613953442624, 0.537213192678042, 
+.8444258046482203, 1.2020569, 1.642866878950322
+ - .07821473130035025 %i, 2.060877505514697
+ - .2582419849982037 %i, 2.433418896388322
+ - .4919260182322965 %i, 2.762071904015935
+ - .7546938285978846 %i]
+@end example
+
+@opencatbox
+@category{Exponential and logarithm functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{log}
+@deffn {Function} log (@var{x})
+
+Represents the natural (base @math{e}) logarithm of @var{x}.
+
+Maxima does not have a built-in function for the base 10 logarithm or other 
+bases. @code{log10(x) := log(x) / log(10)} is a useful definition.
+
+Simplification and evaluation of logarithms is governed by several global flags:
+
+@table @code
+@item @code{logexpand}
+causes @code{log(a^b)} to become @code{b*log(a)}. If it is 
+set to @code{all}, @code{log(a*b)} will also simplify to @code{log(a)+log(b)}.
+If it is set to @code{super}, then @code{log(a/b)} will also simplify to 
+@code{log(a)-log(b)} for rational numbers @code{a/b}, @code{a#1}. 
+(@code{log(1/b)}, for @code{b} integer, always simplifies.) If it is set to 
+@code{false}, all of these simplifications will be turned off.
+
+@item @code{logsimp}
+if @code{false} then no simplification of @code{%e} to a power containing 
+@code{log}'s is done.
+
+@item @code{lognumer}
+if @code{true} then negative floating point arguments to @code{log} will always 
+be converted to their absolute value before the @code{log} is taken. If 
+@code{numer} is also @code{true}, then negative integer arguments to @code{log}
+will also be converted to their absolute value.
+
+@item @code{lognegint}
+if @code{true} implements the rule @code{log(-n)} -> @code{log(n)+%i*%pi} for 
+@code{n} a positive integer.
+
+@item @code{%e_to_numlog}
+when @code{true}, @code{r} some rational number, and @code{x} some expression,
+the expression @code{%e^(r*log(x))} will be simplified into @code{x^r}.  It
+should be noted that the @code{radcan} command also does this transformation,
+and more complicated transformations of this as well. The @code{logcontract} 
+command "contracts" expressions containing @code{log}.
+@end table
+
+@opencatbox
+@category{Exponential and logarithm functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{logabs}
+@defvr {Option variable} logabs
+Default value: @code{false}
+
+When doing indefinite integration where logs are generated, e.g.
+@code{integrate(1/x,x)}, the answer is given in terms of @code{log(abs(...))}
+if @code{logabs} is @code{true}, but in terms of @code{log(...)} if
+@code{logabs} is @code{false}.  For definite integration, the @code{logabs:true}
+setting is used, because here "evaluation" of the indefinite integral at the
+endpoints is often needed.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Integral calculus} @category{Global flags}
+@closecatbox
+@end defvr
+
+@c NEEDS EXAMPLES
+
+@c -----------------------------------------------------------------------------
+@anchor{logarc}
+@defvr  {Option variable} logarc
+@defvrx {Function} logarc (@var{expr})
+
+When the global variable @code{logarc} is @code{true},
+inverse circular and hyperbolic functions are replaced by
+equivalent logarithmic functions.
+The default value of @code{logarc} is @code{false}.
+
+The function @code{logarc(@var{expr})} carries out that replacement for
+an expression @var{expr}
+without setting the global variable @code{logarc}.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables} @category{Simplification functions}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{logconcoeffp}
+@defvr {Option variable} logconcoeffp
+Default value: @code{false}
+
+Controls which coefficients are
+contracted when using @code{logcontract}.  It may be set to the name of a
+predicate function of one argument.  E.g. if you like to generate
+SQRTs, you can do @code{logconcoeffp:'logconfun$
+logconfun(m):=featurep(m,integer) or ratnump(m)$} .  Then
+@code{logcontract(1/2*log(x));} will give @code{log(sqrt(x))}.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{logcontract}
+@deffn {Function} logcontract (@var{expr})
+
+Recursively scans the expression @var{expr}, transforming
+subexpressions of the form @code{a1*log(b1) + a2*log(b2) + c} into
+@code{log(ratsimp(b1^a1 * b2^a2)) + c}
+
+@c ===beg===
+@c 2*(a*log(x) + 2*a*log(y))$
+@c logcontract(%);
+@c ===end===
+@example
+(%i1) 2*(a*log(x) + 2*a*log(y))$
+(%i2) logcontract(%);
+                                 2  4
+(%o2)                     a log(x  y )
+@end example
+
+The declaration @code{declare(n,integer)} causes
+@code{logcontract(2*a*n*log(x))} to simplify to @code{a*log(x^(2*n))}.  The
+coefficients that "contract" in this manner are those such as the 2 and the
+@code{n} here which satisfy @code{featurep(coeff,integer)}.  The user can
+control which coefficients are contracted by setting the option
+@code{logconcoeffp} to the name of a predicate function of one argument.
+E.g. if you like to generate SQRTs, you can do @code{logconcoeffp:'logconfun$
+logconfun(m):=featurep(m,integer) or ratnump(m)$} .  Then
+@code{logcontract(1/2*log(x));} will give @code{log(sqrt(x))}.
+
+@opencatbox
+@category{Exponential and logarithm functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{logexpand}
+@defvr {Option variable} logexpand
+Default value: @code{false}
+
+If @code{true} causes @code{log(a^b)} to become @code{b*log(a)}.  If it is set 
+to @code{all}, @code{log(a*b)} will also simplify to @code{log(a)+log(b)}.  If 
+it is set to @code{super}, then @code{log(a/b)} will also simplify to 
+@code{log(a)-log(b)} for rational numbers @code{a/b}, @code{a#1}.
+(@code{log(1/b)}, for integer @code{b}, always simplifies.) If it is set to 
+@code{false}, that is the default value, all of these simplifications will be 
+turned off.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{lognegint}
+@defvr {Option variable} lognegint
+Default value: @code{false}
+
+If @code{true} implements the rule
+@code{log(-n)} -> @code{log(n)+%i*%pi} for @code{n} a positive integer.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{lognumer}
+@defvr {Option variable} lognumer
+Default value: @code{false}
+
+If @code{true} then negative floating point arguments to @code{log} will always
+be converted to their absolute value before the @code{log} is taken.  If
+@code{numer} is also @code{true}, then negative integer arguments to @code{log}
+will also be converted to their absolute value.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables} @category{Numerical evaluation}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{logsimp}
+@defvr {Option variable} logsimp
+Default value: @code{true}
+
+If @code{false} then no simplification of @code{%e} to a
+power containing @code{log}'s is done.
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{plog}
+@deffn {Function} plog (@var{x})
+
+Represents the principal branch of the complex-valued natural
+logarithm with @code{-%pi} < @code{carg(@var{x})} <= @code{+%pi} .
+
+@opencatbox
+@category{Exponential and logarithm functions} @category{Complex variables}
+@closecatbox
+@end deffn
+
 @c -----------------------------------------------------------------------------
 @anchor{sqrt}
 @deffn {Function} sqrt (@var{x})
@@ -866,17 +1177,875 @@ which are powers of n to be pulled outside of the radical, e.g.
 @end deffn
 
 @c -----------------------------------------------------------------------------
-@node Trigonometric Functions, Hyperbolic Functions, Root Exponential and Logarithmic Functions, Mathematical Functions
+@page
+@node Trigonometric Functions, Random Numbers, Root Exponential and Logarithmic Functions, Mathematical Functions
 @section Trigonometric Functions
 @c -----------------------------------------------------------------------------
 
+@menu
+* Introduction to Trigonometric::
+* Functions and Variables for Trigonometric::
+@end menu
+
+@c -----------------------------------------------------------------------------
+@node Introduction to Trigonometric, Functions and Variables for Trigonometric, Trigonometric Functions, Trigonometric Functions
+@subsection Introduction to Trigonometric
+@c -----------------------------------------------------------------------------
+
+Maxima has many trigonometric functions defined.  Not all trigonometric
+identities are programmed, but it is possible for the user to add many
+of them using the pattern matching capabilities of the system.  The
+trigonometric functions defined in Maxima are: @code{acos},
+@code{acosh}, @code{acot}, @code{acoth}, @code{acsc},
+@code{acsch}, @code{asec}, @code{asech}, @code{asin},
+@code{asinh}, @code{atan}, @code{atanh}, @code{cos},
+@code{cosh}, @code{cot}, @code{coth}, @code{csc}, @code{csch},
+@code{sec}, @code{sech}, @code{sin}, @code{sinh}, @code{tan},
+and @code{tanh}.  There are a number of commands especially for
+handling trigonometric functions, see @code{trigexpand},
+@code{trigreduce}, and the switch @code{trigsign}.  Two share
+packages extend the simplification rules built into Maxima,
+@code{ntrig} and @code{atrig1}.  Do @code{describe(@var{command})}
+for details.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+
+@c -----------------------------------------------------------------------------
+@node Functions and Variables for Trigonometric,  , Introduction to Trigonometric, Trigonometric Functions
+@subsection Functions and Variables for Trigonometric
+@c -----------------------------------------------------------------------------
+
+@c -----------------------------------------------------------------------------
+@anchor{%piargs}
+@defvr {Option variable} %piargs
+Default value: @code{true}
+
+When @code{%piargs} is @code{true},
+trigonometric functions are simplified to algebraic constants
+when the argument is an integer multiple of
+@iftex
+@math{\pi}, @math{\pi/2}, @math{\pi/3}, @math{\pi/4}, or @math{\pi/6}.
+@end iftex
+@ifnottex
+@math{%pi}, @math{%pi/2}, @math{%pi/3}, @math{%pi/4}, or @math{%pi/6}.
+@end ifnottex
+
+@iftex
+Maxima knows some identities which can be applied when @math{\pi}, etc.,
+@end iftex
+@ifnottex
+Maxima knows some identities which can be applied when @math{%pi}, etc.,
+@end ifnottex
+are multiplied by an integer variable (that is, a symbol declared to be
+integer).
+
+Examples:
+
+@c ===beg===
+@c %piargs : false$
+@c [sin (%pi), sin (%pi/2), sin (%pi/3)];
+@c [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
+@c %piargs : true$
+@c [sin (%pi), sin (%pi/2), sin (%pi/3)];
+@c [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
+@c [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
+@c        cos (sqrt(2)*%pi/3)];
+@c ===end===
+@example
+(%i1) %piargs : false$
+@group
+(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
+                                %pi       %pi
+(%o2)            [sin(%pi), sin(---), sin(---)]
+                                 2         3
+@end group
+@group
+(%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
+                      %pi       %pi       %pi
+(%o3)            [sin(---), sin(---), sin(---)]
+                       4         5         6
+@end group
+(%i4) %piargs : true$
+@group
+(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
+                                sqrt(3)
+(%o5)                    [0, 1, -------]
+                                   2
+@end group
+@group
+(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
+                         1         %pi   1
+(%o6)                [-------, sin(---), -]
+                      sqrt(2)       5    2
+@end group
+@group
+(%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
+       cos (sqrt(2)*%pi/3)];
+                1    1               sqrt(2) %pi
+(%o7)          [-, - -, sqrt(3), cos(-----------)]
+                2    2                    3
+@end group
+@end example
+
+@iftex
+Some identities are applied when @math{\pi} and @math{\pi/2} are multiplied by
+an integer variable.
+@end iftex
+@ifnottex
+Some identities are applied when @math{%pi} and @math{%pi/2} are multiplied by
+an integer variable.
+@end ifnottex
+
+@c ===beg===
+@c declare (n, integer, m, even)$
+@c [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
+@c        cos (%pi/2 * m)];
+@c ===end===
+@example
+(%i1) declare (n, integer, m, even)$
+(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
+       cos (%pi/2 * m)];
+@group
+                                      m/2
+(%o2)                  [0, 1, 0, (- 1)   ]
+@end group
+@end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{%iargs}
+@defvr {Option variable} %iargs
+Default value: @code{true}
+
+When @code{%iargs} is @code{true},
+trigonometric functions are simplified to hyperbolic functions
+@iftex
+when the argument is apparently a multiple of the imaginary unit @math{i}.
+@end iftex
+@ifnottex
+when the argument is apparently a multiple of the imaginary unit @math{%i}.
+@end ifnottex
+
+Even when the argument is demonstrably real, the simplification is applied;
+@iftex
+Maxima considers only whether the argument is a literal multiple of @math{i}.
+@end iftex
+@ifnottex
+Maxima considers only whether the argument is a literal multiple of @math{%i}.
+@end ifnottex
+
+Examples:
+
+@c ===beg===
+@c %iargs : false$
+@c [sin (%i * x), cos (%i * x), tan (%i * x)];
+@c %iargs : true$
+@c [sin (%i * x), cos (%i * x), tan (%i * x)];
+@c ===end===
+@example
+(%i1) %iargs : false$
+(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
+(%o2)           [sin(%i x), cos(%i x), tan(%i x)]
+(%i3) %iargs : true$
+(%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
+(%o4)           [%i sinh(x), cosh(x), %i tanh(x)]
+@end example
+
+Even when the argument is demonstrably real, the simplification is applied.
+
+@c ===beg===
+@c declare (x, imaginary)$
+@c [featurep (x, imaginary), featurep (x, real)];
+@c sin (%i * x);
+@c ===end===
+@example
+(%i1) declare (x, imaginary)$
+@group
+(%i2) [featurep (x, imaginary), featurep (x, real)];
+(%o2)                     [true, false]
+@end group
+@group
+(%i3) sin (%i * x);
+(%o3)                      %i sinh(x)
+@end group
+@end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Hyperbolic functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acos (@var{x})
+
+-- Arc Cosine.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acosh (@var{x})
+
+-- Hyperbolic Arc Cosine.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acot (@var{x})
+
+-- Arc Cotangent.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acoth (@var{x})
+
+-- Hyperbolic Arc Cotangent.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acsc (@var{x})
+
+-- Arc Cosecant.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} acsch (@var{x})
+
+-- Hyperbolic Arc Cosecant.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} asec (@var{x})
+
+-- Arc Secant.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} asech (@var{x})
+
+-- Hyperbolic Arc Secant.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} asin (@var{x})
+
+-- Arc Sine.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} asinh (@var{x})
+
+-- Hyperbolic Arc Sine.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} atan (@var{x})
+
+-- Arc Tangent.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} atan2 (@var{y}, @var{x})
+
+-- yields the value of @code{atan(@var{y}/@var{x})} in the interval @code{-%pi}
+to @code{%pi}.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} atanh (@var{x})
+
+-- Hyperbolic Arc Tangent.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c IS THIS DESCRIPTION ACCURATE ??
+@c LET'S BE EXPLICIT ABOUT EXACTLY WHAT ARE THE RULES IMPLEMENTED BY THIS PACKAGE
+
+@c -----------------------------------------------------------------------------
+@defvr {Package} atrig1
+
+The @code{atrig1} package contains several additional simplification rules
+for inverse trigonometric functions.  Together with rules
+already known to Maxima, the following angles are fully implemented:
+@code{0}, @code{%pi/6}, @code{%pi/4}, @code{%pi/3}, and @code{%pi/2}.
+Corresponding angles in the other three quadrants are also available.
+Do @code{load(atrig1);} to use them.
+
+@opencatbox
+@category{Trigonometric functions} @category{Package atrig1}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} cos (@var{x})
+
+-- Cosine.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} cosh (@var{x})
+
+-- Hyperbolic Cosine.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} cot (@var{x})
+
+-- Cotangent.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} coth (@var{x})
+
+-- Hyperbolic Cotangent.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} csc (@var{x})
+
+-- Cosecant.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} csch (@var{x})
+
+-- Hyperbolic Cosecant.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{halfangles}
+@defvr {Option variable} halfangles
+Default value: @code{false}
+
+When @code{halfangles} is @code{true}, trigonometric functions of arguments 
+@code{@var{expr}/2} are simplified to functions of @var{expr}.
+
+For a real argument @var{x} in the interval @code{0 < x < 2*%pi} the sine of 
+the half-angle simplifies to a simple formula:
+
+@example
+                         sqrt(1 - cos(x))
+                         ----------------
+                             sqrt(2)
+@end example
+
+A complicated factor is needed to make this formula correct for all complex 
+arguments @var{z}:
+
+@verbatim
+           realpart(z)
+     floor(-----------)
+              2 %pi
+(- 1)                   (1 - unit_step(- imagpart(z))
+
+                            realpart(z)            realpart(z)
+                      floor(-----------) - ceiling(-----------)
+                               2 %pi                  2 %pi
+                ((- 1)                                          + 1))
+@end verbatim
+
+Maxima knows this factor and similar factors for the functions @code{sin}, 
+@code{cos}, @code{sinh}, and @code{cosh}.  For special values of the argument 
+@math{z} these factors simplify accordingly.
+
+Examples:
+
+@c ===beg===
+@c halfangles : false$
+@c sin (x / 2);
+@c halfangles : true$
+@c sin (x / 2);
+@c assume(x>0, x<2*%pi)$
+@c sin(x / 2);
+@c ===end===
+@example
+(%i1) halfangles:false;
+(%o1)                                false
+(%i2) sin(x/2);
+                                        x
+(%o2)                               sin(-)
+                                        2
+(%i3) halfangles:true;
+(%o3)                                true
+(%i4) sin(x/2);
+                                                    x
+                                            floor(-----)
+                                                  2 %pi
+                      sqrt(1 - cos(x)) (- 1)
+(%o4)                 ----------------------------------
+                                   sqrt(2)
+(%i5) assume(x>0, x<2*%pi)$
+(%i6) sin(x/2);
+                               sqrt(1 - cos(x))
+(%o6)                          ----------------
+                                   sqrt(2)
+@end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c IS THIS DESCRIPTION ACCURATE ??
+@c LET'S BE EXPLICIT ABOUT EXACTLY WHAT ARE THE RULES IMPLEMENTED BY THIS PACKAGE
+
+@c -----------------------------------------------------------------------------
+@defvr {Package} ntrig
+
+The @code{ntrig} package contains a set of simplification rules that are
+used to simplify trigonometric function whose arguments are of the form
+@code{@var{f}(@var{n} %pi/10)} where @var{f} is any of the functions
+@code{sin}, @code{cos}, @code{tan}, @code{csc}, @code{sec} and @code{cot}.
+@c NEED TO LOAD THIS PACKAGE ??
+
+@opencatbox
+@category{Trigonometric functions} @category{Package ntrig}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} sec (@var{x})
+
+-- Secant.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
 @c -----------------------------------------------------------------------------
-@node Hyperbolic Functions, Random Numbers, Trigonometric Functions, Mathematical Functions
-@section Hyperbolic Functions
+@deffn {Function} sech (@var{x})
+
+-- Hyperbolic Secant.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
 @c -----------------------------------------------------------------------------
+@deffn {Function} sin (@var{x})
+
+-- Sine.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} sinh (@var{x})
+
+-- Hyperbolic Sine.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} tan (@var{x})
+
+-- Tangent.
+
+@opencatbox
+@category{Trigonometric functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@deffn {Function} tanh (@var{x})
+
+-- Hyperbolic Tangent.
+
+@opencatbox
+@category{Hyperbolic functions}
+@closecatbox
+@end deffn
+
+@c NEEDS CLARIFICATION AND EXAMPLES
+
+@c -----------------------------------------------------------------------------
+@anchor{trigexpand}
+@deffn {Function} trigexpand (@var{expr})
+
+Expands trigonometric and hyperbolic functions of
+sums of angles and of multiple angles occurring in @var{expr}.  For best
+results, @var{expr} should be expanded.  To enhance user control of
+simplification, this function expands only one level at a time,
+expanding sums of angles or multiple angles.  To obtain full expansion
+into sines and cosines immediately, set the switch @code{trigexpand: true}.
+
+@code{trigexpand} is governed by the following global flags:
+
+@table @code
+@item trigexpand
+If @code{true} causes expansion of all
+expressions containing sin's and cos's occurring subsequently.
+@item halfangles
+If @code{true} causes half-angles to be simplified
+away.
+@item trigexpandplus
+Controls the "sum" rule for @code{trigexpand},
+expansion of sums (e.g. @code{sin(x + y)}) will take place only if
+@code{trigexpandplus} is @code{true}.
+@item trigexpandtimes
+Controls the "product" rule for @code{trigexpand},
+expansion of products (e.g. @code{sin(2 x)}) will take place only if
+@code{trigexpandtimes} is @code{true}.
+@end table
+
+Examples:
+
+@c ===beg===
+@c x+sin(3*x)/sin(x),trigexpand=true,expand;
+@c trigexpand(sin(10*x+y));
+@c ===end===
+@example
+(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
+@group
+                         2           2
+(%o1)               - sin (x) + 3 cos (x) + x
+@end group
+(%i2) trigexpand(sin(10*x+y));
+(%o2)          cos(10 x) sin(y) + sin(10 x) cos(y)
+@end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{trigexpandplus}
+@defvr {Option variable} trigexpandplus
+Default value: @code{true}
+
+@code{trigexpandplus} controls the "sum" rule for
+@code{trigexpand}.  Thus, when the @code{trigexpand} command is used or the
+@code{trigexpand} switch set to @code{true}, expansion of sums
+(e.g. @code{sin(x+y))} will take place only if @code{trigexpandplus} is
+@code{true}.
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{trigexpandtimes}
+@defvr {Option variable} trigexpandtimes
+Default value: @code{true}
+
+@code{trigexpandtimes} controls the "product" rule for @code{trigexpand}.
+Thus, when the @code{trigexpand} command is used or the @code{trigexpand}
+switch set to @code{true}, expansion of products (e.g. @code{sin(2*x)})
+will take place only if @code{trigexpandtimes} is @code{true}.
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{triginverses}
+@defvr {Option variable} triginverses
+Default value: @code{true}
+
+@code{triginverses} controls the simplification of the
+composition of trigonometric and hyperbolic functions with their inverse
+functions.
+
+If @code{all}, both e.g. @code{atan(tan(@var{x}))}
+and @code{tan(atan(@var{x}))} simplify to @var{x}.
+
+If @code{true}, the @code{@var{arcfun}(@var{fun}(@var{x}))}
+simplification is turned off.
+
+If @code{false}, both the
+@code{@var{arcfun}(@var{fun}(@var{x}))} and
+@code{@var{fun}(@var{arcfun}(@var{x}))}
+simplifications are turned off.
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{trigreduce}
+@deffn  {Function} trigreduce (@var{expr}, @var{x})
+@deffnx {Function} trigreduce (@var{expr})
+
+Combines products and powers of trigonometric
+and hyperbolic sin's and cos's of @var{x} into those of multiples of @var{x}.
+It also tries to eliminate these functions when they occur in
+denominators.  If @var{x} is omitted then all variables in @var{expr} are used.
+
+See also @code{poissimp}.
+
+@c ===beg===
+@c trigreduce(-sin(x)^2+3*cos(x)^2+x);
+@c ===end===
+@example
+(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
+@group
+               cos(2 x)      cos(2 x)   1        1
+(%o1)          -------- + 3 (-------- + -) + x - -
+                  2             2       2        2
+@end group
+@end example
+
+@c 
+@c     OBSOLETE
+@c     The behavior was changed in order to avoid calling expand in the core
+@c     simplifier (trigi.lisp rev 1.31)
+@c     See http://www.math.utexas.edu/pipermail/maxima/2008/010919.html.
+@c 
+@c The trigonometric simplification routines will use declared
+@c information in some simple cases.  Declarations about variables are
+@c used as follows, e.g.
+@c 
+@c ---beg---
+@c declare(j, integer, e, even, o, odd)$
+@c sin(x + (e + 1/2)*%pi);
+@c sin(x + (o + 1/2)*%pi);
+@c ---end---
+@c @example
+@c (%i1) declare(j, integer, e, even, o, odd)$
+@c (%i2) sin(x + (e + 1/2)*%pi);
+@c (%o2)                        cos(x)
+@c (%i3) sin(x + (o + 1/2)*%pi);
+@c (%o3)                       - cos(x)
+@c @end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification functions}
+@closecatbox
+@end deffn
+
+@c -----------------------------------------------------------------------------
+@anchor{trigsign}
+@defvr {Option variable} trigsign
+Default value: @code{true}
+
+When @code{trigsign} is @code{true}, it permits simplification of negative
+arguments to trigonometric functions.  E.g., @code{sin(-x)} will become
+@code{-sin(x)} only if @code{trigsign} is @code{true}.
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification flags and variables}
+@closecatbox
+@end defvr
+
+@c -----------------------------------------------------------------------------
+@anchor{trigsimp}
+@deffn {Function} trigsimp (@var{expr})
+
+@iftex
+Employs the identities
+@tex
+$\sin\left(x\right)^2 + \cos\left(x\right)^2 = 1$
+@end tex
+and
+@tex
+$\cosh\left(x\right)^2 - \sinh\left(x\right)^2 = 1$
+@end tex
+to simplify expressions containing @code{tan}, @code{sec},
+etc., to @code{sin}, @code{cos}, @code{sinh}, @code{cosh}.
+@end iftex
+@ifnottex
+Employs the identities @math{sin(x)^2 + cos(x)^2 = 1} and
+@math{cosh(x)^2 - sinh(x)^2 = 1} to simplify expressions containing @code{tan},
+@code{sec}, etc., to @code{sin}, @code{cos}, @code{sinh}, @code{cosh}.
+@end ifnottex
+
+@code{trigreduce}, @code{ratsimp}, and @code{radcan} may be
+able to further simplify the result.
+
+@code{demo ("trgsmp.dem")} displays some examples of @code{trigsimp}.
+@c MERGE EXAMPLES INTO THIS ITEM
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification functions}
+@closecatbox
+@end deffn
+
+@c NEEDS CLARIFICATION
+
+@c -----------------------------------------------------------------------------
+@anchor{trigrat}
+@deffn {Function} trigrat (@var{expr})
+
+Gives a canonical simplifyed quasilinear form of a trigonometrical expression;
+@var{expr} is a rational fraction of several @code{sin}, @code{cos} or
+@code{tan}, the arguments of them are linear forms in some variables (or
+kernels) and @code{%pi/@var{n}} (@var{n} integer) with integer coefficients.
+The result is a simplified fraction with numerator and denominator linear in
+@code{sin} and @code{cos}.  Thus @code{trigrat} linearize always when it is
+possible.
+
+@c ===beg===
+@c trigrat(sin(3*a)/sin(a+%pi/3));
+@c ===end===
+@example
+@group
+(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
+(%o1)            sqrt(3) sin(2 a) + cos(2 a) - 1
+@end group
+@end example
+
+The following example is taken from
+Davenport, Siret, and Tournier, @i{Calcul Formel}, Masson (or in English,
+Addison-Wesley), section 1.5.5, Morley theorem.
+
+@c ===beg===
+@c c : %pi/3 - a - b$
+@c bc : sin(a)*sin(3*c)/sin(a+b);
+@c ba : bc, c=a, a=c;
+@c ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
+@c trigrat (ac2);
+@c ===end===
+@example
+(%i1) c : %pi/3 - a - b$
+(%i2) bc : sin(a)*sin(3*c)/sin(a+b);
+@group
+                                          %pi
+                  sin(a) sin(3 (- b - a + ---))
+                                           3
+(%o2)             -----------------------------
+                           sin(b + a)
+@end group
+(%i3) ba : bc, c=a, a=c;
+@group
+                                         %pi
+                    sin(3 a) sin(b + a - ---)
+                                          3
+(%o3)               -------------------------
+                                  %pi
+                          sin(a - ---)
+                                   3
+@end group
+(%i4) ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
+@group
+         2         2         %pi
+      sin (3 a) sin (b + a - ---)
+                              3
+(%o4) ---------------------------
+                2     %pi
+             sin (a - ---)
+                       3
+                                       %pi
+ - (2 sin(a) sin(3 a) sin(3 (- b - a + ---)) cos(b)
+                                        3
+             %pi            %pi
+ sin(b + a - ---))/(sin(a - ---) sin(b + a))
+              3              3
+      2       2              %pi
+   sin (a) sin (3 (- b - a + ---))
+                              3
+ + -------------------------------
+                2
+             sin (b + a)
+@end group
+(%i5) trigrat (ac2);
+@group
+(%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)
+ - 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a)
+ - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)
+ + 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)
+ + sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)
+ + sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)
+ - 9)/4
+@end group
+@end example
+
+@opencatbox
+@category{Trigonometric functions} @category{Simplification functions}
+@closecatbox
+@end deffn
 
 @c -----------------------------------------------------------------------------
-@node Random Numbers, , Hyperbolic Functions, Mathematical Functions
+@page
+@node Random Numbers, , Trigonometric Functions, Mathematical Functions
 @section Random Numbers
 @c -----------------------------------------------------------------------------
 
commit 7ff14cb55b3197e8ca6d91d8f390414a24ffb332
Author: crategus <cra...@us...>
Date:   Wed Jun 15 21:14:24 2011 +0200
    Moving the contents of this file to MathFunctions.texi
diff --git a/doc/info/Logarithms.texi b/doc/info/Logarithms.texi
index 04a3676..cc41759 100644
--- a/doc/info/Logarithms.texi
+++ b/doc/info/Logarithms.texi
@@ -7,314 +7,5 @@
 @section Functions and Variables for Logarithms
 @c -----------------------------------------------------------------------------
 
-@c -----------------------------------------------------------------------------
-@anchor{%e_to_numlog}
-@defvr {Option variable} %e_to_numlog
-Default value: @code{false}
-
-When @code{true}, @code{r} some rational number, and @code{x} some expression,
-@code{%e^(r*log(x))} will be simplified into @code{x^r} .  It should be noted
-that the @code{radcan} command also does this transformation, and more
-complicated transformations of this ilk as well.  The @code{logcontract}
-command "contracts" expressions containing @code{log}.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{li}
-@deffn {Function} li [@var{s}] (@var{z})
-
-Represents the polylogarithm function of order @var{s} and argument @var{z},
-defined by the infinite series
-
-@tex
-$${\rm Li}_s \left(z\right) = \sum_{k=1}^\infty {z^k \over k^s}$$
-@end tex
-@ifnottex
-@example
-                                 inf
-                                 ====   k
-                                 \     z
-                        Li (z) =  >    --
-                          s      /      s
-                                 ====  k
-                                 k = 1
-@end example
-@end ifnottex
-
-@code{li [1]} is @code{- log (1 - z)}.  @code{li [2]} and @code{li [3]} are the
-dilogarithm and trilogarithm functions, respectively.
-
-When the order is 1, the polylogarithm simplifies to @code{- log (1 - z)}, which
-in turn simplifies to a numerical value if @var{z} is a real or complex floating
-point number or the @code{numer} evaluation flag is present.
-
-When the order is 2 or 3,
-the polylogarithm simplifies to a numerical value
-if @var{z} is a real floating point number
-or the @code{numer} evaluation flag is present.
-
-Examples:
-
-@c ===beg===
-@c assume (x > 0);
-@c integrate ((log (1 - t)) / t, t, 0, x);
-@c li [2] (7);
-@c li [2] (7), numer;
-@c li [3] (7);
-@c li [2] (7), numer;
-@c L : makelist (i / 4.0, i, 0, 8);
-@c map (lambda ([x], li [2] (x)), L);
-@c map (lambda ([x], li [3] (x)), L);
-@c ===end===
-@example
-(%i1) assume (x > 0);
-(%o1)                        [x > 0]
-(%i2) integrate ((log (1 - t)) / t, t, 0, x);
-(%o2)                       - li (x)
-                                2
-(%i3) li [2] (7);
-(%o3)                        li (7)
-                               2
-(%i4) li [2] (7), numer;
-(%o4)        1.24827317833392 - 6.113257021832577 %i
-(%i5) li [3] (7);
-(%o5)                        li (7)
-                               3
-(%i6) li [2] (7), numer;
-(%o6)        1.24827317833392 - 6.113257021832577 %i
-(%i7) L : makelist (i / 4.0, i, 0, 8);
-(%o7)   [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]
-(%i8) map (lambda ([x], li [2] (x)), L);
-@group
-(%o8) [0, .2676526384986274, .5822405249432515, 
-.9784693966661848, 1.64493407, 2.190177004178597
- - .7010261407036192 %i, 2.374395264042415
- - 1.273806203464065 %i, 2.448686757245154
- - 1.758084846201883 %i, 2.467401098097648
- - 2.177586087815347 %i]
-@end group
-(%i9) map (lambda ([x], li [3] (x)), L);
-(%o9) [0, .2584613953442624, 0.537213192678042, 
-.8444258046482203, 1.2020569, 1.642866878950322
- - .07821473130035025 %i, 2.060877505514697
- - .2582419849982037 %i, 2.433418896388322
- - .4919260182322965 %i, 2.762071904015935
- - .7546938285978846 %i]
-@end example
-
-@opencatbox
-@category{Exponential and logarithm functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@anchor{log}
-@deffn {Function} log (@var{x})
-
-Represents the natural (base @math{e}) logarithm of @var{x}.
-
-Maxima does not have a built-in function for the base 10 logarithm or other 
-bases. @code{log10(x) := log(x) / log(10)} is a useful definition.
-
-Simplification and evaluation of logarithms is governed by several global flags:
-
-@table @code
-@item @code{logexpand}
-causes @code{log(a^b)} to become @code{b*log(a)}. If it is 
-set to @code{all}, @code{log(a*b)} will also simplify to @code{log(a)+log(b)}.
-If it is set to @code{super}, then @code{log(a/b)} will also simplify to 
-@code{log(a)-log(b)} for rational numbers @code{a/b}, @code{a#1}. 
-(@code{log(1/b)}, for @code{b} integer, always simplifies.) If it is set to 
-@code{false}, all of these simplifications will be turned off.
-
-@item @code{logsimp}
-if @code{false} then no simplification of @code{%e} to a power containing 
-@code{log}'s is done.
-
-@item @code{lognumer}
-if @code{true} then negative floating point arguments to @code{log} will always 
-be converted to their absolute value before the @code{log} is taken. If 
-@code{numer} is also @code{true}, then negative integer arguments to @code{log}
-will also be converted to their absolute value.
-
-@item @code{lognegint}
-if @code{true} implements the rule @code{log(-n)} -> @code{log(n)+%i*%pi} for 
-@code{n} a positive integer.
-
-@item @code{%e_to_numlog}
-when @code{true}, @code{r} some rational number, and @code{x} some expression,
-the expression @code{%e^(r*log(x))} will be simplified into @code{x^r}.  It
-should be noted that the @code{radcan} command also does this transformation,
-and more complicated transformations of this as well. The @code{logcontract} 
-command "contracts" expressions containing @code{log}.
-@end table
-
-@opencatbox
-@category{Exponential and logarithm functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@anchor{logabs}
-@defvr {Option variable} logabs
-Default value: @code{false}
-
-When doing indefinite integration where logs are generated, e.g.
-@code{integrate(1/x,x)}, the answer is given in terms of @code{log(abs(...))}
-if @code{logabs} is @code{true}, but in terms of @code{log(...)} if
-@code{logabs} is @code{false}.  For definite integration, the @code{logabs:true}
-setting is used, because here "evaluation" of the indefinite integral at the
-endpoints is often needed.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Integral calculus} @category{Global flags}
-@closecatbox
-@end defvr
-
-@c NEEDS EXAMPLES
-
-@c -----------------------------------------------------------------------------
-@anchor{logarc}
-@defvr  {Option variable} logarc
-@defvrx {Function} logarc (@var{expr})
-
-When the global variable @code{logarc} is @code{true},
-inverse circular and hyperbolic functions are replaced by
-equivalent logarithmic functions.
-The default value of @code{logarc} is @code{false}.
-
-The function @code{logarc(@var{expr})} carries out that replacement for
-an expression @var{expr}
-without setting the global variable @code{logarc}.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables} @category{Simplification functions}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{logconcoeffp}
-@defvr {Option variable} logconcoeffp
-Default value: @code{false}
-
-Controls which coefficients are
-contracted when using @code{logcontract}.  It may be set to the name of a
-predicate function of one argument.  E.g. if you like to generate
-SQRTs, you can do @code{logconcoeffp:'logconfun$
-logconfun(m):=featurep(m,integer) or ratnump(m)$} .  Then
-@code{logcontract(1/2*log(x));} will give @code{log(sqrt(x))}.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{logcontract}
-@deffn {Function} logcontract (@var{expr})
-
-Recursively scans the expression @var{expr}, transforming
-subexpressions of the form @code{a1*log(b1) + a2*log(b2) + c} into
-@code{log(ratsimp(b1^a1 * b2^a2)) + c}
-
-@c ===beg===
-@c 2*(a*log(x) + 2*a*log(y))$
-@c logcontract(%);
-@c ===end===
-@example
-(%i1) 2*(a*log(x) + 2*a*log(y))$
-(%i2) logcontract(%);
-                                 2  4
-(%o2)                     a log(x  y )
-@end example
-
-The declaration @code{declare(n,integer)} causes
-@code{logcontract(2*a*n*log(x))} to simplify to @code{a*log(x^(2*n))}.  The
-coefficients that "contract" in this manner are those such as the 2 and the
-@code{n} here which satisfy @code{featurep(coeff,integer)}.  The user can
-control which coefficients are contracted by setting the option
-@code{logconcoeffp} to the name of a predicate function of one argument.
-E.g. if you like to generate SQRTs, you can do @code{logconcoeffp:'logconfun$
-logconfun(m):=featurep(m,integer) or ratnump(m)$} .  Then
-@code{logcontract(1/2*log(x));} will give @code{log(sqrt(x))}.
-
-@opencatbox
-@category{Exponential and logarithm functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@anchor{logexpand}
-@defvr {Option variable} logexpand
-Default value: @code{false}
-
-If @code{true} causes @code{log(a^b)} to become @code{b*log(a)}.  If it is set 
-to @code{all}, @code{log(a*b)} will also simplify to @code{log(a)+log(b)}.  If 
-it is set to @code{super}, then @code{log(a/b)} will also simplify to 
-@code{log(a)-log(b)} for rational numbers @code{a/b}, @code{a#1}.
-(@code{log(1/b)}, for integer @code{b}, always simplifies.) If it is set to 
-@code{false}, that is the default value, all of these simplifications will be 
-turned off.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{lognegint}
-@defvr {Option variable} lognegint
-Default value: @code{false}
-
-If @code{true} implements the rule
-@code{log(-n)} -> @code{log(n)+%i*%pi} for @code{n} a positive integer.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{lognumer}
-@defvr {Option variable} lognumer
-Default value: @code{false}
-
-If @code{true} then negative floating point arguments to @code{log} will always
-be converted to their absolute value before the @code{log} is taken.  If
-@code{numer} is also @code{true}, then negative integer arguments to @code{log}
-will also be converted to their absolute value.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables} @category{Numerical evaluation}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{logsimp}
-@defvr {Option variable} logsimp
-Default value: @code{true}
-
-If @code{false} then no simplification of @code{%e} to a
-power containing @code{log}'s is done.
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{plog}
-@deffn {Function} plog (@var{x})
-
-Represents the principal branch of the complex-valued natural
-logarithm with @code{-%pi} < @code{carg(@var{x})} <= @code{+%pi} .
-
-@opencatbox
-@category{Exponential and logarithm functions} @category{Complex variables}
-@closecatbox
-@end deffn
+The contents of this file has been moved to MathFunctions.texi
 
commit 2dd09e7f1fc4f1ef2fdf390fc629f8be728dc597
Author: crategus <cra...@us...>
Date:   Wed Jun 15 21:13:21 2011 +0200
    Moving the contents of this file to MathFunctions.texi
diff --git a/doc/info/Trigonometric.texi b/doc/info/Trigonometric.texi
index 3ef84be..bf97477 100644
--- a/doc/info/Trigonometric.texi
+++ b/doc/info/Trigonometric.texi
@@ -1,867 +1,3 @@
-@menu
-* Introduction to Trigonometric::
-* Functions and Variables for Trigonometric::
-@end menu
 
-@c -----------------------------------------------------------------------------
-@node Introduction to Trigonometric, Functions and Variables for Trigonometric, Trigonometric, Trigonometric
-@section Introduction to Trigonometric
-@c -----------------------------------------------------------------------------
-
-Maxima has many trigonometric functions defined.  Not all trigonometric
-identities are programmed, but it is possible for the user to add many
-of them using the pattern matching capabilities of the system.  The
-trigonometric functions defined in Maxima are: @code{acos},
-@code{acosh}, @code{acot}, @code{acoth}, @code{acsc},
-@code{acsch}, @code{asec}, @code{asech}, @code{asin},
-@code{asinh}, @code{atan}, @code{atanh}, @code{cos},
-@code{cosh}, @code{cot}, @code{coth}, @code{csc}, @code{csch},
-@code{sec}, @code{sech}, @code{sin}, @code{sinh}, @code{tan},
-and @code{tanh}.  There are a number of commands especially for
-handling trigonometric functions, see @code{trigexpand},
-@code{trigreduce}, and the switch @code{trigsign}.  Two share
-packages extend the simplification rules built into Maxima,
-@code{ntrig} and @code{atrig1}.  Do @code{describe(@var{command})}
-for details.
-
-@opencatbox
-@category{Trigonometric functions}
-@closecatbox
-
-@c -----------------------------------------------------------------------------
-@node Functions and Variables for Trigonometric,  , Introduction to Trigonometric, Trigonometric
-@section Functions and Variables for Trigonometric
-@c -----------------------------------------------------------------------------
-
-@c -----------------------------------------------------------------------------
-@anchor{%piargs}
-@defvr {Option variable} %piargs
-Default value: @code{true}
-
-When @code{%piargs} is @code{true},
-trigonometric functions are simplified to algebraic constants
-when the argument is an integer multiple of
-@iftex
-@math{\pi}, @math{\pi/2}, @math{\pi/3}, @math{\pi/4}, or @math{\pi/6}.
-@end iftex
-@ifnottex
-@math{%pi}, @math{%pi/2}, @math{%pi/3}, @math{%pi/4}, or @math{%pi/6}.
-@end ifnottex
-
-@iftex
-Maxima knows some identities which can be applied when @math{\pi}, etc.,
-@end iftex
-@ifnottex
-Maxima knows some identities which can be applied when @math{%pi}, etc.,
-@end ifnottex
-are multiplied by an integer variable (that is, a symbol declared to be
-integer).
-
-Examples:
-
-@c ===beg===
-@c %piargs : false$
-@c [sin (%pi), sin (%pi/2), sin (%pi/3)];
-@c [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
-@c %piargs : true$
-@c [sin (%pi), sin (%pi/2), sin (%pi/3)];
-@c [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
-@c [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
-@c        cos (sqrt(2)*%pi/3)];
-@c ===end===
-@example
-(%i1) %piargs : false$
-@group
-(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
-                                %pi       %pi
-(%o2)            [sin(%pi), sin(---), sin(---)]
-                                 2         3
-@end group
-@group
-(%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
-                      %pi       %pi       %pi
-(%o3)            [sin(---), sin(---), sin(---)]
-                       4         5         6
-@end group
-(%i4) %piargs : true$
-@group
-(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
-                                sqrt(3)
-(%o5)                    [0, 1, -------]
-                                   2
-@end group
-@group
-(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
-                         1         %pi   1
-(%o6)                [-------, sin(---), -]
-                      sqrt(2)       5    2
-@end group
-@group
-(%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
-       cos (sqrt(2)*%pi/3)];
-                1    1               sqrt(2) %pi
-(%o7)          [-, - -, sqrt(3), cos(-----------)]
-                2    2                    3
-@end group
-@end example
-
-@iftex
-Some identities are applied when @math{\pi} and @math{\pi/2} are multiplied by
-an integer variable.
-@end iftex
-@ifnottex
-Some identities are applied when @math{%pi} and @math{%pi/2} are multiplied by
-an integer variable.
-@end ifnottex
-
-@c ===beg===
-@c declare (n, integer, m, even)$
-@c [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
-@c        cos (%pi/2 * m)];
-@c ===end===
-@example
-(%i1) declare (n, integer, m, even)$
-@group
-(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
-       cos (%pi/2 * m)];
-                                      m/2
-(%o2)                  [0, 1, 0, (- 1)   ]
-@end group
-@end example
-
-@opencatbox
-@category{Trigonometric functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@anchor{%iargs}
-@defvr {Option variable} %iargs
-Default value: @code{true}
-
-When @code{%iargs} is @code{true},
-trigonometric functions are simplified to hyperbolic functions
-@iftex
-when the argument is apparently a multiple of the imaginary unit @math{i}.
-@end iftex
-@ifnottex
-when the argument is apparently a multiple of the imaginary unit @math{%i}.
-@end ifnottex
-
-Even when the argument is demonstrably real, the simplification is applied;
-@iftex
-Maxima considers only whether the argument is a literal multiple of @math{i}.
-@end iftex
-@ifnottex
-Maxima considers only whether the argument is a literal multiple of @math{%i}.
-@end ifnottex
-
-Examples:
-
-@c ===beg===
-@c %iargs : false$
-@c [sin (%i * x), cos (%i * x), tan (%i * x)];
-@c %iargs : true$
-@c [sin (%i * x), cos (%i * x), tan (%i * x)];
-@c ===end===
-@example
-(%i1) %iargs : false$
-@group
-(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
-(%o2)           [sin(%i x), cos(%i x), tan(%i x)]
-@end group
-(%i3) %iargs : true$
-@group
-(%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
-(%o4)           [%i sinh(x), cosh(x), %i tanh(x)]
-@end group
-@end example
-
-Even when the argument is demonstrably real, the simplification is applied.
-
-@c ===beg===
-@c declare (x, imaginary)$
-@c [featurep (x, imaginary), featurep (x, real)];
-@c sin (%i * x);
-@c ===end===
-@example
-(%i1) declare (x, imaginary)$
-@group
-(%i2) [featurep (x, imaginary), featurep (x, real)];
-(%o2)                     [true, false]
-@end group
-@group
-(%i3) sin (%i * x);
-(%o3)                      %i sinh(x)
-@end group
-@end example
-
-@opencatbox
-@category{Trigonometric functions} @category{Hyperbolic functions} @category{Simplification flags and variables}
-@closecatbox
-@end defvr
-
-@c -----------------------------------------------------------------------------
-@deffn {Function} acos (@var{x})
-
--- Arc Cosine.
-
-@opencatbox
-@category{Trigonometric functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@deffn {Function} acosh (@var{x})
-
--- Hyperbolic Arc Cosine.
-
-@opencatbox
-@category{Hyperbolic functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@deffn {Function} acot (@var{x})
-
--- Arc Cotangent.
-
-@opencatbox
-@category{Trigonometric functions}
-@closecatbox
-@end deffn
-
-@c -----------------------------------------------------------------------------
-@deffn {Function} acoth (@var{x})
-
--- Hyperbolic Arc Cotangent.
-
-@opencatbox
-@category{Hyperbolic functions}
-@closecatbox
-@end deffn
-
-@c -------------------...
 
[truncated message content] |