C++ main module for emicrom Package
1.0
|
This class is a multi level toeplitz matrix whose leaf block are packed or full matrix of dimension D and whose size is either or . The multi-levels toeplitz matrix is considered as a one level indexing by the index value where is the index of the block at level l and the number of block by rows in level l. This work is based on the article of by D. Lee More...
#include <MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix.h>
Public Member Functions | |
virtual SP::MATH_MultiLevelsToeplitzMatrix | NewInstance () const |
new instance More... | |
virtual void | copy (const MATH_MultiLevelsToeplitzMatrix &mat) |
copy the matrix mat More... | |
void | setStorage (const tString &storage) |
set storage of the leaf block matrix. More... | |
virtual tULLInt | getMemorySize () const |
return the memory size in byte More... | |
virtual void | clear () |
clear the matrix clear the data creating when building the spectral space More... | |
FFTW_FFT & | getDFTProjector () const |
return the projector for vector into the spectral space More... | |
virtual void | vectorProduct (const tUIndex &N, const tReal *X, tReal *Y) const |
do the vector product of the circular matrix C with Y by an FFT method More... | |
virtual void | vectorProduct (const CORE_RealArray &X, CORE_RealArray &Y) const |
do the vector product of the circular matrix C with Y by an FFT method More... | |
const tFFTWComplex & | operator() (const tUIndex &i, const tUIndex &j) const |
get the value of the matrix at row i and column j More... | |
tFFTWComplex & | operator() (const tUIndex &i, const tUIndex &j) |
get the value of the matrix at row i and column j More... | |
virtual void | setLeafBlockDimension (const tUIndex &n) |
set the dimension of leaf block More... | |
virtual void | setLevels (const tUSInt &levelsNumber, const tUIndex levels[], const tUIndex &nD) |
set the levels of the matrix More... | |
void | setLevels (const tUSInt &levelsNumber, const tUIndex levels[]) |
set the levels of the matrix More... | |
tReal | getRealValue (const tUIndex &i, const tUIndex &j) const |
get the real value at row i and column j More... | |
const tUIndex & | getDimension () const |
get the dimension of the matrix More... | |
const tUIndex & | getRowsNumber () const |
get the dimension of the matrix More... | |
const tUIndex & | getColumnsNumber () const |
get the dimension of the matrix More... | |
FFTW_ComplexArray & | getValues () |
get the values of the matrix More... | |
const FFTW_ComplexArray & | getValues () const |
get the values of the matrix More... | |
const tFFTWComplex * | getLeafBlockValues (const tIndex indices[]) const |
get the values of the leaf block More... | |
tFFTWComplex * | getLeafBlockValues (const tIndex indices[]) |
get the values of the leaf block More... | |
const CORE_UIndexArray & | getLevels () const |
get the level of the matrix More... | |
tUSInt | getLevelsNumber () const |
get the number of levels of the matrix More... | |
const tUIndex & | getCanonicalSpaceSize () const |
get canonical space size More... | |
tUIndex | getLeafBlockSize () const |
return the size of the leaf block matrix More... | |
const tUIndex & | getLeafBlockDimension () const |
return the dimension of the leaf block matrix More... | |
tUIndex | getBlocksNumber () const |
get the blocks number More... | |
tUIndex | getBlocksNumber (const tUIndex &l) const |
get the blocks number at the level More... | |
const tUIndex & | getBlocksNumberPerRow (const tUSInt &l) const |
get the blocks number per row or column at the level More... | |
const tFlag & | getSpace () const |
get the space of the matrix More... | |
const MATH_LeafBlockMatrixStorage & | getStorage () const |
get the storage of the leaf matrices More... | |
MATH_LeafBlockMatrixStorage & | getStorage () |
get the storage of the leaf matrices More... | |
tUIndex | getIndex (const tUIndex &i, const tUIndex &j) const |
return the index in values of the matrix value at row i and column j More... | |
tUIndex | getToeplitzBlockIndex (const tUSInt &nLevels, const tUIndex N[], const tIndex I[]) const |
get the block index corresponding to indices More... | |
tUIndex | getToeplitzBlockIndex (const tIndex I[]) const |
get the block index corresponding to indices More... | |
void | projection (const tFlag &space) |
make the projection in the space More... | |
virtual tString | toString () const |
return string More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
test if the clas T is an instance of this class More... | |
tBoolean | isInstanceOf (const tString &name) const |
test if the object is an instance of className More... | |
Static Public Member Functions | |
static SP::MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix | New () |
build a new instance of class More... | |
static void | setIsMemoryChecked (const tBoolean &v) |
set if the memory checking is used More... | |
static void | setOut (SP::CORE_Out out) |
set the output stream More... | |
static void | resetOut () |
reset the output stream More... | |
static void | setThread (SP::CORE_Thread thread) |
set the thread More... | |
static void | resetThread () |
reset the output stream More... | |
static CORE_Out & | out () |
get the output More... | |
static SP::CORE_Out | getOut () |
get the output More... | |
static CORE_Thread & | getThread () |
get the profilier More... | |
static const tBoolean & | isMemoryChecked () |
get if the memory checking is used More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string representation of a pointer More... | |
static void | printObjectsInMemory (ostream &f) |
print object in memory More... | |
static void | printObjectsInMemory () |
print object in memory in the standart output More... | |
static tChar | getMaxChar () |
get the max value for tChar type More... | |
static tChar | getMinChar () |
get the min value for tChar type More... | |
static tUChar | getMaxUChar () |
get the max value for tUChar type More... | |
static tUChar | getMinUChar () |
get the min value for tUChar type More... | |
static tSInt | getMaxSInt () |
get the max value for tSInt type More... | |
static tSInt | getMinSInt () |
get the min value for tSInt type More... | |
static tUSInt | getMaxUSInt () |
get the max value for tUSInt type More... | |
static tUSInt | getMinUSInt () |
get the min value for tUSInt type More... | |
static tInt | getMaxInt () |
get the max value for tInt type More... | |
static tInt | getMinInt () |
get the min value for tInt type More... | |
static tUInt | getMaxUInt () |
get the max value for tUInt type More... | |
static tUInt | getMinUInt () |
get the min value for tUInt type More... | |
static tLInt | getMaxLInt () |
get the max value for tLInt type More... | |
static tLInt | getMinLInt () |
get the min value for tLInt type More... | |
static tULInt | getMaxULInt () |
get the max value for tULInt type More... | |
static tULInt | getMinULInt () |
get the min value for tULInt type More... | |
static tLLInt | getMaxLLInt () |
get the max value for tULInt type More... | |
static tLLInt | getMinLLInt () |
get the min value for tLLInt type More... | |
static tULLInt | getMaxULLInt () |
get the max value for tULLInt type More... | |
static tULLInt | getMinULLInt () |
get the min value for tULLInt type More... | |
static tFloat | getMaxFloat () |
get the max value for tFloat type More... | |
static tFloat | getMinFloat () |
get the min value for tFloat type More... | |
template<class T > | |
static T | getEpsilon () |
get the epsilon value for T type More... | |
template<class T > | |
static T | getInfinity () |
get the infinity for T type More... | |
static tFloat | getFloatEpsilon () |
get the epsilon value for tFloat type More... | |
static tFloat | getFloatInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getMaxDouble () |
get the max value for tDouble type More... | |
static tDouble | getMinDouble () |
get the min value for tDouble type More... | |
static tDouble | getDoubleInfinity () |
get the infinity value for tFloat type More... | |
static tDouble | getDoubleEpsilon () |
get the epsilon value for tDouble type More... | |
static tLDouble | getMinLDouble () |
get the min value for tLDouble type More... | |
static tLDouble | getMaxLDouble () |
get the max value for tLDouble type More... | |
static tLDouble | getLDoubleEpsilon () |
get the epsilon value for tLDouble type More... | |
static tDouble | getLDoubleInfinity () |
get the infinity value for tDouble type More... | |
static tIndex | getMaxIndex () |
get the max value for the array/vector indexing type More... | |
static tIndex | getMinIndex () |
get the min value for the array/vector indexing type More... | |
static tUIndex | getMaxUIndex () |
get the max value for difference the array/vector indexing type More... | |
static tUIndex | getMinUIndex () |
get the min value for difference the array/vector indexing type More... | |
static tFlag | getMaxFlag () |
get the max value for the tFlag type More... | |
static tFlag | getMinFlag () |
get the min value for the tFlag type More... | |
static tUInteger | getMaxUInteger () |
get the max value for the unsigned integer type More... | |
static tUInteger | getMinUInteger () |
get the min value for the unsigned integer type More... | |
static tInteger | getMaxInteger () |
get the max value for the integer type More... | |
static tInteger | getMinInteger () |
get the min value for the integer type More... | |
static tReal | getMaxReal () |
get the max value for the real type More... | |
static tReal | getMinReal () |
get the min value for the real type More... | |
static tReal | getRealEpsilon () |
get the eps which is the difference between 1 and the least value greater than 1 that is representable. More... | |
static tReal | getRealInfinity () |
get the infinity value More... | |
template<class T > | |
static T | computeEpsilon () |
compute epsilon More... | |
Static Public Attributes | |
static const tFlag | CANONICAL_SPACE =0 |
static const tFlag | SPECTRAL_SPACE =1 |
Protected Member Functions | |
MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix (void) | |
create a multi level toeplitz matrix More... | |
virtual | ~MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix (void) |
destroy a multi level toeplitz matrix More... | |
virtual tUIndex | computeSpectralSpaceSizePerDimension (const tUIndex &s, const tUSInt &d, CORE_UIndexArray &Ms) const |
compute the size of spectral space for each dimension More... | |
void | setStorage (SP::MATH_LeafBlockMatrixStorage storage) |
set the storage of the matrix More... | |
virtual void | buildSpectralVectorProjector (FFTW_FFT &proj) const |
build the projector of vector in spectral spce More... | |
virtual void | buildSpectralSpace () |
build the spectral space More... | |
virtual void | recoverCanonicalSpace () |
recover the canonical space from the spectral space : do the reverse procedure of buildSpectralSpace() More... | |
virtual void | buildColumnLeadingDimensions () |
build the column leading dimensions More... | |
virtual void | buildRowLeadingDimensions () |
build the row indices More... | |
virtual void | vectorProductInSpectralSpace (const FFTW_FFT &A, FFTW_FFT &Z) const |
make the vector product in spectral space More... | |
virtual void | projectIntoSpectralSpace (const tUIndex &N, const tReal *X) const |
project the vector X from initial space to multi levels space More... | |
virtual void | recoverFromSpectralSpace (const tUIndex &N, tReal *X) const |
recover Y from multi levels space to the initial space More... | |
void | setSpectralSpaceSize (const tUIndex &n) |
set the spectral space size More... | |
const CORE_UIndexArray & | getColumnLeadingDimensions () const |
get the leading dimension of columns from the spectral space More... | |
CORE_UIndexArray & | getColumnLeadingDimensions () |
get the leading dimension of columns from the spectral space More... | |
const CORE_UIndexArray & | getRowLeadingDimensions () const |
get the index of the row i and column 0 from the spectral space More... | |
CORE_UIndexArray & | getRowLeadingDimensions () |
get the index of the row i and column 0 from the spectral space More... | |
const tUIndex & | getSpectralSpaceSize () const |
get the spectral space size More... | |
virtual void | diagonalize () |
diagonalize the matrix projection of the matrix in the SPECTRAL_SPACE More... | |
virtual void | recover () |
projection of the matrix in the CANONICAL SPACE More... | |
tFFTWComplex & | operator[] (const tUIndex &k) |
get the value at index k More... | |
const tFFTWComplex & | operator[] (const tUIndex &k) const |
get the value at index k More... | |
void | setSpace (const tFlag &space) |
set the space of the multi level block matrix More... | |
void | setDFT (SP::FFTW_FFT dft) |
set the DFT class More... | |
const FFTW_FFT & | getDFT () const |
get the FFT class More... | |
FFTW_FFT & | getDFT () |
get the FFT class More... | |
tUIndex | getBlockIndex (const tUIndex &ib, const tUIndex &jb, const tUIndex &N) const |
get the index of the block in the block list More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
virtual void | toDoAfterThisSetting () |
method called after setThis() method this method can oly be called once. More... | |
Private Member Functions | |
SP_OBJECT (MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix) | |
This class is a multi level toeplitz matrix whose leaf block are packed or full matrix of dimension D and whose size is either or . The multi-levels toeplitz matrix is considered as a one level indexing by the index value where is the index of the block at level l and the number of block by rows in level l. This work is based on the article of by D. Lee
At each coordinate k in [0,D[ is associate a spectral space of dimension M such that
It computes a polynom convolution for each coordinates of the vector values and toeplitz matrix values as explained in the class MATH_GlobalMultiLevelsPolynomialToeplitzMatrix
The algorithm to make the product :
Note that in fact the c does not store the index of the element (0,i) but the positive number of elements between 2 successive index except for its first element :
r is built in a similar way in order to be more efficent in the computations
For example consider the matrix 2x2 of levels 2 with full leaf block matrix of size 2:
|
protected |
create a multi level toeplitz matrix
References MATH_ElementaryMultiLevelsToeplitzMatrix::setStorage().
Referenced by New().
|
protectedvirtual |
destroy a multi level toeplitz matrix
|
protectedvirtualinherited |
build the column leading dimensions
Implements MATH_MultiLevelsFFTToeplitzMatrix.
Reimplemented in MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, and MATH_ElementaryMultiLevelsCircularToeplitzMatrix.
References MATH_MultiLevelsFFTToeplitzMatrix::getColumnLeadingDimensions(), MATH_MultiLevelsToeplitzMatrix::getDimension(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockDimension(), CORE_Array< T >::setSize(), and tUIndex.
Referenced by MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), and MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
protectedvirtualinherited |
build the row indices
Implements MATH_MultiLevelsFFTToeplitzMatrix.
Reimplemented in MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, and MATH_ElementaryMultiLevelsCircularToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::getDimension(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockDimension(), MATH_MultiLevelsFFTToeplitzMatrix::getRowLeadingDimensions(), CORE_Array< T >::setSize(), and tUIndex.
Referenced by MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), and MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
protectedvirtualinherited |
build the spectral space
The size of the vector of the values of the toeplitz matrix is where M is the size of the spectral space for each element of the leaf block matrix. First the matrix is considered as a matrix stored by rows. This methdo buildSpectralSpace() changes the storage in by using the FFTW_DFTTranspose::Transpose() method. The values is transformed in size by adding 0 in [N,M[ for each element of the leaf block matrix
Implements MATH_MultiLevelsFFTToeplitzMatrix.
Reimplemented in MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, and MATH_ElementaryMultiLevelsCircularToeplitzMatrix.
References MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::computeSpectralSpaceSizePerDimension(), FFTW_Object::FORWARD, FFTW_FFT::getArray(), MATH_MultiLevelsToeplitzMatrix::getBlocksNumber(), MATH_MultiLevelsToeplitzMatrix::getCanonicalSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getDFT(), MATH_LeafBlockMatrixStorage::getSize(), FFTW_ComplexArray::getSize(), MATH_MultiLevelsToeplitzMatrix::getStorage(), FFTW_FFT::setFFT(), FFTW_FFT::setFFTsNumber(), FFTW_FFT::setSize(), MATH_MultiLevelsFFTToeplitzMatrix::setSpectralSpaceSize(), tFFTWComplex, FFTW_DFTTranspose::Transpose(), and tUIndex.
Referenced by MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), and MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
protectedvirtualinherited |
build the projector of vector in spectral spce
proj | the DFT projector built
|
Reimplemented from MATH_MultiLevelsFFTToeplitzMatrix.
References CORE_Out::ERROR_MSG, FFTW_Object::FORWARD, MATH_MultiLevelsToeplitzMatrix::getDFT(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockDimension(), CORE_Exception::getMessage(), FFTW_FFT::getSize(), MATH_ElementaryMultiLevelsToeplitzMatrix::mWork, FFTW_FFT::NewInstance(), CORE_Object::out(), CORE_Out::println(), FFTW_FFT::setFFT(), FFTW_FFT::setFFTsNumber(), and FFTW_FFT::setSize().
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
virtualinherited |
clear the matrix clear the data creating when building the spectral space
Reimplemented from MATH_MultiLevelsToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::clear(), CORE_Array< T >::clear(), MATH_MultiLevelsFFTToeplitzMatrix::mColumnLeadingDimensions, MATH_MultiLevelsFFTToeplitzMatrix::mDFTProjector, MATH_MultiLevelsFFTToeplitzMatrix::mRowLeadingDimensions, MATH_MultiLevelsFFTToeplitzMatrix::mSpectralSpaceSize, and null.
|
inlinestaticinherited |
compute epsilon
|
inlineprotectedvirtual |
compute the size of spectral space for each dimension
s | size of the canonical space |
d | dimension of the canonical space |
Ms | the spectral dimension for each levels |
Implements MATH_ElementaryMultiLevelsToeplitzMatrix.
References CORE_Array< T >::setSize(), and tUIndex.
|
virtual |
copy the matrix mat
mat | the instance to copy |
Reimplemented from MATH_ElementaryMultiLevelsToeplitzMatrix.
References MATH_ElementaryMultiLevelsToeplitzMatrix::copy().
Referenced by NewInstance().
|
protectedvirtualinherited |
diagonalize the matrix projection of the matrix in the SPECTRAL_SPACE
Implements MATH_MultiLevelsToeplitzMatrix.
References MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector(), CORE_Out::ERROR_MSG, MATH_MultiLevelsToeplitzMatrix::getDFT(), CORE_Exception::getMessage(), MATH_MultiLevelsFFTToeplitzMatrix::mDFTProjector, FFTW_FFT::NewInstance(), CORE_Object::out(), CORE_Out::println(), and FFTW_FFT::runFFT().
Referenced by MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector().
|
inlineprotectedinherited |
get the index of the block in the block list
ib | row index of the block |
jb | colum index of the block |
N | size of the level the list are N=the number of columns (or rows corresponding to the matrix: |
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), and MATH_MultiLevelsToeplitzMatrix::getIndex().
|
inlineinherited |
get the blocks number
References MATH_MultiLevelsToeplitzMatrix::getLeafBlockSize().
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), and MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace().
get the blocks number at the level
l | index of the level |
|
inlineinherited |
get the blocks number per row or column at the level
l | index of the level >=1 |
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex().
|
inlineinherited |
get canonical space size
References MATH_MultiLevelsToeplitzMatrix::mCanonicalSpaceSize.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace(), and MATH_ToeplitzTest::toeplitzTest().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString(), EMM_Operator::getName(), and CORE_Object::isMemoryChecked().
return the class name of the object
identityString | the identity string of the object |
|
inlineprotectedinherited |
get the leading dimension of columns from the spectral space
References MATH_MultiLevelsFFTToeplitzMatrix::mColumnLeadingDimensions.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildColumnLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildColumnLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), and MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::projectIntoSpectralSpace().
|
inlineprotectedinherited |
get the leading dimension of columns from the spectral space
References MATH_MultiLevelsFFTToeplitzMatrix::mColumnLeadingDimensions.
|
inlineinherited |
get the dimension of the matrix
References MATH_MultiLevelsToeplitzMatrix::mDimension.
Referenced by MATH_MultiLevelsToeplitzMatrix::toString().
|
inlineprotectedinherited |
get the FFT class
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector(), MATH_MultiLevelsToeplitzMatrix::copy(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), MATH_MultiLevelsFFTToeplitzMatrix::recover(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inlineprotectedinherited |
get the FFT class
|
inlineinherited |
return the projector for vector into the spectral space
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::projectIntoSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::recoverFromSpectralSpace(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inlineinherited |
get the dimension of the matrix
References MATH_MultiLevelsToeplitzMatrix::mDimension.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildRowLeadingDimensions(), MATH_MultiLevelsToeplitzMatrix::copy(), MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), and MATH_ToeplitzTest::toeplitzTest().
|
inlinestaticinherited |
get the epsilon value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlinestaticinherited |
get the epsilon value for T type
|
inlinestaticinherited |
get the epsilon value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tFloat type
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by MATH_GaussLegendreIntegration::copy(), EMM_MultiScaleGrid::initialize(), CORE_Object::isInstanceOf(), CORE_Object::printObjectsInMemory(), MATH_Matrix::toString(), EMMG_SLPeriodicMultiScale::toString(), EMM_Stepper::toString(), EMM_AnisotropyDirectionsField::toString(), EMM_BlockMassMatrix::toString(), CORE_Object::toString(), EMM_Tensors::toString(), EMM_MultiScaleGrid::toString(), EMM_MatterField::toString(), EMM_Grid3D::toString(), and EMM_LandauLifschitzSystem::toString().
|
inlineinherited |
return the index in values of the matrix value at row i and column j
i | index of row in [0,getDimension()[ |
j | index of column in [0,getDimension(){ |
References MATH_MultiLevelsToeplitzMatrix::getRowsNumber(), CORE_Array< T >::getSize(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), tIndex, tUIndex, and tUSInt.
Referenced by MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildColumnLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildRowLeadingDimensions(), MATH_MultiLevelsToeplitzMatrix::getIndex(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), and MATH_MultiLevelsToeplitzMatrix::operator()().
|
inlinestaticinherited |
get the infinity for T type
|
inlinestaticinherited |
get the epsilon value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value for tDouble type
|
inlineinherited |
return the dimension of the leaf block matrix
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), and MATH_MultiLevelsToeplitzMatrix::setLevels().
|
inlineinherited |
return the size of the leaf block matrix
Referenced by MATH_MultiLevelsToeplitzMatrix::getBlocksNumber(), and MATH_MultiLevelsToeplitzMatrix::setLevels().
|
inlineinherited |
get the values of the leaf block
indices | indices of the block |
References CORE_Array< T >::getSize(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), and MATH_MultiLevelsToeplitzMatrix::getValues().
Referenced by MATH_ToeplitzTest::toeplitzTest().
|
inlineinherited |
get the values of the leaf block
indices | indices of the block |
References CORE_Array< T >::getSize(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), and MATH_MultiLevelsToeplitzMatrix::getValues().
|
inlineinherited |
get the level of the matrix
References MATH_MultiLevelsToeplitzMatrix::mLevels.
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::computeSpectralSpaceSizePerDimension(), MATH_MultiLevelsToeplitzMatrix::copy(), and MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace().
|
inlineinherited |
get the number of levels of the matrix
References CORE_Array< T >::getSize().
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), and MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace().
|
inlinestaticinherited |
get the max value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tInt type
Referenced by MATSGN_FFT::fastFourierTransform3D_FFTW(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the real type
Referenced by EMM_MatterField::adimensionize(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for difference the array/vector indexing type
Referenced by CORE_Vector< T >::addAfterIndices(), CORE_Vector< T >::search(), CORE_Test::testType(), CORE_Integer::toHexString(), and CORE_Integer::toString().
|
inlinestaticinherited |
get the max value for tUInt type
Referenced by EMM_Array< tCellFlag >::loadFromFile(), EMM_RealField::loadFromFile(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for the unsigned integer type
Referenced by MATH_Pn::computeExtrenums(), EMM_MultiScaleGrid::computeLevelsNumber(), EMM_Input::restoreBackup(), MATH_P0::solve(), and CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the max value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinevirtualinherited |
return the memory size in byte
Reimplemented from MATH_MultiLevelsFFTToeplitzMatrix.
References MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), MATH_ElementaryMultiLevelsToeplitzMatrix::computeSpectralSpaceSizePerDimension(), MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex(), MATH_MultiLevelsFFTToeplitzMatrix::getMemorySize(), null, MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), tReal, tUIndex, tUSInt, and MATH_ElementaryMultiLevelsToeplitzMatrix::vectorProductInSpectralSpace().
|
inlinestaticinherited |
get the min value for tChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the tFlag type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tFloat type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLDouble type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tLLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the real type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUChar type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for difference the array/vector indexing type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for the unsigned integer type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tULLInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
get the min value for tUSInt type
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinestaticinherited |
get the eps which is the difference between 1 and the least value greater than 1 that is representable.
Referenced by MATH_P4::solveP4De(), and CORE_Test::testType().
|
inlinestaticinherited |
get the infinity value
Referenced by BrentFunction::BrentFunction(), EMM_OperatorsTest::compareDiscretizedData(), EMM_IterativeTimeStep::EMM_IterativeTimeStep(), EMM_SLElementaryDemagnetizedMatrix::Kxy(), NRFunction::NRFunction(), EMM_PolynomialInterpolationTimeStep::optimizeTimeFunction(), and CORE_Test::testType().
|
inlineinherited |
get the real value at row i and column j
Referenced by MATH_MultiLevelsToeplitzMatrix::toString().
|
inlineprotectedinherited |
get the index of the row i and column 0 from the spectral space
References MATH_MultiLevelsFFTToeplitzMatrix::mRowLeadingDimensions.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildRowLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildRowLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), and MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::recoverFromSpectralSpace().
|
inlineprotectedinherited |
get the index of the row i and column 0 from the spectral space
References MATH_MultiLevelsFFTToeplitzMatrix::mRowLeadingDimensions.
|
inlineinherited |
get the dimension of the matrix
References MATH_MultiLevelsToeplitzMatrix::mDimension.
Referenced by MATH_MultiLevelsToeplitzMatrix::getIndex(), MATH_ToeplitzTest::toeplitzTest(), and MATH_MultiLevelsToeplitzMatrix::toString().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
Referenced by CORE_Map< Key, Value >::getSharedPointer(), CORE_ArrayList< tString >::getSharedPointer(), EMM_Array< tCellFlag >::getSharedPointer(), CORE_Array< tCellFlag >::getSharedPointer(), CORE_MorseArray< tUChar >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), and CORE_Object::printObjectsInMemory().
|
inlineinherited |
get the shared pointer of this class into p
p | : shared pointer of the class This |
|
inlineinherited |
get the space of the matrix
References MATH_MultiLevelsToeplitzMatrix::mSpace.
Referenced by MATH_MultiLevelsToeplitzMatrix::copy(), MATH_MultiLevelsToeplitzMatrix::projection(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inlineprotectedinherited |
get the spectral space size
References MATH_MultiLevelsFFTToeplitzMatrix::mSpectralSpaceSize.
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace(), and MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace().
|
inlineinherited |
get the storage of the leaf matrices
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsToeplitzMatrix::copy(), MATH_ToeplitzTest::emicromTest(), MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), MATH_ToeplitzTest::toeplitzTest(), and MATH_ElementaryMultiLevelsToeplitzMatrix::vectorProductInSpectralSpace().
|
inlineinherited |
get the storage of the leaf matrices
|
inlinestaticinherited |
get the profilier
Referenced by MATH_MaskVector::add(), MATH_Vector::add(), EMM_DisplacementFEMOperator::addBoundaryElasticStress(), EMM_DisplacementFEMOperator::buildDataOnNeumannBoundaryFaces(), EMM_DisplacementFVMOperator::computeCineticEnergy(), EMM_DisplacementFVMOperator::computeElasticStress(), EMM_DisplacementFEMOperator::computeElasticStress(), EMM_DisplacementFVMOperator::computeElasticTensor(), EMM_DisplacementFEMOperator::computeElasticTensor(), EMM_StaticMagneticTensorOperator::computeEnergy(), EMM_CubicAnisotropyOperator::computeEnergy(), EMM_MagnetostrictionOperator::computeEnergy(), EMM_DisplacementOperator::computeEnergy(), EMM_AnisotropyOperator::computeEnergyWithMagneticExcitation(), EMM_DisplacementFVMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_DisplacementFEMOperator::computeEquilibriumMatrixDiagonalConditioner(), EMM_FullExchangeOperator::computeMagneticExcitationField(), EMM_StaticMagnetostrictionOperator::computeMagneticExcitationField(), EMM_LinearAnisotropyOperator::computeMagneticExcitationField(), EMM_StaticMagneticTensorOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationField(), EMM_MinimalExchangeOperator::computeMagneticExcitationField(), EMM_AnisotropyOperator::computeMagneticExcitationField(), EMM_MagnetostrictionOperator::computeMagneticExcitationField(), EMM_CubicAnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_AnisotropyOperator::computeMagneticExcitationFieldGradient(), EMM_DisplacementFVMOperator::computeMagneticStress(), EMM_DisplacementFEMOperator::computeMagneticStress(), EMM_OptimalTimeStep::computeOptimalTimeStep(), EMM_DisplacementFEMOperator::computeStressConstraintEnergy(), EMM_FullExchangeOperator::discretize(), EMM_MinimalExchangeOperator::discretize(), EMM_CondensedMassMatrix::discretize(), EMM_LinearAnisotropyOperator::discretize(), EMM_AnisotropyOperator::discretize(), EMM_DemagnetizedOperator::discretize(), EMMG_SLDemagnetizedOperator::discretize(), EMM_LandauLifschitzSystem::discretize(), MATH_Vector::divide(), MATH_MaskVector::dot(), MATH_Vector::dot(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_4Tensors::doubleDotCrossProduct(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_4Tensors::doubleDotProduct(), MATH_Vector::init(), MATH_MaskVector::init(), EMM_LandauLifschitzODE_RK::integrateMagnetizationFieldAtTime(), EMM_DisplacementFVM_Interpolator::interpolateUAtVertices(), EMMG_SLDemagnetizedOperator::localAssembly(), EMM_DisplacementOperator::nullProjectionOnDirichletBoundary(), EMM_DisplacementOperator::periodicProjection(), EMM_2PackedSymmetricTensors::product(), EMM_CanonicalMassMatrix::product(), MATH_FullMatrix::product(), EMM_CondensedMassMatrix::product(), EMM_BlockMassMatrix::product(), MATH_MorseMatrix::product(), EMMG_SLDemagnetizedOperator::product(), EMM_DisplacementOperator::projectionOnDirichletBoundary(), EMM_LandauLifschitzSystem::resetOperatorsToInitialState(), EMM_DisplacementFVMOperator::setBoundaryFaceTypes(), FFTW_MultiDFTs::setFFT(), FFTW_MultiLevelsDFT::setFFT(), FFTW_MultiLevelsDFT::setLevels(), FFTW_MultiDFTs::setPlan(), FFTW_MultiLevelsDFT::setPlan(), EMM_CondensedMassMatrix::solve(), EMM_LandauLifschitzODE::solveODE(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_CanonicalMassMatrix::symmetricDot(), EMM_CondensedMassMatrix::symmetricDot(), EMM_BlockMassMatrix::symmetricDot(), FFTW_Test::test(), MATH_SolverTest::test(), EMM_ODETest::testODE(), and EMM_Grid3D::updateLimitConditionOnPoints().
|
inherited |
get the block index corresponding to indices
nLevels | number of levels |
N | : number of element by level of size nLevels |
I | index of element at each level i[l] in ]-N[l],N[l][ |
References tIndex, tUIndex, and tUSInt.
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsToeplitzMatrix::getIndex(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockValues(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), and MATH_ToeplitzTest::toeplitzTest().
|
inlineinherited |
get the block index corresponding to indices
I | index of element at each level i[l] in ]-N[l],N[l][ |
References MATH_MultiLevelsToeplitzMatrix::getIndex(), CORE_Array< T >::getSize(), MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex(), tUIndex, and tUSInt.
|
inlinestaticinherited |
|
inlineinherited |
get the values of the matrix
Referenced by MATH_ToeplitzTest::emicromTest(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockValues(), and MATH_ToeplitzTest::toeplitzTest().
|
inlineinherited |
get the values of the matrix
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::pointer2String(), CORE_Object::printObjectsInMemory(), and tString.
Referenced by CORE_Test::testType().
|
inlinestaticinherited |
return true if the machine is a 64 bits machine
Referenced by EMM_VTK::getVTKType(), and CORE_Test::testType().
|
inlineinherited |
test if the clas T is an instance of this class
References null.
Referenced by MATH_ToeplitzTest::toeplitzTest().
test if the object is an instance of className
name | name of the class |
References CORE_Object::getIdentityString().
|
inlinestaticinherited |
get if the memory checking is used
References CORE_Object::getClassName(), CORE_Object::mIsMemoryTesting, and tString.
Referenced by main().
|
inlinestatic |
build a new instance of class
References MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix().
Referenced by MATH_ToeplitzTest::elementaryPolynomialToeplitzTests(), MATH_ToeplitzClassFactory::NewInstance(), NewInstance(), and EMM_DemagnetizedOperator::setStorage().
|
inlinevirtual |
new instance
Implements MATH_MultiLevelsToeplitzMatrix.
|
inlineinherited |
get the value of the matrix at row i and column j
i | the index of the row [0,getDimension()[ |
j | the index of the column in [0,getDimension()[ return the value at element (i,j) |
References MATH_MultiLevelsToeplitzMatrix::getIndex().
|
inlineinherited |
get the value of the matrix at row i and column j
i | the index of the row [0,getDimension()[ |
j | the index of the column in [0,getDimension()[ return the value at element (i,j) |
References MATH_MultiLevelsToeplitzMatrix::clear(), MATH_MultiLevelsToeplitzMatrix::copy(), and MATH_MultiLevelsToeplitzMatrix::getIndex().
|
inlineprotectedinherited |
get the value at index k
k | index of the value in [0,getSpectralSpaceDimension()[ return the value at index k |
|
inlineprotectedinherited |
get the value at index k
k | index of the value in [0,etSpectralSpaceDimension()()[ return the value at index k |
|
inlinestaticinherited |
get the output
Referenced by EMM_Matter::adimensionize(), EMM_DisplacementFVMOperator::backup(), EMM_DisplacementOperator::backup(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralVectorProjector(), EMM_Test::caseTest(), EMM_Test::caseTests(), EMM_MatterField::computeAnisotropyDirectionsField(), EMM_OptimalTimeStep::computeOptimalTimeStep(), MATH_MultiLevelsToeplitzMatrix::copy(), CORE_Exception::CORE_Exception(), EMM_MatterField::createAnisotropyOperator(), CORE_Run::createIO(), EMM_ElementaryTest::defaultBackupTest(), EMM_ElementaryTest::defaultTest(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), EMM_DisplacementFVMOperator::discretize(), EMM_MagnetostrictionOperator::discretize(), EMM_DisplacementFEMOperator::discretize(), EMM_4SymmetricTensors::doubleDot(), EMM_4Tensors::doubleDotCrossDoubleDotScalar(), EMM_TensorsTest::doubleDotCrossDoubleDotScalarTests(), EMM_4Tensors::doubleDotCrossProduct(), EMM_TensorsTest::doubleDotCrossProductTests(), EMM_4Tensors::doubleDotCrossSquaredScalar(), EMM_TensorsTest::doubleDotCrossSquaredScalarTests(), EMM_4Tensors::doubleDotProduct(), EMM_TensorsTest::doubleDotProductTests(), EMM_DisplacementWaveTest::elasticWaveTest(), EMM_Test::elementaryTests(), FFTW_Test::fftwTutorial(), MATH_IntegrationTest::gaussLegendreTest(), EMM_MagnetostrictionTest::HComputingTest(), EMM_DemagnetizedPeriodicalTest::HTest(), EMMH_HysteresisTest::hysteresisDefaultCycleTest(), EMM_TensorsTest::initializationTests(), EMM_MultiScaleGrid::initialize(), EMM_MultiScaleSDGrid::initialize(), EMM_MatterField::loadFromANIFile(), EMM_AnisotropyDirectionsField::loadFromFile(), EMM_Matter::loadFromFile(), EMM_Grid3D::loadFromGEOFile(), EMM_MatterField::loadFromLOCFile(), EMM_Array< tCellFlag >::loadFromStream(), EMM_Matter::loadFromStream(), EMM_Matter::loadMattersFromFile(), EMM_Run::loadSystemFromOptions(), EMM_ElementaryTest::magnetostrictionBackupTest(), CORE_Run::make(), EMMH_Run::makeHysteresis(), EMM_Run::makeRun(), CORE_Run::makeType(), EMM_ElementaryTest::optionsTest(), MATH_PolynomialTest::P4Tests(), EMM_Test::primaryTests(), EMM_LandauLifschitzSystem::printLog(), CORE_Run::printOptions(), EMM_2PackedSymmetricTensors::product(), EMMG_SLDemagnetizedOperator::projectionOnSpectralSpace(), CORE_Run::readOptionsFromCommandLine(), CORE_Test::readVectorTest(), EMM_DemagnetizedPeriodicalTest::relaxationTest(), EMM_DisplacementFVMOperator::restore(), EMM_DisplacementOperator::restore(), EMM_Input::restoreBackup(), EMMH_Hysteresis::run(), EMM_Output::save(), EMM_AnisotropyDirectionsField::saveToFile(), EMM_MatterField::saveToFile(), EMM_Grid3D::saveToGEOFile(), CORE_IOTest::searchTest(), EMMH_Hysteresis::setInitialMagnetizationField(), MATH_MultiLevelsToeplitzMatrix::setLevels(), EMM_4SymmetricTensors::squaredDoubleDot(), EMM_4Tensors::squaredDoubleDotCrossScalar(), EMM_TensorsTest::squaredDoubleDotCrossScalarTests(), EMM_4Tensors::squaredDoubleDotScalar(), EMM_TensorsTest::squaredDoubleDotScalarTests(), EMM_TensorsTest::squaredDoubleDotTests(), EMM_MatterTest::testAdimensionize(), EMM_MatterTest::testANIFile(), CORE_Test::testComplex(), CORE_Test::testDateWeek(), FFTW_Test::testDFT(), EMM_MatterTest::testIO(), EMM_ODETest::testODE(), CORE_Test::testOut(), CORE_Test::testReal(), EMM_FieldTest::testRealArray(), EMM_Grid3DTest::testSegment(), EMM_Grid3DTest::testThinSheet(), CORE_Test::testTime(), CORE_Test::testType(), MATH_FullMatrix::toString(), EMM_DemagnetizedPeriodicalTest::xyPeriodicalCubeSDGTest(), and EMM_DemagnetizedPeriodicalTest::xyPeriodicalSheetSDGTest().
|
staticinherited |
return the string representation of a pointer
obj | : oject to get the string pointer |
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), CORE_Object::is32Architecture(), and CORE_Object::~CORE_Object().
|
staticinherited |
print object in memory
f | : output to print the objects in memory |
References CORE_Object::getIdentityString(), CORE_Object::getSharedPointer(), CORE_Object::mIsMemoryTesting, CORE_Object::mObjects, and tInteger.
|
inlinestaticinherited |
print object in memory in the standart output
Referenced by CORE_Object::is32Architecture(), and main().
|
protectedvirtualinherited |
project the vector X from initial space to multi levels space
N | size of X |
X | the input vector in initial dimension |
It builds the projection of X in the D spectral spaces (one per dimension of point) of size M
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsFFTToeplitzMatrix::getColumnLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::getDFTProjector(), MATH_LeafBlockMatrixStorage::getDimension(), MATH_MultiLevelsFFTToeplitzMatrix::getSpectralSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getStorage(), null, FFTW_FFT::runFFT(), tFFTWComplex, tReal, and tUIndex.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
inlineinherited |
make the projection in the space
space | space of projection
|
References MATH_MultiLevelsToeplitzMatrix::CANONICAL_SPACE, MATH_MultiLevelsToeplitzMatrix::diagonalize(), MATH_MultiLevelsToeplitzMatrix::getSpace(), MATH_MultiLevelsToeplitzMatrix::recover(), MATH_MultiLevelsToeplitzMatrix::setSpace(), and MATH_MultiLevelsToeplitzMatrix::SPECTRAL_SPACE.
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), and MATH_ToeplitzTest::toeplitzTest().
|
protectedvirtualinherited |
projection of the matrix in the CANONICAL SPACE
Implements MATH_MultiLevelsToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::getDFT(), MATH_MultiLevelsFFTToeplitzMatrix::recoverCanonicalSpace(), and FFTW_FFT::runFFT().
Referenced by MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector().
|
protectedvirtualinherited |
recover the canonical space from the spectral space : do the reverse procedure of buildSpectralSpace()
Implements MATH_MultiLevelsFFTToeplitzMatrix.
Reimplemented in MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, and MATH_ElementaryMultiLevelsCircularToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsToeplitzMatrix::getBlocksNumber(), MATH_MultiLevelsToeplitzMatrix::getCanonicalSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getDFT(), MATH_LeafBlockMatrixStorage::getSize(), FFTW_ComplexArray::getSize(), MATH_MultiLevelsFFTToeplitzMatrix::getSpectralSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getStorage(), tFFTWComplex, FFTW_DFTTranspose::Transpose(), and tUIndex.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace(), and MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace().
|
protectedvirtualinherited |
recover Y from multi levels space to the initial space
N | size of X |
X | the output vector in the initial space |
It restores X from the D spectral spaces (one per dimension of point) of size M
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsFFTToeplitzMatrix::getDFTProjector(), MATH_LeafBlockMatrixStorage::getDimension(), MATH_MultiLevelsFFTToeplitzMatrix::getRowLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::getSpectralSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getStorage(), FFTW_FFT::runFFT(), tFFTWComplex, tReal, and tUIndex.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlineprotectedinherited |
set the DFT class
dft | Discrete Fourier Transform class to set |
References null.
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix(), MATH_ElementaryMultiLevelsToeplitzMatrix::MATH_ElementaryMultiLevelsToeplitzMatrix(), and MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::MATH_GlobalMultiLevelsPolynomialToeplitzMatrix().
|
inlinestaticinherited |
set if the memory checking is used
v | : true to check memory |
Referenced by main().
|
inlinevirtualinherited |
set the dimension of leaf block
n | number of rows or columns of the leaf square matrix |
Referenced by MATH_MultiLevelsToeplitzMatrix::setLevels().
|
inlinevirtualinherited |
set the levels of the matrix
levelsNumber | the number of levels |
levels | levels[k] is the number of Toeplitz matrices at each row which composed the level k in [0,levelsNumber[ |
nD | dimension of the block matrix (1D,2D,3D,..nD) |
The level 0 contains the leaf matrices
The level levelsNumber contains the last level.
References MATH_MultiLevelsToeplitzMatrix::setLeafBlockDimension(), tUIndex, and tUSInt.
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), and MATH_ToeplitzTest::toeplitzTest().
|
inherited |
set the levels of the matrix
levelsNumber | the number of levels |
levels | levels[k] is the number of Toeplitz matrices at each row which composed the level k in [0,levelsNumber[ |
The Level 0 contains the leaf matrices
The level levelsNumber contains the last level.
Builds the structure of the matrix
References CORE_Out::ERROR_MSG, MATH_MultiLevelsToeplitzMatrix::getLeafBlockDimension(), MATH_MultiLevelsToeplitzMatrix::getLeafBlockSize(), CORE_Exception::getMessage(), MATH_MultiLevelsToeplitzMatrix::mCanonicalSpaceSize, MATH_MultiLevelsToeplitzMatrix::mDimension, MATH_MultiLevelsToeplitzMatrix::mFFT, MATH_MultiLevelsToeplitzMatrix::mLevels, CORE_Object::out(), CORE_Out::println(), CORE_Array< T >::setSize(), tUIndex, and tUSInt.
|
inlinestaticinherited |
|
inlineprotectedinherited |
set the space of the multi level block matrix
space | the space of the matrix:
|
Referenced by MATH_MultiLevelsToeplitzMatrix::projection().
|
inlineprotectedinherited |
set the spectral space size
n | : the spectral space size |
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), and MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildSpectralSpace().
|
inlineinherited |
set storage of the leaf block matrix.
storage | : "packed" : packed storage, "full" for full storage |
References MATH_LeafBlockMatrixFullStorage::New(), MATH_LeafBlockMatrixPackedStorage::New(), and MATH_MultiLevelsToeplitzMatrix::setStorage().
Referenced by MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix(), and MATH_ToeplitzTest::toeplitzTest().
|
inlineprotectedinherited |
set the storage of the matrix
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::setStorage().
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
p | : shared pointer of the class This |
References CORE_Object::toDoAfterThisSetting().
|
inlinestaticinherited |
set the thread
thread | the shared pointer to the thread |
References null.
Referenced by EMM_Run::EMM_Run(), EMM_TensorsRun::EMM_TensorsRun(), and MATH_SolverRun::MATH_SolverRun().
|
private |
|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in EMM_DisplacementOperator, EMM_DisplacementFVMOperator, EMM_GaussLegendreRelaxation, EMM_GradGaussLegendreRelaxation, and EMM_Object.
Referenced by CORE_Object::setThis().
|
virtualinherited |
return string
Reimplemented from CORE_Object.
References MATH_MultiLevelsToeplitzMatrix::getColumnsNumber(), MATH_MultiLevelsToeplitzMatrix::getRealValue(), MATH_MultiLevelsToeplitzMatrix::getRowsNumber(), FFTW_ComplexArray::getSize(), MATH_MultiLevelsToeplitzMatrix::mFFT, null, CORE_Real::toString(), CORE_Integer::toString(), tString, and tUIndex.
Referenced by MATH_MultiLevelsToeplitzMatrix::vectorProduct().
|
virtualinherited |
do the vector product of the circular matrix C with Y by an FFT method
N | the siz eof X & Y |
X | the vector value |
Y | the result |
The Toeplitz matrix must be diagonalized before.
computes T.X=Y :
Implements MATH_MultiLevelsToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::getDFT(), MATH_MultiLevelsFFTToeplitzMatrix::getDFTProjector(), MATH_MultiLevelsToeplitzMatrix::getSpace(), MATH_MultiLevelsFFTToeplitzMatrix::projectIntoSpectralSpace(), MATH_MultiLevelsFFTToeplitzMatrix::recoverFromSpectralSpace(), MATH_MultiLevelsToeplitzMatrix::SPECTRAL_SPACE, and MATH_MultiLevelsFFTToeplitzMatrix::vectorProductInSpectralSpace().
Referenced by MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector(), and MATH_ToeplitzTest::toeplitzTest().
|
inlinevirtualinherited |
do the vector product of the circular matrix C with Y by an FFT method
X | the vector value |
Y | the result |
The Toeplitz matrix must be diagonalized before.
computes T.X=Y :
Reimplemented from MATH_MultiLevelsToeplitzMatrix.
References MATH_MultiLevelsFFTToeplitzMatrix::projectIntoSpectralSpace(), MATH_MultiLevelsFFTToeplitzMatrix::recoverFromSpectralSpace(), tReal, tUIndex, MATH_MultiLevelsToeplitzMatrix::vectorProduct(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProductInSpectralSpace().
|
protectedvirtualinherited |
make the vector product in spectral space
A | the diagonal values of the matrix in spectral space of size M x S where S is the size of each leaf block matrix and D the dimesnion of the leaf block matrix: of . |
Z |
|
It does: by using a temporary array
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_ComplexArray::copy(), FFTW_FFT::getArray(), FFTW_FFT::getDimension(), MATH_LeafBlockMatrixStorage::getIndex(), FFTW_FFT::getPointsNumber(), MATH_MultiLevelsToeplitzMatrix::getStorage(), FFTW_ComplexArray::initArray(), FFTW_ComplexArray::MatrixVectorProduct(), MATH_ElementaryMultiLevelsToeplitzMatrix::mWork, tFFTWComplex, and tUIndex.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
staticinherited |
Referenced by MATH_MultiLevelsToeplitzMatrix::clear(), MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), MATH_MultiLevelsToeplitzMatrix::MATH_MultiLevelsToeplitzMatrix(), MATH_MultiLevelsToeplitzMatrix::projection(), and MATH_ToeplitzTest::toeplitzTest().
|
staticinherited |
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), MATH_MultiLevelsToeplitzMatrix::projection(), MATH_ToeplitzTest::toeplitzTest(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().