Intel MKL 的样条插值函数
在新的MKL 10.3.8 版本中,增加样条插值函数。 MKL的样条插值函数,包括了一些常用的一维样条插值函数: 线性样条,二次样条, 三次样条(包括自然样条,Hermite 样条,Bessel, Akima 等。MKL 函数中,提供这些样条插值函数创建,计算它们的函数值,积分,导数。 下面,我们看一个简单的例子。 这里样条函数的调用包括了四个步骤:
1> 创建计算样条函数的一个任务(task)
status = dfdNewTask1D( &task, nx, x, xhint, ny, y, yhint );
2> 设置计算参数:如样条次数,样条类型( Bessel, 自然样条),边界条件等。
status = dfdEditPPSpline1D( task, s_order, s_type, bc_type, bc, ic_type, ic, scoeff, scoeffhint );
3> 计算样条的插值函数。
status = dfdConstruct1D( task, DF_PP_SPLINE, DF_METHOD_STD );
4> 计算样条函数在site(i)每一点的值:
status = dfdInterpolate1D(task, DF_INTERP, DF_METHOD_STD,nsite, site, sitehint, ndorder, &dorder, datahint, r, rhint, cell );
有关性能数据,与进一步的介绍,可以参考下面的材料:
http://software.intel.com/en-us/articles/mkl-data-fitting-component-overview/
此外,在在MKL 10.3.8中,还增加了对稀疏矩阵,傅立叶变换,统计函数的进一步的优化。
Intel MKL 的函数一个高度优化后的函数库。 一个问题是,下面那些计算,适合调用Intel MKL 计算呢?
1) FFT 计算。
2) 求解方程。
3) 编解码器(Codec)。
4) 随机数生成。
5) 数据压缩。