
makevander <- function(n,u)  {
   m <- matrix(nrow=n,ncol=n)
   for (i in 1:n) {
      for (j in i:n) {
         if (i == j) {
            m[i,i] <- u^((i-1)^2)
         }
         else {
            m[i,j] <- u^((i-1)*(j-1))
            m[j,i] <- m[i,j]
         }
      }
   }
   m
}

# high-pass filter on pixmap object pmo, threshhold hpt; latter is
# relative to 1,1 elt of freqs
hpf <- function(pmo,hpt) {
   pmf <- fft(pmo@grey,inverse=F)
   elt11 <- abs(pmf[1,2])
   filpmf <- ifelse(abs(pmf) <= hpt*elt11,pmf,0)
   n <- nrow(filpmf)
   m <- ncol(filpmf)
   filpmfi <- fft(filpmf,inverse=T)/(n*m)
   newpmo <- pmo
   newpmo@grey <- filpmfi
   newpmo
}

