[R] tensor product of equispaced Bsplines in the unit square
Patrizio Frederic
frederic.patrizio at gmail.com
Thu Jul 31 17:18:02 CEST 2008
dear all,
I apologize for a second post on the same subject. I still have the
problem. I'm going to describe the problem in a different setting:
I have 3 matrix A,B,W such that
dim(A) = c(n,M)
dim(B) = c(n,M)
dim(W) = c(M,M)
what I'm searching for is an efficient computation of vector R,
length(R)=n, where
R[i] = \sum_{j=1}^M \sum_{k=1}^M A[i,j]*B[i,k]*W[j,k] # I apologize
for a bit of LaTex code.
I understand this is about tensor products but I can't figure how to
use neither package tensor nor tensorA (I was not trained in tensor
algebra and right now it's too hot in Italy to me for studing a new
topic).
Any suggestion is welcome.
Regards,
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
+
2008/7/29 Patrizio Frederic <frederic.patrizio at gmail.com>:
> Dear all,
> I need to compute tensor product of Bspline defined over equispaced
> breakpoints.
> I wrote my own program (it works in a 2dimensional setting)
>
> library(splines)
> # set the breakpoints
> 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 contourtype 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 Rhelp
mailing list