BroadcastOperator.derivative

BroadcastOperator.derivative(self, x)[source]

Derivative of the broadcast operator.

Parameters
xdomain element

The point to take the derivative in

Returns
adjointlinear BroadcastOperator

The derivative

Examples

Example with an affine operator:

>>> I = odl.IdentityOperator(odl.rn(3))
>>> residual_op = I - I.domain.element([1, 1, 1])
>>> op = BroadcastOperator(residual_op, 2 * residual_op)

Calling operator offsets by [1, 1, 1]:

>>> x = [1, 2, 3]
>>> op(x)
ProductSpace(rn(3), 2).element([
    [ 0.,  1.,  2.],
    [ 0.,  2.,  4.]
])

The derivative of this affine operator does not have an offset:

>>> op.derivative(x)(x)
ProductSpace(rn(3), 2).element([
    [ 1.,  2.,  3.],
    [ 2.,  4.,  6.]
])