Isochromat Operator#

Defined in sycomore/isochromat/Operator.h

class Operator#

Isochromat simulation operator, i.e. an array of 4×4 matrices.

Public Types

using Array = TensorR<3>#

Array representation of the operator.

Public Functions

Operator()#

Build an identity operator.

Operator(Array const &data)#

Build an operator from given array.

Operator(Operator const&) = default#

Default copy constructor.

Operator(Operator&&) = default#

Default move constructor.

~Operator() = default#

Default destructor.

Operator &operator=(Operator const&) = default#

Default assignment.

Operator &operator=(Operator&&) = default#

Default move assignment.

Operator &operator*=(Operator const &right)#

In-place chaining of operators, with right applied first.

If *this and/or right has shape 1×4×4, it is broadcast to match the other operand. Otherwise, both operand must have shape n×4×4.

Operator &pre_multiply(Operator const &left)#

In-place chaining of operators, with self applied first.

If *this and/or left has shape 1×4×4, it is broadcast to match the other operand. Otherwise, both operand must have shape n×4×4.

Array const &array() const#

Numeric representation of the operator.

Operator sycomore::isochromat::operator*(Operator left, Operator const &right)#

Operator chaining, representing right followed by left.