ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template SimpleObservableEvaluator

alps::SimpleObservableEvaluator

Synopsis

// In header: <alps/alea/simpleobseval.h>

template<typename T> 
class SimpleObservableEvaluator : public alps::AbstractSimpleObservable< T > {
public:
  // types
  typedef T                                          value_type;      
  typedef change_value_type< T, double >::type       time_type;       
  typedef AbstractSimpleObservable< T >::result_type result_type;     
  typedef change_value_type< T, int >::type          convergence_type;
  typedef AbstractSimpleObservable< T >::label_type  label_type;      
  typedef uint64_t                                   count_type;      
  typedef SimpleObservableData< T >::covariance_type covariance_type; 

  enum @0 { version = = type_tag<T>::value + (6 << 16) };

  // construct/copy/destruct
  SimpleObservableEvaluator(const std::string & = "");
  SimpleObservableEvaluator(const char *);
  SimpleObservableEvaluator(const SimpleObservableEvaluator &);
  SimpleObservableEvaluator(const Observable &, const std::string &);
  SimpleObservableEvaluator(const Observable &);
  SimpleObservableEvaluator(const std::string &, std::istream &, 
                            const XMLTag &);
  const SimpleObservableEvaluator< T > & 
  operator=(const SimpleObservableEvaluator< T > &);
  const SimpleObservableEvaluator< T > & 
  operator=(const AbstractSimpleObservable< T > &);

  // public member functions
  virtual uint32_t version_id() const;
  SimpleObservableEvaluator< T > & 
  operator<<(const AbstractSimpleObservable< T > &);
  virtual void rename(const std::string &);
  void rename(const std::string &, bool);
  virtual ALPS_DUMMY_VOID reset(bool = false);
  virtual bool has_tau() const;
  virtual bool has_variance() const;
  result_type value() const;
  virtual result_type mean() const;
  virtual result_type variance() const;
  virtual result_type error() const;
  virtual convergence_type converged_errors() const;
  virtual time_type tau() const;
  covariance_type covariance(SimpleObservableEvaluator &) const;
  virtual count_type bin_number() const;
  virtual const value_type & bin_value(count_type) const;
  virtual count_type bin_number2() const;
  virtual const value_type & bin_value2(count_type) const;
  virtual count_type bin_size() const;
  virtual count_type count() const;
  const std::vector< value_type > & bins() const;
  virtual Observable * clone() const;
  uint32_t get_thermalization() const;
  bool can_set_thermalization() const;
  ALPS_DUMMY_VOID compact();
  SimpleObservableEvaluator< T > operator-() const;
  template<typename X> 
    const SimpleObservableEvaluator< T > & operator+=(const X &);
  template<typename X> 
    const SimpleObservableEvaluator< T > & operator-=(const X &);
  template<typename X> 
    const SimpleObservableEvaluator< T > & operator*=(const X &);
  template<typename X> 
    const SimpleObservableEvaluator< T > & operator/=(const X &);
  const SimpleObservableEvaluator< T > & 
  operator+=(const SimpleObservableEvaluator< T > &);
  const SimpleObservableEvaluator< T > & 
  operator-=(const SimpleObservableEvaluator< T > &);
  template<typename X> 
    const SimpleObservableEvaluator< T > & 
    operator*=(const SimpleObservableEvaluator< X > &);
  template<typename X> 
    const SimpleObservableEvaluator< T > & 
    operator/=(const SimpleObservableEvaluator< X > &);
  virtual ALPS_DUMMY_VOID output(std::ostream &) const;
  void output_scalar(std::ostream &) const;
  void output_vector(std::ostream &) const;
  template<typename S> 
    SimpleObservableEvaluator< typename element_type< T >::type > 
    slice(const S &, const std::string &) const;
  template<typename S> 
    SimpleObservableEvaluator< typename element_type< T >::type > 
    slice(const S &) const;
  void operator<<(const SimpleObservableData< T > &);
  template<typename OPV> 
    const SimpleObservableEvaluator< T > & transform(OPV, const std::string &);
  void extract_timeseries(ODump &) const;
  virtual void save(ODump &) const;
  virtual void load(IDump &);
  virtual void save(hdf5::archive &) const;
  virtual void load(hdf5::archive &);
  template<typename X> void add_to(const X &);
  template<typename X> void subtract_from(const X &);
  template<typename X> void divide(const X &);
  template<typename X> void multiply_to(const X &);
  virtual std::string evaluation_method(Target) const;
  virtual void merge(const Observable &);
  virtual bool can_merge() const;
  virtual bool can_merge(const Observable &) const;
  virtual Observable * convert_mergeable() const;
  virtual SimpleObservableEvaluator< value_type > make_evaluator() const;
};

Description

SimpleObservableEvaluator public construct/copy/destruct

  1. SimpleObservableEvaluator(const std::string & n = "");

    almost default constructor

  2. SimpleObservableEvaluator(const char * n);
  3. SimpleObservableEvaluator(const SimpleObservableEvaluator & eval);

    copy constructor

  4. SimpleObservableEvaluator(const Observable & obs, const std::string & n);

    constructor from an observable

  5. SimpleObservableEvaluator(const Observable & obs);
  6. SimpleObservableEvaluator(const std::string & n, std::istream &, 
                              const XMLTag &);
  7. const SimpleObservableEvaluator< T > & 
    operator=(const SimpleObservableEvaluator< T > & eval);

    needed for silcing: assign an observable, replacing all observables in the class

  8. const SimpleObservableEvaluator< T > & 
    operator=(const AbstractSimpleObservable< T > & obs);

SimpleObservableEvaluator public member functions

  1. virtual uint32_t version_id() const;
    return a version ID uniquely identifying the class
  2. SimpleObservableEvaluator< T > & 
    operator<<(const AbstractSimpleObservable< T > & obs);

    add an observable to the ones already in the class

  3. virtual void rename(const std::string &);
    rename the observable
  4. void rename(const std::string & n, bool a);
  5. virtual ALPS_DUMMY_VOID reset(bool equilibrated = false);

    reset the observable

  6. virtual bool has_tau() const;
    is autocorrelation information available ?
  7. virtual bool has_variance() const;
    is variance available ?
  8. result_type value() const;
  9. virtual result_type mean() const;
    the mean value
  10. virtual result_type variance() const;
    the variance
  11. virtual result_type error() const;
    the error
  12. virtual convergence_type converged_errors() const;
  13. virtual time_type tau() const;
    the autocorrelation time, throws an exception if not available
  14. covariance_type covariance(SimpleObservableEvaluator & obs2) const;
  15. virtual count_type bin_number() const;
    the number of bins
  16. virtual const value_type & bin_value(count_type) const;
    the value of a bin
  17. virtual count_type bin_number2() const;
    the number of bins with squared values
  18. virtual const value_type & bin_value2(count_type) const;
    the squared value of a bin
  19. virtual count_type bin_size() const;
    the number of measurements per bin
  20. virtual count_type count() const;
    the number of measurements
  21. const std::vector< value_type > & bins() const;
  22. virtual Observable * clone() const;

    clones the observable

  23. uint32_t get_thermalization() const;
  24. bool can_set_thermalization() const;
  25. ALPS_DUMMY_VOID compact();
  26. SimpleObservableEvaluator< T > operator-() const;
    negate
  27. template<typename X> 
      const SimpleObservableEvaluator< T > & operator+=(const X &);
    add a constant
  28. template<typename X> 
      const SimpleObservableEvaluator< T > & operator-=(const X &);
    subtract a constant
  29. template<typename X> 
      const SimpleObservableEvaluator< T > & operator*=(const X &);
    multiply with a constant
  30. template<typename X> 
      const SimpleObservableEvaluator< T > & operator/=(const X &);
    divide by a constant
  31. const SimpleObservableEvaluator< T > & 
    operator+=(const SimpleObservableEvaluator< T > &);
    add another observable
  32. const SimpleObservableEvaluator< T > & 
    operator-=(const SimpleObservableEvaluator< T > &);
    subtract another observable
  33. template<typename X> 
      const SimpleObservableEvaluator< T > & 
      operator*=(const SimpleObservableEvaluator< X > &);
    multiply by another observable
  34. template<typename X> 
      const SimpleObservableEvaluator< T > & 
      operator/=(const SimpleObservableEvaluator< X > &);
    divide by another observable
  35. virtual ALPS_DUMMY_VOID output(std::ostream &) const;

    output the result

  36. void output_scalar(std::ostream &) const;
  37. void output_vector(std::ostream &) const;
  38. template<typename S> 
      SimpleObservableEvaluator< typename element_type< T >::type > 
      slice(const S &, const std::string &) const;
  39. template<typename S> 
      SimpleObservableEvaluator< typename element_type< T >::type > 
      slice(const S &) const;
  40. void operator<<(const SimpleObservableData< T > & obs);
  41. template<typename OPV> 
      const SimpleObservableEvaluator< T > & 
      transform(OPV opv, const std::string &);
  42. void extract_timeseries(ODump & dump) const;
  43. virtual void save(ODump & dump) const;
  44. virtual void load(IDump & dump);
  45. virtual void save(hdf5::archive &) const;
  46. virtual void load(hdf5::archive &);
  47. template<typename X> void add_to(const X & x);
  48. template<typename X> void subtract_from(const X & x);
  49. template<typename X> void divide(const X & x);
  50. template<typename X> void multiply_to(const X & x);
  51. virtual std::string evaluation_method(Target t) const;
  52. virtual void merge(const Observable &);
  53. virtual bool can_merge() const;
    can this observable be merged with one of the same type
  54. virtual bool can_merge(const Observable &) const;
    can this observable be merged with one of the given type
  55. virtual Observable * convert_mergeable() const;
    create a copy of the observable that can be merged
  56. virtual SimpleObservableEvaluator< value_type > make_evaluator() const;
Copyright © 1994, 2002-2004, 2012 Matthias Troyer, Synge Todo, Maximilian Poprawe

PrevUpHomeNext