1Math(3)               User Contributed Perl Documentation              Math(3)
2
3
4

NAME

6       PDL::Math - extended mathematical operations and special functions
7

SYNOPSIS

9        use PDL::Math;
10
11        use PDL::Graphics::TriD;
12        imag3d [SURF2D,bessj0(rvals(zeroes(50,50))/2)];
13

DESCRIPTION

15       This module extends PDL with more advanced mathematical functions than
16       provided by standard Perl.
17
18       All the functions have one input pdl, and one output, unless otherwise
19       stated.
20
21       Many of the functions are linked from the system maths library or the
22       Cephes maths library (determined when PDL is compiled); a few are
23       implemented entirely in PDL.
24

FUNCTIONS

26   acos
27         Signature: (a(); [o]b())
28
29       The usual trigonometric function.
30        Works inplace.
31
32       acos processes bad values.  It will set the bad-value flag of all
33       output ndarrays if the flag is set for any of the input ndarrays.
34
35   asin
36         Signature: (a(); [o]b())
37
38       The usual trigonometric function.
39        Works inplace.
40
41       asin processes bad values.  It will set the bad-value flag of all
42       output ndarrays if the flag is set for any of the input ndarrays.
43
44   atan
45         Signature: (a(); [o]b())
46
47       The usual trigonometric function.
48        Works inplace.
49
50       atan processes bad values.  It will set the bad-value flag of all
51       output ndarrays if the flag is set for any of the input ndarrays.
52
53   cosh
54         Signature: (a(); [o]b())
55
56       The standard hyperbolic function.
57        Works inplace.
58
59       cosh processes bad values.  It will set the bad-value flag of all
60       output ndarrays if the flag is set for any of the input ndarrays.
61
62   sinh
63         Signature: (a(); [o]b())
64
65       The standard hyperbolic function.
66        Works inplace.
67
68       sinh processes bad values.  It will set the bad-value flag of all
69       output ndarrays if the flag is set for any of the input ndarrays.
70
71   tan
72         Signature: (a(); [o]b())
73
74       The usual trigonometric function.
75        Works inplace.
76
77       tan processes bad values.  It will set the bad-value flag of all output
78       ndarrays if the flag is set for any of the input ndarrays.
79
80   tanh
81         Signature: (a(); [o]b())
82
83       The standard hyperbolic function.
84        Works inplace.
85
86       tanh processes bad values.  It will set the bad-value flag of all
87       output ndarrays if the flag is set for any of the input ndarrays.
88
89   ceil
90         Signature: (a(); [o]b())
91
92       Round to integer values in floating-point format. Works inplace.
93
94       ceil processes bad values.  It will set the bad-value flag of all
95       output ndarrays if the flag is set for any of the input ndarrays.
96
97   floor
98         Signature: (a(); [o]b())
99
100       Round to integer values in floating-point format. Works inplace.
101
102       floor processes bad values.  It will set the bad-value flag of all
103       output ndarrays if the flag is set for any of the input ndarrays.
104
105   rint
106         Signature: (a(); [o]b())
107
108       Round to integer values in floating-point format.
109
110       rint uses the 'round half to even' rounding method (also known as
111       banker's rounding).  Half-integers are rounded to the nearest even
112       number. This avoids a slight statistical bias inherent in always
113       rounding half-integers up or away from zero.
114
115       If you are looking to round half-integers up (regardless of sign), try
116       "floor($x+0.5)".  If you want to round half-integers away from zero,
117       try "ceil(abs($x)+0.5)*($x<=>0)". Works inplace.
118
119       rint processes bad values.  It will set the bad-value flag of all
120       output ndarrays if the flag is set for any of the input ndarrays.
121
122   pow
123         Signature: (a(); b(); [o]c())
124
125       Synonym for `**'. Works inplace.
126
127       pow processes bad values.  It will set the bad-value flag of all output
128       ndarrays if the flag is set for any of the input ndarrays.
129
130   acosh
131         Signature: (a(); [o]b())
132
133       The standard hyperbolic function.
134        Works inplace.
135
136       acosh processes bad values.  It will set the bad-value flag of all
137       output ndarrays if the flag is set for any of the input ndarrays.
138
139   asinh
140         Signature: (a(); [o]b())
141
142       The standard hyperbolic function.
143        Works inplace.
144
145       asinh processes bad values.  It will set the bad-value flag of all
146       output ndarrays if the flag is set for any of the input ndarrays.
147
148   atanh
149         Signature: (a(); [o]b())
150
151       The standard hyperbolic function.
152        Works inplace.
153
154       atanh processes bad values.  It will set the bad-value flag of all
155       output ndarrays if the flag is set for any of the input ndarrays.
156
157   erf
158         Signature: (a(); [o]b())
159
160       The error function. Works inplace.
161
162       erf processes bad values.  It will set the bad-value flag of all output
163       ndarrays if the flag is set for any of the input ndarrays.
164
165   erfc
166         Signature: (a(); [o]b())
167
168       The complement of the error function. Works inplace.
169
170       erfc processes bad values.  It will set the bad-value flag of all
171       output ndarrays if the flag is set for any of the input ndarrays.
172
173   bessj0
174         Signature: (a(); [o]b())
175
176       The regular Bessel function of the first kind, J_n Works inplace.
177
178       bessj0 processes bad values.  It will set the bad-value flag of all
179       output ndarrays if the flag is set for any of the input ndarrays.
180
181   bessj1
182         Signature: (a(); [o]b())
183
184       The regular Bessel function of the first kind, J_n Works inplace.
185
186       bessj1 processes bad values.  It will set the bad-value flag of all
187       output ndarrays if the flag is set for any of the input ndarrays.
188
189   bessy0
190         Signature: (a(); [o]b())
191
192       The regular Bessel function of the second kind, Y_n. Works inplace.
193
194       bessy0 processes bad values.  It will set the bad-value flag of all
195       output ndarrays if the flag is set for any of the input ndarrays.
196
197   bessy1
198         Signature: (a(); [o]b())
199
200       The regular Bessel function of the second kind, Y_n. Works inplace.
201
202       bessy1 processes bad values.  It will set the bad-value flag of all
203       output ndarrays if the flag is set for any of the input ndarrays.
204
205   bessjn
206         Signature: (a(); int n(); [o]b())
207
208       The regular Bessel function of the first kind, J_n .  This takes a
209       second int argument which gives the order of the function required.
210        Works inplace.
211
212       bessjn processes bad values.  It will set the bad-value flag of all
213       output ndarrays if the flag is set for any of the input ndarrays.
214
215   bessyn
216         Signature: (a(); int n(); [o]b())
217
218       The regular Bessel function of the first kind, Y_n .  This takes a
219       second int argument which gives the order of the function required.
220        Works inplace.
221
222       bessyn processes bad values.  It will set the bad-value flag of all
223       output ndarrays if the flag is set for any of the input ndarrays.
224
225   lgamma
226         Signature: (a(); [o]b(); int[o]s())
227
228       log gamma function
229
230       This returns 2 ndarrays -- the first set gives the log(gamma) values,
231       while the second set, of integer values, gives the sign of the gamma
232       function.  This is useful for determining factorials, amongst other
233       things.
234
235       lgamma processes bad values.  It will set the bad-value flag of all
236       output ndarrays if the flag is set for any of the input ndarrays.
237
238   isfinite
239         Signature: (a(); int [o]mask())
240
241       Sets $mask true if $a is not a "NaN" or "inf" (either positive or
242       negative). Works inplace.
243
244       Bad values are treated as "NaN" or "inf".
245
246   erfi
247         Signature: (a(); [o]b())
248
249       The inverse of the error function. Works inplace.
250
251       erfi processes bad values.  It will set the bad-value flag of all
252       output ndarrays if the flag is set for any of the input ndarrays.
253
254   ndtri
255         Signature: (a(); [o]b())
256
257       The value for which the area under the Gaussian probability density
258       function (integrated from minus infinity) is equal to the argument (cf
259       "erfi"). Works inplace.
260
261       ndtri processes bad values.  It will set the bad-value flag of all
262       output ndarrays if the flag is set for any of the input ndarrays.
263
264   polyroots
265         Signature: (cr(n); ci(n); [o]rr(m); [o]ri(m))
266
267       Complex roots of a complex polynomial, given coefficients in order of
268       decreasing powers.
269
270        ($rr, $ri) = polyroots($cr, $ci);
271
272       polyroots does not process bad values.  It will set the bad-value flag
273       of all output ndarrays if the flag is set for any of the input
274       ndarrays.
275

BUGS

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

AUTHOR

281       Copyright (C) R.J.R. Williams 1997 (rjrw@ast.leeds.ac.uk), Karl
282       Glazebrook (kgb@aaoepp.aao.gov.au) and Tuomas J. Lukka
283       (Tuomas.Lukka@helsinki.fi).  Portions (C) Craig DeForest 2002
284       (deforest@boulder.swri.edu).
285
286       All rights reserved. There is no warranty. You are allowed to
287       redistribute this software / documentation under certain conditions.
288       For details, see the file COPYING in the PDL distribution. If this file
289       is separated from the PDL distribution, the PDL copyright notice should
290       be included in the file.
291
292
293
294perl v5.36.0                      2022-07-22                           Math(3)
Impressum