1 #ifndef LAP_DoublePackedStorage_H
2 #define LAP_DoublePackedStorage_H
59 inline static SP::LAP_DoublePackedStorage
New() {
78 return (*
this)[i+(j*(j+1)/2)];
84 return (*
this)[i+(j*(j+1)/2)];
206 virtual double trace()
const;
this class describes a packed storage by column
Definition: LAP_DoublePackedStorage.h:21
virtual const double & operator()(const tLVectorIndex &i, const tLVectorIndex &j) const
accessor of element at row i and column j
Definition: LAP_DoublePackedStorage.h:83
void indexMin(tLVectorIndex &i, tLVectorIndex &j) const
get the index of the min view element in absolute value
Definition: LAP_DoublePackedStorage.cpp:718
virtual double & operator()(const tLVectorIndex &i, const tLVectorIndex &j)
accessor of element at row i and column j
Definition: LAP_DoublePackedStorage.h:77
#define tBoolean
Definition: types.h:48
#define lapack_real
Definition: lapack_functions.h:9
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 a...
Definition: LAP_DoublePackedStorage.cpp:684
virtual tBoolean copy(const tBoolean &isSymmetric, const tBoolean &isUpper, const tBoolean &isTransposed, const LAP_DoubleMatrixStorage &x)
copy the storage
Definition: LAP_DoublePackedStorage.cpp:13
static double ZERO_EPSILON
Definition: LAP_Object.h:21
virtual std::pair< tLVectorIndex, tLVectorIndex > computeBandsNumber() const
compute the bands number of the storage
Definition: LAP_DoublePackedStorage.h:222
tLVectorIndex getDimension() const
get the number of rows of the storage
Definition: LAP_DoublePackedStorage.h:196
LAP_DoublePackedStorage & operator^=(const lapack_real &s)
power by s the matrix viewed term by term taking into account the view
Definition: LAP_DoublePackedStorage.cpp:182
LAP_DoublePackedStorage & operator-=(const lapack_real &s)
sub s to the upper matrix viewed term by term taking into account the view
static SP::LAP_DoublePackedStorage New()
create a new packed storage class
Definition: LAP_DoublePackedStorage.h:59
Definition: LAP_DoubleFullStorage.h:29
LAP_DoublePackedStorage & operator*=(const lapack_real &s)
multiply by s the matrix viewed term by term taking into account the view
tBoolean copyBandStorage(const tLVectorIndex &nX, const tLVectorIndex &nUpperBands, const tLVectorIndex &nLowerBands, const double *x)
copy the upper banded storage
Definition: LAP_DoublePackedStorage.cpp:113
LAP_DoublePackedStorage & operator+=(const lapack_real &s)
add s to the upper matrix viewed term by term taking into account the view
virtual void addDiagonal(const double &alpha)
This += alpha . I.
Definition: LAP_DoublePackedStorage.cpp:729
void add(const double &alpha, const LAP_DoublePackedStorage &B)
This += alpha . B.
Definition: LAP_DoublePackedStorage.cpp:749
tLVectorIndex getValuesNumber() const
get the number of values
Definition: LAP_DoubleMatrixStorage.h:178
LAP_DoublePackedStorage()
build a matrix
Definition: LAP_DoublePackedStorage.h:38
#define tLVectorIndex
Definition: lapack_types.h:13
DEFINE_SPTR(LAP_DoublePackedStorage)
virtual ~LAP_DoublePackedStorage()
destroy a matrix
Definition: LAP_DoublePackedStorage.h:46
tBoolean copyPackStorage(const tLVectorIndex &nX, const double *x)
copy the packed array of memory nx such that nx=n*(n+1)/2 where n is the dimension of the vector stor...
Definition: LAP_DoublePackedStorage.cpp:104
#define tLVectorIncrement
Definition: lapack_types.h:16
Definition: LAP_DoubleMatrixStorage.h:16
#define tReal
Definition: types.h:18
LAP_DoublePackedStorage & operator/=(const lapack_real &s)
divide by s the matrix viewed term by term taking into account the view
virtual double trace() const
return trace
Definition: LAP_DoublePackedStorage.cpp:638
tBoolean copyFullStorage(const tBoolean &isTransposed, const tLVectorIndex &nViewedRows, const tLVectorIndex &nViewedCols, const tLVectorIncrement &incx, const tLVectorIndex &ldx, const double *x)
copy the upper part of full array of size nRows*nCols
Definition: LAP_DoublePackedStorage.cpp:46
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106
#define tFlag
Definition: types.h:14