Raw File
fields.derivative.poly.R
# fields, Tools for spatial data
# Copyright 2004-2007, Institute for Mathematics Applied Geosciences
# University Corporation for Atmospheric Research
# Licensed under the GPL -- www.gpl.org/licenses/gpl.html

fields.derivative.poly <-
function(x, m,dcoef){

# dimension of x locations
# goal is find partial derivative matrix 

  d<- ncol( x)

  out<- fields.mkpoly( rbind( x[1,]), m)
  ptab<- attr( out, "ptab")

  if( nrow( ptab) != length( dcoef)) { 
       stop(" rows of ptab not equal to length of dcoef")}


  hold<- matrix( NA, ncol=d, nrow= nrow(x))
 
  for( k in 1:d){
     nonzero<- ptab[,k] != 0
     ptemp<- matrix( ptab[nonzero,], ncol=d) 
     
     dtemp<- dcoef[nonzero]
     dtemp<- dtemp *ptemp[,k]
     ptemp[,k]<-  ptemp[,k] -1

     hold[,k]<- fields.evlpoly2(x,dtemp, ptemp)
}

  return(hold)
}

back to top