Utility Group
AggregateFunction
CycleIndices
MetricGij
OnOrOff
OptArgs
RankOneMatrix
UniqueVectors
UnitVector
AggregateFunction
AggregateFunction
- Create a function from an aggregate of points.
Usage
aggf = AggregateFunction(pts, agg, wts, PointFun, varargin)
 
Interactive Documentation
 AggregateFunction - Create a function from an aggregate of points.
   
   USAGE:
   aggf = AggregateFunction(pts, agg, wts, @PointFun)
   aggf = AggregateFunction(pts, agg, wts, @PointFun, pfarg1, ...)
   INPUT:
   pts is d x n, 
       the set of points on which to evaluate the aggregate function
   agg is d x m, 
       a collection of points (the aggregate)
   wts is 1 x m, 
       the weighting associated with points in `agg'
   PointFun is a function handle, 
       the function which evaluates the distribution associated 
       with each point of the aggregate;
       the required interface to PointFun is:
       PointFun(center, points [, args])
                center is d x 1, the center of the distribution
                points is d x n, a list of points to evaluate
                args are function-specific arguments
   Remaining arguments are passed to PointFun.
   OUTPUT:
   aggf is 1 x n, 
        the values of the aggregate function at each point in `pts';
   NOTES:
   * Each point in the aggregate is the center of a distribution
     over the whole space, given by PointFun; all of these 
     distributions are superposed to give the resulting 
     aggregate function, which is then evaluated at the 
     specified point.
 
CycleIndices
CycleIndices
- Cycle the indices 1:n.
Usage
Interactive Documentation
 CycleIndices - Cycle the indices 1:n.
   
   USAGE:
   cycle = CycleIndices(n)
   INPUT:
   n is a postive integer
   OUTPUT:
   cycle is an n x n array of integers ,
         the columns are the indices 1:n cyclically permuted
 
MetricGij
MetricGij
- Compute components of metric from differential.
Usage
Interactive Documentation
 MetricGij - Compute components of metric from differential.
   
   USAGE:
   gij = MetricGij(diff)
   INPUT:
   diff is m x n x l,
        the array of n tangent vectors of dimension m at each 
        of l points
   OUTPUT:
   gij is n x n x l, 
       the metric components (dot(ti, tj)) at each of the l points
 
OnOrOff
OnOrOff
- Convert on|off string to 1|0 integer.
Usage
Interactive Documentation
 OnOrOff - Convert on|off string to 1|0 integer.
   USAGE:
   toggle = OnOrOff(string)
   INPUT:
   string is either 'on' or 'off' (case is ignored)
   OUTPUT:
   toggle is a scalar, 
          0   if string matches 'off'
          1   if string matches 'on'
  
 
OptArgs
OptArgs
- Set options from cell array.
Usage
opts = OptArgs(optkeys, optargs)
 
Interactive Documentation
 OptArgs - Set options from cell array.
   
   USAGE:
   opts = OptArgs(optkeys, optargs)
   INPUT:
   optkeys is a cell array, (of length 2*n)
           consisting of data in the form
           {string1, object1, string2, object2, ...};
           the strings are the parameter names and objects
           are the default values associated with each paramter
   optargs is a cell array, (of length 2*m)
           it is of the same form as `optkeys'; its values
           override the defaults 
   
   OUTPUT:
   opts is a structure,
           the fields are parameter names from `optkeys', and
           the values are either the default value or the 
           overriding value from `optargs'
   NOTES:  
   *  Values in `optkeys' which are cell arrays need to be
      contained inside another cell array; see `struct' for
      details, whereas values in `optargs' which are cell arrays 
      should not be placed in another cell array.  The difference
      arises because the resulting structure is generated by
      a call to the matlab `struct' command with argument
      `optkeys', but the structure fields are updated one by one
      using the values in `optargs'.
   *  The general usage of this function would be to set optkeys
      in the user function and pass varargin as optargs to update
      the default values.
 
RankOneMatrix
RankOneMatrix
- Create rank one matrices (dyadics) from vectors.
Usage
r1mat = RankOneMatrix(vec1, vec2)
 
Interactive Documentation
 RankOneMatrix - Create rank one matrices (dyadics) from vectors.
   
   USAGE:
   r1mat = RankOneMatrix(vec1)
   r1mat = RankOneMatrix(vec1, vec2)
   INPUT:
   vec1 is m1 x n, 
        an array of n m1-vectors 
   vec2 is m2 x n, (optional) 
        an array of n m2-vectors
   OUTPUT:
   r1mat is m1 x m2 x n, 
         an array of rank one matrices formed as c1*c2' 
         from columns c1 and c2
   With one argument, the second vector is taken to
   the same as the first.
   NOTES:
   *  This routine can be replaced by MultMatArray.
 
UniqueVectors
UniqueVectors
- Remove near duplicates from a list of vectors.
Usage
[uvec, ord, iord] = UniqueVectors(vec, tol)
 
Interactive Documentation
 UniqueVectors - Remove near duplicates from a list of vectors.
   
   USAGE:
   [uvec, ord, iord] = UniqueVectors(vec)
   [uvec, ord, iord] = UniqueVectors(vec, tol)
   INPUT:
   vec is d x n, 
       an array of n d-vectors
   tol is a scalar, (optional) 
       the tolerance for comparison; it defaults to 1.0e-14
   OUTPUT:
   uvec is d x m, 
        the set of unique vectors; two adjacent vectors are considered
        equal if each component is within the given tolerance
   ord  is an m-vector, (integer)
        which relates the input vector to the output vector, 
        i.e. uvec = vec(:, ord)
   iord is an n-vector, (integer)
        which relates the reduced vector to the original vector, 
        i.e. vec = uvec(:, iord)
   NOTES:
   *  After sorting, only adjacent entries are tested for equality
      within the tolerance.  For example, if x1 and x2 are within
      the tolerance, and x2 and x3 are within the tolerance, then 
      all 3 will be considered the same point, even though x1 and
      x3 may not be within the tolerance.  Consequently, if you
      make the tolerance too large, all the points will be
      considered the same.  Nevertheless, this routine should be 
      adequate for the its intended application (meshing), where
      the points fall into well-separated clusters.
 
UnitVector
UnitVector
- Normalize an array of vectors.
Usage
uvec = UnitVector(vec, ipmat)
 
Interactive Documentation
 UnitVector - Normalize an array of vectors.
   
   USAGE:
   uvec = UnitVector(vec)
   uvec = UnitVector(vec, ipmat)
   INPUT:
   vec   is m x n, 
         an array of n nonzero vectors of dimension m
   ipmat is m x m, (optional)
         this is a (SPD) matrix which defines the inner product
         on the vectors by the rule:  
            norm(v)^2 = v' * ipmat * v
         
         If `ipmat' is not specified, the usual Euclidean 
         inner product is used.
   OUTPUT:
   uvec is m x n,
        the array of unit vectors derived from `vec'