Blaze  3.6
Classes
UniUpperMatrix

Classes

class  blaze::UniUpperMatrix< MT, SO, DF >
 Matrix adapter for upper unitriangular $ N \times N $ matrices. More...
 
class  blaze::UniUpperElement< MT >
 Representation of an element within a sparse upper unitriangular matrix.The UniUpperElement class represents an element (i.e. value/index pair) within a sparse upper unitriangular matrix. It guarantees that the uniupper matrix invariant is not violated, i.e. that elements in the lower part of the matrix remain 0 and the diagonal elements remain 1. The following example illustrates this by means of a $ 3 \times 3 $ sparse upper unitriangular matrix: More...
 
class  blaze::UniUpperProxy< MT >
 Access proxy for upper unitriangular matrices.The UniUpperProxy provides controlled access to the elements of a non-const upper unitriangular matrix. It guarantees that the uniupper matrix invariant is not violated, i.e. that elements in the lower 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 upper unitriangular matrix: More...
 
class  blaze::UniUpperValue< MT >
 Representation of a value within a sparse upper unitriangular matrix.The UniUpperValue class represents a single value within a sparse upper unitriangular matrix. It guarantees that the uniupper 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 $ sparse upper unitriangular matrix: More...
 

UniUpperProxy global functions

template<typename MT >
void blaze::reset (const UniUpperProxy< MT > &proxy)
 Resetting the represented element to the default initial values. More...
 
template<typename MT >
void blaze::clear (const UniUpperProxy< MT > &proxy)
 Clearing the represented element. More...
 
template<typename MT >
void blaze::invert (const UniUpperProxy< MT > &proxy)
 In-place inversion of the represented element. More...
 
template<bool RF, typename MT >
bool blaze::isDefault (const UniUpperProxy< MT > &proxy)
 Returns whether the represented element is in default state. More...
 
template<bool RF, typename MT >
bool blaze::isReal (const UniUpperProxy< MT > &proxy)
 Returns whether the matrix element represents a real number. More...
 
template<bool RF, typename MT >
bool blaze::isZero (const UniUpperProxy< MT > &proxy)
 Returns whether the represented element is 0. More...
 
template<bool RF, typename MT >
bool blaze::isOne (const UniUpperProxy< MT > &proxy)
 Returns whether the represented element is 1. More...
 
template<typename MT >
bool blaze::isnan (const UniUpperProxy< MT > &proxy)
 Returns whether the represented element is not a number. More...
 

UniUpperValue global functions

template<typename MT >
void blaze::reset (const UniUpperValue< MT > &value)
 Resetting the uniupper value to the default initial values. More...
 
template<typename MT >
void blaze::clear (const UniUpperValue< MT > &value)
 Clearing the uniupper value. More...
 
template<typename MT >
void blaze::invert (const UniUpperValue< MT > &value)
 In-place inversion of the uniupper value. More...
 
template<bool RF, typename MT >
bool blaze::isDefault (const UniUpperValue< MT > &value)
 Returns whether the uniupper value is in default state. More...
 
template<bool RF, typename MT >
bool blaze::isReal (const UniUpperValue< MT > &value)
 Returns whether the uniupper value represents a real number. More...
 
template<bool RF, typename MT >
bool blaze::isZero (const UniUpperValue< MT > &value)
 Returns whether the uniupper value is 0. More...
 
template<bool RF, typename MT >
bool blaze::isOne (const UniUpperValue< MT > &value)
 Returns whether the uniupper value is 1. More...
 
template<typename MT >
bool blaze::isnan (const UniUpperValue< MT > &value)
 Returns whether the uniupper value is not a number. More...
 

UniUpperMatrix operators

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

Detailed Description

Function Documentation

◆ clear() [1/3]

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

Clearing the given uniupper matrix.

Parameters
mThe uniupper matrix to be cleared.
Returns
void

◆ clear() [2/3]

template<typename MT >
void blaze::clear ( const UniUpperValue< MT > &  value)
inline

Clearing the uniupper value.

Parameters
valueThe given uniupper value.
Returns
void

This function clears the uniupper value to its default initial state.

◆ clear() [3/3]

template<typename MT >
void blaze::clear ( const UniUpperProxy< 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.

◆ invert() [1/2]

template<typename MT >
void blaze::invert ( const UniUpperValue< MT > &  value)
inline

In-place inversion of the uniupper value.

Parameters
valueThe given uniupper value.
Returns
void

◆ invert() [2/2]

template<typename MT >
void blaze::invert ( const UniUpperProxy< MT > &  proxy)
inline

In-place inversion of the represented element.

Parameters
proxyThe given access proxy.
Returns
void

◆ isDefault() [1/3]

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

Returns whether the given uniupper matrix is in default state.

Parameters
mThe uniupper matrix to be tested for its default state.
Returns
true in case the given matrix is component-wise zero, false otherwise.

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

UniUpperMatrix< DynamicMatrix<int,rowMajor> > A;
// ... Resizing and initialization
if( isDefault( A ) ) { ... }

Optionally, it is possible to switch between strict semantics (blaze::strict) and relaxed semantics (blaze::relaxed):

if( isDefault<relaxed>( A ) ) { ... }

◆ isDefault() [2/3]

template<bool RF, typename MT >
bool blaze::isDefault ( const UniUpperValue< MT > &  value)
inline

Returns whether the uniupper value is in default state.

Parameters
valueThe given uniupper value.
Returns
true in case the uniupper value is in default state, false otherwise.

This function checks whether the uniupper value is in default state. In case it is in default state, the function returns true, otherwise it returns false.

◆ isDefault() [3/3]

template<bool RF, typename MT >
bool blaze::isDefault ( const UniUpperProxy< 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.

◆ isIntact()

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

Returns whether the invariants of the given uniupper matrix are intact.

Parameters
mThe uniupper matrix to be tested.
Returns
true in case the given matrix's invariants are intact, false otherwise.

This function checks whether the invariants of the uniupper matrix are intact, i.e. if its state is valid. In case the invariants are intact, the function returns true, else it will return false. The following example demonstrates the use of the isIntact() function:

UniUpperMatrix< DynamicMatrix<int> > A;
// ... Resizing and initialization
if( isIntact( A ) ) { ... }

◆ isnan() [1/2]

template<typename MT >
bool blaze::isnan ( const UniUpperValue< MT > &  value)
inline

Returns whether the uniupper value is not a number.

Parameters
valueThe given uniupper value.
Returns
true in case the uniupper value is in not a number, false otherwise.

This function checks whether the uniupper value is not a number (NaN). In case it is not a number, the function returns true, otherwise it returns false.

◆ isnan() [2/2]

template<typename MT >
bool blaze::isnan ( const UniUpperProxy< MT > &  proxy)
inline

Returns whether the represented element is not a number.

Parameters
proxyThe given access proxy.
Returns
true in case the represented element is in not a number, false otherwise.

This function checks whether the element represented by the access proxy is not a number (NaN). In case it is not a number, the function returns true, otherwise it returns false.

◆ isOne() [1/2]

template<bool RF, typename MT >
bool blaze::isOne ( const UniUpperValue< MT > &  value)
inline

Returns whether the uniupper value is 1.

Parameters
valueThe given uniupper value.
Returns
true in case the uniupper value is 1, false otherwise.

This function checks whether the uniupper value represents the numeric value 1. In case it is 1, the function returns true, otherwise it returns false.

◆ isOne() [2/2]

template<bool RF, typename MT >
bool blaze::isOne ( const UniUpperProxy< MT > &  proxy)
inline

Returns whether the represented element is 1.

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

This function checks whether the element represented by the access proxy represents the numeric value 1. In case it is 1, the function returns true, otherwise it returns false.

◆ isReal() [1/2]

template<bool RF, typename MT >
bool blaze::isReal ( const UniUpperValue< MT > &  value)
inline

Returns whether the uniupper value represents a real number.

Parameters
valueThe given uniupper value.
Returns
true in case the uniupper value represents a real number, false otherwise.

This function checks whether the uniupper value represents the a real number. In case the value is of built-in type, the function returns true. In case the element is of complex type, the function returns true if the imaginary part is equal to 0. Otherwise it returns false.

◆ isReal() [2/2]

template<bool RF, typename MT >
bool blaze::isReal ( const UniUpperProxy< MT > &  proxy)
inline

Returns whether the matrix element represents a real number.

Parameters
proxyThe given access proxy.
Returns
true in case the matrix element represents a real number, false otherwise.

This function checks whether the element represented by the access proxy represents the a real number. In case the element is of built-in type, the function returns true. In case the element is of complex type, the function returns true if the imaginary part is equal to 0. Otherwise it returns false.

◆ isZero() [1/2]

template<bool RF, typename MT >
bool blaze::isZero ( const UniUpperValue< MT > &  value)
inline

Returns whether the uniupper value is 0.

Parameters
valueThe given uniupper value.
Returns
true in case the uniupper value is 0, false otherwise.

This function checks whether the uniupper value represents the numeric value 0. In case it is 0, the function returns true, otherwise it returns false.

◆ isZero() [2/2]

template<bool RF, typename MT >
bool blaze::isZero ( const UniUpperProxy< MT > &  proxy)
inline

Returns whether the represented element is 0.

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

This function checks whether the element represented by the access proxy represents the numeric value 0. In case it is 0, the function returns true, otherwise it returns false.

◆ reset() [1/4]

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

Resetting the given uniupper matrix.

Parameters
mThe uniupper matrix to be resetted.
Returns
void

◆ reset() [2/4]

template<typename MT , bool SO, bool DF>
void blaze::reset ( UniUpperMatrix< MT, SO, DF > &  m,
size_t  i 
)
inline

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

Parameters
mThe uniupper 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 uniupper 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.

◆ reset() [3/4]

template<typename MT >
void blaze::reset ( const UniUpperValue< MT > &  value)
inline

Resetting the uniupper value to the default initial values.

Parameters
valueThe given uniupper value.
Returns
void

This function resets the uniupper value to its default initial value.

◆ reset() [4/4]

template<typename MT >
void blaze::reset ( const UniUpperProxy< 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.

◆ swap()

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

Swapping the contents of two matrices.

Parameters
aThe first matrix to be swapped.
bThe second matrix to be swapped.
Returns
void