Math::Trig(3)

Math::Trig(3)

Math::Complex Home Page Subroutines Index MaxCmapsOfScreen


NNAAMMEE
       Math::Trig - trigonometric functions

SSYYNNOOPPSSIISS
               use Math::Trig;
               $x = tan(0.9);
               $y = acos(3.7);
               $z = asin(2.4);
               $halfpi = pi/2;
               $rad = deg2rad(120);

DDEESSCCRRIIPPTTIIOONN
       Math::Trig defines many trigonometric functions not
       defined by the core Perl which defines only the sin() and
       cos().  The constant ppii is also defined as are a few
       convenience functions for angle conversions.

TTRRIIGGOONNOOMMEETTRRIICC FFUUNNCCTTIIOONNSS
       The tangent
               tan

       The cofunctions of the sine, cosine, and tangent
       (cosec/csc and cotan/cot are aliases)
               csc cosec sec cot cotan

       The arcus (also known as the inverse) functions of the
       sine, cosine, and tangent
               asin acos atan

       The principal value of the arc tangent of y/x
               atan2(y, x)

       The arcus cofunctions of the sine, cosine, and tangent
       (acosec/acsc and acotan/acot are aliases)
               acsc acosec asec acot acotan

       The hyperbolic sine, cosine, and tangent
               sinh cosh tanh

       The cofunctions of the hyperbolic sine, cosine, and
       tangent (cosech/csch and cotanh/coth are aliases)
               csch cosech sech coth cotanh

       The arcus (also known as the inverse) functions of the
       hyperbolic sine, cosine, and tangent
               asinh acosh atanh

       The arcus cofunctions of the hyperbolic sine, cosine, and
       tangent (acsch/acosech and acoth/acotanh are aliases)
               acsch acosech asech acoth acotanh

       The trigonometric constant ppii is also defined.
               $pi2 = 2 * pi;

       EERRRROORRSS DDUUEE TTOO DDIIVVIISSIIOONN BBYY ZZEERROO

       The following functions
               tan
               sec
               csc
               cot
               asec
               acsc
               tanh
               sech
               csch
               coth
               atanh
               asech
               acsch
               acoth

       cannot be computed for all arguments because that would
       mean dividing by zero or taking logarithm of zero. These
       situations cause fatal runtime errors looking like this
               cot(0): Division by zero.
               (Because in the definition of cot(0), the divisor sin(0) is 0)
               Died at ...

       or
               atanh(-1): Logarithm of zero.
               Died at...

       For the csc, cot, asec, acsc, acot, csch, coth, asech,
       acsch, the argument cannot be 0 (zero).  For the atanh,
       acoth, the argument cannot be 1 (one).  For the atanh,
       acoth, the argument cannot be -1 (minus one).  For the
       tan, sec, tanh, sech, the argument cannot be pi/2 + k *
       pi, where k is any integer.

       SSIIMMPPLLEE ((RREEAALL)) AARRGGUUMMEENNTTSS,, CCOOMMPPLLEEXX RREESSUULLTTSS

       Please note that some of the trigonometric functions can
       break out from the rreeaall aaxxiiss into the ccoommpplleexx ppllaannee. For
       example asin(2) has no definition for plain real numbers
       but it has definition for complex numbers.

       In Perl terms this means that supplying the usual Perl
       numbers (also known as scalars, please see the perldata
       manpage) as input for the trigonometric functions might
       produce as output results that no more are simple real
       numbers: instead they are complex numbers.

       The Math::Trig handles this by using the Math::Complex
       package which knows how to handle complex numbers, please
       see the Math::Complex manpage for more information. In
       practice you need not to worry about getting complex
       numbers as results because the Math::Complex takes care of
       details like for example how to display complex numbers.
       For example:
               print asin(2), "\n";

       should produce something like this (take or leave few last decimals):
               1.5707963267949-1.31695789692482i

       That is, a complex number with the real part of
       approximately 1.571 and the imaginary part of
       approximately -1.317.

AANNGGLLEE CCOONNVVEERRSSIIOONNSS
       (Plane, 2-dimensional) angles may be converted with the
       following functions.
               $radians  = deg2rad($degrees);
               $radians  = grad2rad($gradians);
               $degrees  = rad2deg($radians);
               $degrees  = grad2deg($gradians);
               $gradians = deg2grad($degrees);
               $gradians = rad2grad($radians);

       The full circle is 2 pi radians or 360 degrees or 400
       gradians.

BBUUGGSS
       Saying use Math::Trig; exports many mathematical routines
       in the caller environment and even overrides some (sin,
       cos).  This is construed as a feature by the Authors,
       actually... ;-)

       The code is not optimized for speed, especially because we

       use Math::Complex and thus go quite near complex numbers
       while doing the computations even when the arguments are
       not. This, however, cannot be completely avoided if we
       want things like asin(2) to give an answer instead of
       giving a fatal runtime error.

AAUUTTHHOORRSS
       Jarkko Hietaniemi lt;jhi@iki.fi and Raphael Manfredi
       lt;Raphael_Manfredi@grenoble.hp.com.

Math::Complex Home Page Subroutines Index MaxCmapsOfScreen