[R] tensor product of equi-spaced B-splines in the unit square
Patrizio Frederic
frederic.patrizio at gmail.com
Tue Jul 29 18:00:37 CEST 2008
Dear all,
I need to compute tensor product of B-spline defined over equi-spaced
break-points.
I wrote my own program (it works in a 2-dimensional setting)
library(splines)
# set the break-points
Knots = seq(-1,1,length=10)
# number of splines
M = (length(Knots)-4)^2
# short cut to splineDesign function
bspline = function(x) splineDesign(Knots,x,outer.ok = T)
# bivariate tensor product of bspline
btens = function(x) t(bspline(x[1]))%*%bspline(x[2])
# numebr of points to plot
ng = 51
# create vectors for plotting
xgr = seq(-1,1,length=ng)
xgr2 = expand.grid(xgr,xgr)
# generate random coef. of linear combination
bet = rnorm(M)
# create matrix for contour-type plot
Bx = apply(xgr2,1,btens)
Bmat = matrix(t(Bx)%*%bet,ng)
# plot the result
contour(xgr,xgr,Bmat)
persp(xgr,xgr,Bmat,theta=15)
any of you have a better idea (ie more efficient)?
Thanks in advance,
Patrizio Frederic
+-------------------------------------------------
| Patrizio Frederic
| Research associate in Statistics,
| Department of Economics,
| University of Modena and Reggio Emilia,
| Via Berengario 51,
| 41100 Modena, Italy
|
| tel: +39 059 205 6727
| fax: +39 059 205 6947
| mail: patrizio.frederic at unimore.it
+-------------------------------------------------
More information about the R-help
mailing list