C++ main module for emicrom Package
1.0
|
This class is multi levels toeplitz matrix. The matrix at level k is composed by toeplitz block matrices: More...
#include <MATH_MultiLevelsToeplitzMatrix.h>
Public Member Functions | |
virtual SP::MATH_MultiLevelsToeplitzMatrix | NewInstance () const =0 |
new instance 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 | copy (const MATH_MultiLevelsToeplitzMatrix &mat) |
copy the instance More... | |
virtual void | clear () |
clear the multi level toeplitz matrix 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... | |
virtual tULLInt | getMemorySize () const |
return the memory size in byte 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... | |
const tUIndex & | getBlocksNumberPerRow (const tUSInt &l) const |
get the blocks number per row or column at the level More... | |
tUIndex | getBlocksNumber (const tUIndex &l) const |
get the blocks number 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 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... | |
virtual void | vectorProduct (const tUIndex &N, const tReal *X, tReal *Y) const =0 |
do the vector product of the circular matrix C with Y by an FFT method 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 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_MultiLevelsToeplitzMatrix (void) | |
create a multi level toeplitz matrix More... | |
virtual | ~MATH_MultiLevelsToeplitzMatrix (void) |
destroy a multi level toeplitz matrix 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... | |
virtual void | diagonalize ()=0 |
diagonalize the matrix projection of the matrix in the SPECTRAL_SPACE More... | |
virtual void | recover ()=0 |
projection of the matrix in the CANONICAL SPACE 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_MultiLevelsToeplitzMatrix) | |
tUIndex | getIndex (const tUIndex &i, const tUIndex &j, const tUSInt &level, const tUIndex &nRows, tUIndex &nValues) const |
return the index in values of the matrix of the element at row i and j More... | |
Private Attributes | |
tFlag | mSpace |
tUIndex | mCanonicalSpaceSize |
CORE_UIndexArray | mLevels |
tUIndex | mDimension |
SP::MATH_LeafBlockMatrixStorage | mStorage |
SP::FFTW_FFT | mFFT |
This class is multi levels toeplitz matrix. The matrix at level k is composed by toeplitz block matrices:
The blocks at level 0 is a general matrix of size f x f.
The blocks at level k are saved in the list . Each toeplitz block block are stored in the same way.
For each level l, The number of Toeplitz blocks per row is given by the method getLevels()[l] where as the total number of blocks is given by the method getBlocksNumber().
The total number of blocks is given by the method getBlocksNumber()
The leaf block at level 0 can be stored in two kinds of storage either full or packed. The dimension of a leaf block is given by the method getLeafBlockDimension() whereas the memory size for the storage of a leaf block is given by the method getLeafBlockSize()
The number of rows or columns of the matrix is given by the method getDimension() and its value at row i and column j is given by the operator ()(i,j)
The advantage of the Toeplitz matrix is that the product Matrix . Vector can be computed very fast by Discrete Fourier Transformations. The values of the matrix is computed in 2 spaces: the spectral space in which the matrix is diagonal and the canonical space. The projection on each space is done by DFT . So, the size N of the matrix in the canonical space is given by getCanonicalSpaceSize() and the size P of the matrix in the spectral space is given by getSpectralSpaceSize(). The method getSpace() gives the current space in which the values are expressed.
The Matrix vector product method is vectorProduct(). Before using it, the values of the matrix must be projected in the spectral spectral space by the method projection()
For example: consider the matrix 2x2x2 levels matrix with leaf block matrix of size 1
the values of the matrix is stored as {[(27) (26) (25)] [(24) (23) (22)] [(21) (20) (19) ]} {[(18) (17) (16)] [(15) (14) (13)] [(12) (11) (10) ]} {[(9) (8) (7)] [(6) (5) (4)] [(3) (3) (1) ]} '{' corresponds to level 3, '[' to level 2 '(' to level 1.
The MATH_MultiLevelsFFTToeplitzMatrix deals with the projection on spectral space with a DFT transform.
The are 4 kinds of implemented spectral spaces:
the N-multi levels matrix is kept on as it is and the matrix is projected in a multi-level circular matrix see MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix
|
protected |
create a multi level toeplitz matrix
References CANONICAL_SPACE, mCanonicalSpaceSize, mDimension, mSpace, mStorage, and MATH_LeafBlockMatrixFullStorage::New().
|
protectedvirtual |
destroy a multi level toeplitz matrix
|
virtual |
clear the multi level toeplitz matrix
Reimplemented in MATH_MultiLevelsFFTToeplitzMatrix.
References CANONICAL_SPACE, CORE_Array< T >::clear(), mCanonicalSpaceSize, mDimension, mFFT, mLevels, and mSpace.
Referenced by MATH_MultiLevelsFFTToeplitzMatrix::clear(), and operator()().
|
inlinestaticinherited |
compute epsilon
|
virtual |
copy the instance
Reimplemented in MATH_GlobalMultiLevelsPolynomialToeplitzMatrix, MATH_ElementaryMultiLevelsCircularToeplitzMatrix, MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix, MATH_MultiLevelsFFTToeplitzMatrix, and MATH_ElementaryMultiLevelsToeplitzMatrix.
References CORE_Array< T >::copy(), CORE_Out::ERROR_MSG, getCanonicalSpaceSize(), getDFT(), getDimension(), getLevels(), CORE_Exception::getMessage(), getSpace(), getStorage(), mCanonicalSpaceSize, mDimension, mFFT, mLevels, mSpace, mStorage, MATH_LeafBlockMatrixStorage::NewInstance(), CORE_Object::out(), and CORE_Out::println().
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::copy(), MATH_MultiLevelsFFTToeplitzMatrix::copy(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::copy(), MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), operator()(), and MATH_ToeplitzTest::toeplitzTest().
|
protectedpure virtual |
diagonalize the matrix projection of the matrix in the SPECTRAL_SPACE
Implemented in MATH_MultiLevelsFFTToeplitzMatrix.
Referenced by projection().
|
inlineprotected |
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 getIndex().
|
inline |
get the blocks number
References 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 |
|
inline |
get the blocks number per row or column at the level
l | index of the level >=1 |
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::getElementIndex().
|
inline |
get canonical space size
References mCanonicalSpaceSize.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), 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 |
|
inline |
get the dimension of the matrix
References mDimension.
Referenced by toString().
|
inlineprotected |
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(), copy(), MATH_MultiLevelsFFTToeplitzMatrix::diagonalize(), MATH_MultiLevelsFFTToeplitzMatrix::recover(), MATH_ElementaryMultiLevelsToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::recoverCanonicalSpace(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::recoverCanonicalSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inlineprotected |
get the FFT class
|
inline |
get the dimension of the matrix
References mDimension.
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildColumnLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildColumnLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsToeplitzMatrix::buildRowLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildRowLeadingDimensions(), 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().
|
inline |
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 getRowsNumber(), CORE_Array< T >::getSize(), getToeplitzBlockIndex(), tIndex, tUIndex, and tUSInt.
Referenced by MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildColumnLeadingDimensions(), MATH_GlobalMultiLevelsPolynomialToeplitzMatrix::buildRowLeadingDimensions(), getIndex(), getToeplitzBlockIndex(), and operator()().
|
private |
return the index in values of the matrix of the element at row i and j
i | index of the row |
j | index of the colum |
level | index of the level in [1,getLevelsNumber()[ |
nRows | number of rows of the matrix at level |
nValues | number of values of the level |
References getBlockIndex(), getIndex(), mLevels, mStorage, and tUIndex.
|
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
|
inline |
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 setLevels().
|
inline |
return the size of the leaf block matrix
Referenced by getBlocksNumber(), and setLevels().
|
inline |
get the values of the leaf block
indices | indices of the block |
References CORE_Array< T >::getSize(), getToeplitzBlockIndex(), and getValues().
Referenced by MATH_ToeplitzTest::toeplitzTest().
|
inline |
get the values of the leaf block
indices | indices of the block |
References CORE_Array< T >::getSize(), getToeplitzBlockIndex(), and getValues().
|
inline |
get the level of the matrix
References mLevels.
Referenced by MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildLeadingDimensions(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::computeSpectralSpaceSizePerDimension(), copy(), and MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::recoverCanonicalSpace().
|
inline |
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().
|
inlinevirtual |
return the memory size in byte
Reimplemented in MATH_MultiLevelsFFTToeplitzMatrix, and MATH_ElementaryMultiLevelsToeplitzMatrix.
References null.
Referenced by MATH_MultiLevelsFFTToeplitzMatrix::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().
|
inline |
get the real value at row i and column j
Referenced by toString().
|
inline |
get the dimension of the matrix
References mDimension.
Referenced by getIndex(), MATH_ToeplitzTest::toeplitzTest(), and 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 |
|
inline |
get the space of the matrix
References mSpace.
Referenced by copy(), projection(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
inline |
get the storage of the leaf matrices
Referenced by MATH_ElementaryMultiLevelsToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularToeplitzMatrix::buildSpectralSpace(), MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix::buildSpectralSpace(), 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().
|
inline |
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().
tUIndex MATH_MultiLevelsToeplitzMatrix::getToeplitzBlockIndex | ( | const tUSInt & | nLevels, |
const tUIndex | N[], | ||
const tIndex | I[] | ||
) | const |
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(), getIndex(), getLeafBlockValues(), getToeplitzBlockIndex(), and MATH_ToeplitzTest::toeplitzTest().
get the block index corresponding to indices
I | index of element at each level i[l] in ]-N[l],N[l][ |
References getIndex(), CORE_Array< T >::getSize(), getToeplitzBlockIndex(), tUIndex, and tUSInt.
|
inlinestaticinherited |
|
inline |
get the values of the matrix
Referenced by MATH_ToeplitzTest::emicromTest(), getLeafBlockValues(), and MATH_ToeplitzTest::toeplitzTest().
|
inline |
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().
|
pure virtual |
new instance
Implemented in MATH_GlobalMultiLevelsPolynomialToeplitzMatrix, MATH_ElementaryMultiLevelsCircularToeplitzMatrix, MATH_ElementaryMultiLevelsCircularTensorToeplitzMatrix, and MATH_ElementaryMultiLevelsPolynomialToeplitzMatrix.
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), MATH_ElementaryMultiLevelsToeplitzMatrix::MATH_ElementaryMultiLevelsToeplitzMatrix(), and MATH_ToeplitzTest::toeplitzTest().
|
inline |
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 getIndex().
|
inline |
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 clear(), copy(), and getIndex().
|
inlineprotected |
get the value at index k
k | index of the value in [0,getSpectralSpaceDimension()[ return the value at index k |
|
inlineprotected |
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(), 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(), 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().
|
inline |
make the projection in the space
space | space of projection
|
References CANONICAL_SPACE, diagonalize(), getSpace(), recover(), setSpace(), and SPECTRAL_SPACE.
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), and MATH_ToeplitzTest::toeplitzTest().
|
protectedpure virtual |
projection of the matrix in the CANONICAL SPACE
Implemented in MATH_MultiLevelsFFTToeplitzMatrix.
Referenced by projection().
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlineprotected |
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().
|
inlinevirtual |
set the dimension of leaf block
n | number of rows or columns of the leaf square matrix |
Referenced by setLevels().
|
inlinevirtual |
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 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().
void MATH_MultiLevelsToeplitzMatrix::setLevels | ( | const tUSInt & | levelsNumber, |
const tUIndex | levels[] | ||
) |
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, getLeafBlockDimension(), getLeafBlockSize(), CORE_Exception::getMessage(), mCanonicalSpaceSize, mDimension, mFFT, mLevels, CORE_Object::out(), CORE_Out::println(), CORE_Array< T >::setSize(), tUIndex, and tUSInt.
|
inlinestaticinherited |
|
inlineprotected |
set the space of the multi level block matrix
space | the space of the matrix:
|
Referenced by projection().
|
inlineprotected |
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().
|
virtual |
return string
Reimplemented from CORE_Object.
References getColumnsNumber(), getRealValue(), getRowsNumber(), FFTW_ComplexArray::getSize(), mFFT, null, CORE_Real::toString(), CORE_Integer::toString(), tString, and tUIndex.
Referenced by vectorProduct().
|
inlinevirtual |
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 in MATH_MultiLevelsFFTToeplitzMatrix.
References CORE_Array< T >::getSize(), CORE_Array< T >::setSize(), toString(), tReal, tString, and tUIndex.
Referenced by EMM_MultiScaleCDGrid::computeDemagnetizedExcitationFieldFromLevel(), EMMG_SLSDXPeriodicMultiScale::computeLevelDemagnetizedField(), EMMG_SLRPPeriodicMultiScale::computeMultiGridExcitationField(), EMM_MultiScaleGrid::computeMultiGridExcitationField(), EMM_MultiScaleSDGrid::computeZonalCenteredDemagnetizedFieldFromLevel(), EMM_MultiScaleSDGrid::computeZonalDemagnetizedFieldAndNextLevelMagnetizationField(), MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), MATH_ToeplitzTest::toeplitzTest(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().
|
pure virtual |
do the vector product of the circular matrix C with Y by an FFT method
N; | the size of X & Y |
X | the vector value |
Y | the result |
The Toeplitz matrix must be diagonalized before.
computes T.X=Y
Implemented in MATH_MultiLevelsFFTToeplitzMatrix.
|
static |
|
private |
Referenced by clear(), copy(), getCanonicalSpaceSize(), MATH_MultiLevelsToeplitzMatrix(), and setLevels().
|
private |
Referenced by clear(), copy(), getColumnsNumber(), getDimension(), getRowsNumber(), MATH_MultiLevelsToeplitzMatrix(), and setLevels().
|
private |
Referenced by clear(), copy(), setLevels(), and toString().
|
private |
Referenced by clear(), copy(), getIndex(), getLevels(), and setLevels().
|
private |
Referenced by clear(), copy(), getSpace(), and MATH_MultiLevelsToeplitzMatrix().
|
private |
Referenced by copy(), getIndex(), and MATH_MultiLevelsToeplitzMatrix().
|
static |
Referenced by MATH_ToeplitzTest::emicrom411ncTest(), MATH_ToeplitzTest::emicrom411Test(), MATH_ToeplitzTest::emicrom441Test(), MATH_ToeplitzTest::emicrom444Test(), MATH_ToeplitzTest::emicromTest(), projection(), MATH_ToeplitzTest::toeplitzTest(), and MATH_MultiLevelsFFTToeplitzMatrix::vectorProduct().