
OPCHAIN(3LO)         Linop Reference Manual          OPCHAIN(3LO)

NAME
     <type>opChain - class to store products of operators.

SYNOPSIS
     #include <<type>opchain.h>

DESCRIPTION
     Class <type>opChain is  class  derived  from  <type>operator
     which   allows   for   automatic  handling  of  products  of
     <type>operators. Two <type>operators can be joined  to  pro-
     duce  a  <type>opChain  which,  when the Forward function is
     called,   applies   the   second   <type>operator   to   the
     <type>space,  followed  by  the  first  <type>operator.  The
     Adjoint function calls the Adjoint of  the  <type>operators,
     in  reverse  order. One thing that is important to notice is
     that the <type>opChain contains pointers to <type>operators,
     not    the    <type>operators    themselves.    Thus,    the
     <type>operators must be maintained (not changed or deleted),
     or the <type>opChain will not work.

     Derived classes may construct chains longer  than  length  2
     (without  defining them as chains of chains).  num specifies
     the number of operators.  Operators are applied  in  reverse
     order (last first, second to last second, and so on).

PUBLIC OPERATIONS
     <type>opChain(<type>operator &,<type>operator &)
     <type>opChain(<type>operator *,<type>operator *)
          Create   an   <type>opChain    containing    the    two
          <type>operators.

     friend <type>opChain operator*(<type>operator&,<type>operator&)
          Return  a  <type>opChain  built from the two operators.
          This  is  an   alternative   method   of   creating   a
          <type>opChain.

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

     <type>opChain(const <type>opChain &)
     <type>opChain & operator=(const <type>opChain &)
     ~<type>opChain()

PROTECTED VARIABLES
     <type>operator **ops
     int num

SEE ALSO
     <type>spacearray, <type>operator

