PointwiseTensorFieldOperator

class odl.operator.tensor_ops.PointwiseTensorFieldOperator(*args, **kwargs)[source]

Bases: odl.operator.operator.Operator

Abstract operator for point-wise tensor field manipulations.

A point-wise operator acts on a space of vector or tensor fields, i.e. a power space X^d of a discretized function space X. Its range is the power space X^k with a possibly different number k of components. For k == 1, the base space X can be used instead.

For example, if X is a DiscretizedSpace space, then ProductSpace(X, d) is a valid domain for any positive integer d. It is also possible to have tensor fields over tensor fields, i.e. ProductSpace(ProductSpace(X, n), m).

Note

It is allowed that domain, range and base_space use different dtype. Correctness for, e.g., real-to-complex mappings is not guaranteed in that case.

Attributes
adjoint

Adjoint of this operator (abstract).

base_space

Base space X of this operator’s domain and range.

domain

Set of objects on which this operator can be evaluated.

inverse

Return the operator 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[, out])

Implementation of the operator evaluation.

derivative(self, point)

Return the operator derivative at point.

norm(self[, estimate])

Return the operator norm of this operator.

__init__(self, domain, range, base_space, linear=False)[source]

Initialize a new instance.

Parameters
domain, range{ProductSpace, LinearSpace}

Spaces of vector fields between which the operator maps. They have to be either power spaces of the same base space X (up to dtype), or the base space itself. Empty product spaces are not allowed.

base_spaceLinearSpace

The base space X.

linearbool, optional

If True, assume that the operator is linear.