Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Math(3)		      User Contributed Perl Documentation	       Math(3)

NAME
       PDL::Math - extended mathematical operations and	special	functions

SYNOPSIS
	use PDL::Math;

	use PDL::Graphics::TriD;
	imag3d [SURF2D,bessj0(rvals(zeroes(50,50))/2)];

DESCRIPTION
       This module extends PDL with more advanced mathematical functions than
       provided	by standard Perl.

       All the functions have one input	pdl, and one output, unless otherwise
       stated.

       Many of the functions are linked	from the system	maths library or the
       Cephes maths library (determined	when PDL is compiled); a few are
       implemented entirely in PDL.

FUNCTIONS
   acos
	 Signature: (a(); [o]b())

       The usual trigonometric function. Works inplace.

       acos processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   asin
	 Signature: (a(); [o]b())

       The usual trigonometric function. Works inplace.

       asin processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   atan
	 Signature: (a(); [o]b())

       The usual trigonometric function. Works inplace.

       atan processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   cosh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       cosh processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   sinh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       sinh processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   tan
	 Signature: (a(); [o]b())

       The usual trigonometric function. Works inplace.

       tan processes bad values.  It will set the bad-value flag of all	output
       piddles if the flag is set for any of the input piddles.

   tanh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       tanh processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   ceil
	 Signature: (a(); [o]b())

       Round to	integer	values in floating-point format. Works inplace.

       ceil processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   floor
	 Signature: (a(); [o]b())

       Round to	integer	values in floating-point format. Works inplace.

       floor processes bad values.  It will set	the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   rint
	 Signature: (a(); [o]b())

       Round to	integer	values in floating-point format.

       rint uses the 'round half to even' rounding method (also	known as
       banker's	rounding).  Half-integers are rounded to the nearest even
       number. This avoids a slight statistical	bias inherent in always
       rounding	half-integers up or away from zero.

       If you are looking to round half-integers up (regardless	of sign), try
       "floor($x+0.5)".	 If you	want to	round half-integers away from zero,
       try "floor(abs($x)+0.5)*($x<=>0)". Works	inplace.

       rint processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   pow
	 Signature: (a(); b(); [o]c())

       Synonym for `**'. Works inplace.

       pow processes bad values.  It will set the bad-value flag of all	output
       piddles if the flag is set for any of the input piddles.

   acosh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       acosh processes bad values.  It will set	the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   asinh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       asinh processes bad values.  It will set	the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   atanh
	 Signature: (a(); [o]b())

       The standard hyperbolic function. Works inplace.

       atanh processes bad values.  It will set	the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   erf
	 Signature: (a(); [o]b())

       The error function. Works inplace.

       erf processes bad values.  It will set the bad-value flag of all	output
       piddles if the flag is set for any of the input piddles.

   erfc
	 Signature: (a(); [o]b())

       The complement of the error function. Works inplace.

       erfc processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessj0
	 Signature: (a(); [o]b())

       The regular Bessel function of the first	kind, J_n Works	inplace.

       bessj0 processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessj1
	 Signature: (a(); [o]b())

       The regular Bessel function of the first	kind, J_n Works	inplace.

       bessj1 processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessy0
	 Signature: (a(); [o]b())

       The regular Bessel function of the second kind, Y_n. Works inplace.

       bessy0 processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessy1
	 Signature: (a(); [o]b())

       The regular Bessel function of the second kind, Y_n. Works inplace.

       bessy1 processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessjn
	 Signature: (a(); int n(); [o]b())

       The regular Bessel function of the first	kind, J_n .  This takes	a
       second int argument which gives the order of the	function required.
	Works inplace.

       bessjn processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   bessyn
	 Signature: (a(); int n(); [o]b())

       The regular Bessel function of the first	kind, Y_n .  This takes	a
       second int argument which gives the order of the	function required.
	Works inplace.

       bessyn processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   lgamma
	 Signature: (a(); [o]b(); int[o]s())

       log gamma function

       This returns 2 piddles -- the first set gives the log(gamma) values,
       while the second	set, of	integer	values,	gives the sign of the gamma
       function.  This is useful for determining factorials, amongst other
       things.

       lgamma processes	bad values.  It	will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   badmask
	 Signature: (a(); b(); [o]c())

       Clears all "infs" and "nans" in $a to the corresponding value in	$b.

       badmask can be run with $a inplace:

	 badmask($a->inplace,0);
	 $a->inplace->badmask(0);

       If bad values are present, these	are also cleared.

   isfinite
	 Signature: (a(); int [o]mask())

       Sets $mask true if $a is	not a "NaN" or "inf" (either positive or
       negative). Works	inplace.

       Bad values are treated as "NaN" or "inf".

   erfi
	 Signature: (a(); [o]b())

       The inverse of the error	function. Works	inplace.

       erfi processes bad values.  It will set the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   ndtri
	 Signature: (a(); [o]b())

       The value for which the area under the Gaussian probability density
       function	(integrated from minus infinity) is equal to the argument (cf
       erfi). Works inplace.

       ndtri processes bad values.  It will set	the bad-value flag of all
       output piddles if the flag is set for any of the	input piddles.

   polyroots
	 Signature: (cr(n); ci(n); [o]rr(m); [o]ri(m))

       Complex roots of	a complex polynomial, given coefficients in order of
       decreasing powers.

	($rr, $ri) = polyroots($cr, $ci);

       polyroots does not process bad values.  It will set the bad-value flag
       of all output piddles if	the flag is set	for any	of the input piddles.

BUGS
       Hasn't been tested on all platforms to ensure Cephes versions are
       picked up automatically and used	correctly.

AUTHOR
       Copyright (C) R.J.R. Williams 1997 (rjrw@ast.leeds.ac.uk), Karl
       Glazebrook (kgb@aaoepp.aao.gov.au) and Tuomas J.	Lukka
       (Tuomas.Lukka@helsinki.fi).  Portions (C) Craig DeForest	2002
       (deforest@boulder.swri.edu).

       All rights reserved. There is no	warranty. You are allowed to
       redistribute this software / documentation under	certain	conditions.
       For details, see	the file COPYING in the	PDL distribution. If this file
       is separated from the PDL distribution, the PDL copyright notice	should
       be included in the file.

perl v5.24.1			  2017-07-02			       Math(3)

NAME | SYNOPSIS | DESCRIPTION | FUNCTIONS | BUGS | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=PDL::Math&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help