ComplexModulusSquared¶
- class odl.operator.default_ops.ComplexModulusSquared(*args, **kwargs)[source]¶
Bases:
OperatorOperator that computes the squared complex modulus (absolute value).
- Attributes:
adjointAdjoint of this operator (abstract).
domainSet of objects on which this operator can be evaluated.
inverseReturn the operator inverse.
is_functionalTrueif this operator's range is aField.is_linearTrueif this operator is linear.rangeSet in which the result of an evaluation of this operator lies.
Methods
__call__(x[, out])Return
self(x[, out, **kwargs]).derivative(x)Return the derivative operator in the "C = R^2" sense.
norm([estimate])Return the operator norm of this operator.
- __init__(space)[source]¶
Initialize a new instance.
- Parameters:
- space
TensorSpace Space in which the modulus should be taken, needs to implement
space.real_space.
- space
Examples
Take the squared modulus of a complex vector:
>>> c2 = odl.cn(2) >>> op = odl.ComplexModulusSquared(c2) >>> op([3 + 4j, 2]) rn(2).element([ 25., 4.])
On a real space, this is the same as squaring:
>>> r2 = odl.rn(2) >>> op = odl.ComplexModulusSquared(r2) >>> op([1, -2]) rn(2).element([ 1., 4.])
The operator also works on other
TensorSpace's such asDiscretizedSpace:>>> space = odl.uniform_discr(0, 1, 2, dtype=complex) >>> op = odl.ComplexModulusSquared(space) >>> op([3 + 4j, 2]) uniform_discr(0.0, 1.0, 2).element([ 25., 4.])