edu.stanford.rsl.jpop
Interface FunctionAssembler

All Known Implementing Classes:
AdditiveFunctionAssembler

public interface FunctionAssembler

This interface provides methods to assemble the information after the block-wise processing of the evaluate, gradient, and hessian.

Author:
akmaier

Method Summary
 double assembleEvaluationBlocks(double[] blockResults)
          This method is provided with an array of block results and assembles them into a single function evaluation result.
 double[] assembleGradientBlocks(double[][] blockResults)
          This method is provided with an array of gradients which were obtained by the different processing blocks.
 double[][] assembleHessianBlocks(double[][][] blockResults)
          This method is provided with an array of hessians as computed fron the parallel procesing blocks.
 

Method Detail

assembleEvaluationBlocks

double assembleEvaluationBlocks(double[] blockResults)
This method is provided with an array of block results and assembles them into a single function evaluation result.

Parameters:
blockResults - the results of the processing blocks.
Returns:
the evaluation result

assembleGradientBlocks

double[] assembleGradientBlocks(double[][] blockResults)
This method is provided with an array of gradients which were obtained by the different processing blocks. The methods assembles the data into a single gradient vector. The first index of the gradient array is supposed to refer to the block number.

Parameters:
blockResults - the block results
Returns:
the assembled gradient vector

assembleHessianBlocks

double[][] assembleHessianBlocks(double[][][] blockResults)
This method is provided with an array of hessians as computed fron the parallel procesing blocks. The first index of the array should refer to the block index.

Parameters:
blockResults - the block results.
Returns:
the assembled Hessian.