35#ifndef _BLAZE_MATH_EXPRESSIONS_SVECVAREXPR_H_
36#define _BLAZE_MATH_EXPRESSIONS_SVECVAREXPR_H_
74decltype(
auto) var_backend(
const SparseVector<VT,TF>& sv,
FalseType )
76 using BT = UnderlyingBuiltin_t<VT>;
78 const size_t n (
size( *sv ) );
84 const auto meanValue(
mean( *sv ) );
85 auto variance( ( n - nz ) *
pow2( meanValue ) );
87 const auto end( (*sv).end() );
88 for(
auto element=(*sv).begin(); element!=
end; ++element ) {
89 variance +=
pow2( element->value() - meanValue );
92 return variance *
inv( BT( n-1UL ) );
108decltype(
auto) var_backend(
const SparseVector<VT,TF>& sv,
TrueType )
114 return ElementType_t<VT>();
148 if( (*sv).size() < 2UL ) {
Header file for run time assertion macros.
Header file for the function trace functionality.
Header file for the IntegralConstant class template.
Header file for the invert shim.
Header file for the MAYBE_UNUSED function template.
Header file for the UnderlyingBuiltin type trait.
Base class for sparse vectors.
Definition: SparseVector.h:72
Header file for the SparseVector base class.
decltype(auto) mean(const DenseMatrix< MT, SO > &dm)
Computes the (arithmetic) mean for the given dense matrix.
Definition: DMatMeanExpr.h:134
decltype(auto) inv(const DenseMatrix< MT, SO > &dm)
Calculation of the inverse of the given dense matrix.
Definition: DMatInvExpr.h:405
decltype(auto) var(const DenseMatrix< MT, SO > &dm)
Computes the variance for the given dense matrix.
Definition: DMatVarExpr.h:138
size_t nonZeros(const Matrix< MT, SO > &matrix)
Returns the total number of non-zero elements in the matrix.
Definition: Matrix.h:730
decltype(auto) pow2(const Matrix< MT, SO > &m)
Computes the square for each single element of the matrix m.
Definition: Matrix.h:686
MT::Iterator end(Matrix< MT, SO > &matrix, size_t i)
Returns an iterator just past the last element of row/column i.
Definition: Matrix.h:584
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:676
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.
Definition: Assert.h:101
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
BoolConstant< false > FalseType
Type/value traits base class.
Definition: IntegralConstant.h:121
constexpr void MAYBE_UNUSED(const Args &...)
Suppression of unused parameter warnings.
Definition: MaybeUnused.h:81
#define BLAZE_THROW_INVALID_ARGUMENT(MESSAGE)
Macro for the emission of a std::invalid_argument exception.
Definition: Exception.h:235
#define BLAZE_FUNCTION_TRACE
Function trace macro.
Definition: FunctionTrace.h:94
Header file for the exception macros of the math module.
Header file for the pow2 shim.
Compile time check for zero vectors or matrices.
Definition: IsZero.h:109
Header file for the IsZero type trait.
Header file for basic type definitions.