8#ifndef IGL_CROUZEIX_RAVIART_COTMATRIX 
    9#define IGL_CROUZEIX_RAVIART_COTMATRIX 
   12#include <Eigen/Sparse> 
   27  template <
typename DerivedV, 
typename DerivedF, 
typename LT, 
typename DerivedE, 
typename DerivedEMAP>
 
   29      const Eigen::MatrixBase<DerivedV> & V, 
 
   30      const Eigen::MatrixBase<DerivedF> & F, 
 
   31      Eigen::SparseMatrix<LT> & L,
 
   32      Eigen::PlainObjectBase<DerivedE> & E,
 
   33      Eigen::PlainObjectBase<DerivedEMAP> & EMAP);
 
   46  template <
typename DerivedV, 
typename DerivedF, 
typename DerivedE, 
typename DerivedEMAP, 
typename LT>
 
   48      const Eigen::MatrixBase<DerivedV> & V, 
 
   49      const Eigen::MatrixBase<DerivedF> & F, 
 
   50      const Eigen::MatrixBase<DerivedE> & E,
 
   51      const Eigen::MatrixBase<DerivedEMAP> & EMAP,
 
   52      Eigen::SparseMatrix<LT> & L);
 
   54#ifndef IGL_STATIC_LIBRARY 
   55#  include "crouzeix_raviart_cotmatrix.cpp" 
void crouzeix_raviart_cotmatrix(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, Eigen::SparseMatrix< LT > &L, Eigen::PlainObjectBase< DerivedE > &E, Eigen::PlainObjectBase< DerivedEMAP > &EMAP)
Compute the Crouzeix-Raviart cotangent stiffness matrix.