
OPSTACK(3LO)         Linop Reference Manual          OPSTACK(3LO)

NAME
     <type>opStack - Applies a reduction or expansion  along  one
     axis

SYNOPSIS
     #include <<type>opstack.h>

DESCRIPTION
     When applied forwards it adds  an  extra  dimension  to  the
     space,  the  data  is replicated across the extra dimension.
     When applied adjoint it  removes  that  dimension  from  the
     space  by  summing over the extra dimension. The constructor
     is given the axis to be stacked or spread over  and  option-
     ally the position at which it is inserted. If no position is
     specified the forward operator inserts the extra axis as the
     first axis of the space.

PUBLIC OPERATORS
     <type>opStack(const Axis & inax,int pos=-)
          Supply axis to be stacked over and optionally the posi-
          tion to insert it

     <type>spacearray Forward(const <type>spacearray& x) const
     <type>spacearray Adjoint(const <type>spacearray& x) const

PROTECTED OPERATIONS
     <type>space Forward(const <type>space &) const
          Replicate over axis.

     <type>space Adjoint(const <type>space &) const
          Stack over axis

PROTECTED VARIABLES
     Axis stackax;
     int pos;

SEE ALSO
     <type>op, <type>spacearray, <type>space, Axis

