![]() |
Modules | |
Expressions | |
CompressedMatrix | |
Classes | |
struct | blaze::SparseMatrix< MT, SO > |
Base class for sparse matrices.The SparseMatrix class is a base class for all sparse matrix classes. It provides an abstraction from the actual type of the sparse matrix, but enables a conversion back to this type via the Matrix base class. More... | |
class | blaze::MatrixAccessProxy< MT > |
Access proxy for sparse, ![]() The proxied access to the elements of a sparse matrix is necessary since it may be possible that several insertion operations happen in the same statement. The following code illustrates this with two examples by means of the CompressedMatrix class: More... | |
Functions | |
template<typename T1 , typename T2 > | |
const DVecTSVecMultExpr< T1, T2 > | blaze::operator* (const DenseVector< T1, false > &lhs, const SparseVector< T2, true > &rhs) |
Multiplication operator for the dense vector-sparse vector outer product ( ![]() | |
template<typename MT , bool SO> | |
const SMatAbsExpr< MT, SO > | blaze::abs (const SparseMatrix< MT, SO > &sm) |
Returns a matrix containing the absolute values of each single element of sm. More... | |
template<typename MT , bool SO> | |
const SMatConjExpr< MT, SO > | blaze::conj (const SparseMatrix< MT, SO > &sm) |
Returns a matrix containing the complex conjugate of each single element of sm. More... | |
template<typename MT , bool SO> | |
const CTransExprTrait< MT >::Type | blaze::ctrans (const SparseMatrix< MT, SO > &sm) |
Returns the conjugate transpose matrix of sm. More... | |
template<typename MT , bool SO> | |
const SMatEvalExpr< MT, SO > | blaze::eval (const SparseMatrix< MT, SO > &sm) |
Forces the evaluation of the given sparse matrix expression sm. More... | |
template<typename MT , bool SO> | |
const ImagExprTrait< MT >::Type | blaze::imag (const SparseMatrix< MT, SO > &sm) |
Returns a matrix containing the imaginary parts of each single element of sm. More... | |
template<typename MT , bool SO> | |
const RealExprTrait< MT >::Type | blaze::real (const SparseMatrix< MT, SO > &sm) |
Returns a matrix containing the real parts of each single element of sm. More... | |
template<typename T1 , bool SO, typename T2 > | |
const EnableIf< IsNumeric< T2 >, typename DivExprTrait< T1, T2 >::Type >::Type | blaze::operator/ (const SparseMatrix< T1, SO > &mat, T2 scalar) |
Division operator for the division of a sparse matrix by a scalar value ( ![]() | |
template<typename MT , bool SO> | |
const SMatScalarMultExpr< MT, typename UnderlyingBuiltin< MT >::Type, SO > | blaze::operator- (const SparseMatrix< MT, SO > &sm) |
Unary minus operator for the negation of a sparse matrix ( ![]() | |
template<typename T1 , bool SO, typename T2 > | |
const EnableIf< IsNumeric< T2 >, typename MultExprTrait< T1, T2 >::Type >::Type | blaze::operator* (const SparseMatrix< T1, SO > &mat, T2 scalar) |
Multiplication operator for the multiplication of a sparse matrix and a scalar value ( ![]() | |
template<typename T1 , typename T2 , bool SO> | |
const EnableIf< IsNumeric< T1 >, typename MultExprTrait< T1, T2 >::Type >::Type | blaze::operator* (T1 scalar, const SparseMatrix< T2, SO > &mat) |
Multiplication operator for the multiplication of a scalar value and a sparse matrix ( ![]() | |
template<typename MT , bool SO> | |
const SMatSerialExpr< MT, SO > | blaze::serial (const SparseMatrix< MT, SO > &sm) |
Forces the serial evaluation of the given sparse matrix expression sm. More... | |
template<typename T1 , typename T2 > | |
const SMatSMatAddExpr< T1, T2 > | blaze::operator+ (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, false > &rhs) |
Addition operator for the addition of two row-major sparse matrices ( ![]() | |
template<typename T1 , typename T2 > | |
const SMatSMatMultExpr< T1, T2 > | blaze::operator* (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, false > &rhs) |
Multiplication operator for the multiplication of two row-major sparse matrices ( ![]() | |
template<typename T1 , typename T2 > | |
const SMatSMatSubExpr< T1, T2 > | blaze::operator- (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, false > &rhs) |
Subtraction operator for the subtraction of two row-major sparse matrices ( ![]() | |
template<typename MT , bool SO> | |
const SMatTransExpr< MT,!SO > | blaze::trans (const SparseMatrix< MT, SO > &sm) |
Calculation of the transpose of the given sparse matrix. More... | |
template<typename T1 , typename T2 > | |
const SMatTSMatAddExpr< T1, T2 > | blaze::operator+ (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, true > &rhs) |
Addition operator for the addition of a row-major and a column-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const SMatTSMatAddExpr< T2, T1 > | blaze::operator+ (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, false > &rhs) |
Addition operator for the addition of a column-major and a row-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const SMatTSMatMultExpr< T1, T2 > | blaze::operator* (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, true > &rhs) |
Multiplication operator for the multiplication of a row-major sparse matrix and a column-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const SMatTSMatSubExpr< T1, T2 > | blaze::operator- (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, true > &rhs) |
Subtraction operator for the subtraction of a row-major and a column-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const SVecTDVecMultExpr< T1, T2 > | blaze::operator* (const SparseVector< T1, false > &lhs, const DenseVector< T2, true > &rhs) |
Multiplication operator for the sparse vector-dense vector outer product ( ![]() | |
template<typename T1 , typename T2 > | |
const SVecTSVecMultExpr< T1, T2 > | blaze::operator* (const SparseVector< T1, false > &lhs, const SparseVector< T2, true > &rhs) |
Multiplication operator for the sparse vector-sparse vector outer product ( ![]() | |
template<typename T1 , typename T2 > | |
const DisableIf< IsMatMatMultExpr< T2 >, TDVecTSMatMultExpr< T1, T2 > >::Type | blaze::operator* (const DenseVector< T1, true > &vec, const SparseMatrix< T2, true > &mat) |
Multiplication operator for the multiplication of a transpose dense vector and a column-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const TSMatSMatMultExpr< T1, T2 > | blaze::operator* (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, false > &rhs) |
Multiplication operator for the multiplication of a column-major sparse matrix and a row-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const TSMatSMatSubExpr< T1, T2 > | blaze::operator- (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, false > &rhs) |
Subtraction operator for the subtraction of a column-major and a row-major sparse matrix ( ![]() | |
template<typename T1 , typename T2 > | |
const TSMatTSMatAddExpr< T1, T2 > | blaze::operator+ (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, true > &rhs) |
Addition operator for the addition of two column-major sparse matrices ( ![]() | |
template<typename T1 , typename T2 > | |
const TSMatTSMatMultExpr< T1, T2 > | blaze::operator* (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, true > &rhs) |
Multiplication operator for the multiplication of two column-major sparse matrices ( ![]() | |
template<typename T1 , typename T2 > | |
const TSMatTSMatSubExpr< T1, T2 > | blaze::operator- (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, true > &rhs) |
Subtraction operator for the subtraction of two column-major sparse matrices ( ![]() | |
template<typename T1 , typename T2 > | |
bool | blaze::operator== (const SparseMatrix< T1, false > &lhs, const SparseMatrix< T2, false > &rhs) |
Equality operator for the comparison of two row-major sparse matrices. More... | |
template<typename T1 , typename T2 > | |
bool | blaze::operator== (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, true > &rhs) |
Equality operator for the comparison of two column-major sparse matrices. More... | |
MatrixAccessProxy global functions | |
template<typename MT > | |
ConjExprTrait< typename MatrixAccessProxy< MT >::RepresentedType >::Type | blaze::conj (const MatrixAccessProxy< MT > &proxy) |
Computing the complex conjugate of the represented element. More... | |
template<typename MT > | |
void | blaze::reset (const MatrixAccessProxy< MT > &proxy) |
Resetting the represented element to the default initial values. More... | |
template<typename MT > | |
void | blaze::clear (const MatrixAccessProxy< MT > &proxy) |
Clearing the represented element. More... | |
template<typename MT > | |
bool | blaze::isDefault (const MatrixAccessProxy< MT > &proxy) |
Returns whether the represented element is in default state. More... | |
template<typename MT > | |
bool | blaze::isReal (const MatrixAccessProxy< MT > &proxy) |
Returns whether the matrix element represents a real number. More... | |
template<typename MT > | |
bool | blaze::isZero (const MatrixAccessProxy< MT > &proxy) |
Returns whether the represented element is 0. More... | |
template<typename MT > | |
bool | blaze::isOne (const MatrixAccessProxy< MT > &proxy) |
Returns whether the represented element is 1. More... | |
template<typename MT > | |
bool | blaze::isnan (const MatrixAccessProxy< MT > &proxy) |
Returns whether the represented element is not a number. More... | |
template<typename MT > | |
void | blaze::swap (const MatrixAccessProxy< MT > &a, const MatrixAccessProxy< MT > &b) |
Swapping the contents of two access proxies. More... | |
template<typename MT , typename T > | |
void | blaze::swap (const MatrixAccessProxy< MT > &a, T &b) |
Swapping the contents of an access proxy with another element. More... | |
template<typename T , typename MT > | |
void | blaze::swap (T &a, const MatrixAccessProxy< MT > &b) |
Swapping the contents of an access proxy with another element. More... | |
SparseMatrix operators | |
template<typename T1 , typename T2 , bool SO> | |
bool | blaze::operator== (const SparseMatrix< T1, SO > &lhs, const SparseMatrix< T2,!SO > &rhs) |
Equality operator for the comparison of two sparse matrices with different storage order. More... | |
template<typename T1 , bool SO1, typename T2 , bool SO2> | |
bool | blaze::operator!= (const SparseMatrix< T1, SO1 > &lhs, const SparseMatrix< T2, SO2 > &rhs) |
Inequality operator for the comparison of two sparse matrices. More... | |
template<typename T1 , typename T2 , bool SO> | |
bool | blaze::operator== (const SparseMatrix< T1, true > &lhs, const SparseMatrix< T2, true > &rhs) |
Equality operator for the comparison of two column-major sparse matrices. More... | |
SparseMatrix functions | |
template<typename MT , bool SO> | |
bool | blaze::isnan (const SparseMatrix< MT, SO > &sm) |
Checks the given sparse matrix for not-a-number elements. More... | |
template<typename MT , bool SO> | |
bool | blaze::isSymmetric (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is symmetric. More... | |
template<typename MT , bool SO> | |
bool | blaze::isHermitian (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is Hermitian. More... | |
template<typename MT , bool SO> | |
bool | blaze::isUniform (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is a uniform matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isLower (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is a lower triangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isUniLower (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is a lower unitriangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isStrictlyLower (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is a strictly lower triangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isUpper (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is an upper triangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isUniUpper (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is an upper unitriangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isStrictlyUpper (const SparseMatrix< MT, SO > &sm) |
Checks if the given sparse matrix is a strictly upper triangular matrix. More... | |
template<typename MT , bool SO> | |
bool | blaze::isDiagonal (const SparseMatrix< MT, SO > &sm) |
Checks if the give sparse matrix is diagonal. More... | |
template<typename MT , bool SO> | |
bool | blaze::isIdentity (const SparseMatrix< MT, SO > &sm) |
Checks if the give sparse matrix is an identity matrix. More... | |
template<typename MT , bool SO> | |
const MT::ElementType | blaze::min (const SparseMatrix< MT, SO > &sm) |
Returns the smallest element of the sparse matrix. More... | |
template<typename MT , bool SO> | |
const MT::ElementType | blaze::max (const SparseMatrix< MT, SO > &sm) |
Returns the largest element of the sparse matrix. More... | |
|
inline |
Returns a matrix containing the absolute values of each single element of sm.
sm | The input matrix. |
The abs function calculates the absolute value of each element of the input matrix sm. The function returns an expression representing this operation.
The following example demonstrates the use of the abs function:
|
inline |
Clearing the represented element.
proxy | The given access proxy. |
This function clears the element represented by the access proxy to its default initial state. In case the access proxy represents a vector- or matrix-like data structure that provides a clear() function, this function clears the vector/matrix to its default initial state.
|
inline |
Computing the complex conjugate of the represented element.
proxy | The given proxy instance. |
This function computes the complex conjugate of the element represented by the access proxy. In case the proxy represents a vector- or matrix-like data structure the function returns an expression representing the complex conjugate of the vector/matrix.
|
inline |
Returns a matrix containing the complex conjugate of each single element of sm.
sm | The input matrix. |
The conj function calculates the complex conjugate of each element of the input matrix sm. The function returns an expression representing this operation.
The following example demonstrates the use of the conj function:
|
inline |
Returns the conjugate transpose matrix of sm.
sm | The input matrix. |
The ctrans function returns an expression representing the conjugate transpose (also called adjoint matrix, Hermitian conjugate matrix or transjugate matrix) of the given input matrix sm.
The following example demonstrates the use of the ctrans function:
Note that the ctrans function has the same effect as manually applying the conj and trans function in any order:
|
inline |
Forces the evaluation of the given sparse matrix expression sm.
sm | The input matrix. |
The eval function forces the evaluation of the given sparse matrix expression sm. The function returns an expression representing the operation.
The following example demonstrates the use of the eval function
|
inline |
Returns a matrix containing the imaginary parts of each single element of sm.
sm | The input matrix. |
The imag function calculates the imaginary part of each element of the input matrix sm. The function returns an expression representing this operation.
The following example demonstrates the use of the imag function:
|
inline |
Returns whether the represented element is in default state.
proxy | The given access proxy. |
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.
bool blaze::isDiagonal | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the give sparse matrix is diagonal.
sm | The sparse matrix to be checked. |
This function tests whether the matrix is diagonal, i.e. if the non-diagonal elements are default elements. In case of integral or floating point data types, a diagonal matrix has the form
The following example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a diagonal matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isHermitian | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is Hermitian.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is an Hermitian matrix. The matrix is considered to be an Hermitian matrix if it is a square matrix whose conjugate transpose is equal to itself ( ), i.e. each matrix element
is equal to the complex conjugate of the element
. The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in an Hermitian matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isIdentity | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the give sparse matrix is an identity matrix.
sm | The sparse matrix to be checked. |
This function tests whether the matrix is an identity matrix, i.e. if the diagonal elements are 1 and the non-diagonal elements are 0. In case of integral or floating point data types, an identity matrix has the form
The following example demonstrates the use of the function:
It is also possible to check if a matrix expression results in an identity matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isLower | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is a lower triangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is a lower triangular matrix. The matrix is considered to be lower triangular if it is a square matrix of the form
or
matrices are considered as trivially lower triangular. The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a lower triangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isnan | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks the given sparse matrix for not-a-number elements.
sm | The sparse matrix to be checked for not-a-number elements. |
This function checks the sparse matrix for not-a-number (NaN) elements. If at least one element of the matrix is not-a-number, the function returns true, otherwise it returns false.
Note that this function only works for matrices with floating point elements. The attempt to use it for a matrix with a non-floating point element type results in a compile time error.
|
inline |
Returns whether the represented element is not a number.
proxy | The given access proxy. |
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.
|
inline |
Returns whether the represented element is 1.
proxy | The given access proxy. |
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.
|
inline |
Returns whether the matrix element represents a real number.
proxy | The given access proxy. |
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.
bool blaze::isStrictlyLower | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is a strictly lower triangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is a strictly lower triangular matrix. The matrix is considered to be strictly lower triangular if it is a square matrix of the form
The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a strictly lower triangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isStrictlyUpper | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is a strictly upper triangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is a strictly upper triangular matrix. The matrix is considered to be strictly upper triangular if it is a square matrix of the form
The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a strictly upper triangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isSymmetric | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is symmetric.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is symmetric. The matrix is considered to be symmetric if it is a square matrix whose transpose is equal to itself ( ). The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a symmetric matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isUniform | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is a uniform matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is a uniform matrix. The matrix is considered to be uniform if all its elements are identical. The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a uniform matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isUniLower | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is a lower unitriangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is a lower unitriangular matrix. The matrix is considered to be lower unitriangular if it is a square matrix of the form
The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in a lower unitriangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isUniUpper | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is an upper unitriangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is an upper unitriangular matrix. The matrix is considered to be upper unitriangular if it is a square matrix of the form
The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in an upper unitriangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
bool blaze::isUpper | ( | const SparseMatrix< MT, SO > & | sm | ) |
Checks if the given sparse matrix is an upper triangular matrix.
sm | The sparse matrix to be checked. |
This function checks if the given sparse matrix is an upper triangular matrix. The matrix is considered to be upper triangular if it is a square matrix of the form
or
matrices are considered as trivially upper triangular. The following code example demonstrates the use of the function:
It is also possible to check if a matrix expression results in an upper triangular matrix:
However, note that this might require the complete evaluation of the expression, including the generation of a temporary matrix.
|
inline |
Returns whether the represented element is 0.
proxy | The given access proxy. |
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.
const MT::ElementType blaze::max | ( | const SparseMatrix< MT, SO > & | sm | ) |
Returns the largest element of the sparse matrix.
sm | The given sparse matrix. |
This function returns the largest element of the given sparse matrix. This function can only be used for element types that support the smaller-than relationship. In case the matrix currently has either 0 rows or 0 columns, the returned value is the default value (e.g. 0 in case of fundamental data types).
const MT::ElementType blaze::min | ( | const SparseMatrix< MT, SO > & | sm | ) |
Returns the smallest element of the sparse matrix.
sm | The given sparse matrix. |
This function returns the smallest element of the given sparse matrix. This function can only be used for element types that support the smaller-than relationship. In case the matrix currently has either 0 rows or 0 columns, the returned value is the default value (e.g. 0 in case of fundamental data types).
|
inline |
Inequality operator for the comparison of two sparse matrices.
lhs | The left-hand side sparse matrix for the comparison. |
rhs | The right-hand side sparse matrix for the comparison. |
|
inline |
Multiplication operator for the sparse vector-sparse vector outer product ( ).
lhs | The left-hand side sparse vector for the outer product. |
rhs | The right-hand side transpose sparse vector for the outer product. |
This operator represents the outer product between a sparse vector and a transpose sparse vector:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved element types T1::ElementType and T2::ElementType. Both vector types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
|
inline |
Multiplication operator for the multiplication of a transpose dense vector and a column-major sparse matrix ( ).
vec | The left-hand side transpose dense vector for the multiplication. |
mat | The right-hand side column-major sparse matrix for the multiplication. |
std::invalid_argument | Vector and matrix sizes do not match. |
This operator represents the multiplication between a transpose dense vector and a column-major sparse matrix:
The operator returns an expression representing a transpose dense vector of the higher-order element type of the two involved element types T1::ElementType and T2::ElementType. Both the dense matrix type T1 and the dense vector type T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
In case the current size of the vector vec doesn't match the current number of rows of the matrix mat, a std::invalid_argument is thrown.
|
inline |
Multiplication operator for the multiplication of a sparse matrix and a scalar value ( ).
mat | The left-hand side sparse matrix for the multiplication. |
scalar | The right-hand side scalar value for the multiplication. |
This operator represents the multiplication between a sparse matrix and a scalar value:
The operator returns an expression representing a sparse matrix of the higher-order element type of the involved data types T1::ElementType and T2. Note that this operator only works for scalar values of built-in data type.
|
inline |
Multiplication operator for the multiplication of a scalar value and a sparse matrix ( ).
scalar | The left-hand side scalar value for the multiplication. |
mat | The right-hand side sparse matrix for the multiplication. |
This operator represents the multiplication between a scalar value and a sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the involved data types T1::ElementType and T2. Note that this operator only works for scalar values of built-in data type.
|
inline |
Multiplication operator for the multiplication of two row-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix multiplication. |
rhs | The right-hand side sparse matrix for the matrix multiplication. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the multiplication of two row-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Multiplication operator for the multiplication of two column-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix multiplication. |
rhs | The right-hand side sparse matrix for the matrix multiplication. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the multiplication of two column-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Multiplication operator for the multiplication of a column-major sparse matrix and a row-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix multiplication. |
rhs | The right-hand side sparse matrix for the matrix multiplication. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the multiplication of a column-major sparse matrix and a row-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Multiplication operator for the dense vector-sparse vector outer product ( ).
lhs | The left-hand side dense vector for the outer product. |
rhs | The right-hand side transpose sparse vector for the outer product. |
This operator represents the outer product between a dense vector and a transpose sparse vector:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved element types T1::ElementType and T2::ElementType. Both vector types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
|
inline |
Multiplication operator for the sparse vector-dense vector outer product ( ).
lhs | The left-hand side sparse vector for the outer product. |
rhs | The right-hand side transpose dense vector for the outer product. |
This operator represents the outer product between a sparse vector and a transpose dense vector:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved element types T1::ElementType and T2::ElementType. Both vector types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
|
inline |
Multiplication operator for the multiplication of a row-major sparse matrix and a column-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix multiplication. |
rhs | The right-hand side sparse matrix for the matrix multiplication. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the multiplication of a row-major sparse matrix and a column-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the MultTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Addition operator for the addition of two row-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix addition. |
rhs | The right-hand side sparse matrix to be added to the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the addition of two row-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the AddTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Addition operator for the addition of a row-major and a column-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix addition. |
rhs | The right-hand side sparse matrix to be added to the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the addition of a row-major and a column-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the AddTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Addition operator for the addition of two column-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix addition. |
rhs | The right-hand side sparse matrix to be added to the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the addition of two column-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the AddTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Addition operator for the addition of a column-major and a row-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix addition. |
rhs | The right-hand side sparse matrix to be added to the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the addition of a column-major and a row-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the AddTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Unary minus operator for the negation of a sparse matrix ( ).
sm | The sparse matrix to be negated. |
This operator represents the negation of a sparse matrix:
The operator returns an expression representing the negation of the given sparse matrix.
|
inline |
Subtraction operator for the subtraction of two row-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix subtraction. |
rhs | The right-hand side sparse matrix to be subtracted from the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the subtraction of two row-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the SubTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Subtraction operator for the subtraction of a column-major and a row-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix subtraction. |
rhs | The right-hand side sparse matrix to be added to the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the subtraction of a column-major and a row-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the SubTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Subtraction operator for the subtraction of a row-major and a column-major sparse matrix ( ).
lhs | The left-hand side sparse matrix for the matrix subtraction. |
rhs | The right-hand side sparse matrix to be subtracted from the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the subtraction of a row-major and a column-major sparse matrix:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the SubTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Subtraction operator for the subtraction of two column-major sparse matrices ( ).
lhs | The left-hand side sparse matrix for the matrix subtraction. |
rhs | The right-hand side sparse matrix to be subtracted from the left-hand side matrix. |
std::invalid_argument | Matrix sizes do not match |
This operator represents the subtraction of two column-major sparse matrices:
The operator returns an expression representing a sparse matrix of the higher-order element type of the two involved matrix element types T1::ElementType and T2::ElementType. Both matrix types T1 and T2 as well as the two element types T1::ElementType and T2::ElementType have to be supported by the SubTrait class template.
In case the current number of rows and columns of the two given matrices don't match, a std::invalid_argument is thrown.
|
inline |
Division operator for the division of a sparse matrix by a scalar value ( ).
mat | The left-hand side sparse matrix for the division. |
scalar | The right-hand side scalar value for the division. |
This operator represents the division of a sparse matrix by a scalar value:
The operator returns an expression representing a sparse matrix of the higher-order element type of the involved data types T1::ElementType and T2. Note that this operator only works for scalar values of built-in data type.
|
inline |
Equality operator for the comparison of two column-major sparse matrices.
lhs | The left-hand side sparse matrix for the comparison. |
rhs | The right-hand side sparse matrix for the comparison. |
|
inline |
Equality operator for the comparison of two sparse matrices with different storage order.
lhs | The left-hand side sparse matrix for the comparison. |
rhs | The right-hand side sparse matrix for the comparison. |
|
inline |
Equality operator for the comparison of two row-major sparse matrices.
lhs | The left-hand side sparse matrix for the comparison. |
rhs | The right-hand side sparse matrix for the comparison. |
|
inline |
Equality operator for the comparison of two column-major sparse matrices.
lhs | The left-hand side sparse matrix for the comparison. |
rhs | The right-hand side sparse matrix for the comparison. |
|
inline |
Returns a matrix containing the real parts of each single element of sm.
sm | The input matrix. |
The real function calculates the real part of each element of the input matrix sm. The function returns an expression representing this operation.
The following example demonstrates the use of the real function:
|
inline |
Resetting the represented element to the default initial values.
proxy | The given access proxy. |
This function resets the element represented by the access proxy to its default initial value. In case the access proxy represents a vector- or matrix-like data structure that provides a reset() function, this function resets all elements of the vector/matrix to the default initial values.
|
inline |
Forces the serial evaluation of the given sparse matrix expression sm.
sm | The input matrix. |
The serial function forces the serial evaluation of the given sparse matrix expression sm. The function returns an expression representing the operation.
The following example demonstrates the use of the serial function
|
inline |
Swapping the contents of two access proxies.
a | The first access proxy to be swapped. |
b | The second access proxy to be swapped. |
no-throw | guarantee. |
|
inline |
Swapping the contents of an access proxy with another element.
a | The access proxy to be swapped. |
b | The other element to be swapped. |
no-throw | guarantee. |
|
inline |
Swapping the contents of an access proxy with another element.
a | The other element to be swapped. |
b | The access proxy to be swapped. |
no-throw | guarantee. |
|
inline |
Calculation of the transpose of the given sparse matrix.
sm | The sparse matrix to be transposed. |
This function returns an expression representing the transpose of the given sparse matrix: