C++ main module for emicrom Package
1.0
|
This class is a multi level toeplitz matrix whose leaf block are dense matrix of dimension D and with size S=D x D. More...
#include <MATH_GlobalMultiLevelsPolynomialToeplitzMatrix.h>
Public Member Functions | |
virtual SP::MATH_MultiLevelsToeplitzMatrix | NewInstance () const |
new instance More... | |
virtual void | copy (const MATH_MultiLevelsToeplitzMatrix &mat) |
copy the instance mat More... | |
virtual void | clear () |
clear the matrix clear the data creating when building the spectral space More... | |
virtual tULLInt | getMemorySize () const |
return the memory size in byte 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_GlobalMultiLevelsPolynomialToeplitzMatrix | 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_GlobalMultiLevelsPolynomialToeplitzMatrix (void) | |
create a multi level toeplitz matrix More... | |
virtual | ~MATH_GlobalMultiLevelsPolynomialToeplitzMatrix (void) |
destroy a multi level toeplitz 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 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 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 | setStorage (SP::MATH_LeafBlockMatrixStorage storage) |
set the storage of the 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_GlobalMultiLevelsPolynomialToeplitzMatrix) | |
This class is a multi level toeplitz matrix whose leaf block are dense matrix of dimension D and with size S=D x D.
The matrix vector product T. U = W is modelized as a polynomial product thanks to Discrete Fourier Transform method. This work is based on the article of B. E. Barrows, F. L. Teixeira and J.A. Kong .
We consider T as a L-Multi levels matrix with blocks per row. The dimension of the dense leaf block matrix is f.
The L-multi levels toplitz matrix dimension (number of rows or columns) is . So the dimension of U is N.
The L-multi levels toeplitz values is presented as a vector of size .
The elements of the leaf block matrix are stored from right to left and from top to bottom in order to be compatible with the way to save the values of the multi-levels toeplitz matrix.
are stored in a vector .
The values of T are stored as explained in the MATH_MultiLevelsToeplitzMatrix class :
The blocks at level k are saved in the list . Each toeplitz block block are stored in the same way.
So the values of the matrix is a vector V of size N. We associate the polynom .
The polynom associate to U is where is the index of the value of the T matrix at first row and i-th column in its V vector values. c is decreasing .
If we denote by the index of the value of the T matrix at first column and i-th row in its V vector values. r is increasing. We note that .
. The values of is
So the matrix . vector product is reduced to a multiplication of polynoms which is a convolution product of V and U which is well known to be of cost N. log(N) by Discrete Fourier Transform.
So 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 :
For example :
Consider the matrix 2x2x2 levels matrix with leaf block matrix of size 1 :
Now if we consider the matrix 2x2 of levels 2 with leaf block matrix of size 2:
|
protected |
create a multi level toeplitz matrix
References CORE_Run::getClassFactory(), NewInstance(), and MATH_MultiLevelsToeplitzMatrix::setDFT().
Referenced by New().
|
protectedvirtual |
destroy a multi level toeplitz matrix
|
protectedvirtual |
build the column leading dimensions
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References MATH_MultiLevelsFFTToeplitzMatrix::getColumnLeadingDimensions(), MATH_MultiLevelsToeplitzMatrix::getDimension(), MATH_MultiLevelsToeplitzMatrix::getIndex(), CORE_Array< T >::setSize(), and tUIndex.
Referenced by buildSpectralSpace(), and buildSpectralVectorProjector().
|
protectedvirtual |
build the row indices
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::getDimension(), MATH_MultiLevelsToeplitzMatrix::getIndex(), MATH_MultiLevelsFFTToeplitzMatrix::getRowLeadingDimensions(), CORE_Array< T >::setSize(), and tUIndex.
Referenced by buildSpectralSpace(), and buildSpectralVectorProjector().
|
protectedvirtual |
build the spectral space
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References buildColumnLeadingDimensions(), buildRowLeadingDimensions(), FFTW_Object::FORWARD, FFTW_FFT::getArray(), MATH_MultiLevelsToeplitzMatrix::getCanonicalSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getDFT(), FFTW_FFT::setFFT(), FFTW_FFT::setFFTsNumber(), FFTW_FFT::setPointsNumber(), MATH_MultiLevelsFFTToeplitzMatrix::setSpectralSpaceSize(), tFFTWComplex, and tUIndex.
Referenced by buildSpectralVectorProjector().
|
inlineprotectedvirtual |
build the projector of vector in spectral spce
proj | the DFT projector built |
Reimplemented from MATH_MultiLevelsFFTToeplitzMatrix.
References buildColumnLeadingDimensions(), buildRowLeadingDimensions(), buildSpectralSpace(), MATH_MultiLevelsFFTToeplitzMatrix::buildSpectralVectorProjector(), and recoverCanonicalSpace().
|
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
|
inlinevirtual |
copy the instance mat
mat | the instance to copy |
Reimplemented from MATH_MultiLevelsFFTToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::copy().
|
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(), buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_MultiLevelsToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), 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(), buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildColumnLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::projectIntoSpectralSpace(), and 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(), 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(), 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(), projectIntoSpectralSpace(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), recoverFromSpectralSpace(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inlineinherited |
get the dimension of the matrix
References MATH_MultiLevelsToeplitzMatrix::mDimension.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), 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 buildColumnLeadingDimensions(), 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_MultiLevelsToeplitzMatrix.
Reimplemented in MATH_ElementaryMultiLevelsToeplitzMatrix.
References MATH_MultiLevelsToeplitzMatrix::getMemorySize(), CORE_Array< T >::getMemorySize(), and null.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getMemorySize().
|
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(), buildRowLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildRowLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverFromSpectralSpace(), and 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_GlobalMultiLevelsPolynomialToeplitzMatrix().
Referenced by MATH_ToeplitzTest::globalPolynomialToeplitzTests(), MATH_ToeplitzClassFactory::NewInstance(), NewInstance(), and EMM_DemagnetizedOperator::setStorage().
|
inlinevirtual |
new instance
Implements MATH_MultiLevelsToeplitzMatrix.
References New().
Referenced by MATH_GlobalMultiLevelsPolynomialToeplitzMatrix().
|
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().
|
protectedvirtual |
project the vector X from initial space to multi levels space
N | size of X |
X | the input vector in initial dimension |
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsFFTToeplitzMatrix::getColumnLeadingDimensions(), MATH_MultiLevelsFFTToeplitzMatrix::getDFTProjector(), FFTW_FFT::runFFT(), tFFTWComplex, tReal, and tUIndex.
Referenced by vectorProductInSpectralSpace().
|
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().
|
protectedvirtual |
recover the canonical space from the spectral space
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsToeplitzMatrix::getCanonicalSpaceSize(), MATH_MultiLevelsToeplitzMatrix::getDFT(), FFTW_ComplexArray::getSize(), tFFTWComplex, and tUIndex.
Referenced by buildSpectralVectorProjector().
|
protectedvirtual |
recover from multi levels space to the initial space
N | size of X |
X | the output vector in the inial space |
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::getArray(), MATH_MultiLevelsFFTToeplitzMatrix::getDFTProjector(), MATH_MultiLevelsFFTToeplitzMatrix::getRowLeadingDimensions(), FFTW_FFT::runFFT(), tFFTWComplex, tReal, and tUIndex.
Referenced by vectorProductInSpectralSpace().
|
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().
|
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 buildSpectralSpace().
|
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().
|
inlineprotectedvirtual |
make the vector product in spectral space
A | the diagonal values of the matrix in spectral space |
Z |
|
Implements MATH_MultiLevelsFFTToeplitzMatrix.
References FFTW_FFT::multiply(), projectIntoSpectralSpace(), recoverFromSpectralSpace(), tReal, and tUIndex.
|
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().