XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ pchcm()

void pchcm ( int  n,
double  x[],
double  f[],
double  d[],
int  incfd,
int  skip,
int  ismon[],
int *  info 
)

区分3次エルミート関数の単調性のチェック

目的
本ルーチンは, n, x[], f[]およびd[]により定められる区分3次エルミート関数の単調性のチェックを行う.
引数
[in]nデータ点数. (n >= 2)
[in]x[]配列 x[lx] (lx >= n)
独立変数値. x[]の要素は昇順でなければならない.
[in]f[]配列 f[lf] (lf >= incfd*(n - 1) + 1)
関数の値. f[i*incfd]がx[i]に対応する値である (i = 0〜n-1).
[in]d[]配列 d[ld] (ld >= incfd*(n - 1) + 1)
微分係数の値. d[i*incfd]がx[i]に対応する値である (i = 0〜n-1).
[in]incfdf[] および d[] の要素間隔. (incfd >= 1)
[in]skip論理変数で, パラメータチェックを省略したいならばtrue(1)を、そうでなければfalse(0)を設定する. これにより, チェックが(pchim, pchic, pchsp あるいは pchseで)すでに終わっている場合に計算時間を節約することができる.
[out]ismon[]配列 ismon[lismon] (lismon >= n)
どの区間において n, x[], f[], d[]で定義される区分3次エルミート関数が単調であるかを示す.
データ区間[x[i], x[i+1]]について次の値を返す(i = 0 〜 n-2).
  ismon[i] = -3: おおむね単調減少
  ismon[i] = -1: 厳密に単調減少
  ismon[i] = 0: 一定
  ismon[i] = 1: 厳密に単調増加
  ismon[i] = 2: 単調でない
  ismon[i] = 3: おおむね単調増加
ismon[n-1]は区間[x[0], x[n-1]]全体についての単調性を示す.
[out]info= 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 2)
= -2: 入力パラメータ x[] の誤り (昇順でない)
= -5: 入力パラメータ incfd の誤り (incfd < 1)
出典
SLATEC (PCHIP)