## Not run: ------------------------------------
# # Generating time series data
# Nlength = 100; N = 150; p = 6; b = 3
#
# I = diag(p)
# A = 0.5 * matrix( rbinom( p * p, 1, 0.2 ), p, p )
# A[lower.tri(A)] = 0
# diag(A) = 0.5
#
# G = matrix( 0, p, p )
# K = matrix( 0, p, p * Nlength )
#
# lambda = seq( 0, Nlength - 1, 1 ) * 2 * pi / Nlength
# K0 = matrix( 0, p, p * Nlength )
# K_times = matrix( 1, p, p )
#
# for( k in 1:Nlength )
# { # Compute K0
# K0[, ( k * p - p + 1 ):( k * p )] = I + t(A) <!-- %*% A + -->
# complex( 1, cos( -lambda[k] ), sin( -lambda[k] ) ) * A +
# complex( 1, cos( lambda[k] ), sin( lambda[k] ) ) * t(A)
#
# K_times = K_times * ( K0[, ( k * p - p + 1 ):( k * p )] != 0 )
# diag( K[, (k * p - p + 1 ):( k * p )] ) = 1
# }
#
# G0 = K_times
# diag(G0) = 0
#
# D = K
# # d is the Fourier coefficients of X
# d = array( 0, c( p, Nlength, N ) )
# x = array( 0, c( p, Nlength, N ) )
#
# for( n in 1:N )
# { # Generate X
# e = matrix( rnorm( p * Nlength ), p, Nlength )
#
# x[, 1, n] = e[, 1]
# for( t in 2:Nlength ) x[,t,n] = A <!-- %*% x[,t-1,n] + e[,t] -->
# }
#
# P = 0 * D
# for( n in 1:N )
# { # Compute Pk
# X = x[,,n]
#
# for( i in 1:p ) d[i, , n] = fft( X[i,] )
#
# for( i in 1:Nlength )
# P[, ( i * p - p + 1 ):( i * p)] = P[, ( i * p - p + 1 ):( i * p )] +
# d[, i, n] <!-- %*% t( Conj( d[, i, n] ) ) -->
# }
#
# bdgraph.obj = bdgraph.ts( P, Nlength, N, iter = 1000 )
#
# summary( bdgraph.obj )
#
# compare( G0, bdgraph.obj )
## ---------------------------------------------
Run the code above in your browser using DataLab