C++ main module for mmsd Package  1.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
LAP_DoubleFullSymmetricMatrix Class Referenceabstract

this class describes a full symmetric matrix for lapack used More...

#include <LAP_DoubleFullSymmetricMatrix.h>

Inheritance diagram for LAP_DoubleFullSymmetricMatrix:
Inheritance graph
[legend]
Collaboration diagram for LAP_DoubleFullSymmetricMatrix:
Collaboration graph
[legend]

Public Member Functions

 LAP_DoubleFullSymmetricMatrix ()
 build a matrix More...
 
 LAP_DoubleFullSymmetricMatrix (const LAP_DoubleFullSymmetricMatrix &mat)
 build a matrix for equality operator in construction More...
 
virtual ~LAP_DoubleFullSymmetricMatrix ()
 destroy a matrix More...
 
virtual SP::LAP_DoubleMatrix NewInstance () const
 create a New instance of this More...
 
virtual double & operator() (const tLVectorIndex &i, const tLVectorIndex &j)
 accessor of element at row i and column j taking into account the view only use the upper diagonal More...
 
virtual const double & operator() (const tLVectorIndex &i, const tLVectorIndex &j) const
 accessor of element at row i and column j taking into account the view only use the upper diagonal More...
 
LAP_DoubleFullSymmetricMatrixoperator= (const double &s)
 init all the matrix to s More...
 
LAP_DoubleFullSymmetricMatrixoperator= (const LAP_DoubleFullSymmetricMatrix &s)
 init all the matrix to s More...
 
LAP_DoubleFullSymmetricMatrixoperator^= (const lapack_real &s)
 power by s the matrix v More...
 
LAP_DoubleFullSymmetricMatrixoperator*= (const lapack_real &s)
 multiply by s the matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator/= (const lapack_real &s)
 divide by s the matrix v More...
 
LAP_DoubleFullSymmetricMatrixoperator+= (const lapack_real &s)
 add s to the upper matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator-= (const lapack_real &s)
 sub s to the upper matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator*= (const LAP_DoubleFullSymmetricMatrix &s)
 multiply the viewed matrices term by term More...
 
LAP_DoubleFullSymmetricMatrixoperator/= (const LAP_DoubleFullSymmetricMatrix &s)
 divide the viewed matrices term by term More...
 
LAP_DoubleFullSymmetricMatrixoperator-= (const LAP_DoubleFullSymmetricMatrix &s)
 sub the viewed matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator+= (const LAP_DoubleFullSymmetricMatrix &s)
 add the viewed matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator*= (const LAP_DoublePackedSymmetricMatrix &s)
 multiply the viewed matrices term by term More...
 
LAP_DoubleFullSymmetricMatrixoperator/= (const LAP_DoublePackedSymmetricMatrix &s)
 divide the viewed matrices term by term More...
 
LAP_DoubleFullSymmetricMatrixoperator-= (const LAP_DoublePackedSymmetricMatrix &s)
 sub the viewed matrix More...
 
LAP_DoubleFullSymmetricMatrixoperator+= (const LAP_DoublePackedSymmetricMatrix &s)
 add the viewed matrix More...
 
void copyUpperToLowerSubMatrix ()
 copy the upper part to the lower part of the matrix More...
 
virtual void setSize (const tLVectorIndex &n, const tLVectorIndex &p)
 set the dimension of the matrix and allocate the values array More...
 
virtual void setSize (const tLVectorIndex &n)
 set the dimension of the matrix and alocate the values array More...
 
virtual void setValues (SP::LAP_DoubleVector v)
 set the values of the matrix to V without allocation the values array More...
 
virtual void setValues (const tLVectorIndex &n, const double *values)
 set the values More...
 
LAP_DoubleFullStoragegetFullStorage ()
 GET. More...
 
const LAP_DoubleFullStoragegetFullStorage () const
 get the full storage More...
 
tLVectorIndex getRowIncrement () const
 get the memory distance between (*this)(i,j) & (*this)(i+1,j) More...
 
tLVectorIndex getLeadingDimension () const
 get the memory distance between (*this)(i,j) & (*this)(i,j+1) More...
 
virtual tLVectorIndex getRowsNumber () const
 get the lines number of the matrix from view More...
 
virtual tLVectorIndex getColumnsNumber () const
 get the columns number of the matrix from view More...
 
virtual void getColumn (const tLVectorIndex &j, LAP_DoubleVector &v) const
 get the j-th column of this symmetric matrix in a vector More...
 
virtual void getColumn (const tLVectorIndex &j, SP::LAP_DoubleVector v) const
 get the j-th column of this symmetric matrix in a vector More...
 
void getColumnByReference (const tLVectorIndex &j, LAP_DoubleVector &v)
 get the column by reference the values of v pointer to the values of the column j of this More...
 
void getColumnByReference (const tLVectorIndex &j, LAP_ConstDoubleVector &v) const
 get the column by reference the values of v pointer to the values of the column j of this More...
 
virtual void getRow (const tLVectorIndex &i, LAP_DoubleVector &v) const
 get the i-th row in a vector More...
 
virtual void getRow (const tLVectorIndex &i, SP::LAP_DoubleVector v) const
 get the i-th row in a vector More...
 
virtual tReal norm2 () const
 return norm2 sqrt(sum_ij(aij^2))=sqrt(tr(AtA)); More...
 
virtual tReal norm2 (LAP_DoubleVector &v) const
 return norm2 of the matrix and for each row; More...
 
virtual tReal sum (const tFlag &d, LAP_DoubleVector &s) const
 make the sum among the direction if (d==ROW) sum all the columns of each row and size of s is the number of rows if (d==COL) sum all the rows of each column and size of s is the number of columns ^return the sum of all the element of the matrix More...
 
virtual tReal sum (const tFlag &d, const tLVectorIndex &index) const
 make the sum among the direction if (d==ROW) sum all the columns of row index if (d==COL) sum all the rows of coluln at index More...
 
virtual tReal max (const tFlag &d, const tLVectorIndex &index) const
 make get max among the direction if (d==ROW) max of all the columns of row index if (d==COL) max of all the rows of column at index More...
 
void indexMin (tLVectorIndex &i, tLVectorIndex &j) const
 get the index of the min view element in absolute value More...
 
virtual void vectorProduct (const LAP_DoubleVector &X, LAP_DoubleVector &Y)
 compute Y=A.X More...
 
virtual void vectorProduct (const LAP_DoubleVector &X, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleVector &Y) const
 compute Y:=betaY+alpha.This.X More...
 
virtual void vectorProduct (const LAP_ConstDoubleVector &X, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleVector &Y) const
 compute Y:=betaY+alpha.This.X More...
 
virtual void vectorProduct (const tBoolean &isTrans, const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *X, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nY, const tLVectorIncrement &incY, double *Y) const
 compute Y= op(This). X with op(A)=A or tA depending on isTrans value More...
 
virtual void vectorProduct (const tLVectorIndex &nx, const tLVectorIncrement &incx, const double *x, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &ny, const tLVectorIncrement &incy, double *y) const
 compute Y= betaY + alpha. This. X More...
 
virtual void dotProduct (const LAP_DoubleVector &v)
 compute the symmetric matrix S= X.tX only the upper symmetric matric is set. (lapack method dsyr called) More...
 
virtual void dotProduct (const double &alpha, const LAP_DoubleVector &X)
 compute the symmetric matrix S:= alpha X.tX only the upper symmetric matric is set. (lapack method dsyr called) More...
 
void rankSymmetricProduct (const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=alpha op(A).t(op(A)) More...
 
void rankSymmetricProduct (const double &alpha, const tBoolean &isTrans, const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=alpha op(A).t(op(A)) More...
 
virtual void rankSymmetricProduct (const double &alpha, const double &beta, const tBoolean &isTrans, const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=beta.S+ alpha op(A).t(op(A)) only the upper symmetric matric is set. (lapack method dsyrk called) More...
 
virtual void rankSymmetricProduct (const double &alpha, const double &beta, const tLVectorIndex &nARows, const tLVectorIndex &nACols, const tLVectorIncrement &incA, const tLVectorIndex &ldA, const tBoolean &isTransA, const double *A)
 compute the symmetric matrix S:=beta.S+ alpha op(A).t(op(A)) only the upper symmetric matric is set. (lapack method dsyrk called) More...
 
void rankSymmetricProduct (const LAP_DoubleVector &D, const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=alpha op(A).t(op(A)) More...
 
void rankSymmetricProduct (const LAP_DoubleVector &D, const double &alpha, const tBoolean &isTrans, const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=alpha op(A).t(op(A)) More...
 
virtual void rankSymmetricProduct (const LAP_DoubleVector &D, const double &alpha, const double &beta, const tBoolean &isTrans, const LAP_DoubleFullGeneralMatrix &A)
 compute the symmetric matrix S:=beta.S+ alpha op(A).t(op(A)) only the upper symmetric matric is set. (lapack method dsyrk called) More...
 
virtual SP::LAP_DoubleMatrix matrixProduct (const LAP_DoubleMatrix &B) const
 return C=(This) . B More...
 
void matrixProduct (const LAP_DoubleFullSymmetricMatrix &B, LAP_DoubleFullGeneralMatrix &C) const
 return C=(This) . B More...
 
void matrixProduct (const LAP_DoubleFullGeneralMatrix &B, LAP_DoubleFullGeneralMatrix &C) const
 return C=(This) . B More...
 
virtual void matrixProduct (const LAP_DoubleFullGeneralMatrix &B, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleFullGeneralMatrix &C) const
 return C=(This) . B (lefside=true) or B. (this) (lefside=false) More...
 
virtual void matrixProduct (const tBoolean &leftSide, const LAP_DoubleFullGeneralMatrix &B, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleFullGeneralMatrix &C) const
 make the product C = alpha. This . B +beta C if leftSide=true C = alpha. B . This +beta C if leftSide=false More...
 
virtual void matrixProduct (const tBoolean &leftSide, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIncrement &incB, const tLVectorIndex &ldB, const double *B, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleFullGeneralMatrix &C) const
 make the product: More...
 
virtual tBoolean computeEigenValues (LAP_DoubleVector &U) const
 compute the eigen values of This: A is copied in ascending order More...
 
tBoolean computeEigenValueDecomposition (LAP_DoubleVector &U)
 compute the eigen elements in ascending order of This the eigen vectors are set in This: This is destroyed IN : only the upper part of This is considered (So A is considered to be symmetric) OUT: This contains its eigen vectors and it is considered as symmetric dsyev lapack method called More...
 
tBoolean computeEigenValueDecomposition (LAP_DoubleVector &U, LAP_DoubleFullGeneralMatrix &VR) const
 compute the eigen values in ascending order decomposition on this: More...
 
virtual tBoolean computeEigenValueDecomposition (LAP_DoubleVector &U, LAP_DoubleMatrix &VR) const
 compute the eigen values decomposition in acending order on This More...
 
tBoolean computeEigenValueDecomposition (LAP_DoubleVector &U, LAP_DoubleFullGeneralMatrix &VR, const int &il, const int &iu) const
 compute the eigen elements in ascending order of This supposed to be symmetric, the eigen vectors are set in Z, A must be symmetric and is copied only the eigen values & vectors are computed in index il and iu when the iegen values are ordering in an ascent order. More...
 
tBoolean inverse ()
 inverse the matrix More...
 
virtual SP::LAP_DoubleUpperMatrix choleskyFactorization ()
 compute the choleskey factorization of the full symmetric matrix A is modified such that the upper matrix of A is the matrix upper triangular matrix U : A = tU. U More...
 
virtual tBoolean BunchKaufmanFactorization (LAP_IntegerVector &ipiv)
 compute the Bunch Kaufman factorization of the full symmetric matrix A is modified such that the upper matrix of A is the matrix upper triangular uniy diagonal matrix U : A = U. D. tU More...
 
virtual tBoolean isSymmetric () const
 return true if the matrix is symmetric More...
 
virtual tBoolean isUpper () const
 return true if the matrix is upper More...
 
const double & operator[] (const tLVectorIndex &index) const
 get the element at index More...
 
double & operator[] (const tLVectorIndex &index)
 get the element at index More...
 
virtual tBoolean copy (const LAP_DoubleMatrix &x)
 copy a matrix More...
 
tBoolean copy (SPC::LAP_DoubleMatrix x)
 copy a matrix More...
 
tBoolean copy (LAP_DoubleMatrix *x)
 copy a matrix More...
 
virtual tBoolean copy (const LAP_Matrix &matrix)
 copy operator More...
 
void init (const double v)
 init the values to v More...
 
void set (const tLVectorIndex &i, const tLVectorIndex &j, const double &v)
 set the value of the element at row i and column j More...
 
void add (const tLVectorIndex &i, const tLVectorIndex &j, const double &v)
 add v to the view term (i,j) of the matrix More...
 
void setStorage (SP::LAP_DoubleMatrixStorage s)
 set the storage More...
 
double get (const tLVectorIndex &i, const tLVectorIndex &j) const
 get the value taking into account the view More...
 
LAP_DoubleMatrixStoragegetStorage ()
 set the storage More...
 
const LAP_DoubleMatrixStoragegetStorage () const
 set the storage More...
 
double trace () const
 return trace More...
 
void addDiagonal (const double &alpha)
 This +=alpha.I. More...
 
pair< tLVectorIndex,
tLVectorIndex
computeBandsNumber () const
 
double getFillRate () const
 get the fill rate of the matrix More...
 
tLVectorIndex getNullValuesNumber () const
 get the number of null values More...
 
tLVectorIndex getValuesNumber () const
 get the number of values More...
 
virtual SP::LAP_DoubleVector vectorProduct (const LAP_DoubleVector &X) const
 compute This. X More...
 
virtual void vectorProduct (const LAP_DoubleVector &X, LAP_DoubleVector &Y) const
 compute Y= This. X More...
 
virtual void vectorProduct (SPC::LAP_DoubleVector &X, SP::LAP_DoubleVector &Y) const
 rcompute Y= This X More...
 
virtual void vectorProduct (const tBoolean &isTrans, const LAP_DoubleVector &X, LAP_DoubleVector &Y) const
 compute Y= op(This). X More...
 
virtual void vectorProduct (const tBoolean &isTrans, const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *X, const double &alpha, const double &beta, const tLVectorIndex &nY, const tLVectorIncrement &incY, double *Y) const =0
 compute Y= beta Y + alpha op(This). X with op(A)=A or tA depending on isTrans value More...
 
virtual tString toString () const
 print the matrix taking into account the view More...
 
const tLVectorIndexgetSize (const tFlag &direction) const
 get the size in direction More...
 
double & getNullValue ()
 get a null value More...
 
const double & getNullValue () const
 get a const null value More...
 
tBoolean isNullValue (const double &v) const
 return true if the value is a null 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
 return true if the object is an instance of T More...
 
virtual void print ()
 print the class More...
 
virtual ostream & print (ostream &out) const
 print the class More...
 
virtual void print (const tString &message)
 print the class More...
 
virtual void print (const tInteger &str)
 print More...
 
virtual void print (const tRelativeInteger &str)
 print More...
 
virtual void print (const tReal &str)
 print More...
 
virtual void print (const int &str)
 print More...
 

Static Public Member Functions

static
SP::LAP_DoubleFullSymmetricMatrix 
New ()
 
static
SP::LAP_DoubleFullSymmetricMatrix 
New (const tLVectorIndex &n)
 
static
SP::LAP_DoubleFullSymmetricMatrix 
Identity (const tLVectorIndex &nRows)
 create an identity matrix More...
 
static void matrixProduct (const tBoolean &leftSide, const LAP_DoubleFullSymmetricMatrix &S, const LAP_DoubleFullGeneralMatrix &B, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleFullGeneralMatrix &C)
 make the product C = alpha. S . B +beta C if leftSide=true C = alpha. B . S +beta C if leftSide=false dsymm lapack method called More...
 
static void matrixProduct (const tBoolean &leftSide, const LAP_DoubleFullSymmetricMatrix &S1, const LAP_DoubleFullSymmetricMatrix &S2, const lapack_real &alpha, const lapack_real &beta, LAP_DoubleFullGeneralMatrix &C)
 make the product C = alpha. S1 . S2 +beta C if leftSide=true C = alpha. S2 . S1 +beta C if leftSide=false dsymm C-lapack method called More...
 
static tBoolean computeEigenValues (LAP_DoubleFullSymmetricMatrix &A, LAP_DoubleVector &U)
 compute the eigen values of A in ascending order and A is destroyed after method lapack method dsyev called More...
 
static tBoolean computeEigenValueDecomposition (LAP_DoubleFullSymmetricMatrix &A, LAP_DoubleVector &U, LAP_DoubleFullGeneralMatrix &VR)
 compute the eigen elements of A in ascedning order the eigen vectors are set in A: A is destroyed IN : only the upper part of A is considered (So A is considered to be symmetric) OUT: A & VR contains its eigen vectors dsyev lapack method called More...
 
static tBoolean computeEigenValueDecomposition (LAP_DoubleFullSymmetricMatrix &A, LAP_DoubleVector &U, LAP_DoubleFullGeneralMatrix &Z, const lapack_int &il, const lapack_int &ul)
 compute the eigen elements of A in ascending order . A is supposed to be symmetric, the eigen vectors are set in Z, A must be symmetric. only the eigen values & vectors are computed in index il and iu when the iegen values are ordering in an ascent order. More...
 
static tBoolean inverse (LAP_DoubleFullSymmetricMatrix &A)
 inverse a symmetric matrix dsytrf & dsytri lapack methods called More...
 
static tBoolean inverse (LAP_DoubleFullSymmetricMatrix &A, const LAP_IntegerVector &ipiv)
 inverse a symmetric matrix dsytrf & dsytri lapack methods called More...
 
static double zpow (const double &f, const int &n)
 compute the value of pow(f,n)=f^n More...
 
static tString getClassName (const tString &identityString)
 return the class name of the object using only the identity string 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 represantation of a pointer More...
 
static void setOutput (ostream &out)
 set output More...
 
static ostream & getOutput ()
 get output More...
 
static void printObjectsInMemory ()
 print object in memory More...
 
static ostream & print (ostream &out, const tString &message)
 print the class More...
 
static void outputPrint (const tString &message)
 

Static Public Attributes

static const tFlag ROW =0
 
static const tFlag COL =1
 
static double ZERO_EPSILON =1.e-18
 
static tBoolean mIsMemoryTesting =false
 indicator to store all classes created and deleted only for debuging version More...
 

Protected Member Functions

void setThis (SP::CORE_Object p)
 set this weak shared pointer called toDoAfterThis setting method More...
 
virtual void setType (tString type)
 set the type of the object More...
 
virtual void toDoAfterThisSetting ()
 method called after setThis() method this method can oly be called once. More...
 

Detailed Description

this class describes a full symmetric matrix for lapack used

This class describes a matrix

Constructor & Destructor Documentation

LAP_DoubleFullSymmetricMatrix::LAP_DoubleFullSymmetricMatrix ( )

build a matrix

References LAP_DoubleFullStorage::New(), and LAP_DoubleMatrix::setStorage().

Referenced by New().

Here is the call graph for this function:

Here is the caller graph for this function:

LAP_DoubleFullSymmetricMatrix::LAP_DoubleFullSymmetricMatrix ( const LAP_DoubleFullSymmetricMatrix mat)

build a matrix for equality operator in construction

References LAP_DoubleMatrix::copy(), LAP_DoubleFullStorage::New(), and LAP_DoubleMatrix::setStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix::~LAP_DoubleFullSymmetricMatrix ( )
virtual

destroy a matrix

Member Function Documentation

void LAP_DoubleMatrix::add ( const tLVectorIndex i,
const tLVectorIndex j,
const double &  v 
)
inlineinherited

add v to the view term (i,j) of the matrix

Parameters
i: row of the element
jcolumn of the element
vvalue to add
void LAP_DoubleMatrix::addDiagonal ( const double &  alpha)
inlineinherited

This +=alpha.I.

Referenced by MATH_StiefelOptimizer::minimize().

Here is the caller graph for this function:

virtual tBoolean LAP_DoubleFullSymmetricMatrix::BunchKaufmanFactorization ( LAP_IntegerVector ipiv)
inlinevirtual

compute the Bunch Kaufman factorization of the full symmetric matrix A is modified such that the upper matrix of A is the matrix upper triangular uniy diagonal matrix U : A = U. D. tU

virtual SP::LAP_DoubleUpperMatrix LAP_DoubleFullSymmetricMatrix::choleskyFactorization ( )
inlinevirtual

compute the choleskey factorization of the full symmetric matrix A is modified such that the upper matrix of A is the matrix upper triangular matrix U : A = tU. U

Implements LAP_DoubleSymmetricMatrix.

pair<tLVectorIndex,tLVectorIndex> LAP_DoubleMatrix::computeBandsNumber ( ) const
inlineinherited
tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleVector U)
inline

compute the eigen elements in ascending order of This the eigen vectors are set in This: This is destroyed IN : only the upper part of This is considered (So A is considered to be symmetric) OUT: This contains its eigen vectors and it is considered as symmetric dsyev lapack method called

tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleVector U,
LAP_DoubleFullGeneralMatrix VR 
) const
inline

compute the eigen values in ascending order decomposition on this:

Parameters
Uthe eigen values
VRthe eigen vectors matrix Note that This is copied dsyev lapack method called

References LAP_DoubleMatrix::copy(), getRowsNumber(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrixStorage::getValuesPointer(), LAP_DoubleFullGeneralMatrix::setValues(), tBoolean, and tLVectorIndex.

Here is the call graph for this function:

static tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleFullSymmetricMatrix A,
LAP_DoubleVector U,
LAP_DoubleFullGeneralMatrix VR 
)
inlinestatic

compute the eigen elements of A in ascedning order the eigen vectors are set in A: A is destroyed IN : only the upper part of A is considered (So A is considered to be symmetric) OUT: A & VR contains its eigen vectors dsyev lapack method called

References getRowsNumber(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrixStorage::getValuesPointer(), LAP_DoubleFullGeneralMatrix::setValues(), and tBoolean.

Here is the call graph for this function:

virtual tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleVector U,
LAP_DoubleMatrix VR 
) const
inlinevirtual

compute the eigen values decomposition in acending order on This

Parameters
Uthe eigen values
VRthe eigen vectors

References LAP_DoubleMatrix::copy(), and null.

Here is the call graph for this function:

tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleVector U,
LAP_DoubleFullGeneralMatrix VR,
const int &  il,
const int &  iu 
) const
inline

compute the eigen elements in ascending order of This supposed to be symmetric, the eigen vectors are set in Z, A must be symmetric and is copied only the eigen values & vectors are computed in index il and iu when the iegen values are ordering in an ascent order.

static tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition ( LAP_DoubleFullSymmetricMatrix A,
LAP_DoubleVector U,
LAP_DoubleFullGeneralMatrix Z,
const lapack_int il,
const lapack_int ul 
)
inlinestatic

compute the eigen elements of A in ascending order . A is supposed to be symmetric, the eigen vectors are set in Z, A must be symmetric. only the eigen values & vectors are computed in index il and iu when the iegen values are ordering in an ascent order.

Parameters
A(IN/OUT) symmetric Matrix
Ueigen values (OUT)
Zeigen vectors (OUT)
ilmin eigen values index >= 1
ul: max eigen values index <= A.getSize(ROW) dsyevx lapack method called

References DoubleFullSymmetricMatrixBoundedEigenValues(), getColumnsNumber(), getLeadingDimension(), LAP_DoubleFullGeneralMatrix::getLeadingDimension(), getRowIncrement(), getRowsNumber(), lapack_int, LAP_Vector< T >::resetView(), LAP_DoubleFullGeneralMatrix::setSize(), LAP_Vector< T >::setSize(), and tLVectorIndex.

Here is the call graph for this function:

static tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValues ( LAP_DoubleFullSymmetricMatrix A,
LAP_DoubleVector U 
)
inlinestatic

compute the eigen values of A in ascending order and A is destroyed after method lapack method dsyev called

References DoubleFullSymmetricMatrixEigenValues(), getColumnsNumber(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), lapack_int, LAP_Vector< T >::resetView(), LAP_Vector< T >::setSize(), and tLVectorIndex.

Referenced by MMSD_DoubleSymmetricMatrix::computeEigenValues(), and computeEigenValues().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual tBoolean LAP_DoubleFullSymmetricMatrix::computeEigenValues ( LAP_DoubleVector U) const
inlinevirtual

compute the eigen values of This: A is copied in ascending order

Implements LAP_DoubleMatrix.

References computeEigenValues().

Here is the call graph for this function:

virtual tBoolean LAP_Matrix::copy ( const LAP_Matrix matrix)
inlinevirtualinherited

copy operator

Parameters
mmatrix to copy
Returns
false if the allocation failed

References LAP_Matrix::COL, LAP_Matrix::getSize(), and LAP_Matrix::ROW.

Referenced by LAP_DoubleMatrix::copy().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean LAP_DoubleMatrix::copy ( const LAP_DoubleMatrix x)
virtualinherited

copy a matrix

Parameters
xthe matrix to copy

References LAP_Matrix::copy(), LAP_DoubleMatrixStorage::copy(), LAP_DoubleMatrix::getStorage(), LAP_DoubleMatrix::isSymmetric(), LAP_DoubleFullGeneralMatrix::isTransposed(), LAP_DoubleMatrix::isUpper(), null, and tBoolean.

Referenced by LAP_DoubleBandedSymmetricMatrix::computeEigenValueDecomposition(), LAP_DoubleFullUpperMatrix::computeEigenValueDecomposition(), LAP_DoubleFullGeneralMatrix::computeEigenValueDecomposition(), LAP_DoublePackedSymmetricMatrix::computeEigenValueDecomposition(), computeEigenValueDecomposition(), LAP_DoubleMatrix::copy(), MMSD_DoubleSymmetricMatrix::copy(), LAP_DoubleBandedSymmetricMatrix::LAP_DoubleBandedSymmetricMatrix(), LAP_DoubleBandedUpperMatrix::LAP_DoubleBandedUpperMatrix(), LAP_DoubleFullGeneralMatrix::LAP_DoubleFullGeneralMatrix(), LAP_DoubleFullSymmetricMatrix(), LAP_DoubleFullUpperMatrix::LAP_DoubleFullUpperMatrix(), LAP_DoublePackedSymmetricMatrix::LAP_DoublePackedSymmetricMatrix(), LAP_DoublePackedUpperMatrix::LAP_DoublePackedUpperMatrix(), LAP_DoublePackedUpperMatrix::matrixProduct(), LAP_DoubleBandedUpperMatrix::matrixProduct(), LAP_DoubleFullUpperMatrix::matrixProduct(), LAP_DoubleFullGeneralMatrix::matrixProduct(), MATH_StiefelOptimizer::minimize(), LAP_DoubleBandedUpperMatrix::operator=(), LAP_DoubleBandedSymmetricMatrix::operator=(), LAP_DoublePackedSymmetricMatrix::operator=(), LAP_DoubleFullUpperMatrix::operator=(), operator=(), LAP_DoubleFullGeneralMatrix::operator=(), LAP_DoublePackedUpperMatrix::operator=(), and LAP_DoubleFullGeneralMatrix::solve().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean LAP_DoubleMatrix::copy ( SPC::LAP_DoubleMatrix  x)
inlineinherited

copy a matrix

Parameters
xthe matrix to copy

References LAP_DoubleMatrix::copy(), and null.

Here is the call graph for this function:

tBoolean LAP_DoubleMatrix::copy ( LAP_DoubleMatrix x)
inlineinherited

copy a matrix

Parameters
xthe matrix to copy

References LAP_DoubleMatrix::copy(), and null.

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::copyUpperToLowerSubMatrix ( )

copy the upper part to the lower part of the matrix

References getColumnsNumber(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), tLVectorIncrement, and tLVectorIndex.

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::dotProduct ( const LAP_DoubleVector v)
inlinevirtual

compute the symmetric matrix S= X.tX only the upper symmetric matric is set. (lapack method dsyr called)

virtual void LAP_DoubleFullSymmetricMatrix::dotProduct ( const double &  alpha,
const LAP_DoubleVector X 
)
inlinevirtual

compute the symmetric matrix S:= alpha X.tX only the upper symmetric matric is set. (lapack method dsyr called)

References DoubleFullSymmetricMatrixRankSymmetricProduct(), LAP_Vector< T >::getIncrement(), getLeadingDimension(), LAP_Vector< T >::getSize(), setSize(), and tLVectorIndex.

Here is the call graph for this function:

double LAP_DoubleMatrix::get ( const tLVectorIndex i,
const tLVectorIndex j 
) const
inlineinherited
static tString CORE_Object::getClassName ( const tString identityString)
inlinestaticinherited

return the class name of the object using only the identity string

Referenced by UI_Class::createVector2D(), LAP_DoublePackedUpperMatrix::matrixProduct(), LAP_DoubleBandedUpperMatrix::matrixProduct(), LAP_DoubleFullUpperMatrix::matrixProduct(), and CORE_Object::printObjectsInMemory().

Here is the caller graph for this function:

tString CORE_Object::getClassName ( ) const
inherited

return the class name of the object

Returns
the class name of the object

References tString.

Referenced by CORE_Object::getIdentityString().

Here is the caller graph for this function:

void LAP_DoubleFullSymmetricMatrix::getColumn ( const tLVectorIndex j,
LAP_DoubleVector v 
) const
virtual

get the j-th column of this symmetric matrix in a vector

Implements LAP_DoubleMatrix.

References getColumnsNumber(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), LAP_Vector< T >::resetView(), LAP_Vector< T >::setSize(), tLVectorIncrement, and tLVectorIndex.

Referenced by getColumn().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::getColumn ( const tLVectorIndex j,
SP::LAP_DoubleVector  v 
) const
inlinevirtual

get the j-th column of this symmetric matrix in a vector

Reimplemented from LAP_DoubleMatrix.

References ASSERT_IN, getColumn(), and null.

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::getColumnByReference ( const tLVectorIndex j,
LAP_DoubleVector v 
)
inline

get the column by reference the values of v pointer to the values of the column j of this

References LAP_DoubleFullStorage::getColumnByReference(), and getFullStorage().

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::getColumnByReference ( const tLVectorIndex j,
LAP_ConstDoubleVector v 
) const
inline

get the column by reference the values of v pointer to the values of the column j of this

References LAP_DoubleFullStorage::getColumnByReference(), and getFullStorage().

Here is the call graph for this function:

virtual tLVectorIndex LAP_DoubleFullSymmetricMatrix::getColumnsNumber ( ) const
inlinevirtual

get the columns number of the matrix from view

Reimplemented from LAP_Matrix.

References getFullStorage(), and LAP_DoubleFullStorage::getViewedColumnsNumber().

Referenced by computeEigenValueDecomposition(), computeEigenValues(), copyUpperToLowerSubMatrix(), getColumn(), getRow(), indexMin(), matrixProduct(), LAP_DoublePackedSymmetricMatrix::matrixProduct(), and sum().

Here is the call graph for this function:

Here is the caller graph for this function:

double LAP_DoubleMatrix::getFillRate ( ) const
inlineinherited

get the fill rate of the matrix

LAP_DoubleFullStorage& LAP_DoubleFullSymmetricMatrix::getFullStorage ( )
inline
const LAP_DoubleFullStorage& LAP_DoubleFullSymmetricMatrix::getFullStorage ( ) const
inline

get the full storage

References LAP_DoubleMatrix::getStorage().

Here is the call graph for this function:

tString CORE_Object::getIdentityString ( ) const
inlineinherited

return the identity string of the object of the form className_at_address

Returns
the identity string of the object

References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.

Referenced by UI_Class::createPrimitiveMap(), UI_Class::saveAssociation(), UI_Class::saveClass(), UI_ClassFactory::saveIntoClass(), MATH_StiefelFunction::toString(), LAP_2DView::toString(), CORE_Object::toString(), MATH_StiefelOptimizer::toString(), and MM_Class::toString().

Here is the call graph for this function:

Here is the caller graph for this function:

tLVectorIndex LAP_DoubleFullSymmetricMatrix::getLeadingDimension ( ) const
inline

get the memory distance between (*this)(i,j) & (*this)(i,j+1)

References getFullStorage(), and LAP_DoubleFullStorage::getLeadingDimension().

Referenced by computeEigenValueDecomposition(), computeEigenValues(), copyUpperToLowerSubMatrix(), dotProduct(), getColumn(), getRow(), indexMin(), inverse(), matrixProduct(), max(), norm2(), rankSymmetricProduct(), sum(), and vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

double& LAP_Object::getNullValue ( )
inlineinherited
const double& LAP_Object::getNullValue ( ) const
inlineinherited

get a const null value

tLVectorIndex LAP_DoubleMatrix::getNullValuesNumber ( ) const
inlineinherited

get the number of null values

static ostream& CORE_Object::getOutput ( )
inlinestaticinherited

get output

tString CORE_Object::getPointerAddress ( ) const
inlineinherited

return the identity string of the object

Returns
the identity string of the object

References CORE_Object::pointer2String().

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::getRow ( const tLVectorIndex i,
LAP_DoubleVector v 
) const
virtual

get the i-th row in a vector

Implements LAP_DoubleMatrix.

References getColumnsNumber(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), LAP_Vector< T >::resetView(), LAP_Vector< T >::setSize(), tLVectorIncrement, and tLVectorIndex.

Referenced by getRow().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::getRow ( const tLVectorIndex i,
SP::LAP_DoubleVector  v 
) const
inlinevirtual

get the i-th row in a vector

Reimplemented from LAP_DoubleMatrix.

References ASSERT_IN, getRow(), and null.

Here is the call graph for this function:

tLVectorIndex LAP_DoubleFullSymmetricMatrix::getRowIncrement ( ) const
inline

get the memory distance between (*this)(i,j) & (*this)(i+1,j)

References getFullStorage(), and LAP_DoubleFullStorage::getRowIncrement().

Referenced by computeEigenValueDecomposition(), computeEigenValues(), copyUpperToLowerSubMatrix(), getColumn(), getRow(), indexMin(), inverse(), max(), norm2(), rankSymmetricProduct(), sum(), and vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual tLVectorIndex LAP_DoubleFullSymmetricMatrix::getRowsNumber ( ) const
inlinevirtual

get the lines number of the matrix from view

Reimplemented from LAP_Matrix.

References getFullStorage(), and LAP_DoubleFullStorage::getViewedRowsNumber().

Referenced by computeEigenValueDecomposition(), computeEigenValues(), copyUpperToLowerSubMatrix(), getColumn(), getRow(), inverse(), matrixProduct(), LAP_DoublePackedSymmetricMatrix::matrixProduct(), max(), norm2(), rankSymmetricProduct(), sum(), and vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

void CORE_Object::getSharedPointer ( SP::CORE_Object &  p)
inlineinherited
void CORE_Object::getSharedPointer ( SPC::CORE_Object &  p) const
inlineinherited

get the shared pointer of this class into p

const tLVectorIndex& LAP_Matrix::getSize ( const tFlag direction) const
inlineinherited
LAP_DoubleMatrixStorage& LAP_DoubleMatrix::getStorage ( )
inlineinherited
const LAP_DoubleMatrixStorage& LAP_DoubleMatrix::getStorage ( ) const
inlineinherited

set the storage

References null.

template<class T >
static tString CORE_Object::getTypeName ( )
inlinestaticinherited

get type name

References tString.

tLVectorIndex LAP_DoubleMatrix::getValuesNumber ( ) const
inlineinherited

get the number of values

Referenced by MMSD_DoubleSymmetricMatrix::getValuesNumber(), and MMSD_Model::saveToUIClass().

Here is the caller graph for this function:

static SP::LAP_DoubleFullSymmetricMatrix LAP_DoubleFullSymmetricMatrix::Identity ( const tLVectorIndex nRows)
inlinestatic

create an identity matrix

References New(), and tLVectorIndex.

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::indexMin ( tLVectorIndex i,
tLVectorIndex j 
) const

get the index of the min view element in absolute value

Parameters
ireturn the row index of the min element
jreturn the column index of the min element

References getColumnsNumber(), getFullStorage(), getLeadingDimension(), getRowIncrement(), LAP_Matrix::getSize(), LAP_DoubleFullStorage::getStart(), REAL_INFINITY, LAP_Matrix::ROW, tLVectorIncrement, tLVectorIndex, and tReal.

Here is the call graph for this function:

void LAP_DoubleMatrix::init ( const double  v)
inlineinherited

init the values to v

Parameters
vinit value

References LAP_DoubleMatrix::getStorage(), and LAP_DoubleMatrixStorage::init().

Referenced by MMSD_DoubleFullMatrix::operator=().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean LAP_DoubleFullSymmetricMatrix::inverse ( )
inline

inverse the matrix

Returns
true if succeeds
static tBoolean LAP_DoubleFullSymmetricMatrix::inverse ( LAP_DoubleFullSymmetricMatrix A)
inlinestatic

inverse a symmetric matrix dsytrf & dsytri lapack methods called

References DoubleFullSymmetricMatrixInverse(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), LAP_Vector< T >::setSize(), and tLVectorIndex.

Here is the call graph for this function:

static tBoolean LAP_DoubleFullSymmetricMatrix::inverse ( LAP_DoubleFullSymmetricMatrix A,
const LAP_IntegerVector ipiv 
)
inlinestatic

inverse a symmetric matrix dsytrf & dsytri lapack methods called

References DoubleFullSymmetricMatrixInverse(), getLeadingDimension(), getRowIncrement(), and getRowsNumber().

Here is the call graph for this function:

static tBoolean CORE_Object::is32Architecture ( )
inlinestaticinherited

return true if the machine is a 32 bits machine

References CORE_Object::is64Architecture().

Here is the call graph for this function:

tBoolean CORE_Object::is64Architecture ( )
staticinherited

return true if the machine is a 64 bits machine

Referenced by CORE_Object::is32Architecture().

Here is the caller graph for this function:

template<class T >
tBoolean CORE_Object::isInstanceOf ( ) const
inlineinherited

return true if the object is an instance of T

References null.

tBoolean LAP_Object::isNullValue ( const double &  v) const
inlineinherited

return true if the value is a null

virtual tBoolean LAP_DoubleSymmetricMatrix::isSymmetric ( ) const
inlinevirtualinherited

return true if the matrix is symmetric

Implements LAP_DoubleMatrix.

virtual tBoolean LAP_DoubleSymmetricMatrix::isUpper ( ) const
inlinevirtualinherited

return true if the matrix is upper

Implements LAP_DoubleMatrix.

virtual SP::LAP_DoubleMatrix LAP_DoubleFullSymmetricMatrix::matrixProduct ( const LAP_DoubleMatrix B) const
inlinevirtual

return C=(This) . B

Implements LAP_DoubleMatrix.

References LAP_DoubleMatrix::get(), LAP_DoubleFullGeneralMatrix::New(), and null.

Referenced by matrixProduct(), and MMSD_DoubleSymmetricMatrix::product().

Here is the call graph for this function:

Here is the caller graph for this function:

void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const LAP_DoubleFullSymmetricMatrix B,
LAP_DoubleFullGeneralMatrix C 
) const
inline

return C=(This) . B

References getColumnsNumber(), getRowsNumber(), matrixProduct(), and LAP_DoubleFullGeneralMatrix::setSize().

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const LAP_DoubleFullGeneralMatrix B,
LAP_DoubleFullGeneralMatrix C 
) const
inline

return C=(This) . B

References LAP_DoubleFullGeneralMatrix::getColumnsNumber(), getRowsNumber(), matrixProduct(), and LAP_DoubleFullGeneralMatrix::setSize().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const LAP_DoubleFullGeneralMatrix B,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleFullGeneralMatrix C 
) const
inlinevirtual

return C=(This) . B (lefside=true) or B. (this) (lefside=false)

References matrixProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const tBoolean leftSide,
const LAP_DoubleFullGeneralMatrix B,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleFullGeneralMatrix C 
) const
inlinevirtual

make the product C = alpha. This . B +beta C if leftSide=true C = alpha. B . This +beta C if leftSide=false

Implements LAP_DoubleSymmetricMatrix.

References matrixProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const tBoolean leftSide,
const tLVectorIndex nBRows,
const tLVectorIndex nBCols,
const tLVectorIncrement incB,
const tLVectorIndex ldB,
const double *  B,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleFullGeneralMatrix C 
) const
inlinevirtual

make the product:

  • if (leftSide) C = alpha. This . B +beta C
  • if (!leftSide) C = alpha. B . This +beta C
    Parameters
    leftside: the side of product
    nBRowsnumber of rows of B
    nBcolsnumber of columns of B
    incBmemory distance between B(i,j) && B(i+1,j)
    ldBmemory distance between B(i,j) && B(i,j+1)
    alphathe alpha value
    betathe beta value
    Cthe output full matrix

Implements LAP_DoubleSymmetricMatrix.

References ASSERT_IN, DoubleFullSymmetricMatrixMatrixProduct(), LAP_DoubleFullGeneralMatrix::getColumnsNumber(), getLeadingDimension(), LAP_DoubleFullGeneralMatrix::getLeadingDimension(), getRowsNumber(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_DoubleFullGeneralMatrix::setSize(), and tLVectorIndex.

Here is the call graph for this function:

static void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const tBoolean leftSide,
const LAP_DoubleFullSymmetricMatrix S,
const LAP_DoubleFullGeneralMatrix B,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleFullGeneralMatrix C 
)
inlinestatic

make the product C = alpha. S . B +beta C if leftSide=true C = alpha. B . S +beta C if leftSide=false dsymm lapack method called

References ASSERT_IN, DoubleFullSymmetricMatrixMatrixProduct(), LAP_DoubleFullGeneralMatrix::getColumnsNumber(), getLeadingDimension(), LAP_DoubleFullGeneralMatrix::getLeadingDimension(), getRowsNumber(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_DoubleFullGeneralMatrix::setSize(), and tLVectorIndex.

Here is the call graph for this function:

static void LAP_DoubleFullSymmetricMatrix::matrixProduct ( const tBoolean leftSide,
const LAP_DoubleFullSymmetricMatrix S1,
const LAP_DoubleFullSymmetricMatrix S2,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleFullGeneralMatrix C 
)
inlinestatic

make the product C = alpha. S1 . S2 +beta C if leftSide=true C = alpha. S2 . S1 +beta C if leftSide=false dsymm C-lapack method called

References DoubleFullSymmetricMatrixMatrixProduct(), getColumnsNumber(), LAP_DoubleFullGeneralMatrix::getColumnsNumber(), getLeadingDimension(), LAP_DoubleFullGeneralMatrix::getLeadingDimension(), getRowsNumber(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), LAP_DoubleFullGeneralMatrix::setSize(), and tLVectorIndex.

Here is the call graph for this function:

tReal LAP_DoubleFullSymmetricMatrix::max ( const tFlag d,
const tLVectorIndex index 
) const
virtual

make get max among the direction if (d==ROW) max of all the columns of row index if (d==COL) max of all the rows of column at index

References getLeadingDimension(), getRowIncrement(), getRowsNumber(), REAL_INFINITY, tLVectorIncrement, tLVectorIndex, and tReal.

Here is the call graph for this function:

static SP::LAP_DoubleFullSymmetricMatrix LAP_DoubleFullSymmetricMatrix::New ( )
inlinestatic

References LAP_DoubleFullSymmetricMatrix().

Referenced by Identity(), New(), NewInstance(), MMSD_DoubleSymmetricMatrix::setStorage(), testEigenFunction(), testOptimize(), testOptimizerGProject1(), testOptimizerGProject2(), and testOptimizerHInverse().

Here is the call graph for this function:

Here is the caller graph for this function:

static SP::LAP_DoubleFullSymmetricMatrix LAP_DoubleFullSymmetricMatrix::New ( const tLVectorIndex n)
inlinestatic

References New().

Here is the call graph for this function:

virtual SP::LAP_DoubleMatrix LAP_DoubleFullSymmetricMatrix::NewInstance ( ) const
inlinevirtual

create a New instance of this

Implements LAP_DoubleMatrix.

References New().

Here is the call graph for this function:

tReal LAP_DoubleFullSymmetricMatrix::norm2 ( ) const
virtual

return norm2 sqrt(sum_ij(aij^2))=sqrt(tr(AtA));

Implements LAP_DoubleMatrix.

References getLeadingDimension(), getRowIncrement(), getRowsNumber(), sum(), tLVectorIncrement, and tLVectorIndex.

Referenced by MATH_StiefelOptimizer::minimize().

Here is the call graph for this function:

Here is the caller graph for this function:

tReal LAP_DoubleFullSymmetricMatrix::norm2 ( LAP_DoubleVector v) const
virtual

return norm2 of the matrix and for each row;

Implements LAP_DoubleMatrix.

References getLeadingDimension(), getRowIncrement(), getRowsNumber(), LAP_Vector< T >::resetView(), LAP_Vector< T >::setSize(), sum(), tLVectorIncrement, and tLVectorIndex.

Here is the call graph for this function:

virtual double& LAP_DoubleFullSymmetricMatrix::operator() ( const tLVectorIndex i,
const tLVectorIndex j 
)
inlinevirtual

accessor of element at row i and column j taking into account the view only use the upper diagonal

Implements LAP_DoubleMatrix.

References getFullStorage().

Here is the call graph for this function:

virtual const double& LAP_DoubleFullSymmetricMatrix::operator() ( const tLVectorIndex i,
const tLVectorIndex j 
) const
inlinevirtual

accessor of element at row i and column j taking into account the view only use the upper diagonal

Implements LAP_DoubleMatrix.

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator*= ( const lapack_real s)
inline

multiply by s the matrix

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator*= ( const LAP_DoubleFullSymmetricMatrix s)
inline

multiply the viewed matrices term by term

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix & LAP_DoubleFullSymmetricMatrix::operator*= ( const LAP_DoublePackedSymmetricMatrix s)

multiply the viewed matrices term by term

References getFullStorage(), LAP_DoublePackedSymmetricMatrix::getPackedStorage(), and LAP_DoubleFullStorage::multiplyBy().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator+= ( const lapack_real s)
inline

add s to the upper matrix

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator+= ( const LAP_DoubleFullSymmetricMatrix s)
inline

add the viewed matrix

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix & LAP_DoubleFullSymmetricMatrix::operator+= ( const LAP_DoublePackedSymmetricMatrix s)

add the viewed matrix

References LAP_DoubleFullStorage::add(), getFullStorage(), and LAP_DoublePackedSymmetricMatrix::getPackedStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator-= ( const lapack_real s)
inline

sub s to the upper matrix

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator-= ( const LAP_DoubleFullSymmetricMatrix s)
inline

sub the viewed matrix

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix & LAP_DoubleFullSymmetricMatrix::operator-= ( const LAP_DoublePackedSymmetricMatrix s)

sub the viewed matrix

References getFullStorage(), LAP_DoublePackedSymmetricMatrix::getPackedStorage(), and LAP_DoubleFullStorage::sub().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator/= ( const lapack_real s)
inline

divide by s the matrix v

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator/= ( const LAP_DoubleFullSymmetricMatrix s)
inline

divide the viewed matrices term by term

References getFullStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix & LAP_DoubleFullSymmetricMatrix::operator/= ( const LAP_DoublePackedSymmetricMatrix s)

divide the viewed matrices term by term

References LAP_DoubleFullStorage::divideBy(), getFullStorage(), and LAP_DoublePackedSymmetricMatrix::getPackedStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator= ( const double &  s)
inline

init all the matrix to s

References LAP_DoubleMatrix::getStorage(), and LAP_DoubleMatrixStorage::init().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator= ( const LAP_DoubleFullSymmetricMatrix s)
inline

init all the matrix to s

References LAP_DoubleMatrix::copy().

Here is the call graph for this function:

const double& LAP_DoubleMatrix::operator[] ( const tLVectorIndex index) const
inlineinherited

get the element at index

Parameters
indexindex of the element in [0,getStorage().getValuesNumber()[ return the value of the element at index for reading

References LAP_DoubleMatrix::getStorage().

Here is the call graph for this function:

double& LAP_DoubleMatrix::operator[] ( const tLVectorIndex index)
inlineinherited

get the element at index

Parameters
indexindex of the element in [0,getValuesNumber()[ return the value of the element at index for writing

References LAP_DoubleMatrix::getStorage().

Here is the call graph for this function:

LAP_DoubleFullSymmetricMatrix& LAP_DoubleFullSymmetricMatrix::operator^= ( const lapack_real s)
inline

power by s the matrix v

References getFullStorage().

Here is the call graph for this function:

void CORE_Object::outputPrint ( const tString message)
staticinherited

print on output

References null, and CORE_Object::print().

Referenced by CORE_Exception::CORE_Exception().

Here is the call graph for this function:

Here is the caller graph for this function:

tString CORE_Object::pointer2String ( const void *  obj)
staticinherited

return the string represantation of a pointer

References tString.

Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().

Here is the caller graph for this function:

virtual void CORE_Object::print ( )
inlinevirtualinherited

print the class

References CORE_Object::toString().

Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual ostream& CORE_Object::print ( ostream &  out) const
inlinevirtualinherited

print the class

References CORE_Object::print(), and CORE_Object::toString().

Here is the call graph for this function:

void CORE_Object::print ( const tString message)
virtualinherited

print the class

Reimplemented in CORE_Out.

References null, and CORE_Object::print().

Here is the call graph for this function:

void CORE_Object::print ( const tInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tRelativeInteger str)
virtualinherited

print

References null.

void CORE_Object::print ( const tReal str)
virtualinherited

print

References null.

void CORE_Object::print ( const int &  str)
virtualinherited

print

References null.

static ostream& CORE_Object::print ( ostream &  out,
const tString message 
)
inlinestaticinherited

print the class

void CORE_Object::printObjectsInMemory ( )
staticinherited

print object in memory

References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const LAP_DoubleFullGeneralMatrix A)
inline

compute the symmetric matrix S:=alpha op(A).t(op(A))

Referenced by MATH_StiefelOptimizer::minimize(), and rankSymmetricProduct().

Here is the caller graph for this function:

void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const double &  alpha,
const tBoolean isTrans,
const LAP_DoubleFullGeneralMatrix A 
)
inline

compute the symmetric matrix S:=alpha op(A).t(op(A))

References rankSymmetricProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const double &  alpha,
const double &  beta,
const tBoolean isTrans,
const LAP_DoubleFullGeneralMatrix A 
)
inlinevirtual

compute the symmetric matrix S:=beta.S+ alpha op(A).t(op(A)) only the upper symmetric matric is set. (lapack method dsyrk called)

References LAP_DoubleFullGeneralMatrix::getColumnsNumber(), LAP_DoubleFullGeneralMatrix::getLeadingDimension(), LAP_DoubleFullGeneralMatrix::getRowIncrement(), LAP_DoubleFullGeneralMatrix::getRowsNumber(), rankSymmetricProduct(), tLVectorIncrement, and tLVectorIndex.

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const double &  alpha,
const double &  beta,
const tLVectorIndex nARows,
const tLVectorIndex nACols,
const tLVectorIncrement incA,
const tLVectorIndex ldA,
const tBoolean isTransA,
const double *  A 
)
inlinevirtual

compute the symmetric matrix S:=beta.S+ alpha op(A).t(op(A)) only the upper symmetric matric is set. (lapack method dsyrk called)

Implements LAP_DoubleSymmetricMatrix.

References DoubleFullSymmetricMatrixKRankSymmetricProduct(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), null, setSize(), and tLVectorIndex.

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const LAP_DoubleVector D,
const LAP_DoubleFullGeneralMatrix A 
)
inline

compute the symmetric matrix S:=alpha op(A).t(op(A))

References rankSymmetricProduct().

Here is the call graph for this function:

void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const LAP_DoubleVector D,
const double &  alpha,
const tBoolean isTrans,
const LAP_DoubleFullGeneralMatrix A 
)
inline

compute the symmetric matrix S:=alpha op(A).t(op(A))

References rankSymmetricProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct ( const LAP_DoubleVector D,
const double &  alpha,
const double &  beta,
const tBoolean isTrans,
const LAP_DoubleFullGeneralMatrix A 
)
inlinevirtual
void LAP_DoubleMatrix::set ( const tLVectorIndex i,
const tLVectorIndex j,
const double &  v 
)
inlineinherited

set the value of the element at row i and column j

Parameters
i: row of the element
jcolumn of the element
vvalue to set
static void CORE_Object::setOutput ( ostream &  out)
inlinestaticinherited

set output

virtual void LAP_DoubleFullSymmetricMatrix::setSize ( const tLVectorIndex n,
const tLVectorIndex p 
)
inlinevirtual

set the dimension of the matrix and allocate the values array

Reimplemented from LAP_Matrix.

References getFullStorage(), LAP_Matrix::setSize(), LAP_DoubleFullStorage::setValuesNumber(), and tLVectorIndex.

Referenced by computeAMatrix(), dotProduct(), MATH_StiefelOptimizer::minimize(), rankSymmetricProduct(), and setSize().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::setSize ( const tLVectorIndex n)
inlinevirtual

set the dimension of the matrix and alocate the values array

Reimplemented from LAP_Matrix.

References setSize().

Here is the call graph for this function:

void LAP_DoubleMatrix::setStorage ( SP::LAP_DoubleMatrixStorage  s)
inlineinherited
void CORE_Object::setThis ( SP::CORE_Object  p)
inlineprotectedinherited

set this weak shared pointer called toDoAfterThis setting method

References CORE_Object::toDoAfterThisSetting().

Here is the call graph for this function:

virtual void CORE_Object::setType ( tString  type)
inlineprotectedvirtualinherited

set the type of the object

Referenced by LAP_IntegerVector::LAP_IntegerVector(), MATH_BetaFunction::MATH_BetaFunction(), MATH_C1Function::MATH_C1Function(), MATH_DigammaFunction::MATH_DigammaFunction(), MATH_EigenFunction::MATH_EigenFunction(), MATH_Equation::MATH_Equation(), MATH_Function::MATH_Function(), MATH_GammaFunction::MATH_GammaFunction(), MATH_KeplerFunction::MATH_KeplerFunction(), MATH_LogGammaFunction::MATH_LogGammaFunction(), MATH_NewtonEquation::MATH_NewtonEquation(), MATH_StiefelFunction::MATH_StiefelFunction(), MATH_StiefelOptimizer::MATH_StiefelOptimizer(), MATH_TranscendentEquation::MATH_TranscendentEquation(), MATH_TrigammaFunction::MATH_TrigammaFunction(), MATH_ZeroEquation::MATH_ZeroEquation(), MATH_ZKeplerFunction::MATH_ZKeplerFunction(), MM_Attribute::MM_Attribute(), MM_Class::MM_Class(), MM_ClassFactory::MM_ClassFactory(), MM_Data::MM_Data(), MM_Structure::MM_Structure(), MMSD_ClassFactory::MMSD_ClassFactory(), MMSD_Cluster::MMSD_Cluster(), MMSD_ConstDoubleVector::MMSD_ConstDoubleVector(), MMSD_ConstraintGaussianCluster::MMSD_ConstraintGaussianCluster(), MMSD_ConstraintGaussianModel::MMSD_ConstraintGaussianModel(), MMSD_DataSet::MMSD_DataSet(), MMSD_DataSetClassFactory::MMSD_DataSetClassFactory(), MMSD_DoubleFullMatrix::MMSD_DoubleFullMatrix(), MMSD_DoubleSymmetricMatrix::MMSD_DoubleSymmetricMatrix(), MMSD_DoubleVector::MMSD_DoubleVector(), MMSD_FluryGautschiGaussianLaw::MMSD_FluryGautschiGaussianLaw(), MMSD_GaussianCluster::MMSD_GaussianCluster(), MMSD_GaussianFDFunction::MMSD_GaussianFDFunction(), MMSD_GaussianLaw::MMSD_GaussianLaw(), MMSD_GaussianModel::MMSD_GaussianModel(), MMSD_Law::MMSD_Law(), MMSD_Model::MMSD_Model(), MMSD_ModelClassFactory::MMSD_ModelClassFactory(), MMSD_Object::MMSD_Object(), MMSD_StiefelFunction::MMSD_StiefelFunction(), MMSD_StiefelGaussianLaw::MMSD_StiefelGaussianLaw(), STAT_BernoulliDistribution::STAT_BernoulliDistribution(), STAT_BinomialDistribution::STAT_BinomialDistribution(), STAT_Combinatorial< T >::STAT_Combinatorial(), STAT_DiracDistribution::STAT_DiracDistribution(), STAT_Distribution::STAT_Distribution(), STAT_ExponentialDistribution::STAT_ExponentialDistribution(), STAT_GammaDistribution::STAT_GammaDistribution(), STAT_GeometricDistribution::STAT_GeometricDistribution(), STAT_InverseNormalDistribution::STAT_InverseNormalDistribution(), STAT_NormalDistribution::STAT_NormalDistribution(), STAT_Object::STAT_Object(), STAT_PoissonDistribution::STAT_PoissonDistribution(), STAT_UniformDistribution::STAT_UniformDistribution(), and STAT_UniformLaplaceTransform::STAT_UniformLaplaceTransform().

Here is the caller graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::setValues ( SP::LAP_DoubleVector  v)
inlinevirtual

set the values of the matrix to V without allocation the values array

Parameters
nnumber of rows
valuevalues ordered by columns

Reimplemented from LAP_DoubleMatrix.

References getFullStorage(), LAP_Matrix::setSize(), LAP_DoubleFullStorage::setValuesPointer(), and tLVectorIndex.

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::setValues ( const tLVectorIndex n,
const double *  values 
)
inlinevirtual

set the values

Parameters
nnumber of values
valuesvalues ordered by columns

Reimplemented from LAP_DoubleMatrix.

References getFullStorage(), LAP_Matrix::setSize(), LAP_DoubleFullStorage::setValues(), and tLVectorIndex.

Here is the call graph for this function:

tReal LAP_DoubleFullSymmetricMatrix::sum ( const tFlag d,
LAP_DoubleVector s 
) const
virtual

make the sum among the direction if (d==ROW) sum all the columns of each row and size of s is the number of rows if (d==COL) sum all the rows of each column and size of s is the number of columns ^return the sum of all the element of the matrix

Implements LAP_DoubleMatrix.

References getColumnsNumber(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), null, LAP_Vector< T >::setSize(), tLVectorIncrement, and tLVectorIndex.

Referenced by norm2(), and sum().

Here is the call graph for this function:

Here is the caller graph for this function:

tReal LAP_DoubleFullSymmetricMatrix::sum ( const tFlag d,
const tLVectorIndex index 
) const
virtual

make the sum among the direction if (d==ROW) sum all the columns of row index if (d==COL) sum all the rows of coluln at index

Implements LAP_DoubleMatrix.

References getLeadingDimension(), getRowIncrement(), getRowsNumber(), sum(), tLVectorIncrement, and tLVectorIndex.

Here is the call graph for this function:

virtual void CORE_Object::toDoAfterThisSetting ( )
inlineprotectedvirtualinherited

method called after setThis() method this method can oly be called once.

Reimplemented in STAT_UniformLaplaceTransform.

Referenced by CORE_Object::setThis(), and STAT_UniformLaplaceTransform::toDoAfterThisSetting().

Here is the caller graph for this function:

tString LAP_DoubleMatrix::toString ( ) const
virtualinherited

print the matrix taking into account the view

Reimplemented from CORE_Object.

References LAP_Matrix::getColumnsNumber(), LAP_Matrix::getRowsNumber(), tLVectorIndex, CORE_String::toString(), and tString.

Here is the call graph for this function:

double LAP_DoubleMatrix::trace ( ) const
inlineinherited

return trace

References LAP_DoubleMatrix::getStorage(), and LAP_DoubleMatrixStorage::trace().

Here is the call graph for this function:

virtual SP::LAP_DoubleVector LAP_DoubleMatrix::vectorProduct ( const LAP_DoubleVector X) const
inlinevirtualinherited

compute This. X

Parameters
Xinput vector
Returns
This.X

References LAP_Vector< T >::get(), and LAP_DoubleVector::New().

Referenced by LAP_DoubleMatrix::vectorProduct(), LAP_DoublePackedSymmetricMatrix::vectorProduct(), LAP_DoubleBandedSymmetricMatrix::vectorProduct(), vectorProduct(), and LAP_DoubleFullGeneralMatrix::vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void LAP_DoubleMatrix::vectorProduct ( const LAP_DoubleVector X,
LAP_DoubleVector Y 
) const
inlinevirtualinherited

compute Y= This. X

Parameters
Xinput vector
Youtput vector

Reimplemented in LAP_DoubleFullGeneralMatrix, and LAP_DoubleFullUpperMatrix.

References LAP_DoubleMatrix::vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleMatrix::vectorProduct ( SPC::LAP_DoubleVector &  X,
SP::LAP_DoubleVector &  Y 
) const
inlinevirtualinherited

rcompute Y= This X

Parameters
Xinput vector
Youtput vector

References null, and LAP_DoubleMatrix::vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleMatrix::vectorProduct ( const tBoolean isTrans,
const LAP_DoubleVector X,
LAP_DoubleVector Y 
) const
inlinevirtualinherited

compute Y= op(This). X

Parameters
isTrans: if (isTrans) op(A)=A else pop(A)=tA
X: input vector
Y: output vector

Reimplemented in LAP_DoubleFullUpperMatrix, and LAP_DoublePackedUpperMatrix.

References LAP_Matrix::getColumnsNumber(), LAP_Vector< T >::getIncrement(), LAP_Matrix::getRowsNumber(), LAP_Vector< T >::getSize(), LAP_Vector< T >::setSize(), tLVectorIndex, and LAP_DoubleMatrix::vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleMatrix::vectorProduct ( const tBoolean isTrans,
const tLVectorIndex nX,
const tLVectorIncrement incX,
const double *  X,
const double &  alpha,
const double &  beta,
const tLVectorIndex nY,
const tLVectorIncrement incY,
double *  Y 
) const
pure virtualinherited

compute Y= beta Y + alpha op(This). X with op(A)=A or tA depending on isTrans value

Parameters
isTrans: if (isTrans) op(A)=A else pop(A)=tA
nXsize of X
incXincrement of X (memory distance between X(i) & X(i+1)
XX values of minimum size nX*incX
nYsize of Y
incYincrement of Y (memory distance between Y(i) & Y(i+1)
YY values of minimum size nY*incY

Implemented in LAP_DoubleFullUpperMatrix, LAP_DoubleBandedUpperMatrix, and LAP_DoublePackedUpperMatrix.

virtual void LAP_DoubleFullSymmetricMatrix::vectorProduct ( const LAP_DoubleVector X,
LAP_DoubleVector Y 
)
inlinevirtual

compute Y=A.X

References LAP_DoubleMatrix::vectorProduct().

Referenced by vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::vectorProduct ( const LAP_DoubleVector X,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleVector Y 
) const
inlinevirtual

compute Y:=betaY+alpha.This.X

Parameters
Xvector X of size number of cols of this
alphavalue of alpha
beta: value of beta
Y: vector Y of size number of rows of this

References LAP_Vector< T >::getIncrement(), getRowsNumber(), LAP_Vector< T >::getSize(), LAP_Vector< T >::setSize(), tLVectorIndex, and vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::vectorProduct ( const LAP_ConstDoubleVector X,
const lapack_real alpha,
const lapack_real beta,
LAP_DoubleVector Y 
) const
inlinevirtual

compute Y:=betaY+alpha.This.X

Parameters
Xvector X of size number of cols of this
alphavalue of alpha
beta: value of beta
Y: vector Y of size number of rows of this

References LAP_ConstVector< T >::getIncrement(), LAP_Vector< T >::getIncrement(), getRowsNumber(), LAP_ConstVector< T >::getSize(), LAP_Vector< T >::getSize(), LAP_Vector< T >::setSize(), tLVectorIndex, and vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::vectorProduct ( const tBoolean isTrans,
const tLVectorIndex nX,
const tLVectorIncrement incX,
const double *  X,
const lapack_real alpha,
const lapack_real beta,
const tLVectorIndex nY,
const tLVectorIncrement incY,
double *  Y 
) const
inlinevirtual

compute Y= op(This). X with op(A)=A or tA depending on isTrans value

Parameters
isTrans: if (isTrans) op(A)=A else pop(A)=tA
nXsize of X
incXincrement of X (memory distance between X(i) & X(i+1)
XX values of minimum size nX*incX
nYsize of Y
incYincrement of Y (memory distance between Y(i) & Y(i+1)
YY values of minimum size nY*incY

References vectorProduct().

Here is the call graph for this function:

virtual void LAP_DoubleFullSymmetricMatrix::vectorProduct ( const tLVectorIndex nx,
const tLVectorIncrement incx,
const double *  x,
const lapack_real alpha,
const lapack_real beta,
const tLVectorIndex ny,
const tLVectorIncrement incy,
double *  y 
) const
inlinevirtual

compute Y= betaY + alpha. This. X

Parameters
nXsize of X
incXincrement of X (memory distance between X(i) & X(i+1)
XX values of minimum size nX*incX
alphaalpha value
beta:betavalue
nYsize of Y
incYincrement of Y (memory distance between Y(i) & Y(i+1)
YY values of minimum size nY*incY

References DoubleFullSymmetricMatrixVectorProduct(), getLeadingDimension(), getRowIncrement(), getRowsNumber(), and tLVectorIndex.

Here is the call graph for this function:

static double LAP_DoubleMatrix::zpow ( const double &  f,
const int &  n 
)
inlinestaticinherited

compute the value of pow(f,n)=f^n

Parameters
freal value
nexponent relative value

return $ \displaystyle f^n $

Member Data Documentation

const tFlag LAP_Matrix::COL =1
staticinherited
tBoolean CORE_Object::mIsMemoryTesting =false
staticinherited

indicator to store all classes created and deleted only for debuging version

Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().

const tFlag LAP_Matrix::ROW =0
staticinherited
double LAP_Object::ZERO_EPSILON =1.e-18
staticinherited

The documentation for this class was generated from the following files: