library(rTensor)
set.seed(1234)
p <- c(12,16,20) # dimensions of tensor time series
r <- c(3,4,5) # dimensions of factor series
A<-list()
Q<-list()
for(i in 1:3){
A[[i]]<-matrix(rnorm(p[i]*r[i],0,1),p[i],r[i])
Q[[i]]=eigen(A[[i]]%*%t(A[[i]]))$vectors
}
T<-100
F<-array(NA,c(T,r))
E<-array(NA,c(T,p))
S<-array(NA,c(T,p))
X<-array(NA,c(T,p))
for(t in 1:T){
F[t,,,]<-array(rnorm(prod(r),0,1),r)
E[t,,,]<-array(rnorm(prod(p),0,1),p)
S[t,,,]<-ttl(as.tensor(F[t,,,]),A,c(1,2,3))@data
X[t,,,]<-S[t,,,]+E[t,,,]
}
rank<-TFM_FN(X,r=NULL,method='PE')
Run the code above in your browser using DataLab