ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template bloch_basis_states

alps::bloch_basis_states

Synopsis

// In header: <alps/model/blochbasisstates.h>

template<typename I, typename S = std::vector<I>, 
         typename SS = site_state<I> > 
class bloch_basis_states : public std::vector< S > {
public:
  // types
  typedef super_type::const_iterator                                                     const_iterator;  
  typedef S                                                                              value_type;      
  typedef super_type::size_type                                                          size_type;       
  typedef basis_states_descriptor< I, SS >                                               basis_type;      
  typedef std::vector< std::pair< std::complex< double >, std::vector< std::size_t > > > translation_type;

  // construct/copy/destruct
  bloch_basis_states();
  template<typename J> 
    bloch_basis_states(const basis_states_descriptor< I, SS > &, 
                       const translation_type &, 
                       const std::vector< std::pair< std::string, half_integer< J > > > &);
  bloch_basis_states(const basis_states_descriptor< I, SS > &, 
                     const translation_type &);

  // public member functions
  std::pair< std::size_t, std::complex< double > > 
  index_and_phase(const value_type &) const;
  const basis_type & basis() const;
  double normalization(size_type) const;
  bool is_real() const;
  std::vector< S > & full_list();

  // private member functions
  template<typename J> 
    bool satisfies_quantumnumbers(const std::vector< I > &, 
                                  const std::pair< std::string, half_integer< J > > &);
  template<typename J> 
    void build(const translation_type &, 
               const std::vector< std::pair< std::string, half_integer< J > > > &);
};

Description

bloch_basis_states public construct/copy/destruct

  1. bloch_basis_states();
  2. template<typename J> 
      bloch_basis_states(const basis_states_descriptor< I, SS > & b, 
                         const translation_type & t, 
                         const std::vector< std::pair< std::string, half_integer< J > > > & c);
  3. bloch_basis_states(const basis_states_descriptor< I, SS > & b, 
                       const translation_type & t);

bloch_basis_states public member functions

  1. std::pair< std::size_t, std::complex< double > > 
    index_and_phase(const value_type & x) const;
  2. const basis_type & basis() const;
  3. double normalization(size_type i) const;
  4. bool is_real() const;
  5. std::vector< S > & full_list();

bloch_basis_states private member functions

  1. template<typename J> 
      bool satisfies_quantumnumbers(const std::vector< I > & idx, 
                                    const std::pair< std::string, half_integer< J > > &);
  2. template<typename J> 
      void build(const translation_type &, 
                 const std::vector< std::pair< std::string, half_integer< J > > > &);
Copyright © 1994, 2002-2005 Matthias Troyer, Synge Todo

PrevUpHomeNext