35 #ifndef _BLAZE_MATH_EXPRESSIONS_DMATVAREXPR_H_ 36 #define _BLAZE_MATH_EXPRESSIONS_DMATVAREXPR_H_ 76 inline decltype(
auto) var_backend( const DenseMatrix<MT,SO>& dm,
FalseType )
78 using BT = UnderlyingBuiltin_t<MT>;
82 const auto m( uniform<SO>(
rows( ~dm ),
columns( ~dm ),
mean( ~dm ) ) );
84 return sum(
map( (~dm) - m, Pow2() ) ) *
inv( BT(
size( ~dm )-1UL ) );
100 inline decltype(
auto) var_backend( const DenseMatrix<MT,SO>& dm,
TrueType )
106 return ElementType_t<MT>();
135 template<
typename MT
141 if(
size( ~dm ) < 2UL ) {
161 decltype(
auto) var_backend( const DenseMatrix<MT,SO>& dm,
FalseType )
163 using BT = UnderlyingBuiltin_t<MT>;
169 const auto m(
expand( mean<RF>( ~dm ), n ) );
171 return sum<RF>(
map( (~dm) - m, Pow2() ) ) *
inv( BT( n-1UL ) );
188 decltype(
auto) var_backend( const DenseMatrix<MT,SO>& dm,
TrueType )
196 return uniform<TF>( n, ElementType_t<MT>() );
BoolConstant< false > FalseType
Type/value traits base class.The FalseType class is used as base class for type traits and value trai...
Definition: IntegralConstant.h:121
#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 basic type definitions.
Header file for the Pow2 functor.
Header file for the MAYBE_UNUSED function template.
Header file for the invert shim.
BoolConstant< true > TrueType
Type traits base class.The TrueType class is used as base class for type traits and value traits that...
Definition: IntegralConstant.h:132
#define BLAZE_STATIC_ASSERT_MSG(expr, msg)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:123
constexpr size_t columns(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of columns of the matrix.
Definition: Matrix.h:514
Base class for dense matrices.The DenseMatrix class is a base class for all dense matrix classes....
Definition: DenseMatrix.h:81
constexpr bool rowVector
Transpose flag for row vectors.
Definition: TransposeFlag.h:73
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the UnderlyingBuiltin type trait.
decltype(auto) sum(const DenseMatrix< MT, SO > &dm)
Reduces the given dense matrix by means of addition.
Definition: DMatReduceExpr.h:2147
Header file for the DenseMatrix base class.
decltype(auto) inv(const DenseMatrix< MT, SO > &dm)
Calculation of the inverse of the given dense matrix.
Definition: DMatInvExpr.h:423
constexpr void MAYBE_UNUSED(const Args &...)
Suppression of unused parameter warnings.
Definition: MaybeUnused.h:81
constexpr bool columnVector
Transpose flag for column vectors.
Definition: TransposeFlag.h:58
Header file for the exception macros of the math module.
decltype(auto) mean(const DenseMatrix< MT, SO > &dm)
Computes the (arithmetic) mean for the given dense matrix.
Definition: DMatMeanExpr.h:134
decltype(auto) var(const DenseMatrix< MT, SO > &dm)
Computes the variance for the given dense matrix.
Definition: DMatVarExpr.h:137
decltype(auto) expand(const DenseVector< VT, TF > &dv, size_t expansion)
Expansion of the given dense vector.
Definition: DVecExpandExpr.h:739
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:94
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:530
constexpr size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:498
constexpr size_t rowwise
Reduction flag for row-wise reduction operations.
Definition: ReductionFlag.h:70
Header file for the IntegralConstant class template.
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression,...
Definition: Assert.h:101
Header file for the reduction flags.
Header file for the function trace functionality.
decltype(auto) map(const DenseMatrix< MT1, SO > &lhs, const DenseMatrix< MT2, SO > &rhs, OP op)
Evaluates the given binary operation on each single element of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1121