IdentityFunctional.adjoint

property IdentityFunctional.adjoint

Adjoint, given as scaling with the conjugate of the scalar.

Returns:
adjointScalingOperator

self if scalar is real, else scalar is conjugated.

Examples

In the real case, the adjoint is the same as the operator:

>>> r3 = odl.rn(3)
>>> x = r3.element([1, 2, 3])
>>> op = ScalingOperator(r3, 2)
>>> op(x)
rn(3).element([ 2.,  4.,  6.])
>>> op.adjoint(x)  # The same
rn(3).element([ 2.,  4.,  6.])

In the complex case, the scalar is conjugated:

>>> c3 = odl.cn(3)
>>> x_complex = c3.element([1, 1j, 1-1j])
>>> op = ScalingOperator(c3, 1+1j)
>>> expected_op = ScalingOperator(c3, 1-1j)
>>> op.adjoint(x_complex)
cn(3).element([ 1.-1.j,  1.+1.j,  0.-2.j])
>>> expected_op(x_complex)  # The same
cn(3).element([ 1.-1.j,  1.+1.j,  0.-2.j])