/*
* File: DifferentiableCostFunction.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Framework Lite
*
* Copyright April 26, 2006, Sandia Corporation. Under the terms of Contract
* DE-AC04-94AL85000, there is a non-exclusive license for use of this work by
* or on behalf of the U.S. Government. Export of this program may require a
* license from the United States Government. See CopyrightHistory.txt for
* complete details.
*
*
*/
package gov.sandia.cognition.learning.function.cost;
import gov.sandia.cognition.learning.algorithm.gradient.GradientDescendable;
import gov.sandia.cognition.math.matrix.Vector;
/**
* The <code>DifferentiableCostFunction</code> is a cost function that can
* be differentiated. This requires that it operate as a cost function for
* <code>VectorFunction</code> objects and it has a separate method for
* doing the differentiation of a given
* <code>DifferentiableVectorFunction</code> with respect to the cost function.
*
* @author Kevin R. Dixon
* @since 1.0
*/
public interface DifferentiableCostFunction
extends SupervisedCostFunction<Vector,Vector>
{
/**
* Differentiates function with respect to its parameters.
*
* @param function The object to differentiate.
* @return Derivatives of the object with respect to the cost function.
*/
public Vector computeParameterGradient(
GradientDescendable function);
}