ScalingOperator.adjoint

property ScalingOperator.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])