Skip to content
Snippets Groups Projects

Add TransposeOperator, fix plotting

Merged Philipp Arras requested to merge devel_pa into NIFTy_8
1 unresolved thread
Files
7
+ 17
1
@@ -250,7 +250,7 @@ class Operator(metaclass=NiftyMeta):
if not is_operator(self):
return NotImplemented
if not isinstance(self.target, MultiDomain):
raise TypeError("Only Operators with a MultiDomain as target get be subscipted.")
raise TypeError("Only Operators with a MultiDomain as target can be subscripted.")
return ducktape(None, self, key) @ self
def apply(self, x):
@@ -314,6 +314,22 @@ class Operator(metaclass=NiftyMeta):
dom = self.domain if is_fieldlike(self) else self.target
return DomainChangerAndReshaper(dom, newdom)(self)
def transpose(self, indices):
"""Transposes a Field.
Parameters
----------
indices : tuple
Must be a tuple or list which contains a permutation of
[0,1,..,N-1] where N is the number of domains in the target of the
Operator (or the Field).
"""
from .transpose_operator import TransposeOperator
from ..sugar import is_fieldlike
dom = self.domain if is_fieldlike(self) else self.target
return TransposeOperator(dom, indices)(self)
def __repr__(self):
return self.__class__.__name__
Loading