DistOperator.derivative

DistOperator.derivative(point)[source]

The derivative operator.

DistOperator(y).derivative(z)(x) == ((y - z) / y.dist(z)).inner(x)

This is only applicable in inner product spaces.

Parameters:
xdomain element-like

Point in which to take the derivative.

Returns:
derivativeInnerProductOperator
Raises:
ValueError

If point == self.vector, in which case the derivative is not well defined in the Frechet sense.

Notes

The derivative cannot be written in a general sense except in Hilbert spaces, in which case it is given by

(D d(\cdot, y))(z)(x) = \langle (y-z) / d(y, z), x \rangle

Examples

>>> r2 = odl.rn(2)
>>> x = r2.element([1, 1])
>>> op = DistOperator(x)
>>> derivative = op.derivative([2, 1])
>>> derivative([1, 0])
1.0