|
|
◆ _bsplpp()
| void _bsplpp |
( |
double |
t[], |
|
|
double |
a[], |
|
|
int |
n, |
|
|
int |
k, |
|
|
int |
ldc, |
|
|
double |
c[], |
|
|
double |
xi[], |
|
|
int * |
lxi, |
|
|
double |
work[], |
|
|
int * |
info |
|
) |
| |
B-形式のB-スプラインからPP(区分多項式)形式への変換
- 目的
- 本ルーチンはB-形式(t[], a[], n, k)のB-スプラインをppvaluで使うためにPP(区分多項式)形式(c[][], xi[], lxi, k)に変換する. ここで, 区切り点の配列xi[](長さlxi)は多重度を除いたノット配列t[]である. 行列c[j][i]の列は, 区間xi[j-1] <= x < xi[j]のxについてのxi[j]のまわりのテーラー展開の右微分値である(i = 0 〜 k-1, j = 0 〜 lxi-1).
関数ppvaluはxi[0] <= x <= xi[lxi]の指定されたxについてPP形式の関数値を求める.
- 引数
-
| [in] | t[] | 配列 t[lt] (lt >= n + k)
ノットベクトル. |
| [in] | a[] | 配列 a[la] (la >= n)
B-スプライン係数. |
| [in] | n | B-スプライン係数の数. (n = ノット多重度の合計 - k) |
| [in] | k | B-スプラインの次数. (k >= 1) |
| [in] | ldc | 二次元配列c[][]の整合寸法. (ldc >= k) |
| [out] | c[][] | 配列 c[lc][ldc] (lc >= lxi)
区分多項式の区切り点における右微分係数. |
| [out] | xi[] | 配列 xi[l_xi] (l_xi >= lxi + 1)
区分多項式の区切り点. |
| [out] | lxi | 区分多項式の小区間数. (lxi <= n - k + 1) |
| [out] | work[] | 配列 work[lwork] (lwork >= k*(n + 3))
作業領域. |
| [out] | info | = 0: 正常終了
= -3: 入力パラメータ n の誤り (n < k)
= -4: 入力パラメータ k の誤り (k < 1)
= -5: 入力パラメータ ldc の誤り (ldc < k) |
- 出典
- SLATEC
|