ALPSCore reference
|
Set of accumulators and statistical pre-/post-processing operations. More...
Namespaces | |
internal | |
util | |
Enumerations | |
enum | verbosity { PRINT_TERSE, PRINT_VERBOSE, PRINT_DEBUG } |
Functions | |
template<typename T > | |
void | serialize (serializer &, const std::string &, const autocorr_result< T > &) |
template<typename T > | |
void | deserialize (deserializer &, const std::string &, autocorr_result< T > &) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &, const autocorr_result< T > &) |
template<typename T > | |
bool | operator== (const autocorr_result< T > &r1, const autocorr_result< T > &r2) |
template<typename T > | |
bool | operator!= (const autocorr_result< T > &r1, const autocorr_result< T > &r2) |
template<typename T > | |
void | serialize (serializer &, const std::string &, const batch_result< T > &) |
template<typename T > | |
void | deserialize (deserializer &, const std::string &, batch_result< T > &) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &, const batch_result< T > &) |
template<typename T > | |
bool | operator== (const batch_result< T > &r1, const batch_result< T > &r2) |
template<typename T > | |
bool | operator!= (const batch_result< T > &r1, const batch_result< T > &r2) |
template<typename Derived > | |
eigen_adapter< typename Derived::Scalar, Derived > | make_adapter (const Eigen::DenseBase< Derived > &in) |
template<typename T > | |
vector_adapter< T > | make_adapter (const std::vector< T > &v) |
template<typename T , size_t N> | |
array_adapter< T, N > | make_array_adapter (const std::array< T, N > &a) |
value_adapter< long > | make_adapter (size_t v) |
value_adapter< long > | make_adapter (long v) |
value_adapter< double > | make_adapter (double v) |
template<typename AccType > | |
std::enable_if< is_alea_acc< AccType >::value, AccType & >::type | operator<< (AccType &acc, const typename AccType::value_type &v) |
template<typename AccType , typename Derived > | |
std::enable_if< is_alea_acc< AccType >::value, AccType & >::type | operator<< (AccType &acc, const Eigen::DenseBase< Derived > &v) |
template<typename AccType > | |
std::enable_if< is_alea_acc< AccType >::value, AccType & >::type | operator<< (AccType &acc, const std::vector< typename AccType::value_type > &v) |
template<typename AccType , size_t N> | |
std::enable_if< is_alea_acc< AccType >::value, AccType & >::type | operator<< (AccType &acc, const std::array< typename AccType::value_type, N > &v) |
template<typename R1 , typename R2 , typename Result = typename internal::joined<R1, R2>::result_type> | |
Result | join (const R1 &first, const R2 &second) |
template<typename T , typename Str > | |
void | serialize (serializer &, const std::string &, const cov_result< T, Str > &) |
template<typename T , typename Str > | |
void | deserialize (deserializer &, const std::string &, cov_result< T, Str > &) |
template<typename T , typename Str > | |
std::ostream & | operator<< (std::ostream &, const cov_result< T, Str > &) |
template<typename T , typename Strategy > | |
bool | operator== (const cov_result< T, Strategy > &r1, const cov_result< T, Strategy > &r2) |
template<typename T , typename Strategy > | |
bool | operator!= (const cov_result< T, Strategy > &r1, const cov_result< T, Strategy > &r2) |
template<typename T > | |
void | serialize (serializer &, const std::string &, const mean_result< T > &) |
template<typename T > | |
void | deserialize (deserializer &, const std::string &, mean_result< T > &) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &, const mean_result< T > &) |
template<typename T > | |
bool | operator== (const mean_result< T > &r1, const mean_result< T > &r2) |
template<typename T > | |
bool | operator!= (const mean_result< T > &r1, const mean_result< T > &r2) |
template<typename Archive , typename T > | |
std::enable_if< is_alea_result< T >::value, void >::type | save (Archive &ar, const T &r, const unsigned int) |
template<typename Archive , typename T > | |
std::enable_if< is_alea_result< T >::value, void >::type | load (Archive &ar, T &r, const unsigned int) |
template<typename Archive , typename T > | |
void | serialize (Archive &ar, complex_op< T > &co, const unsigned int) |
template<typename T > | |
eigen< T >::matrix | jacobian (const transformer< T > &f, column< T > x, double dx) |
template<typename T > | |
batch_data< T > | jackknife (const batch_data< T > &in, const transformer< T > &tf) |
void | serialize (serializer &, const std::string &, const result &) |
void | serialize (serializer &ser, const std::string &key, unsigned long value) |
void | serialize (serializer &ser, const std::string &key, long value) |
void | serialize (serializer &ser, const std::string &key, double value) |
void | serialize (serializer &ser, const std::string &key, std::complex< double > value) |
template<typename Derived > | |
void | serialize (serializer &ser, const std::string &key, const Eigen::MatrixBase< Derived > &value) |
void | deserialize (deserializer &ser, const std::string &key, unsigned long &value) |
void | deserialize (deserializer &ser, const std::string &key, long &value) |
void | deserialize (deserializer &ser, const std::string &key, double &value) |
void | deserialize (deserializer &ser, const std::string &key, std::complex< double > &value) |
template<typename T > | |
void | deserialize (deserializer &ser, const std::string &key, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &value) |
template<typename T > | |
void | deserialize (deserializer &ser, const std::string &key, Eigen::Matrix< T, Eigen::Dynamic, 1 > &value) |
template<typename T > | |
void | deserialize (deserializer &ser, const std::string &key, Eigen::Matrix< T, 1, Eigen::Dynamic > &value) |
template<typename T , typename InResult > | |
mean_result< T > | transform (no_prop, const transformer< T > &tf, const InResult &in) |
template<typename T , typename InResult > | |
std::enable_if< traits< InResult >::HAVE_COV, cov_result< T > >::type | transform (linear_prop p, const transformer< T > &tf, const InResult &in) |
template<typename T , typename InResult > | |
std::enable_if<!traits< InResult >::HAVE_COV, cov_result< T > >::type | transform (linear_prop p, const transformer< T > &tf, const InResult &in) |
template<typename T > | |
batch_result< T > | transform (jackknife_prop, const transformer< T > &tf, const batch_result< T > &in) |
template batch_result< double > | transform (jackknife_prop, const transformer< double > &, const batch_result< double > &) |
template<typename T > | |
scalar_unary_transformer< T > | make_transformer (std::function< T(T)> fn) |
template<typename T > | |
scalar_binary_transformer< T > | make_transformer (std::function< T(T, T)> fn) |
std::ostream & | operator<< (std::ostream &stream, verbosity verb) |
template<typename T , typename Str > | |
void | serialize (serializer &, const std::string &, const var_result< T, Str > &) |
template<typename T , typename Str > | |
void | deserialize (deserializer &, const std::string &, var_result< T, Str > &) |
template<typename T , typename Str > | |
std::ostream & | operator<< (std::ostream &, const var_result< T, Str > &) |
template<typename T , typename Strategy > | |
bool | operator== (const var_result< T, Strategy > &r1, const var_result< T, Strategy > &r2) |
template<typename T , typename Strategy > | |
bool | operator!= (const var_result< T, Strategy > &r1, const var_result< T, Strategy > &r2) |
template bool | operator== (const autocorr_result< double > &r1, const autocorr_result< double > &r2) |
template bool | operator== (const autocorr_result< std::complex< double >> &r1, const autocorr_result< std::complex< double >> &r2) |
template void | serialize (serializer &, const std::string &key, const autocorr_result< double > &) |
template void | serialize (serializer &, const std::string &key, const autocorr_result< std::complex< double >> &) |
template void | deserialize (deserializer &, const std::string &key, autocorr_result< double > &) |
template void | deserialize (deserializer &, const std::string &key, autocorr_result< std::complex< double > > &) |
template std::ostream & | operator<< (std::ostream &, const autocorr_result< double > &) |
template std::ostream & | operator<< (std::ostream &, const autocorr_result< std::complex< double >> &) |
template bool | operator== (const batch_result< double > &r1, const batch_result< double > &r2) |
template bool | operator== (const batch_result< std::complex< double >> &r1, const batch_result< std::complex< double >> &r2) |
template void | serialize (serializer &, const std::string &key, const batch_result< double > &) |
template void | serialize (serializer &, const std::string &key, const batch_result< std::complex< double >> &) |
template void | deserialize (deserializer &, const std::string &key, batch_result< double > &) |
template void | deserialize (deserializer &, const std::string &key, batch_result< std::complex< double > > &) |
template std::ostream & | operator<< (std::ostream &, const batch_result< double > &) |
template std::ostream & | operator<< (std::ostream &, const batch_result< std::complex< double >> &) |
template bool | operator== (const cov_result< double > &r1, const cov_result< double > &r2) |
template bool | operator== (const cov_result< std::complex< double >, circular_var > &r1, const cov_result< std::complex< double >, circular_var > &r2) |
template bool | operator== (const cov_result< std::complex< double >, elliptic_var > &r1, const cov_result< std::complex< double >, elliptic_var > &r2) |
template void | serialize (serializer &, const std::string &key, const cov_result< double, circular_var > &) |
template void | serialize (serializer &, const std::string &key, const cov_result< std::complex< double >, circular_var > &) |
template void | serialize (serializer &, const std::string &key, const cov_result< std::complex< double >, elliptic_var > &) |
template void | deserialize (deserializer &, const std::string &key, cov_result< double, circular_var > &) |
template void | deserialize (deserializer &, const std::string &key, cov_result< std::complex< double >, circular_var > &) |
template void | deserialize (deserializer &, const std::string &key, cov_result< std::complex< double >, elliptic_var > &) |
template std::ostream & | operator<< (std::ostream &, const cov_result< double, circular_var > &) |
template std::ostream & | operator<< (std::ostream &, const cov_result< std::complex< double >, circular_var > &) |
template std::ostream & | operator<< (std::ostream &, const cov_result< std::complex< double >, elliptic_var > &) |
template bool | operator== (const mean_result< double > &r1, const mean_result< double > &r2) |
template bool | operator== (const mean_result< std::complex< double >> &r1, const mean_result< std::complex< double >> &r2) |
template void | serialize (serializer &, const std::string &, const mean_result< double > &) |
template void | serialize (serializer &, const std::string &, const mean_result< std::complex< double > > &) |
template void | deserialize (deserializer &, const std::string &, mean_result< double > &) |
template void | deserialize (deserializer &, const std::string &, mean_result< std::complex< double > > &) |
template std::ostream & | operator<< (std::ostream &, const mean_result< double > &) |
template std::ostream & | operator<< (std::ostream &, const mean_result< std::complex< double >> &) |
template eigen< double >::matrix | jacobian (const transformer< double > &, column< double >, double) |
template eigen< std::complex< double > >::matrix | jacobian (const transformer< std::complex< double > > &, column< std::complex< double > >, double) |
template batch_data< double > | jackknife (const batch_data< double > &in, const transformer< double > &tf) |
template batch_data< std::complex< double > > | jackknife (const batch_data< std::complex< double > > &in, const transformer< std::complex< double > > &tf) |
template column< std::complex< double > > | result::mean< std::complex< double > > () const |
template column< double > | result::var< std::complex< double >, circular_var > () const |
template column< complex_op< double > > | result::var< std::complex< double >, elliptic_var > () const |
template eigen< std::complex< double > >::matrix | result::cov< std::complex< double >, circular_var > () const |
template eigen< complex_op< double > >::matrix | result::cov< std::complex< double >, elliptic_var > () const |
template bool | operator== (const var_result< double > &r1, const var_result< double > &r2) |
template bool | operator== (const var_result< std::complex< double >, circular_var > &r1, const var_result< std::complex< double >, circular_var > &r2) |
template bool | operator== (const var_result< std::complex< double >, elliptic_var > &r1, const var_result< std::complex< double >, elliptic_var > &r2) |
template void | serialize (serializer &, const std::string &key, const var_result< double, circular_var > &) |
template void | serialize (serializer &, const std::string &key, const var_result< std::complex< double >, circular_var > &) |
template void | serialize (serializer &, const std::string &key, const var_result< std::complex< double >, elliptic_var > &) |
template void | deserialize (deserializer &, const std::string &key, var_result< double, circular_var > &) |
template void | deserialize (deserializer &, const std::string &key, var_result< std::complex< double >, circular_var > &) |
template void | deserialize (deserializer &, const std::string &key, var_result< std::complex< double >, elliptic_var > &) |
template std::ostream & | operator<< (std::ostream &, const var_result< double, circular_var > &) |
template std::ostream & | operator<< (std::ostream &, const var_result< std::complex< double >, circular_var > &) |
template std::ostream & | operator<< (std::ostream &, const var_result< std::complex< double >, elliptic_var > &) |
Set of accumulators and statistical pre-/post-processing operations.
alps::alea
defines a number of accumulators, which differ in the stored statistical estimates and associated runtime and memory cost:
Accumulator | Runtime | Memory | mean | var | cov | tau |
---|---|---|---|---|---|---|
mean_acc | N | k | X | |||
var_acc | N | k | X | X | ||
cov_acc | N | k | X | X | X | |
autocorr_acc | a N | k log(N) | X | X | X | X |
batch_acc | a N | k b | X | X | X | (X) |
where in the complexity we defined the following terms:
N
: number of samples or calls to operator<<
, i.e., final count()
k
: components of the result vector, i.e., size()
b
: number of batches, i.e., num_batches()
a
: granularity factor (usually 2)and the following statistcal estimates:
mean
: sample meancount
: number of samples (whenever mean
is available)var
: bias-corrected sample variancestderror
: standard error of the mean (whenever var
is available)cov
: bias-corrected sample variance–covariance matrixtau
: integrated autocorrelation timeMost accumulators (mean_acc
) have a matching result class (mean_result
). Accumulators and results differ conceptually and thus have almost orthogonal functionality:
To obtain a result from an accumulator, the accumulators provide both a result()
and a finalize()
method, where
result()
method creates an intermediate result, which leaves the accumulator untouched and thus must involve a copy of the data, whilefinalize()
method invalidates the accumulator and thus allows to repurpose its data as the simulation result. The reset()
method then re-creates an empty accumulator with the same size.This can be represented by the following finite state machine:
c'tor _______________ ------->| | result, << << | empty | +-------+ +-----|_______________| | | | | | | __V_______V____ reset | | reset ________________ | | |--->---+ +---<---| | +----| accumulating | | invalid | |_______________|---------------->|________________| finalize
Transformations on results can be mediated using the transform
method, which takes a transformer
instance. Schematically:
OutResult transform(PropagationStrategy str, Transformer t, InResult in);
Care has to be taken to correctly propagate the uncertainties. alps::alea
provides the following strategies, which differ in demand on the results, complexity, and quality of bias correction:
Strategy | Prior | Bias | Requires | Invoc. |
---|---|---|---|---|
no_prop | any | - | mean() | 1 |
linear_prop | Gauss | 1 | var() | k |
sampling_prop | Gauss | 1/S | var() | S |
jackknife_prop | any | 1/b | batch() | b |
bootstrap_prop | any | 1/S | batch() | S |
Transformations must have one argument; functions of multiple random variables (X,Y) can be realized by grouping the arguments together using alps::alea::join
and then applying the transform on the combined result.
All estimators support reduction (averaging over elements) through the reduce()
method, which takes the abstract alps::alea::reducer
interface. Depending on the implementation of the reducer, the reduction is performed over different instances (threads, processes, etc.) using MPI, OpenMP, shell etc.
Similarly, all estimators support serialization (converting to permanent format) though the serialize()
method, which takes the abstract alps::alea::serializer
interface.
void alps::alea::deserialize | ( | deserializer & | s, |
const std::string & | key, | ||
mean_result< T > & | self | ||
) |
void alps::alea::deserialize | ( | deserializer & | s, |
const std::string & | key, | ||
autocorr_result< T > & | self | ||
) |
Convert result to a permanent format (write to disk etc.)
Definition at line 262 of file autocorr.cpp.
void alps::alea::deserialize | ( | deserializer & | s, |
const std::string & | key, | ||
batch_result< T > & | self | ||
) |
void alps::alea::deserialize | ( | deserializer & | s, |
const std::string & | key, | ||
cov_result< T, Str > & | self | ||
) |
Definition at line 289 of file covariance.cpp.
void alps::alea::deserialize | ( | deserializer & | s, |
const std::string & | key, | ||
var_result< T, Str > & | self | ||
) |
Definition at line 294 of file variance.cpp.
|
inline |
Definition at line 140 of file serialize.hpp.
|
inline |
Definition at line 143 of file serialize.hpp.
|
inline |
Definition at line 146 of file serialize.hpp.
|
inline |
Definition at line 149 of file serialize.hpp.
void alps::alea::deserialize | ( | deserializer & | ser, |
const std::string & | key, | ||
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | value | ||
) |
Definition at line 155 of file serialize.hpp.
void alps::alea::deserialize | ( | deserializer & | ser, |
const std::string & | key, | ||
Eigen::Matrix< T, Eigen::Dynamic, 1 > & | value | ||
) |
Definition at line 163 of file serialize.hpp.
void alps::alea::deserialize | ( | deserializer & | ser, |
const std::string & | key, | ||
Eigen::Matrix< T, 1, Eigen::Dynamic > & | value | ||
) |
Definition at line 171 of file serialize.hpp.
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | , | ||
mean_result< double > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | , | ||
mean_result< std::complex< double > > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
autocorr_result< double > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
autocorr_result< std::complex< double > > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
cov_result< double, circular_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
cov_result< std::complex< double >, circular_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
cov_result< std::complex< double >, elliptic_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
var_result< double, circular_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
var_result< std::complex< double >, circular_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
var_result< std::complex< double >, elliptic_var > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
batch_result< double > & | |||
) |
template void alps::alea::deserialize | ( | deserializer & | , |
const std::string & | key, | ||
batch_result< std::complex< double > > & | |||
) |
template batch_data<double> alps::alea::jackknife | ( | const batch_data< double > & | in, |
const transformer< double > & | tf | ||
) |
template batch_data<std::complex<double> > alps::alea::jackknife | ( | const batch_data< std::complex< double > > & | in, |
const transformer< std::complex< double > > & | tf | ||
) |
batch_data< T > alps::alea::jackknife | ( | const batch_data< T > & | in, |
const transformer< T > & | tf | ||
) |
Perform Jackknife transformation to pseudovalues
Definition at line 37 of file propagation.cpp.
template eigen<double>::matrix alps::alea::jacobian | ( | const transformer< double > & | , |
column< double > | , | ||
double | |||
) |
template eigen< std::complex<double> >::matrix alps::alea::jacobian | ( | const transformer< std::complex< double > > & | , |
column< std::complex< double > > | , | ||
double | |||
) |
eigen< T >::matrix alps::alea::jacobian | ( | const transformer< T > & | f, |
column< T > | x, | ||
double | dx | ||
) |
Given a function f
, estimate its Jacobian J[i,j] = df[i]/dx[j]
.
Estimate the Jacobian of a transformation f
at the point x
by forward differences:
J[i,j] ~= (f(x + dx e[j]) - f(x))[i] / dx;
where e[j]
denotes the j
-th unit vector. This procedure is exact for linear transformations and biased otherwise.
Definition at line 13 of file propagation.cpp.
Result alps::alea::join | ( | const R1 & | first, |
const R2 & | second | ||
) |
Joins two statistical results together, assuming their mutual independence.
Returns a result of the random vector which is the concatenation of the random vectors corresponding to the arguments first
, second
, i.e., of size first.size() + second.size()
. Assumes that first
and second
are uncorrelated (their covariance is zero).
One can combine results of different type; in this case, Result
is inferred in such a way that as much information as possible is preserved from the constituent accumulators.
Definition at line 44 of file convert.hpp.
std::enable_if<is_alea_result<T>::value, void>::type alps::alea::load | ( | Archive & | ar, |
T & | r, | ||
const unsigned | int | ||
) |
This method will be called by Boost/HPX Serialization libraries when deserialization of an ALEA result type is requested.
Definition at line 169 of file stream_serializer.hpp.
eigen_adapter<typename Derived::Scalar, Derived> alps::alea::make_adapter | ( | const Eigen::DenseBase< Derived > & | in | ) |
Definition at line 34 of file computed.hpp.
vector_adapter<T> alps::alea::make_adapter | ( | const std::vector< T > & | v | ) |
Definition at line 41 of file computed.hpp.
|
inline |
Definition at line 76 of file computed.hpp.
|
inline |
Definition at line 81 of file computed.hpp.
|
inline |
Definition at line 86 of file computed.hpp.
array_adapter<T,N> alps::alea::make_array_adapter | ( | const std::array< T, N > & | a | ) |
Definition at line 47 of file computed.hpp.
scalar_unary_transformer<T> alps::alea::make_transformer | ( | std::function< T(T)> | fn | ) |
Definition at line 28 of file transformer.hpp.
scalar_binary_transformer<T> alps::alea::make_transformer | ( | std::function< T(T, T)> | fn | ) |
Definition at line 34 of file transformer.hpp.
bool alps::alea::operator!= | ( | const autocorr_result< T > & | r1, |
const autocorr_result< T > & | r2 | ||
) |
Definition at line 220 of file autocorr.hpp.
bool alps::alea::operator!= | ( | const mean_result< T > & | r1, |
const mean_result< T > & | r2 | ||
) |
bool alps::alea::operator!= | ( | const batch_result< T > & | r1, |
const batch_result< T > & | r2 | ||
) |
bool alps::alea::operator!= | ( | const var_result< T, Strategy > & | r1, |
const var_result< T, Strategy > & | r2 | ||
) |
Definition at line 283 of file variance.hpp.
bool alps::alea::operator!= | ( | const cov_result< T, Strategy > & | r1, |
const cov_result< T, Strategy > & | r2 | ||
) |
Definition at line 289 of file covariance.hpp.
std::ostream & alps::alea::operator<< | ( | std::ostream & | str, |
const mean_result< T > & | self | ||
) |
std::ostream & alps::alea::operator<< | ( | std::ostream & | str, |
const autocorr_result< T > & | self | ||
) |
Write some info about the result to a stream
Definition at line 293 of file autocorr.cpp.
std::ostream & alps::alea::operator<< | ( | std::ostream & | str, |
const batch_result< T > & | self | ||
) |
std::ostream & alps::alea::operator<< | ( | std::ostream & | str, |
const cov_result< T, Str > & | self | ||
) |
Definition at line 320 of file covariance.cpp.
std::ostream & alps::alea::operator<< | ( | std::ostream & | str, |
const var_result< T, Str > & | self | ||
) |
Definition at line 325 of file variance.cpp.
std::ostream & alps::alea::operator<< | ( | std::ostream & | stream, |
verbosity | verb | ||
) |
std::enable_if<is_alea_acc<AccType>::value, AccType&>::type alps::alea::operator<< | ( | AccType & | acc, |
const typename AccType::value_type & | v | ||
) |
Add scalar value to accumulator
Definition at line 213 of file computed.hpp.
std::enable_if<is_alea_acc<AccType>::value, AccType&>::type alps::alea::operator<< | ( | AccType & | acc, |
const Eigen::DenseBase< Derived > & | v | ||
) |
Add Eigen vector-valued expression to accumulator
Definition at line 220 of file computed.hpp.
std::enable_if<is_alea_acc<AccType>::value, AccType&>::type alps::alea::operator<< | ( | AccType & | acc, |
const std::vector< typename AccType::value_type > & | v | ||
) |
Add std::vector
to accumulator
Definition at line 227 of file computed.hpp.
std::enable_if<is_alea_acc<AccType>::value, AccType&>::type alps::alea::operator<< | ( | AccType & | acc, |
const std::array< typename AccType::value_type, N > & | v | ||
) |
Add std::array
to accumulator
Definition at line 234 of file computed.hpp.
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const mean_result< double > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const mean_result< std::complex< double >> & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const autocorr_result< double > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const autocorr_result< std::complex< double >> & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const cov_result< double, circular_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const cov_result< std::complex< double >, circular_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const cov_result< std::complex< double >, elliptic_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const var_result< double, circular_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const var_result< std::complex< double >, circular_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const var_result< std::complex< double >, elliptic_var > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const batch_result< double > & | |||
) |
template std::ostream& alps::alea::operator<< | ( | std::ostream & | , |
const batch_result< std::complex< double >> & | |||
) |
template bool alps::alea::operator== | ( | const autocorr_result< double > & | r1, |
const autocorr_result< double > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const autocorr_result< std::complex< double >> & | r1, |
const autocorr_result< std::complex< double >> & | r2 | ||
) |
template bool alps::alea::operator== | ( | const mean_result< double > & | r1, |
const mean_result< double > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const mean_result< std::complex< double >> & | r1, |
const mean_result< std::complex< double >> & | r2 | ||
) |
bool alps::alea::operator== | ( | const autocorr_result< T > & | r1, |
const autocorr_result< T > & | r2 | ||
) |
Check if two results are identical
Definition at line 136 of file autocorr.cpp.
template bool alps::alea::operator== | ( | const batch_result< double > & | r1, |
const batch_result< double > & | r2 | ||
) |
bool alps::alea::operator== | ( | const mean_result< T > & | r1, |
const mean_result< T > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const batch_result< std::complex< double >> & | r1, |
const batch_result< std::complex< double >> & | r2 | ||
) |
template bool alps::alea::operator== | ( | const cov_result< double > & | r1, |
const cov_result< double > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const cov_result< std::complex< double >, circular_var > & | r1, |
const cov_result< std::complex< double >, circular_var > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const cov_result< std::complex< double >, elliptic_var > & | r1, |
const cov_result< std::complex< double >, elliptic_var > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const var_result< double > & | r1, |
const var_result< double > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const var_result< std::complex< double >, circular_var > & | r1, |
const var_result< std::complex< double >, circular_var > & | r2 | ||
) |
template bool alps::alea::operator== | ( | const var_result< std::complex< double >, elliptic_var > & | r1, |
const var_result< std::complex< double >, elliptic_var > & | r2 | ||
) |
bool alps::alea::operator== | ( | const batch_result< T > & | r1, |
const batch_result< T > & | r2 | ||
) |
bool alps::alea::operator== | ( | const var_result< T, Strategy > & | r1, |
const var_result< T, Strategy > & | r2 | ||
) |
Check if two results are identical
Definition at line 225 of file variance.cpp.
bool alps::alea::operator== | ( | const cov_result< T, Strategy > & | r1, |
const cov_result< T, Strategy > & | r2 | ||
) |
Check if two results are identical
Definition at line 219 of file covariance.cpp.
template eigen<std::complex<double> >::matrix alps::alea::result::cov< std::complex< double >, circular_var > | ( | ) | const |
template eigen<complex_op<double> >::matrix alps::alea::result::cov< std::complex< double >, elliptic_var > | ( | ) | const |
template column<std::complex<double> > alps::alea::result::mean< std::complex< double > > | ( | ) | const |
template column<double> alps::alea::result::var< std::complex< double >, circular_var > | ( | ) | const |
template column<complex_op<double> > alps::alea::result::var< std::complex< double >, elliptic_var > | ( | ) | const |
std::enable_if<is_alea_result<T>::value, void>::type alps::alea::save | ( | Archive & | ar, |
const T & | r, | ||
const unsigned | int | ||
) |
This method will be called by Boost/HPX Serialization libraries when serialization of an ALEA result type is requested.
Definition at line 158 of file stream_serializer.hpp.
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const result & | result | ||
) |
Convert result to a permanent format (write to disk etc.)
Definition at line 168 of file result.cpp.
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const mean_result< T > & | self | ||
) |
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const autocorr_result< T > & | self | ||
) |
Convert result to a permanent format (write to disk etc.)
Definition at line 243 of file autocorr.cpp.
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const batch_result< T > & | self | ||
) |
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const cov_result< T, Str > & | self | ||
) |
Definition at line 273 of file covariance.cpp.
void alps::alea::serialize | ( | serializer & | s, |
const std::string & | key, | ||
const var_result< T, Str > & | self | ||
) |
Definition at line 278 of file variance.cpp.
|
inline |
Definition at line 91 of file serialize.hpp.
|
inline |
Definition at line 94 of file serialize.hpp.
|
inline |
Definition at line 97 of file serialize.hpp.
|
inline |
Definition at line 100 of file serialize.hpp.
void alps::alea::serialize | ( | serializer & | ser, |
const std::string & | key, | ||
const Eigen::MatrixBase< Derived > & | value | ||
) |
Definition at line 106 of file serialize.hpp.
void alps::alea::serialize | ( | Archive & | ar, |
complex_op< T > & | co, | ||
const unsigned | int | ||
) |
Serialize/deserialize alps::alea::complex_op<T>. Called by Boost/HPX Serialization libraries.
Definition at line 179 of file stream_serializer.hpp.
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | , | ||
const mean_result< double > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | , | ||
const mean_result< std::complex< double > > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const autocorr_result< double > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const autocorr_result< std::complex< double >> & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const cov_result< double, circular_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const cov_result< std::complex< double >, circular_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const cov_result< std::complex< double >, elliptic_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const var_result< double, circular_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const var_result< std::complex< double >, circular_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const var_result< std::complex< double >, elliptic_var > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const batch_result< double > & | |||
) |
template void alps::alea::serialize | ( | serializer & | , |
const std::string & | key, | ||
const batch_result< std::complex< double >> & | |||
) |
mean_result<T> alps::alea::transform | ( | no_prop | , |
const transformer< T > & | tf, | ||
const InResult & | in | ||
) |
Definition at line 27 of file transform.hpp.
std::enable_if<traits<InResult>::HAVE_COV, cov_result<T> >::type alps::alea::transform | ( | linear_prop | p, |
const transformer< T > & | tf, | ||
const InResult & | in | ||
) |
Definition at line 45 of file transform.hpp.
std::enable_if<!traits<InResult>::HAVE_COV, cov_result<T> >::type alps::alea::transform | ( | linear_prop | p, |
const transformer< T > & | tf, | ||
const InResult & | in | ||
) |
Definition at line 73 of file transform.hpp.
batch_result<T> alps::alea::transform | ( | jackknife_prop | , |
const transformer< T > & | tf, | ||
const batch_result< T > & | in | ||
) |
Definition at line 101 of file transform.hpp.
template batch_result<double> alps::alea::transform | ( | jackknife_prop | , |
const transformer< double > & | , | ||
const batch_result< double > & | |||
) |