| 1234567891011121314151617181920 | 
							- template <class ArgType>
 
- class Circulant : public Eigen::MatrixBase<Circulant<ArgType> >
 
- {
 
- public:
 
-   Circulant(const ArgType& arg)
 
-     : m_arg(arg)
 
-   { 
 
-     EIGEN_STATIC_ASSERT(ArgType::ColsAtCompileTime == 1,
 
-                         YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX);
 
-   }
 
-   typedef typename Eigen::internal::ref_selector<Circulant>::type Nested; 
 
-   typedef Eigen::Index Index;
 
-   Index rows() const { return m_arg.rows(); }
 
-   Index cols() const { return m_arg.rows(); }
 
-   typedef typename Eigen::internal::ref_selector<ArgType>::type ArgTypeNested;
 
-   ArgTypeNested m_arg;
 
- };
 
 
  |