
OPMATMUL(3LO)        Linop Reference Manual         OPMATMUL(3LO)

NAME
     <type>opMatmul - <type>opwhich performs a matrix multiply.

SYNOPSIS
     #include <<type>opmatmul.h>

DESCRIPTION
     This class is an operator, derived from  <type>opone,  which
     multiplies  a  <type>space by a <type>space, or <type>Array,
     in the manner of matrix multiply.  When  you  construct  the
     <type>Matmul,  you specify the left side matrix, and the two
     axes, one to contract and the other to expand. The  Axis  to
     contract  along  matches  the  columns of the left side, the
     Axis to expand, the rows. When the <type>Matmul  is  applied
     to  a  <type>space,  through the Forward function, it multi-
     plies the <type>space by the left-side, along the  contract-
     ing Axis.

PUBLIC OPERATIONS
     <type>opMatmul(const <type>space &)
          Construct a <type>Matmul with the  <type>space  as  the
          matrix to multiply by.

     <type>opMatmul(const Axis & in,const Axis & out,
                    const <type>Array &)
          Construct a <type>Matmul by specifying the Axis to con-
          tract (in), expand (out), and the <type>Array to multi-
          ply by.

     <type>space Forward(const <type>space &) const
     <type>space Adjoint(const <type>space &) const

PRIVATE VARIABLE
     <type>Array matrix

PRIVATE OPERATION
     void apply(<type>Array &,<type>Array &,int,
                 const Axislist &,const Axislist &) const

SEE ALSO
     <type>space, <type>op, <type>opone

