template <class T>
class blitz::Statistics

Estimates sample mean and variance without overflows.

  • Uses Welford algorithm [15].

Methods
  • clear() -> void
  • update(T x) -> void
  • variance() const -> T
  • unbiased_variance() const -> T
  • population_variance() const -> T
  • variance(T addon) const -> T
  • mean() const -> const T &
  • count() const -> int
Friends
  • operator<<
template <class T, int N, int M>
operator>>(vtb::core::bstream & in, blitz::TinyMatrix< T, N, M > & rhs) -> vtb::core::bstream &
template <class T, int N>
slice(const blitz::TinyVector< T, N > & x, int i, int j, int k, int l) -> blitz::TinyVector< T, 4 >
BZ_DECLARE_FUNCTION(is_power_of_two)
BZ_DECLARE_FUNCTION(next_power_of_two)
next_power_of_two(int n) -> int
template <class T>
sum_of_squares(const blitz::TinyVector< T, 2 > & x) -> T
BZ_DECLARE_FUNCTION(isfinite)
template <class T, int N>
real(const Array< T, N > & x) -> const Array< T, N > &
isfinite(float rhs) -> bool
template <class T, int N, int M>
product(const TinyMatrix< T, N, M > & lhs, const TinyVector< T, M > & rhs) -> TinyVector< T, N >
template <class T, int N, int M>
operator<<(vtb::core::bstream & out, const blitz::TinyMatrix< T, N, M > & rhs) -> vtb::core::bstream &
template <class T, int N, int M, int K>
product(const TinyMatrix< T, N, K > & lhs, const TinyMatrix< T, K, M > & rhs) -> TinyMatrix< T, N, M >
template <class T, int N, class ... Args>
product(TinyVector< T, N > v, const Args &... matrices) -> TinyVector< T, N >
template <class T>
length(const blitz::TinyVector< T, 1 > & x) -> T
template <class T, int N, class ... Args>
tie(TinyVector< T, N > & head, Args &... tail) -> bits::Tie< T, N, sizeof...(Args)+1 >
template <class T, int N>
identity_matrix() -> blitz::TinyMatrix< T, N, N >
template <class T, int N, int M>
operator*(const TinyMatrix< T, N, M > & lhs, const TinyVector< T, M > & rhs) -> blitz::TinyVector< T, N >
template <class T>
sum_of_squares(const blitz::TinyVector< T, 3 > & x) -> T
template <class T, int N, int M>
flatten(const TinyVector< T, N > x) -> TinyVector< T, N *M >
template <class T, int N>
operator>>(vtb::core::bstream & in, blitz::Array< T, N > & rhs) -> vtb::core::bstream &
template <class T>
cross(const TinyVector< T, 2 > & a, const TinyVector< T, 2 > & b) -> TinyVector< T, 1 >

Two-dimensional cross product.

template <class T>
sum_of_squares(const blitz::TinyVector< T, 4 > & x) -> T
BZ_DECLARE_FUNCTION(radians_to_degrees)
isfinite(double rhs) -> bool
template <class T, int N>
puncture(const TinyVector< T, N > & v, int j) -> TinyVector< T, N-1 >

Remove j dimension of vector v.

template <class T, int N>
statistics(const Array< T, N > & rhs) -> Statistics< T >

Estimate sample mean and variance.

  • Uses Welford algorithm [15].

div_ceil(int lhs, int rhs) -> int
radians_to_degrees(float x) -> float
template <class T, int N>
max_vector(Array< blitz::TinyVector< T, N >, 1 > x) -> blitz::TinyVector< T, N >
template <class T, int N>
transpose(TinyMatrix< T, N, N > & m) -> void
template <class T, int N>
operator<<(vtb::core::bstream & out, const blitz::Array< T, N > & rhs) -> vtb::core::bstream &
template <class T, int N>
length(const blitz::TinyVector< T, N > & x) -> T

Computes vector length without overflow.

radians_to_degrees(double x) -> double
template <int N>
empty(const RectDomain< N > & rect) -> bool
template <class T, int N, int M>
minmax(Array< TinyVector< T, N >, M > x) -> MinMaxValue< TinyVector< T, N > >
template <class T, int N>
length_squared(const blitz::TinyVector< T, N > & x) -> T
is_power_of_two(int n) -> int
template <class T, int N>
const_matrix(const std::array< T, N *N > & rhs) -> blitz::TinyMatrix< T, N, N >
template <class T, int N>
restore(const TinyVector< T, N > & v, int j) -> TinyVector< T, N+1 >

Add dimension j to vector v.

BZ_DECLARE_FUNCTION2(div_ceil)
template <class T>
clamp(T x, T x_min, T x_max) -> T
template <class T, int N>
slice(const blitz::TinyVector< T, N > & x, int i, int j) -> blitz::TinyVector< T, 2 >
template <class T, int N>
min_vector(Array< blitz::TinyVector< T, N >, 1 > x) -> blitz::TinyVector< T, N >
template <class T, int N>
zero(blitz::TinyVector< T, N >) -> blitz::TinyVector< T, N >
template <class T, int N>
operator<<(vtb::core::bstream & out, const blitz::TinyVector< T, N > & rhs) -> vtb::core::bstream &
template <class T, int N, int M, int K>
operator*(const TinyMatrix< T, N, K > & lhs, const TinyMatrix< T, K, M > & rhs) -> TinyMatrix< T, N, M >
template <class T, int N>
slice(const blitz::TinyVector< T, N > & x, int i) -> blitz::TinyVector< T, 1 >
template <class T, int N>
const_vector(T value) -> blitz::TinyVector< T, N >
template <class T, int N, class ... Args>
flatten(const TinyVector< T, N > & head, const Args &... tail) -> TinyVector< T, N *(sizeof...(Args)+1)>
template <class T, int N>
clamp(const blitz::TinyVector< T, N > & x, const blitz::TinyVector< T, N > & x_min, const blitz::TinyVector< T, N > & x_max) -> blitz::TinyVector< T, N >
template <class T, int N>
sum_of_squares(const blitz::TinyVector< T, N > & x) -> T
template <class T, int N>
variance(const Array< T, N > & rhs) -> T

Sample variance.

template <class T, int N>
slice(const blitz::TinyVector< T, N > & x, int i, int j, int k) -> blitz::TinyVector< T, 3 >
template <class T, int N>
operator>>(vtb::core::bstream & in, blitz::TinyVector< T, N > & rhs) -> vtb::core::bstream &
template <class T, int N>
near(const blitz::TinyVector< T, N > & lhs, const T rhs, const T eps) -> bool
template <class T, int N>
distance(const blitz::TinyVector< T, N > & v1, const blitz::TinyVector< T, N > & v2) -> T
template <class T, int N, int M>
operator+(const TinyMatrix< T, N, M > & lhs, const TinyMatrix< T, N, M > & rhs) -> TinyMatrix< T, N, M >
template <class T, int N>
one(blitz::TinyVector< T, N >) -> blitz::TinyVector< T, N >
template <class T, int N>
near(const blitz::TinyVector< T, N > & lhs, const blitz::TinyVector< T, N > & rhs, const T eps) -> bool
template <class T>
length(const blitz::TinyVector< T, 2 > & x) -> T

Computes vector length without overflow.