|
|
◆ pchcm()
| void pchcm |
( |
int |
n, |
|
|
double |
x[], |
|
|
double |
f[], |
|
|
double |
d[], |
|
|
int |
incfd, |
|
|
int |
skip, |
|
|
int |
ismon[], |
|
|
int * |
info |
|
) |
| |
Monotonicity check for piecewise cubic Hermite function
- Purpose
- This routine checks the piecewise cubic Hermite function defined by n, x[], f[], d[] for monotonicity.
- Parameters
-
| [in] | n | Number of data points. (n >= 2) |
| [in] | x[] | Array x[lx] (lx >= n)
Independent variable values. The elements of x[] must be strictly increasing. |
| [in] | f[] | Array f[lf] (lf >= incfd*(n - 1) + 1)
Function values. f[i*incfd] is the value corresponding to x[i] (i = 0 to n - 1). |
| [in] | d[] | Array d[ld] (ld >= incfd*(n - 1) + 1)
Derivative values. d[i*incfd] is the value corresponding to x[i] (i = 0 to n - 1). |
| [in] | incfd | Increment between successive values in f[] and d[]. (incfd >= 1) |
| [in] | skip | Logical variable which should be set to true (1) if the user wishes to skip checks for validity of preceding parameters, or to false (0) otherwise. This will save time in case these checks have already been performed (say, in pchim, pchic, pchsp or pchse). |
| [out] | ismon[] | Array ismon[lismon] (lismon >= n)
An integer array indicating on which intervals the piecewise cubic Hermite function defined by n, x[], f[], d[] is monotonic.
For data interval [x[i], x[i+1]] (i = 0 to n-2),
ismon[i] = -3 if function is probably decreasing
ismon[i] = -1 if function is strictly decreasing
ismon[i] = 0 if function is constant
ismon[i] = 1 if function is strictly increasing
ismon[i] = 2 if function is non-monotonic
ismon[i] = 3 if function is probably increasing
ismon[n-1] indicates whether the entire function is monotonic on [x[0], x[n-1]]. |
| [out] | info | = 0: Successful exit
= -1: The argument n had an illegal value (n < 2)
= -2: The argument x[] had an illegal value (not strictly increasing)
= -5: The argument incfd had an illegal value (incfd < 1) |
- Reference
- SLATEC (PCHIP)
|