C++ main module for emicrom Package  1.0
MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.h
Go to the documentation of this file.
1 #ifndef MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix_H
2 #define MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix_H
3 
5 
6 
66 
69 
70 public:
71 
72 
73 
74 private:
75 
76 
77 
78 
79 protected:
80 
81  // METHOD
82 
83  // CONSTRUCTORS
84 
88 
89 
90 
91  // DESTRUCTORS
92 
93 
97 
98 
99 public:
100  // NEW
104  inline static SP::MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix New() {
105  SP::MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix ret(new MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix(),
107  ret->setThis(ret);
108  return ret;
109  };
110 
114  virtual SP::MATH_MultiLevelsToeplitzMatrix NewInstance() const {
115  return New();
116  }
117 
121  virtual void copy(const MATH_MultiLevelsToeplitzMatrix& mat) {
123 
124  }
125 
126 
127  // SET methods
128 
129 
130  // diagonalization methods
131  //=========================
132 protected:
133 
140  CORE_UIndexArray& Ms) const;
141 
172  virtual void buildSpectralSpace();
173 
177  virtual void recoverCanonicalSpace();
178 
182  virtual void buildColumnLeadingDimensions();
183 
193  virtual void buildRowLeadingDimensions();
194 
195 private:
200 
201 
202 private:
203 
211  tUIndex getMultiLevelsCircularIndex(const tUSInt& nLevels,const tUIndex M[],const tIndex I[]) const;
212 
213 
214 
215 };
216 #endif
virtual ~MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix(void)
destroy a multi level toeplitz matrix
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:11
void buildLeadingDimensions(CORE_UIndexArray &lds)
build the leading dimension for the array
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:442
tUIndex getMultiLevelsCircularIndex(const tUSInt &nLevels, const tUIndex M[], const tIndex I[]) const
get the index corresponding to indices in the multi level circular matrix
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:14
This class is multi levels toeplitz matrix. The matrix at level k is composed by toeplitz block matr...
Definition: MATH_MultiLevelsToeplitzMatrix.h:57
virtual void copy(const MATH_MultiLevelsToeplitzMatrix &mat)
copy the instance mat
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.h:121
SP_OBJECT(MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix)
#define tUSInt
Definition: types.h:28
static SP::MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix New()
build a new instance of class
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.h:104
#define tIndex
Definition: types.h:129
This class is a multi level toeplitz matrix whose leaf block are packed/full matrix of dimension D an...
Definition: MATH_ElementaryMultiLevelsToeplitzMatrix.h:31
This class is a multi level toeplitz matrix based on circular matrix whose leaf block are packed or f...
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.h:67
MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix(void)
create a multi level toeplitz matrix
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:5
virtual void recoverCanonicalSpace()
recover the canonical space from the spectral space do the reverse procedure of buildSpectralSpace() ...
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:278
virtual void buildColumnLeadingDimensions()
build the column leading dimensions Build the index in column leading dimension the same as buildRowL...
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:501
#define tUIndex
Definition: types.h:126
virtual tUIndex computeSpectralSpaceSizePerDimension(const tUIndex &s, const tUSInt &d, CORE_UIndexArray &Ms) const
compute the size of spectral space for each dimension
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:49
virtual SP::MATH_MultiLevelsToeplitzMatrix NewInstance() const
new instance
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.h:114
virtual void copy(const MATH_MultiLevelsToeplitzMatrix &mat)
copy the matrix mat
Definition: MATH_ElementaryMultiLevelsToeplitzMatrix.h:69
virtual void buildSpectralSpace()
build the spectral space
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:74
virtual void buildRowLeadingDimensions()
build the row leading dimensions Build the index in row leading dimension
Definition: MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix.cpp:504
DEFINE_SPTR(MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix)
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141