Classes
UniLowerMatrix

Classes

class  blaze::UniLowerMatrix< typename, bool, bool >
 Matrix adapter for lower unitriangular $ N \times N $ matrices. More...
 
class  blaze::UniLowerProxy< MT >
 Access proxy for lower unitriangular matrices.The UniLowerProxy provides controlled access to the elements of a non-const lower unitriangular matrix. It guarantees that the unilower matrix invariant is not violated, i.e. that elements in the upper part of the matrix remain 0 and the diagonal elements remain 1. The following example illustrates this by means of a $ 3 \times 3 $ dense lower unitriangular matrix: More...
 

UniLowerProxy operators

template<typename MT1 , typename MT2 >
bool blaze::operator== (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Equality comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator== (const UniLowerProxy< MT > &lhs, const T &rhs)
 Equality comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator== (const T &lhs, const UniLowerProxy< MT > &rhs)
 Equality comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT1 , typename MT2 >
bool blaze::operator!= (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Inequality comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator!= (const UniLowerProxy< MT > &lhs, const T &rhs)
 Inequality comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator!= (const T &lhs, const UniLowerProxy< MT > &rhs)
 Inquality comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT1 , typename MT2 >
bool blaze::operator< (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Less-than comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator< (const UniLowerProxy< MT > &lhs, const T &rhs)
 Less-than comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator< (const T &lhs, const UniLowerProxy< MT > &rhs)
 Less-than comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT1 , typename MT2 >
bool blaze::operator> (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Greater-than comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator> (const UniLowerProxy< MT > &lhs, const T &rhs)
 Greater-than comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator> (const T &lhs, const UniLowerProxy< MT > &rhs)
 Greater-than comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT1 , typename MT2 >
bool blaze::operator<= (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Less-or-equal-than comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator<= (const UniLowerProxy< MT > &lhs, const T &rhs)
 Less-or-equal-than comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator<= (const T &lhs, const UniLowerProxy< MT > &rhs)
 Less-or-equal-than comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT1 , typename MT2 >
bool blaze::operator>= (const UniLowerProxy< MT1 > &lhs, const UniLowerProxy< MT2 > &rhs)
 Greater-or-equal-than comparison between two UniLowerProxy objects. More...
 
template<typename MT , typename T >
bool blaze::operator>= (const UniLowerProxy< MT > &lhs, const T &rhs)
 Greater-or-equal-than comparison between a UniLowerProxy object and an object of different type. More...
 
template<typename T , typename MT >
bool blaze::operator>= (const T &lhs, const UniLowerProxy< MT > &rhs)
 Greater-or-equal-than comparison between an object of different type and a UniLowerProxy object. More...
 
template<typename MT >
std::ostream & blaze::operator<< (std::ostream &os, const UniLowerProxy< MT > &proxy)
 Global output operator for proxies on lower unitriangular matrices. More...
 

UniLowerProxy global functions

template<typename MT >
void blaze::reset (const UniLowerProxy< MT > &proxy)
 Resetting the represented element to the default initial values. More...
 
template<typename MT >
void blaze::clear (const UniLowerProxy< MT > &proxy)
 Clearing the represented element. More...
 
template<typename MT >
bool blaze::isDefault (const UniLowerProxy< MT > &proxy)
 Returns whether the represented element is in default state. More...
 

UniLowerMatrix operators

template<typename MT , bool SO, bool DF>
void blaze::reset (UniLowerMatrix< MT, SO, DF > &m)
 Resetting the given unilower matrix. More...
 
template<typename MT , bool SO, bool DF>
void blaze::reset (UniLowerMatrix< MT, SO, DF > &m, size_t i)
 Resetting the specified row/column of the given unilower matrix. More...
 
template<typename MT , bool SO, bool DF>
void blaze::clear (UniLowerMatrix< MT, SO, DF > &m)
 Clearing the given unilower matrix. More...
 
template<typename MT , bool SO, bool DF>
bool blaze::isDefault (const UniLowerMatrix< MT, SO, DF > &m)
 Returns whether the given unilower matrix is in default state. More...
 
template<typename MT , bool SO, bool DF>
void blaze::swap (UniLowerMatrix< MT, SO, DF > &a, UniLowerMatrix< MT, SO, DF > &b)
 Swapping the contents of two matrices. More...
 

Detailed Description

Function Documentation

template<typename MT , bool SO, bool DF>
void blaze::clear ( UniLowerMatrix< MT, SO, DF > &  m)
inline

Clearing the given unilower matrix.

Parameters
mThe unilower matrix to be cleared.
Returns
void
template<typename MT >
void blaze::clear ( const UniLowerProxy< MT > &  proxy)
inline

Clearing the represented element.

Parameters
proxyThe given access proxy.
Returns
void

This function clears the element represented by the access proxy to its default initial state.

template<typename MT , bool SO, bool DF>
bool blaze::isDefault ( const UniLowerMatrix< MT, SO, DF > &  m)
inline

Returns whether the given unilower matrix is in default state.

Parameters
mThe unilower matrix to be tested for its default state.
Returns
true in case the given matrix is in default state, false otherwise.

This function checks whether the lower unitriangular matrix is in default state. The following example demonstrates the use of the isDefault function:

UniLowerMatrix< DynamicMatrix<int,rowMajor> > A;
// ... Resizing and initialization
if( isDefault( A ) ) { ... }
template<typename MT >
bool blaze::isDefault ( const UniLowerProxy< MT > &  proxy)
inline

Returns whether the represented element is in default state.

Parameters
proxyThe given access proxy
Returns
true in case the represented element is in default state, false otherwise.

This function checks whether the element represented by the access proxy is in default state. In case it is in default state, the function returns true, otherwise it returns false.

template<typename MT1 , typename MT2 >
bool blaze::operator!= ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Inequality comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if both referenced values are not equal, false if they are.
template<typename MT , typename T >
bool blaze::operator!= ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Inequality comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the referenced value and the other object are not equal, false if they are.
template<typename T , typename MT >
bool blaze::operator!= ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Inquality comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the other object and the referenced value are not equal, false if they are.
template<typename MT1 , typename MT2 >
bool blaze::operator< ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Less-than comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side referenced value is smaller, false if not.
template<typename MT , typename T >
bool blaze::operator< ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Less-than comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the left-hand side referenced value is smaller, false if not.
template<typename T , typename MT >
bool blaze::operator< ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Less-than comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side other object is smaller, false if not.
template<typename MT >
std::ostream & blaze::operator<< ( std::ostream &  os,
const UniLowerProxy< MT > &  proxy 
)
inline

Global output operator for proxies on lower unitriangular matrices.

Parameters
osReference to the output stream.
proxyReference to a constant proxy object.
Returns
Reference to the output stream.
template<typename MT1 , typename MT2 >
bool blaze::operator<= ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Less-or-equal-than comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side referenced value is smaller or equal, false if not.
template<typename MT , typename T >
bool blaze::operator<= ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Less-or-equal-than comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the left-hand side referenced value is smaller or equal, false if not.
template<typename T , typename MT >
bool blaze::operator<= ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Less-or-equal-than comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side other object is smaller or equal, false if not.
template<typename MT1 , typename MT2 >
bool blaze::operator== ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Equality comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if both referenced values are equal, false if they are not.
template<typename MT , typename T >
bool blaze::operator== ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Equality comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the referenced value and the other object are equal, false if they are not.
template<typename T , typename MT >
bool blaze::operator== ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Equality comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the other object and the referenced value are equal, false if they are not.
template<typename MT1 , typename MT2 >
bool blaze::operator> ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Greater-than comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side referenced value is greater, false if not.
template<typename MT , typename T >
bool blaze::operator> ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Greater-than comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the left-hand side referenced value is greater, false if not.
template<typename T , typename MT >
bool blaze::operator> ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Greater-than comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side other object is greater, false if not.
template<typename MT1 , typename MT2 >
bool blaze::operator>= ( const UniLowerProxy< MT1 > &  lhs,
const UniLowerProxy< MT2 > &  rhs 
)
inline

Greater-or-equal-than comparison between two UniLowerProxy objects.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side referenced value is greater or equal, false if not.
template<typename MT , typename T >
bool blaze::operator>= ( const UniLowerProxy< MT > &  lhs,
const T &  rhs 
)
inline

Greater-or-equal-than comparison between a UniLowerProxy object and an object of different type.

Parameters
lhsThe left-hand side UniLowerProxy object.
rhsThe right-hand side object of other type.
Returns
true if the left-hand side referenced value is greater or equal, false if not.
template<typename T , typename MT >
bool blaze::operator>= ( const T &  lhs,
const UniLowerProxy< MT > &  rhs 
)
inline

Greater-or-equal-than comparison between an object of different type and a UniLowerProxy object.

Parameters
lhsThe left-hand side object of other type.
rhsThe right-hand side UniLowerProxy object.
Returns
true if the left-hand side other object is greater or equal, false if not.
template<typename MT , bool SO, bool DF>
void blaze::reset ( UniLowerMatrix< MT, SO, DF > &  m)
inline

Resetting the given unilower matrix.

Parameters
mThe unilower matrix to be resetted.
Returns
void
template<typename MT , bool SO, bool DF>
void blaze::reset ( UniLowerMatrix< MT, SO, DF > &  m,
size_t  i 
)
inline

Resetting the specified row/column of the given unilower matrix.

Parameters
mThe unilower matrix to be resetted.
iThe index of the row/column to be resetted.
Returns
void

This function resets the values in the specified row/column of the given unilower matrix to their default value. In case the given matrix is a rowMajor matrix the function resets the values in row i, if it is a columnMajor matrix the function resets the values in column i. Note that the capacity of the row/column remains unchanged.

template<typename MT >
void blaze::reset ( const UniLowerProxy< MT > &  proxy)
inline

Resetting the represented element to the default initial values.

Parameters
proxyThe given access proxy.
Returns
void

This function resets the element represented by the access proxy to its default initial value.

template<typename MT , bool SO, bool DF>
void blaze::swap ( UniLowerMatrix< MT, SO, DF > &  a,
UniLowerMatrix< MT, SO, DF > &  b 
)
inline

Swapping the contents of two matrices.

Parameters
aThe first matrix to be swapped.
bThe second matrix to be swapped.
Returns
void
Exceptions
no-throwguarantee.