Colt 1.2.0

cern.colt.matrix.doublealgo
Class Stencil

java.lang.Object
  extended bycern.colt.matrix.doublealgo.Stencil

public class Stencil
extends Object

Stencil operations. For efficient finite difference operations. Applies a function to a moving 3 x 3 or 3 x 3 x 3 window. Build on top of matrix.zAssignXXXNeighbors(...). You can specify how many iterations shall at most be done, a convergence condition when iteration shall be terminated, and how many iterations shall pass between convergence checks. Always does two iterations at a time for efficiency. These class is for convencience and efficiency.

Version:
1.0, 01/02/2000

Method Summary
static int stencil27(DoubleMatrix3D A, Double27Function function, int maxIterations, DoubleMatrix3DProcedure hasConverged, int convergenceIterations)
          27 point stencil operation.
static int stencil9(DoubleMatrix2D A, Double9Function function, int maxIterations, DoubleMatrix2DProcedure hasConverged, int convergenceIterations)
          9 point stencil operation.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

stencil27

public static int stencil27(DoubleMatrix3D A,
                            Double27Function function,
                            int maxIterations,
                            DoubleMatrix3DProcedure hasConverged,
                            int convergenceIterations)
27 point stencil operation. Applies a function to a moving 3 x 3 x 3 window.

Parameters:
A - the matrix to operate on.
function - the function to be applied to each window.
maxIterations - the maximum number of times the stencil shall be applied to the matrix. Should be a multiple of 2 because two iterations are always done in one atomic step.
hasConverged - Convergence condition; will return before maxIterations are done when hasConverged.apply(A)==true. Set this parameter to null to indicate that no convergence checks shall be made.
convergenceIterations - the number of iterations to pass between each convergence check. (Since a convergence may be expensive, you may want to do it only every 2,4 or 8 iterations.)
Returns:
the number of iterations actually executed.

stencil9

public static int stencil9(DoubleMatrix2D A,
                           Double9Function function,
                           int maxIterations,
                           DoubleMatrix2DProcedure hasConverged,
                           int convergenceIterations)
9 point stencil operation. Applies a function to a moving 3 x 3 window.

Parameters:
A - the matrix to operate on.
function - the function to be applied to each window.
maxIterations - the maximum number of times the stencil shall be applied to the matrix. Should be a multiple of 2 because two iterations are always done in one atomic step.
hasConverged - Convergence condition; will return before maxIterations are done when hasConverged.apply(A)==true. Set this parameter to null to indicate that no convergence checks shall be made.
convergenceIterations - the number of iterations to pass between each convergence check. (Since a convergence may be expensive, you may want to do it only every 2,4 or 8 iterations.)
Returns:
the number of iterations actually executed.

Colt 1.2.0

Jump to the Colt Homepage