fields-stuff             package:fields             R Documentation

_F_i_e_l_d_s _s_u_p_p_o_r_t_i_n_g _f_u_n_c_t_i_o_n_s

_D_e_s_c_r_i_p_t_i_o_n:

     Some supporting functions that are internal to fields top level
     methods. Variants of these might be found in the R base but these
     have been written for cleaner code or efficiency.

_U_s_a_g_e:

     fields.diagonalize(A,B)

     fields.duplicated.matrix(mat, digits = 8) 

     fields.mkpoly(x, m = 2)

     fields.derivative.poly(x, m,dcoef)

     fields.evlpoly( x, coef)

     fields.evlpoly2( x, coef, ptab)

_A_r_g_u_m_e_n_t_s:

       A: A positive definite matrix

       B: A positive definite matrix

     mat: Arbitrary matrix for examining rows

  digits: Number of significant digits to use for comparing elements to
          determine duplciate values. 

       x: Arbitrary matrix where rows are components of a
          multidimensional vector

       m: The null space degree  - results in a polynomial of degree
          (m-1) 

   dcoef: Coefficients of a multidimensional polynomial

    coef: Polynomial coefficients.

    ptab: Table of powers of different polnomial terms.

_D_e_t_a_i_l_s:

     'fields.diagonalize' finds the matrix transformation G  that will
     convert A to a identity matrix and B to a diagonal matrix:

     G\^T A G= I       G\^T B G= D. 

     'fields.duplicated' finds duplicate rows in a matrix.  The digits
     arguments is the number of digits that are considered in the
     comparison.  The returned value is an array of integers from 1:M
     where M is the number of unique rows and duplicate rows are
     referenced in the same order that they appear as the rows of
     'mat'. 

     'fields.mkpoly'  computes the complete matrix of all monomial
     terms up to degree (m-1). Each row of 'x' is are the componets of
     a vector.  (The fields function mkpoly returns the number of these
     terms.) In 2 dimensions with m=3 there   6 polynomial terms  up to
     quadratic ( 3-1 =2) order and will be returned as the matrix:

     cbind(  1 , x[,1], x[,2], x[,1]**2, x[,1]*x[,2], x[,2]**2  )

     This function is used for the fixed effects polynomial  or spatial
     drift used in spatial estimating functions Krig, Tps and mKrig. 
     The matrix ptab is a table of the powers in each term for each
     variable and is included as an attribute to the matrix returned by
     this function.  See the 'attr' function for extracting an
     attribute from an object. 

     'ptab' for the example above is 


         [,1] [,2]
     [1,]    0    0
     [2,]    1    0
     [3,]    0    1
     [4,]    2    0
     [5,]    1    1
     [6,]    0    2

     This information is used in finding derivatives of the polynomial. 

     'fields.deriviative.poly' finds the partial derivative matrix of a
     multidimensional polynomial of degree (m-1) at different vector
     values and with coefficients 'dcoef'.  This function has been
     orgainzed to be a clean utility for the predicting the derivative
     of the estimated function from Krig or mKrig.  Within the fields
     context the polynomial itself would be evaluated as 
     fields.mkpoly( x,m)%*%dcoef. If x has  d columns ( also the
     dimension of the polynomial) and n rows the partial derivatives of
     this polynomial at the locations x can be organized in a nXd
     matrix.  This is the object returned by ths function.   

     'evlpoly' and 'evlpoly2' are FORTRAN based functions for 
     evaluating univariate polynomials and multivariate polynomials. 
     The table of powers (ptab) needed for evlpoly2 is the same format
     as that returned my the fields.mkpoly function.

_A_u_t_h_o_r(_s):

     Doug Nychka

_S_e_e _A_l_s_o:

     Krig, Tps, as.image, predict.Krig, predict.mKrig, 
     Krig.engine.default, Wendland

