35 #ifndef _BLAZE_MATH_MATRIX_H_ 36 #define _BLAZE_MATH_MATRIX_H_ 63 template<
typename MT,
bool SO >
66 template<
typename MT,
bool SO >
69 template<
typename MT,
bool SO >
72 template<
typename MT,
bool SO >
73 bool isLower(
const Matrix<MT,SO>& m );
75 template<
typename MT,
bool SO >
78 template<
typename MT,
bool SO >
81 template<
typename MT,
bool SO >
82 bool isUpper(
const Matrix<MT,SO>& m );
84 template<
typename MT,
bool SO >
87 template<
typename MT,
bool SO >
90 template<
typename MT,
bool SO >
93 template<
typename MT,
bool SO >
96 template<
typename MT,
bool SO >
97 auto trace(
const Matrix<MT,SO>& m );
99 template<
bool RF,
typename MT,
bool SO >
100 decltype(
auto)
reverse( const Matrix<MT,SO>& m );
138 template< typename MT
142 return isSymmetric<relaxed>( ~m );
182 template<
typename MT
186 return isHermitian<relaxed>( ~m );
224 template<
typename MT
228 return isUniform<relaxed>( ~m );
276 template<
typename MT
280 return isLower<relaxed>( ~m );
327 template<
typename MT
331 return isUniLower<relaxed>( ~m );
379 template<
typename MT
383 return isStrictlyLower<relaxed>( ~m );
431 template<
typename MT
435 return isUpper<relaxed>( ~m );
482 template<
typename MT
486 return isUniUpper<relaxed>( ~m );
534 template<
typename MT
538 return isStrictlyUpper<relaxed>( ~m );
587 template<
typename MT
591 return isDiagonal<relaxed>( ~m );
639 template<
typename MT
643 return isIdentity<relaxed>( ~m );
664 template<
typename MT
688 , EnableIf_t< RF == rowwise >* =
nullptr >
689 inline decltype(
auto) reverse_backend( const Matrix<MT,SO>& m )
708 , EnableIf_t< RF == columnwise >* =
nullptr >
709 inline decltype(
auto) reverse_backend( const Matrix<MT,SO>& m )
757 return reverse_backend<RF>( ~m );
773 template<
typename MT,
bool SO >
774 std::ostream& operator<<( std::ostream& os, const Matrix<MT,SO>& m );
787 template<
typename MT
789 inline std::ostream& operator<<( std::ostream& os, const Matrix<MT,SO>& m )
793 for(
size_t i=0UL; i<tmp.rows(); ++i ) {
795 for(
size_t j=0UL; j<tmp.columns(); ++j ) {
796 os << std::setw(12) << tmp(i,j) <<
" ";
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.This macro encapsulates the default way o...
Definition: Exception.h:235
Header file for auxiliary alias declarations.
bool isLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a lower triangular matrix.
Definition: DenseMatrix.h:1004
bool isUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is an upper triangular matrix.
Definition: DenseMatrix.h:1271
bool isStrictlyLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a strictly lower triangular matrix.
Definition: DenseMatrix.h:1179
bool isUniLower(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a lower unitriangular matrix.
Definition: DenseMatrix.h:1092
bool isDiagonal(const DenseMatrix< MT, SO > &dm)
Checks if the give dense matrix is diagonal.
Definition: DenseMatrix.h:1539
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:514
bool isIdentity(const DenseMatrix< MT, SO > &dm)
Checks if the give dense matrix is an identity matrix.
Definition: DenseMatrix.h:1644
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
decltype(auto) sum(const DenseMatrix< MT, SO > &dm)
Reduces the given dense matrix by means of addition.
Definition: DMatReduceExpr.h:2146
decltype(auto) reverse(const Matrix< MT, SO > &m)
Reverse the rows or columns of a matrix.
Definition: Matrix.h:755
Header file for the exception macros of the math module.
decltype(auto) max(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise maximum of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1179
bool isUniform(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a uniform matrix.
Definition: DenseMatrix.h:849
decltype(auto) diagonal(Matrix< MT, SO > &matrix, RDAs... args)
Creating a view on the diagonal of the given matrix.
Definition: Band.h:375
Header file for the Matrix base class.
bool isStrictlyUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is a strictly upper triangular matrix.
Definition: DenseMatrix.h:1446
Header file for the relaxation flag types.
typename T::CompositeType CompositeType_t
Alias declaration for nested CompositeType type definitions.The CompositeType_t alias declaration pro...
Definition: Aliases.h:90
bool isHermitian(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is Hermitian.
Definition: DenseMatrix.h:617
Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes with...
Definition: Forward.h:109
bool isSymmetric(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is symmetric.
Definition: DenseMatrix.h:539
auto trace(const Matrix< MT, SO > &m)
Computes the trace of the given square matrix.
Definition: Matrix.h:666
constexpr size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:498
Header file for the implementation of the Elements view.
bool isUniUpper(const DenseMatrix< MT, SO > &dm)
Checks if the given dense matrix is an upper unitriangular matrix.
Definition: DenseMatrix.h:1359
bool isSquare(const Matrix< MT, SO > &matrix) noexcept
Checks if the given matrix is a square matrix.
Definition: Matrix.h:951