STK++ 0.9.13
STK::SArray2DLowerTriangular< Type_ > Class Template Reference

Declaration of the lower triangular matrix class. More...

#include <STK_SArray2DLowerTriangular.h>

Inheritance diagram for STK::SArray2DLowerTriangular< Type_ >:
Inheritance graph

Public Types

enum  {
  structure_ = Arrays::lower_triangular_ , orient_ = Arrays::by_col_ , sizeRows_ = UnknownSize , sizeCols_ = UnknownSize ,
  storage_ = Arrays::dense_
}
 
typedef IArray2D< SArray2DLowerTriangular< Type_ > > Base
 Type for the Interface Class.
 
typedef ArrayBase< SArray2DLowerTriangular< Type_ > > LowBase
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Row Row
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Col Col
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubRow SubRow
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubCol SubCol
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubVector SubVector
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubArray SubArray
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Type Type
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::TypeConst TypeConst
 
- Public Types inherited from STK::IArray2D< SArray2DLowerTriangular< Type_ > >
enum  
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Type Type
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::TypeConst TypeConst
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Row Row
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::Col Col
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubRow SubRow
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubCol SubCol
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubArray SubArray
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::SubVector SubVector
 
typedef hidden::Traits< SArray2DLowerTriangular< Type_ > >::ColVector ColVector
 
typedef ColVectorPtrCol
 
typedef ColVector constPtrColConst
 
typedef TRange< sizeRows_ > RowRange
 Type of the Range for the rows.
 
typedef TRange< sizeCols_ > ColRange
 Type of the Range for the columns.
 
typedef IContainer2D< sizeRows_, sizeCols_ > Base2D
 Type for the IContainer2D base Class.
 
typedef MemAllocator< PtrCol, sizeCols_ > Allocator
 Type for the Base Class.
 
typedef ArrayBase< SArray2DLowerTriangular< Type_ > > Base
 type of the Base Container Class.
 
- Public Types inherited from STK::ArrayBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ExprBase< Derived > Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Public Types inherited from STK::ExprBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ITContainer< Derived, structure_Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 

Public Member Functions

 SArray2DLowerTriangular ()
 Default constructor.
 
 SArray2DLowerTriangular (Range const &I, Range const &J)
 Constructor with specified ranges.
 
 SArray2DLowerTriangular (Range const &I, Range const &J, Type const &v)
 constructor with rows_ and rageHo_ specified, initialization with a specified value.
 
 SArray2DLowerTriangular (const SArray2DLowerTriangular &T, bool ref=false)
 Copy constructor.
 
 SArray2DLowerTriangular (const Base &T, Range const &I, Range const &J)
 constructor by reference, ref_=1.
 
 SArray2DLowerTriangular (Type **q, Range const &I, Range const &J)
 Wrapper constructor Contruct a reference container.
 
template<class OtherDerived >
 SArray2DLowerTriangular (ExprBase< OtherDerived > const &T)
 Copy constructor using an expression.
 
 ~SArray2DLowerTriangular ()
 destructor : use destructor of IArray2D.
 
template<class Rhs >
SArray2DLowerTriangularoperator= (ExprBase< Rhs > const &T)
 operator = : overwrite the CArray with the Right hand side T.
 
SArray2DLowerTriangularoperator= (SArray2DLowerTriangular const &T)
 operator = : overwrite the SArray2DLowerTriangular with T.
 
SArray2DLowerTriangularoperator= (Type const &v)
 operator= : set the container to a constant value.
 
void shift1D (int beg)
 New beginning index for the object.
 
SArray2DLowerTriangularresize1D (Range const &I)
 New size for the container.
 
- Public Member Functions inherited from STK::IArray2D< SArray2DLowerTriangular< Type_ > >
void clear ()
 clear the object.
 
SArray2DLowerTriangular< Type_ > & move (SArray2DLowerTriangular< Type_ > const &T)
 move T to this.
 
void exchange (IArray2D &T)
 exchange this container with T.
 
bool isRef () const
 
RowRange constrowsImpl () const
 
ColRange constcolsImpl () const
 
RowRange constrows () const
 
int beginRows () const
 
int endRows () const
 
int sizeRows () const
 
ColRange constcols () const
 
int beginCols () const
 
int endCols () const
 
int sizeCols () const
 
int lastIdxCols () const
 
int lastIdxRows () const
 
bool empty () const
 
Allocator constallocator () const
 
PtrColConst ptr (int j) const
 
int availableCols () const
 
int capacityCol (int col) const
 
Array1D< Range, sizeCols_ > constrangeCols () const
 
Range constrangeCol (int col) const
 
void setValueImpl (int j, TypeConst v)
 implement setValue for vector/point/diagonal arrays
 
void setValueImpl (int i, int j, TypeConst v)
 implement setValue for vector/point/diagonal arrays
 
Typeelt2Impl (int i, int j)
 access to an element.
 
TypeConst elt2Impl (int i, int j) const
 constant access to an element.
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator() () const
 
Typeoperator() ()
 
SubCol operator() (Range const &I, int j) const
 
SubRow operator() (int i, Range const &J) const
 
SubArray operator() (Range const &I, Range const &J) const
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
SubVector operator[] (Range const &I) const
 
Col col (int j) const
 access to a part of a column.
 
SubCol col (Range const &I, int j) const
 access to a part of a column.
 
SubArray col (Range const &J) const
 access to many columns.
 
Row row (int i) const
 access to a part of a row.
 
SubRow row (int i, Range const &J) const
 access to a part of a row.
 
SubArray row (Range const &I) const
 access to many rows.
 
SubVector sub (Range const &J) const
 
SubArray sub (Range const &I, Range const &J) const
 access to a sub-array.
 
SubCol atCol (int j) const
 
Row atRow (int i) const
 
void reserve (int sizeRows, int sizeCols)
 function for reserving memory in all the columns
 
void reserveRows (int size)
 Reserve a certain amount of rows in all columns.
 
void reserveCols (int sizeCols)
 Reserve a certain amount of columns.
 
void shift (int rbeg, int cbeg)
 Set new beginning indexes to the array.
 
void shift (int beg)
 New first index for the object (only for vectors/points/square/... arrays)
 
void shiftRows (int beg)
 New first index for the rows of the array.
 
void shiftCols (int cbeg)
 New first index for the columns of the object.
 
SArray2DLowerTriangular< Type_ > & resize (Range const &I, Range const &J)
 resize the array.
 
SArray2DLowerTriangular< Type_ > & resize (Range const &I)
 
void insertRows (int pos, int n=1)
 Insert n rows at position pos in the array If pos is outside the range of a column, then the method do nothing (useful for triangular/diagonal/... arrays).
 
void eraseRows (int pos, int n=1)
 Delete n rows at the position pos.
 
void pushFrontRows (int n=1)
 Insert n rows in front of the array.
 
SArray2DLowerTriangular< Type_ > & pushFrontRows (ExprBase< Other > const &other)
 set other at the beginning of this (concatenate).
 
void pushBackRows (int n=1)
 Add n rows to the array.
 
SArray2DLowerTriangular< Type_ > & pushBackRows (ExprBase< Other > const &other)
 set other at the end of this (concatenate).
 
void popFrontRows (int n=1)
 Delete n first rows of the array.
 
void popBackRows (int n=1)
 Delete n latest rows of the array.
 
void insertCols (int pos, int n=1)
 Insert n columns at the index pos to the array.
 
void eraseCols (int pos, int n=1)
 Delete n columns at the specified position of the array.
 
void pushFrontCols (int n=1)
 Insert n columns at the beginning of the array.
 
SArray2DLowerTriangular< Type_ > & pushFrontCols (ExprBase< Other > const &other)
 merge (by value) the array other with this.
 
void pushBackCols (int n=1)
 Add n columns at the end of the array.
 
SArray2DLowerTriangular< Type_ > & pushBackCols (IArray1D< Other > const &other)
 Specialization for Array1D.
 
void popFrontCols (int n=1)
 Delete first columns of the array.
 
void popBackCols (int n=1)
 Delete last columns of the array.
 
void push_front (Type const &v)
 STL compatibility: push front an element.
 
void push_back (Type const &v)
 STL compatibility: append an element v.
 
void insert (Range const &I, Type const &v)
 STL compatibility: insert element v in the range I of the Array.
 
void erase (int pos, int n=1)
 STL compatibility:Delete n elements at the pos index from the container.
 
void swapCols (int pos1, int pos2)
 Swapping two columns.
 
void swap (int i, int j)
 swap two elements: only for vectors and points
 
void merge (IArray2D< OtherDerived > const &other)
 Append the container other to this without copying the data explicitly.
 
void merge (IArray1D< OtherDerived > const &other)
 Append the vector other to this without copying the data explicitly.
 
void update (Range const &J)
 Update columns of the array at a specified range.
 
void update (int col)
 Update column of the array at specified position.
 
void setCols (ColRange const &J=ColRange())
 Set the columns range.
 
void setRows (RowRange const &I=RowRange())
 Set the range of the number of rows.
 
- Public Member Functions inherited from STK::ArrayBase< Derived >
template<typename Visitor >
void apply (Visitor &visitor)
 Apply the Visitor visitor to the whole coefficients of the array.
 
Derived & randUnif ()
 set random values to this using a uniform law.
 
Derived & randGauss ()
 set random values to this using a standard gaussian law.
 
Derived & rand (Law::IUnivLaw< Type > const &law)
 set random values to this using a distribution law given by the user.
 
Derived & setOnes ()
 set one to this using a Visitor.
 
Derived & setZeros ()
 set zero to this using a Visitor.
 
Derived & ones ()
 set one to this using a Visitor.
 
Derived & zeros ()
 set zero to this using a Visitor.
 
Derived & setValue (TypeConst value)
 set a value to this container.
 
void setValue (int i, TypeConst value)
 set a value to this container at index i.
 
void setValue (int i, int j, TypeConst value)
 set a value to this container at position (i,j).
 
template<class Rhs >
Derived & assign (ExprBase< Rhs > const &rhs)
 
Derived & operator= (Type const &value)
 
Derived & operator= (Derived const &rhs)
 
template<typename Rhs >
Derived & operator= (ExprBase< Rhs > const &rhs)
 
template<typename Rhs >
Derived & operator+= (ExprBase< Rhs > const &other)
 Add Rhs to this.
 
template<typename Rhs >
Derived & operator-= (ExprBase< Rhs > const &other)
 subtract a Rhs to this.
 
template<typename Rhs >
Derived & operator/= (ExprBase< Rhs > const &other)
 divide this by Rhs.
 
template<typename Rhs >
Derived & operator%= (ExprBase< Rhs > const &other)
 Take modulo of this by Rhs.
 
template<typename Rhs >
Derived & operator*= (ExprBase< Rhs > const &other)
 multiply this by Rhs.
 
Derived & operator+= (Type const &other)
 Adding a constant to this.
 
Derived & operator-= (Type const &other)
 Subtract a constant to this.
 
Derived & operator*= (Type const &other)
 product of this by a constant.
 
Derived & operator/= (Type const &other)
 dividing this by a constant.
 
Derived & operator%= (Type const &other)
 take modulo of this by a constant.
 
template<class Rhs >
Derived & copy (ExprBase< Rhs > const &rhs)
 overwrite this with src.
 
TransposeOperator< Derived > const transpose () const
 
TransposeAccessor< Derived > transpose ()
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalizeAccessor< Derived > diagonalize ()
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
DiagonalGetterAccessor< Derived > getDiagonal ()
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
UpperTriangularizeAccessor< Derived > upperTriangularize ()
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
LowerTriangularizeAccessor< Derived > lowerTriangularize ()
 
SymmetrizeOperator< Derived > const symmetrize () const
 
SymmetrizeAccessor< Derived > symmetrize ()
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
UpperSymmetrizeAccessor< Derived > upperSymmetrize ()
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
LowerSymmetrizeAccessor< Derived > lowerSymmetrize ()
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
ColAccessor< Derived > col (int j)
 
RowAccessor< Derived > row (int i)
 
template<int Size_>
SubVectorAccessor< Derived, Size_sub (TRange< Size_ > const &I)
 
template<int SizeRows_, int SizeCols_>
SubAccessor< Derived, SizeRows_, SizeCols_sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J)
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
TypeConst operator() () const
 
Typeoperator() ()
 
ArrayInitializer< Derived > operator<< (Type const &s)
 Convenient operator to set the coefficients of a matrix.
 
template<typename Rhs >
ArrayInitializer< Derived > operator<< (ArrayBase< Rhs > const &other)
 
- Public Member Functions inherited from STK::ExprBase< Derived >
template<typename Visitor >
Visitor::TypeConst visit (Visitor &visitor) const
 Visit the container using a constant visitor.
 
int count () const
 compute the value of non-zero element in an expression.
 
bool const any () const
 check if there is any non-zero element in an expression.
 
bool const all () const
 check if all the elements in an expression are not zero.
 
int nbAvailableValues () const
 
Type const minElt (int &row, int &col) const
 
Type const minEltSafe (int &row, int &col) const
 
Type const maxElt (int &row, int &col) const
 
Type const maxEltSafe (int &row, int &col) const
 
Type const minElt (int &pos) const
 
Type const minEltSafe (int &pos) const
 
Type const maxElt (int &pos) const
 
Type const maxEltSafe (int &pos) const
 
Type const minElt () const
 
Type const minEltSafe () const
 
Type const maxElt () const
 
Type const maxEltSafe () const
 
Type const sum () const
 
Type const sumSafe () const
 
Type const norm () const
 
Type const normSafe () const
 
Type const norm2 () const
 
Type const norm2Safe () const
 
Type const normInf () const
 
Type const mean () const
 
Type const meanSafe () const
 
Type const variance () const
 
Type const varianceSafe () const
 
Type const variance (Type const &mean) const
 
Type const varianceSafe (Type const &mean) const
 
template<typename Rhs >
Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::equalOp_ >::Result const operator== (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::notEqualOp_ >::Result const operator!= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOp_ >::Result const operator> (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOp_ >::Result const operator< (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOrEqualOp_ >::Result const operator>= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOrEqualOp_ >::Result const operator<= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::sumOp_ >::Result const operator+ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::differenceOp_ >::Result const operator- (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::productOp_ >::Result const prod (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::divisionOp_ >::Result const operator/ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::moduloOp_ >::Result const operator% (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::minOp_ >::Result const min (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::maxOp_ >::Result const max (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalAndOp_ >::Result const operator&& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalOrOp_ >::Result const operator|| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseAndOp_ >::Result const operator& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseOrOp_ >::Result const operator| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseXorOp_ >::Result const operator^ (ExprBase< Rhs > const &other) const
 
UnaryOperator< OppositeOp< Type >, Derived > operator- () const
 
UnaryOperator< IsNaOp< Type >, Derived > isNA () const
 
UnaryOperator< NegOp< Type >, Derived > neg () const
 
UnaryOperator< IsFiniteOp< Type >, Derived > isFinite () const
 
UnaryOperator< IsInfiniteOp< Type >, Derived > isInfinite () const
 
UnaryOperator< AbsOp< Type >, Derived > abs () const
 
UnaryOperator< ExpOp< Type >, Derived > exp () const
 
UnaryOperator< LogOp< Type >, Derived > log () const
 
UnaryOperator< SqrtOp< Type >, Derived > sqrt () const
 
UnaryOperator< CosOp< Type >, Derived > cos () const
 
UnaryOperator< SinOp< Type >, Derived > sin () const
 
UnaryOperator< AcosOp< Type >, Derived > acos () const
 
UnaryOperator< AsinOp< Type >, Derived > asin () const
 
UnaryOperator< TanOp< Type >, Derived > tan () const
 
UnaryOperator< InverseOp< Type >, Derived > inverse () const
 
UnaryOperator< SquareOp< Type >, Derived > square () const
 
UnaryOperator< CubeOp< Type >, Derived > cube () const
 
UnaryOperator< EqualWithOp< Type >, Derived > operator== (Type const &value) const
 
UnaryOperator< NotEqualWithOp< Type >, Derived > operator!= (Type const &value) const
 
UnaryOperator< GreaterThanOp< Type >, Derived > operator> (Type const &value) const
 
UnaryOperator< LessThanOp< Type >, Derived > operator< (Type const &value) const
 
UnaryOperator< LeqThanOp< Type >, Derived > operator<= (Type const &value) const
 
UnaryOperator< GeqThanOp< Type >, Derived > operator>= (Type const &value) const
 
UnaryOperator< MinWithOp< Type >, Derived > min (Type const &value) const
 
UnaryOperator< MaxWithOp< Type >, Derived > max (Type const &value) const
 
UnaryOperator< SumWithOp< Type >, Derived > operator+ (Type const &value) const
 
UnaryOperator< DifferenceWithOp< Type >, Derived > operator- (Type const &value) const
 
UnaryOperator< ProductWithOp< Type >, Derived > operator* (Type const &value) const
 
UnaryOperator< DivisionWithOp< Type >, Derived > operator/ (Type const &value) const
 
UnaryOperator< ModuloWithOp< Type >, Derived > operator% (Type const &value) const
 
UnaryOperator< LogicalAndWithOp< Type >, Derived > operator&& (Type const &value) const
 
UnaryOperator< LogicalOrWithOp< Type >, Derived > operator|| (Type const &value) const
 
UnaryOperator< BitwiseAndWithOp< Type >, Derived > operator& (Type const &value) const
 
UnaryOperator< BitwiseOrWithOp< Type >, Derived > operator| (Type const &value) const
 
UnaryOperator< BitwiseXorWithOp< Type >, Derived > operator^ (Type const &value) const
 
UnaryOperator< PowOp< Type >, Derived > pow (Type const &value) const
 
UnaryOperator< SafeInverseOp< Type >, Derived > safeInverse (Type const &value) const
 
UnaryOperator< SafeOp< Type >, Derived > const safe (Type const value=Type()) const
 
template<typename OtherType >
UnaryOperator< CastOp< Type, OtherType >, Derived > const cast () const
 
UnaryOperator< Law::PdfOp< Type >, Derived > pdf (Law::IUnivLaw< Type > const &law) const
 compute pdf values to this using distribution law given by user
 
UnaryOperator< Law::LogPdfOp< Type >, Derived > lpdf (Law::IUnivLaw< Type > const &law) const
 compute log-pdf values to this using distribution law given by user
 
UnaryOperator< Law::CdfOp< Type >, Derived > cdf (Law::IUnivLaw< Type > const &law) const
 compute cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfOp< Type >, Derived > lcdf (Law::IUnivLaw< Type > const &law) const
 compute log-cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::CdfcOp< Type >, Derived > cdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfcOp< Type >, Derived > lcdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::IcdfOp< Type >, Derived > icdf (Law::IUnivLaw< Type > const &law) const
 compute inverse cumulative distribution function using distribution law given by user
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct0 () const
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct1 (Type const value) const
 
TransposeOperator< Derived > const transpose () const
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
SymmetrizeOperator< Derived > const symmetrize () const
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubOperator< Derived, sizeRows_, Size_ > const col (TRange< Size_ > const &J) const
 
template<int Size_>
SubOperator< Derived, Size_, sizeCols_ > const row (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dot (ExprBase< Rhs > const &other) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dotSafe (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::ProductSelector< Derived, Rhs, hidden::Traits< Derived >::structure_, hidden::Traits< Rhs >::structure_ >::ProductType const operator* (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 

Additional Inherited Members

- Protected Types inherited from STK::IContainer2D< SizeRows_, SizeCols_ >
typedef TRange< SizeRows_RowRange
 Type of the Range for the rows.
 
typedef TRange< SizeCols_ColRange
 Type of the Range for the columns.
 
- Protected Types inherited from STK::ArrayBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ExprBase< Derived > Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Protected Types inherited from STK::ExprBase< Derived >
enum  {
  structure_ = hidden::Traits<Derived>::structure_ , orient_ = hidden::Traits<Derived>::orient_ , sizeRows_ = hidden::Traits<Derived>::sizeRows_ , sizeCols_ = hidden::Traits<Derived>::sizeCols_ ,
  storage_ = hidden::Traits<Derived>::storage_
}
 
typedef ITContainer< Derived, structure_Base
 
typedef hidden::Traits< Derived >::Type Type
 
typedef hidden::Traits< Derived >::TypeConst TypeConst
 
- Protected Member Functions inherited from STK::IArray2D< SArray2DLowerTriangular< Type_ > >
 IArray2D ()
 Default constructor.
 
 IArray2D (Range const &I, Range const &J)
 constructor with specified ranges
 
 IArray2D (IArray2D const &T, bool ref=false)
 Copy constructor If we want to wrap T, the main ptr will be wrapped in MemAllocator class.
 
 IArray2D (IArray2D< OtherDerived > const &T, Range const &I, Range const &J)
 constructor by reference, ref_=1.
 
 ~IArray2D ()
 destructor.
 
Allocatorallocator ()
 
void transferCol (int pos1, int pos2)
 Transfer the column pos2 to the column pos1 of this.
 
void reallocCols (Range const &J)
 Method for memory reallocation and initialization of the horizontal range of the container.
 
void nullCols (ColRange const &J)
 Internal method for initializing to default values (null pointer and null range) to a range of columns.
 
- Protected Member Functions inherited from STK::IContainer2D< SizeRows_, SizeCols_ >
void shift (int rbeg, int cbeg)
 Set the first index of the rows and columns.
 
void setRanges (RowRange const &I=RowRange(), ColRange const &J=ColRange())
 Set the ranges of the container.
 
void setRows (RowRange const &I=RowRange())
 Set the range of the number of rows.
 
void shiftRows (int beg)
 Set the first index of the rows.
 
void incRangeRows (int inc)
 Increment the range of the number of rows.
 
void incBeginRows (int inc)
 Increment the first index of the number of rows.
 
void decBeginRows (int dec)
 Decrement the first index of the number of rows.
 
void incEndRows (int inc)
 Increment the end of the number of rows.
 
void decEndRows (int dec)
 Decrement the end of the number of rows.
 
void setCols (ColRange const &J=ColRange())
 Set the columns range.
 
void shiftCols (int beg)
 Shift the columns first index to beg.
 
void incRangeCols (int inc)
 Increment the columns range.
 
void incBeginCols (int inc)
 increment the first index of the columns.
 
void decBeginCols (int dec)
 Decrement the columns first index.
 
void incEndCols (int inc)
 Increment the last index of the columns.
 
void decEndCols (int dec)
 Decrement the last index of the columns.
 
void exchange (IContainer2D &T)
 exchange this container with T
 
void incLastIdxRows (int inc)
 Increment the end of the number of rows.
 
void decLastIdxRows (int dec)
 Decrement the end of the number of rows.
 
void incLastIdxCols (int inc)
 Increment the last index of the columns.
 
void decLastIdxCols (int dec)
 Decrement the last index of the columns.
 
 IContainer2D ()
 Default constructor.
 
 IContainer2D (RowRange const &I, ColRange const &J)
 Constructor with specified ranges.
 
 IContainer2D (IContainer2D const &T)
 Copy constructor.
 
 ~IContainer2D ()
 destructor.
 
ColRange constcols () const
 
int beginCols () const
 
int endCols () const
 
int sizeCols () const
 
RowRange constrows () const
 
int beginRows () const
 
int endRows () const
 
int sizeRows () const
 
int lastIdxCols () const
 
int lastIdxRows () const
 
bool empty () const
 
- Protected Member Functions inherited from STK::ArrayBase< Derived >
 ArrayBase ()
 Default constructor.
 
 ~ArrayBase ()
 destructor
 
template<typename Visitor >
void apply (Visitor &visitor)
 Apply the Visitor visitor to the whole coefficients of the array.
 
Derived & randUnif ()
 set random values to this using a uniform law.
 
Derived & randGauss ()
 set random values to this using a standard gaussian law.
 
Derived & rand (Law::IUnivLaw< Type > const &law)
 set random values to this using a distribution law given by the user.
 
Derived & setOnes ()
 set one to this using a Visitor.
 
Derived & setZeros ()
 set zero to this using a Visitor.
 
Derived & ones ()
 set one to this using a Visitor.
 
Derived & zeros ()
 set zero to this using a Visitor.
 
Derived & setValue (TypeConst value)
 set a value to this container.
 
void setValue (int i, TypeConst value)
 set a value to this container at index i.
 
void setValue (int i, int j, TypeConst value)
 set a value to this container at position (i,j).
 
template<class Rhs >
Derived & assign (ExprBase< Rhs > const &rhs)
 
Derived & operator= (Type const &value)
 
Derived & operator= (Derived const &rhs)
 
template<typename Rhs >
Derived & operator= (ExprBase< Rhs > const &rhs)
 
template<typename Rhs >
Derived & operator+= (ExprBase< Rhs > const &other)
 Add Rhs to this.
 
template<typename Rhs >
Derived & operator-= (ExprBase< Rhs > const &other)
 subtract a Rhs to this.
 
template<typename Rhs >
Derived & operator/= (ExprBase< Rhs > const &other)
 divide this by Rhs.
 
template<typename Rhs >
Derived & operator%= (ExprBase< Rhs > const &other)
 Take modulo of this by Rhs.
 
template<typename Rhs >
Derived & operator*= (ExprBase< Rhs > const &other)
 multiply this by Rhs.
 
Derived & operator+= (Type const &other)
 Adding a constant to this.
 
Derived & operator-= (Type const &other)
 Subtract a constant to this.
 
Derived & operator*= (Type const &other)
 product of this by a constant.
 
Derived & operator/= (Type const &other)
 dividing this by a constant.
 
Derived & operator%= (Type const &other)
 take modulo of this by a constant.
 
template<class Rhs >
Derived & copy (ExprBase< Rhs > const &rhs)
 overwrite this with src.
 
TransposeOperator< Derived > const transpose () const
 
TransposeAccessor< Derived > transpose ()
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalizeAccessor< Derived > diagonalize ()
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
DiagonalGetterAccessor< Derived > getDiagonal ()
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
UpperTriangularizeAccessor< Derived > upperTriangularize ()
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
LowerTriangularizeAccessor< Derived > lowerTriangularize ()
 
SymmetrizeOperator< Derived > const symmetrize () const
 
SymmetrizeAccessor< Derived > symmetrize ()
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
UpperSymmetrizeAccessor< Derived > upperSymmetrize ()
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
LowerSymmetrizeAccessor< Derived > lowerSymmetrize ()
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
ColAccessor< Derived > col (int j)
 
RowAccessor< Derived > row (int i)
 
template<int Size_>
SubVectorAccessor< Derived, Size_sub (TRange< Size_ > const &I)
 
template<int SizeRows_, int SizeCols_>
SubAccessor< Derived, SizeRows_, SizeCols_sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J)
 
TypeConst operator() (int i, int j) const
 
Typeoperator() (int i, int j)
 
TypeConst operator[] (int i) const
 
Typeoperator[] (int i)
 
TypeConst operator() () const
 
Typeoperator() ()
 
ArrayInitializer< Derived > operator<< (Type const &s)
 Convenient operator to set the coefficients of a matrix.
 
template<typename Rhs >
ArrayInitializer< Derived > operator<< (ArrayBase< Rhs > const &other)
 
- Protected Member Functions inherited from STK::ExprBase< Derived >
 ExprBase ()
 Default constructor.
 
 ~ExprBase ()
 destructor
 
template<typename Visitor >
Visitor::TypeConst visit (Visitor &visitor) const
 Visit the container using a constant visitor.
 
int count () const
 compute the value of non-zero element in an expression.
 
bool const any () const
 check if there is any non-zero element in an expression.
 
bool const all () const
 check if all the elements in an expression are not zero.
 
int nbAvailableValues () const
 
Type const minElt (int &row, int &col) const
 
Type const minEltSafe (int &row, int &col) const
 
Type const maxElt (int &row, int &col) const
 
Type const maxEltSafe (int &row, int &col) const
 
Type const minElt (int &pos) const
 
Type const minEltSafe (int &pos) const
 
Type const maxElt (int &pos) const
 
Type const maxEltSafe (int &pos) const
 
Type const minElt () const
 
Type const minEltSafe () const
 
Type const maxElt () const
 
Type const maxEltSafe () const
 
Type const sum () const
 
Type const sumSafe () const
 
Type const norm () const
 
Type const normSafe () const
 
Type const norm2 () const
 
Type const norm2Safe () const
 
Type const normInf () const
 
Type const mean () const
 
Type const meanSafe () const
 
Type const variance () const
 
Type const varianceSafe () const
 
Type const variance (Type const &mean) const
 
Type const varianceSafe (Type const &mean) const
 
template<typename Rhs >
Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::equalOp_ >::Result const operator== (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::notEqualOp_ >::Result const operator!= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOp_ >::Result const operator> (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOp_ >::Result const operator< (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::greaterThanOrEqualOp_ >::Result const operator>= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::lessThanOrEqualOp_ >::Result const operator<= (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::sumOp_ >::Result const operator+ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::differenceOp_ >::Result const operator- (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::productOp_ >::Result const prod (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::divisionOp_ >::Result const operator/ (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::moduloOp_ >::Result const operator% (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::minOp_ >::Result const min (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::maxOp_ >::Result const max (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalAndOp_ >::Result const operator&& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::logicalOrOp_ >::Result const operator|| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseAndOp_ >::Result const operator& (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseOrOp_ >::Result const operator| (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::OperatorSelector< Derived, Rhs, Arrays::bitwiseXorOp_ >::Result const operator^ (ExprBase< Rhs > const &other) const
 
UnaryOperator< OppositeOp< Type >, Derived > operator- () const
 
UnaryOperator< IsNaOp< Type >, Derived > isNA () const
 
UnaryOperator< NegOp< Type >, Derived > neg () const
 
UnaryOperator< IsFiniteOp< Type >, Derived > isFinite () const
 
UnaryOperator< IsInfiniteOp< Type >, Derived > isInfinite () const
 
UnaryOperator< AbsOp< Type >, Derived > abs () const
 
UnaryOperator< ExpOp< Type >, Derived > exp () const
 
UnaryOperator< LogOp< Type >, Derived > log () const
 
UnaryOperator< SqrtOp< Type >, Derived > sqrt () const
 
UnaryOperator< CosOp< Type >, Derived > cos () const
 
UnaryOperator< SinOp< Type >, Derived > sin () const
 
UnaryOperator< AcosOp< Type >, Derived > acos () const
 
UnaryOperator< AsinOp< Type >, Derived > asin () const
 
UnaryOperator< TanOp< Type >, Derived > tan () const
 
UnaryOperator< InverseOp< Type >, Derived > inverse () const
 
UnaryOperator< SquareOp< Type >, Derived > square () const
 
UnaryOperator< CubeOp< Type >, Derived > cube () const
 
UnaryOperator< EqualWithOp< Type >, Derived > operator== (Type const &value) const
 
UnaryOperator< NotEqualWithOp< Type >, Derived > operator!= (Type const &value) const
 
UnaryOperator< GreaterThanOp< Type >, Derived > operator> (Type const &value) const
 
UnaryOperator< LessThanOp< Type >, Derived > operator< (Type const &value) const
 
UnaryOperator< LeqThanOp< Type >, Derived > operator<= (Type const &value) const
 
UnaryOperator< GeqThanOp< Type >, Derived > operator>= (Type const &value) const
 
UnaryOperator< MinWithOp< Type >, Derived > min (Type const &value) const
 
UnaryOperator< MaxWithOp< Type >, Derived > max (Type const &value) const
 
UnaryOperator< SumWithOp< Type >, Derived > operator+ (Type const &value) const
 
UnaryOperator< DifferenceWithOp< Type >, Derived > operator- (Type const &value) const
 
UnaryOperator< ProductWithOp< Type >, Derived > operator* (Type const &value) const
 
UnaryOperator< DivisionWithOp< Type >, Derived > operator/ (Type const &value) const
 
UnaryOperator< ModuloWithOp< Type >, Derived > operator% (Type const &value) const
 
UnaryOperator< LogicalAndWithOp< Type >, Derived > operator&& (Type const &value) const
 
UnaryOperator< LogicalOrWithOp< Type >, Derived > operator|| (Type const &value) const
 
UnaryOperator< BitwiseAndWithOp< Type >, Derived > operator& (Type const &value) const
 
UnaryOperator< BitwiseOrWithOp< Type >, Derived > operator| (Type const &value) const
 
UnaryOperator< BitwiseXorWithOp< Type >, Derived > operator^ (Type const &value) const
 
UnaryOperator< PowOp< Type >, Derived > pow (Type const &value) const
 
UnaryOperator< SafeInverseOp< Type >, Derived > safeInverse (Type const &value) const
 
UnaryOperator< SafeOp< Type >, Derived > const safe (Type const value=Type()) const
 
template<typename OtherType >
UnaryOperator< CastOp< Type, OtherType >, Derived > const cast () const
 
UnaryOperator< Law::PdfOp< Type >, Derived > pdf (Law::IUnivLaw< Type > const &law) const
 compute pdf values to this using distribution law given by user
 
UnaryOperator< Law::LogPdfOp< Type >, Derived > lpdf (Law::IUnivLaw< Type > const &law) const
 compute log-pdf values to this using distribution law given by user
 
UnaryOperator< Law::CdfOp< Type >, Derived > cdf (Law::IUnivLaw< Type > const &law) const
 compute cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfOp< Type >, Derived > lcdf (Law::IUnivLaw< Type > const &law) const
 compute log-cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::CdfcOp< Type >, Derived > cdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::LogCdfcOp< Type >, Derived > lcdfc (Law::IUnivLaw< Type > const &law) const
 compute complementary cumulative distribution function of this using distribution law given by user
 
UnaryOperator< Law::IcdfOp< Type >, Derived > icdf (Law::IUnivLaw< Type > const &law) const
 compute inverse cumulative distribution function using distribution law given by user
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct0 () const
 
template<template< typename > class OtherOperator>
UnaryOperator< OtherOperator< Type >, Derived > const funct1 (Type const value) const
 
TransposeOperator< Derived > const transpose () const
 
DiagonalizeOperator< Derived > const diagonalize () const
 
DiagonalGetterOperator< Derived > const getDiagonal () const
 
UpperTriangularizeOperator< Derived > const upperTriangularize () const
 
LowerTriangularizeOperator< Derived > const lowerTriangularize () const
 
SymmetrizeOperator< Derived > const symmetrize () const
 
UpperSymmetrizeOperator< Derived > const upperSymmetrize () const
 
LowerSymmetrizeOperator< Derived > const lowerSymmetrize () const
 
template<int Size_>
SubVectorOperator< Derived, Size_ > const sub (TRange< Size_ > const &I) const
 
ColOperator< Derived > const col (int j) const
 
RowOperator< Derived > const row (int i) const
 
template<int Size_>
SubOperator< Derived, sizeRows_, Size_ > const col (TRange< Size_ > const &J) const
 
template<int Size_>
SubOperator< Derived, Size_, sizeCols_ > const row (TRange< Size_ > const &I) const
 
template<int SizeRows_, int SizeCols_>
SubOperator< Derived, SizeRows_, SizeCols_ > const sub (TRange< SizeRows_ > const &I, TRange< SizeCols_ > const &J) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dot (ExprBase< Rhs > const &other) const
 
template<class Rhs >
hidden::Promote< Type, typenameRhs::Type >::result_type const dotSafe (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::ProductSelector< Derived, Rhs, hidden::Traits< Derived >::structure_, hidden::Traits< Rhs >::structure_ >::ProductType const operator* (ExprBase< Rhs > const &other) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsum (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wsumSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnormSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2 (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wnorm2Safe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmean (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wmeanSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvariance (Type const &mean, ExprBase< Rhs > const &weights) const
 
template<typename Rhs >
hidden::Traits< Derived >::Type const wvarianceSafe (Type const &mean, ExprBase< Rhs > const &weights) const
 
- Protected Attributes inherited from STK::IArray2D< SArray2DLowerTriangular< Type_ > >
Allocator allocator_
 allocator of the column data set
 
Array1D< Range, sizeCols_ > rangeCols_
 range of the index of the columns of the container.
 

Detailed Description

template<class Type_>
class STK::SArray2DLowerTriangular< Type_ >

Declaration of the lower triangular matrix class.

A SArray2DLowerTriangular is a column oriented 2D lower triangular container of element. It is possible to add/remove rows and columns but in this case the container will no more be triangular. The container can be set lower triangular again using the method IArray2D::update().

One can give any range for the rows/columns in the constructor but as the diagonal of the matrix is defined as i=j then the lower part of the matrix is the set of index [i,j], with i<j.

Definition at line 110 of file STK_SArray2DLowerTriangular.h.

Member Typedef Documentation

◆ Base

template<class Type_ >
typedef IArray2D< SArray2DLowerTriangular<Type_> > STK::SArray2DLowerTriangular< Type_ >::Base

Type for the Interface Class.

Definition at line 114 of file STK_SArray2DLowerTriangular.h.

◆ Col

Definition at line 118 of file STK_SArray2DLowerTriangular.h.

◆ LowBase

template<class Type_ >
typedef ArrayBase< SArray2DLowerTriangular<Type_> > STK::SArray2DLowerTriangular< Type_ >::LowBase

Definition at line 115 of file STK_SArray2DLowerTriangular.h.

◆ Row

Definition at line 117 of file STK_SArray2DLowerTriangular.h.

◆ SubArray

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::SubArray STK::SArray2DLowerTriangular< Type_ >::SubArray

Definition at line 122 of file STK_SArray2DLowerTriangular.h.

◆ SubCol

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::SubCol STK::SArray2DLowerTriangular< Type_ >::SubCol

Definition at line 120 of file STK_SArray2DLowerTriangular.h.

◆ SubRow

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::SubRow STK::SArray2DLowerTriangular< Type_ >::SubRow

Definition at line 119 of file STK_SArray2DLowerTriangular.h.

◆ SubVector

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::SubVector STK::SArray2DLowerTriangular< Type_ >::SubVector

Definition at line 121 of file STK_SArray2DLowerTriangular.h.

◆ Type

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::Type STK::SArray2DLowerTriangular< Type_ >::Type

Definition at line 124 of file STK_SArray2DLowerTriangular.h.

◆ TypeConst

template<class Type_ >
typedef hidden::Traits<SArray2DLowerTriangular<Type_>>::TypeConst STK::SArray2DLowerTriangular< Type_ >::TypeConst

Definition at line 125 of file STK_SArray2DLowerTriangular.h.

Member Enumeration Documentation

◆ anonymous enum

template<class Type_ >
anonymous enum
Enumerator
structure_ 
orient_ 
sizeRows_ 
sizeCols_ 
storage_ 

Definition at line 127 of file STK_SArray2DLowerTriangular.h.

128 {
133 storage_ = Arrays::dense_ // always dense
134 };
@ dense_
dense matrix/vector/array/expression
@ lower_triangular_
lower triangular matrix/array/expression
@ by_col_
storage by column
const int UnknownSize
This value means that an integer is not known at compile-time, and that instead the value is stored i...

Constructor & Destructor Documentation

◆ SArray2DLowerTriangular() [1/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( )
inline

Default constructor.

Definition at line 137 of file STK_SArray2DLowerTriangular.h.

137: Base() {}
IArray2D< SArray2DLowerTriangular< Type_ > > Base
Type for the Interface Class.

◆ SArray2DLowerTriangular() [2/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( Range const I,
Range const J 
)
inline

Constructor with specified ranges.

Parameters
Irange of the Rows
Jrange of the Cols

Definition at line 142 of file STK_SArray2DLowerTriangular.h.

142: Base(I, J) {}

◆ SArray2DLowerTriangular() [3/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( Range const I,
Range const J,
Type const v 
)
inline

constructor with rows_ and rageHo_ specified, initialization with a specified value.

Parameters
Irange of the Rows
Jrange of the Cols
vinitial value in the container

Definition at line 149 of file STK_SArray2DLowerTriangular.h.

150 : Base(I, J)
151 { LowBase::setValue(v);}
SArray2DLowerTriangular< Type_ > & setValue(TypeConst value)
set a value to this container.

References STK::ArrayBase< SArray2DLowerTriangular< Type_ > >::setValue().

◆ SArray2DLowerTriangular() [4/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( const SArray2DLowerTriangular< Type_ > &  T,
bool  ref = false 
)
inline

Copy constructor.

Parameters
Tthe container to copy
reftrue if T is wrapped

Definition at line 156 of file STK_SArray2DLowerTriangular.h.

157 : Base(T, ref) {}

◆ SArray2DLowerTriangular() [5/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( const Base T,
Range const I,
Range const J 
)
inline

constructor by reference, ref_=1.

Parameters
Tthe container to wrap
Irange of the Rows to wrap
Jrange of the Cols to wrap

Definition at line 163 of file STK_SArray2DLowerTriangular.h.

164 : Base(T, I, J) {}

◆ SArray2DLowerTriangular() [6/7]

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( Type **  q,
Range const I,
Range const J 
)
inline

Wrapper constructor Contruct a reference container.

Parameters
qpointer on the data
Irange of the Rows to wrap
Jrange of the Cols to wrap

Definition at line 170 of file STK_SArray2DLowerTriangular.h.

171 : Base(q, I, J) {}

◆ SArray2DLowerTriangular() [7/7]

template<class Type_ >
template<class OtherDerived >
STK::SArray2DLowerTriangular< Type_ >::SArray2DLowerTriangular ( ExprBase< OtherDerived > const T)
inline

Copy constructor using an expression.

Parameters
Tthe container to wrap

Definition at line 176 of file STK_SArray2DLowerTriangular.h.

176 : Base()
177 { LowBase::operator=(T);}
SArray2DLowerTriangular< Type_ > & operator=(Type const &value)

References STK::ArrayBase< SArray2DLowerTriangular< Type_ > >::operator=().

◆ ~SArray2DLowerTriangular()

template<class Type_ >
STK::SArray2DLowerTriangular< Type_ >::~SArray2DLowerTriangular ( )
inline

destructor : use destructor of IArray2D.

Definition at line 179 of file STK_SArray2DLowerTriangular.h.

179{}

Member Function Documentation

◆ operator=() [1/3]

template<class Type_ >
template<class Rhs >
SArray2DLowerTriangular & STK::SArray2DLowerTriangular< Type_ >::operator= ( ExprBase< Rhs > const T)
inline

operator = : overwrite the CArray with the Right hand side T.

Parameters
Tthe container to copy

Definition at line 184 of file STK_SArray2DLowerTriangular.h.

185 { return LowBase::operator=(T);}

References STK::ArrayBase< SArray2DLowerTriangular< Type_ > >::operator=().

◆ operator=() [2/3]

template<class Type_ >
SArray2DLowerTriangular & STK::SArray2DLowerTriangular< Type_ >::operator= ( SArray2DLowerTriangular< Type_ > const T)
inline

operator = : overwrite the SArray2DLowerTriangular with T.

Parameters
Tthe container to copy

Definition at line 189 of file STK_SArray2DLowerTriangular.h.

189{ return LowBase::assign(T);}
SArray2DLowerTriangular< Type_ > & assign(ExprBase< Rhs > const &rhs)

References STK::ArrayBase< SArray2DLowerTriangular< Type_ > >::assign().

◆ operator=() [3/3]

template<class Type_ >
SArray2DLowerTriangular & STK::SArray2DLowerTriangular< Type_ >::operator= ( Type const v)
inline

operator= : set the container to a constant value.

Parameters
vthe value to set

Definition at line 193 of file STK_SArray2DLowerTriangular.h.

193{ return LowBase::setValue(v);}

References STK::ArrayBase< SArray2DLowerTriangular< Type_ > >::setValue().

◆ resize1D()

template<class Type_ >
SArray2DLowerTriangular & STK::SArray2DLowerTriangular< Type_ >::resize1D ( Range const I)
inline

New size for the container.

Parameters
Irange of the columns and rows of the container

Definition at line 202 of file STK_SArray2DLowerTriangular.h.

203 { Base::resize(I, I); return *this;}
SArray2DLowerTriangular< Type_ > & resize(Range const &I, Range const &J)
resize the array.

References STK::IArray2D< SArray2DLowerTriangular< Type_ > >::resize().

◆ shift1D()

template<class Type_ >
void STK::SArray2DLowerTriangular< Type_ >::shift1D ( int  beg)
inline

New beginning index for the object.

Parameters
begfirst index of the container

Definition at line 197 of file STK_SArray2DLowerTriangular.h.

198 { Base::shift(beg, beg);}
void shift(int rbeg, int cbeg)
Set new beginning indexes to the array.

References STK::IArray2D< SArray2DLowerTriangular< Type_ > >::shift().


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