All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface jam.operator.hasGradient

public interface interface hasGradient
extends JamObject, Operator
A hasGradient is an operator in which the gradient is implemented.
We define the gradient as the adjoint of the derivative.
Thus, for a linear operator L, getGradientAt(Vector x), returns adj(L)

In the case that the operator is a functional, i.e. the range is the set of real numbers, people are used to thinking of the gradient as a vector. A vector, v, can be thought of as an operator from real numbers to the vector space of v. The operator acts by simply multiplying the scalar by the vector. The adjoint of this is the operator which takes a vector and returns the dot product of that vector and v. This is the form which is, technically speaking, the derivative of the functional.
This is in keeping with the fact that the derivative of an operator has the same domain and range as the operator itself. Therefore, the derivative of a functional is actually a linear functional (i.e. a row vector) instead of a vector (i.e. a column vector) as is usually taught in Calculus classes.

Method Index

 o getGradientAt(Vector)


 o getGradientAt
 public abstract LinearOperator getGradientAt(Vector x)
x - the location at which the gradient is taken (irrelevant for linear operators)
the operator's gradient at x

All Packages  Class Hierarchy  This Package  Previous  Next  Index