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

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

#include <STK_SArray2DUpperTriangular.h>

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

Public Types

enum  {
  structure_ = Arrays::upper_triangular_ , orient_ = Arrays::by_col_ , sizeRows_ = UnknownSize , sizeCols_ = UnknownSize ,
  storage_ = Arrays::dense_
}
 
typedef IArray2D< SArray2DUpperTriangularBase
 Type for the Interface Class.
 
typedef ArrayBase< SArray2DUpperTriangularLowBase
 
typedef hidden::Traits< SArray2DUpperTriangular >::Row Row
 
typedef hidden::Traits< SArray2DUpperTriangular >::Col Col
 
typedef hidden::Traits< SArray2DUpperTriangular >::SubRow SubRow
 
typedef hidden::Traits< SArray2DUpperTriangular >::SubCol SubCol
 
typedef hidden::Traits< SArray2DUpperTriangular >::SubVector SubVector
 
typedef hidden::Traits< SArray2DUpperTriangular >::SubArray SubArray
 
typedef hidden::Traits< SArray2DUpperTriangular >::Type Type
 
typedef hidden::Traits< SArray2DUpperTriangular >::TypeConst TypeConst
 
- Public Types inherited from STK::IArray2D< SArray2DUpperTriangular< Type_ > >
enum  
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::Type Type
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::TypeConst TypeConst
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::Row Row
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::Col Col
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::SubRow SubRow
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::SubCol SubCol
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::SubArray SubArray
 
typedef hidden::Traits< SArray2DUpperTriangular< Type_ > >::SubVector SubVector
 
typedef hidden::Traits< SArray2DUpperTriangular< 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< SArray2DUpperTriangular< 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

 SArray2DUpperTriangular ()
 Default constructor.
 
 SArray2DUpperTriangular (Range const &I, Range const &J)
 constructor with specified ranges
 
 SArray2DUpperTriangular (Range const &I, Range const &J, Type const &v)
 constructor with rows_ and rageHo_ specified, initialization with a specified value.
 
 SArray2DUpperTriangular (SArray2DUpperTriangular const &T, bool ref=false)
 Copy constructor.
 
 SArray2DUpperTriangular (Base const &T, Range const &I, Range const &J)
 constructor by reference in a given range, ref_=1.
 
 SArray2DUpperTriangular (Type **q, Range const &I, Range const &J)
 Wrapper constructor Contruct a reference container.
 
template<class OtherDerived >
 SArray2DUpperTriangular (ExprBase< OtherDerived > const &T)
 Copy constructor using an expression.
 
 ~SArray2DUpperTriangular ()
 destructor.
 
template<class Rhs >
SArray2DUpperTriangularoperator= (ExprBase< Rhs > const &T)
 operator = : overwrite the CArray with the Right hand side T.
 
SArray2DUpperTriangularoperator= (const SArray2DUpperTriangular &T)
 Operator = : overwrite the SArray2DUpperTriangular with T.
 
SArray2DUpperTriangularoperator= (Type const &v)
 Operator = : overwrite with a constant value.
 
void shift1D (int beg)
 New beginning index for the object.
 
SArray2DUpperTriangularresize1D (Range const &I)
 New size for the container.
 
- Public Member Functions inherited from STK::IArray2D< SArray2DUpperTriangular< Type_ > >
void clear ()
 clear the object.
 
SArray2DUpperTriangular< Type_ > & move (SArray2DUpperTriangular< 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.
 
SArray2DUpperTriangular< Type_ > & resize (Range const &I, Range const &J)
 resize the array.
 
SArray2DUpperTriangular< 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.
 
SArray2DUpperTriangular< 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.
 
SArray2DUpperTriangular< 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.
 
SArray2DUpperTriangular< 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.
 
SArray2DUpperTriangular< 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< SArray2DUpperTriangular< 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< SArray2DUpperTriangular< 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<typename Type_>
class STK::SArray2DUpperTriangular< Type_ >

Declaration of the upper triangular matrix class.

A SArray2DUpperTriangular is a column oriented 2D upper triangular container of Type. 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 upper 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 upper part of the matrix is the set of index [i,j], with i>j.

Definition at line 109 of file STK_SArray2DUpperTriangular.h.

Member Typedef Documentation

◆ Base

Type for the Interface Class.


Definition at line 113 of file STK_SArray2DUpperTriangular.h.

◆ Col

◆ LowBase

Definition at line 114 of file STK_SArray2DUpperTriangular.h.

◆ Row

◆ SubArray

Definition at line 121 of file STK_SArray2DUpperTriangular.h.

◆ SubCol

Definition at line 119 of file STK_SArray2DUpperTriangular.h.

◆ SubRow

Definition at line 118 of file STK_SArray2DUpperTriangular.h.

◆ SubVector

template<typename Type_ >
typedef hidden::Traits<SArray2DUpperTriangular>::SubVector STK::SArray2DUpperTriangular< Type_ >::SubVector

Definition at line 120 of file STK_SArray2DUpperTriangular.h.

◆ Type

Definition at line 123 of file STK_SArray2DUpperTriangular.h.

◆ TypeConst

template<typename Type_ >
typedef hidden::Traits<SArray2DUpperTriangular>::TypeConst STK::SArray2DUpperTriangular< Type_ >::TypeConst

Definition at line 124 of file STK_SArray2DUpperTriangular.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 126 of file STK_SArray2DUpperTriangular.h.

127 {
132 storage_ = Arrays::dense_ // always dense
133 };
@ dense_
dense matrix/vector/array/expression
@ upper_triangular_
upper 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

◆ SArray2DUpperTriangular() [1/7]

template<typename Type_ >
STK::SArray2DUpperTriangular< Type_ >::SArray2DUpperTriangular ( )
inline

Default constructor.

Definition at line 135 of file STK_SArray2DUpperTriangular.h.

135: Base() {}
IArray2D< SArray2DUpperTriangular > Base
Type for the Interface Class.

◆ SArray2DUpperTriangular() [2/7]

template<typename Type_ >
STK::SArray2DUpperTriangular< Type_ >::SArray2DUpperTriangular ( Range const I,
Range const J 
)
inline

constructor with specified ranges

Parameters
I,Jrange of the rows and columns

Definition at line 139 of file STK_SArray2DUpperTriangular.h.

139: Base(I, J) {}

◆ SArray2DUpperTriangular() [3/7]

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

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

Parameters
I,Jrange of the rows and columns
vinitial value in the container

Definition at line 145 of file STK_SArray2DUpperTriangular.h.

146 : Base(I, J)
147 { LowBase::setValue(v);}

◆ SArray2DUpperTriangular() [4/7]

template<typename Type_ >
STK::SArray2DUpperTriangular< Type_ >::SArray2DUpperTriangular ( SArray2DUpperTriangular< Type_ > const T,
bool  ref = false 
)
inline

Copy constructor.

Parameters
Tthe container to copy
reftrue if T is wrapped

Definition at line 152 of file STK_SArray2DUpperTriangular.h.

153 : Base(T, ref) {}

◆ SArray2DUpperTriangular() [5/7]

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

constructor by reference in a given range, ref_=1.

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

Definition at line 159 of file STK_SArray2DUpperTriangular.h.

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

◆ SArray2DUpperTriangular() [6/7]

template<typename Type_ >
STK::SArray2DUpperTriangular< Type_ >::SArray2DUpperTriangular ( 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 166 of file STK_SArray2DUpperTriangular.h.

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

◆ SArray2DUpperTriangular() [7/7]

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

Copy constructor using an expression.

Parameters
Tthe container to wrap

Definition at line 172 of file STK_SArray2DUpperTriangular.h.

172 : Base()
173 { LowBase::operator=(T);}

◆ ~SArray2DUpperTriangular()

template<typename Type_ >
STK::SArray2DUpperTriangular< Type_ >::~SArray2DUpperTriangular ( )
inline

destructor.

Definition at line 175 of file STK_SArray2DUpperTriangular.h.

175{}

Member Function Documentation

◆ operator=() [1/3]

template<typename Type_ >
SArray2DUpperTriangular & STK::SArray2DUpperTriangular< Type_ >::operator= ( const SArray2DUpperTriangular< Type_ > &  T)
inline

Operator = : overwrite the SArray2DUpperTriangular with T.


Definition at line 183 of file STK_SArray2DUpperTriangular.h.

184 { return LowBase::assign(T);}

◆ operator=() [2/3]

template<typename Type_ >
template<class Rhs >
SArray2DUpperTriangular & STK::SArray2DUpperTriangular< 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 180 of file STK_SArray2DUpperTriangular.h.

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

◆ operator=() [3/3]

template<typename Type_ >
SArray2DUpperTriangular & STK::SArray2DUpperTriangular< Type_ >::operator= ( Type const v)
inline

Operator = : overwrite with a constant value.

Definition at line 186 of file STK_SArray2DUpperTriangular.h.

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

◆ resize1D()

template<typename Type_ >
SArray2DUpperTriangular & STK::SArray2DUpperTriangular< Type_ >::resize1D ( Range const I)
inline

New size for the container.

Parameters
Irange of the columns and rows of the container

Definition at line 195 of file STK_SArray2DUpperTriangular.h.

196 { Base::resize(I, I); return *this;}

◆ shift1D()

template<typename Type_ >
void STK::SArray2DUpperTriangular< Type_ >::shift1D ( int  beg)
inline

New beginning index for the object.

Parameters
begfirst index of the container

Definition at line 190 of file STK_SArray2DUpperTriangular.h.

191 { Base::shift(beg, beg);}

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