RealPart

class odl.operator.default_ops.RealPart(*args, **kwargs)[source]

Bases: odl.operator.operator.Operator

Operator that extracts the real part of a vector.

Implements:

RealPart(x) == x.real
Attributes
adjoint

Return the (left) adjoint.

domain

Set of objects on which this operator can be evaluated.

inverse

Return the (pseudo-)inverse.

is_functional

True if this operator’s range is a Field.

is_linear

True if this operator is linear.

range

Set in which the result of an evaluation of this operator lies.

Methods

_call(self, x)

Return self(x).

derivative(self, x)

Return the derivative operator in the “C = R^2” sense.

norm(self[, estimate])

Return the operator norm of this operator.

__init__(self, space)[source]

Initialize a new instance.

Parameters
spaceTensorSpace

Space in which the real part should be taken, needs to implement space.real_space.

Examples

Take the real part of complex vector:

>>> c3 = odl.cn(3)
>>> op = RealPart(c3)
>>> op([1 + 2j, 2, 3 - 1j])
rn(3).element([ 1.,  2.,  3.])

The operator is the identity on real spaces:

>>> r3 = odl.rn(3)
>>> op = RealPart(r3)
>>> op([1, 2, 3])
rn(3).element([ 1.,  2.,  3.])

The operator also works on other TensorSpace spaces such as DiscretizedSpace spaces:

>>> r3 = odl.uniform_discr(0, 1, 3, dtype=complex)
>>> op = RealPart(r3)
>>> op([1, 2, 3])
uniform_discr(0.0, 1.0, 3).element([ 1.,  2.,  3.])