ALPS MPS Codes
Reference documentation.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
ProductBasis< SymmGroup > Class Template Reference

#include <indexing_sorted.hpp>

Public Types

typedef SymmGroup::charge charge
 
typedef std::size_t size_t
 
typedef SymmGroup::charge charge
 
typedef std::size_t size_t
 
typedef SymmGroup::charge charge
 
typedef std::size_t size_t
 

Public Member Functions

 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b)
 
template<class Fusion >
 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b, Fusion f)
 
size_t operator() (charge a, charge b) const
 
size_t size (charge pc) const
 
size_t size (charge a, charge b) const
 
template<class Fusion >
size_t size (charge a, charge b, Fusion f) const
 
 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b)
 
template<class Fusion >
 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b, Fusion f)
 
size_t operator() (charge a, charge b) const
 
size_t size (charge pc) const
 
size_t size (charge a, charge b) const
 
template<class Fusion >
size_t size (charge a, charge b, Fusion f) const
 
 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b)
 
template<class Fusion >
 ProductBasis (Index< SymmGroup > const &a, Index< SymmGroup > const &b, Fusion f)
 
size_t operator() (charge a, charge b) const
 
size_t size (charge pc) const
 
size_t size (charge a, charge b) const
 
template<class Fusion >
size_t size (charge a, charge b, Fusion f) const
 

Detailed Description

template<class SymmGroup>
class ProductBasis< SymmGroup >

Definition at line 320 of file indexing_sorted.hpp.

Member Typedef Documentation

template<class SymmGroup>
typedef SymmGroup::charge ProductBasis< SymmGroup >::charge

Definition at line 313 of file indexing_unsorted.hpp.

template<class SymmGroup>
typedef SymmGroup::charge ProductBasis< SymmGroup >::charge

Definition at line 320 of file indexing_stable.hpp.

template<class SymmGroup>
typedef SymmGroup::charge ProductBasis< SymmGroup >::charge

Definition at line 323 of file indexing_sorted.hpp.

template<class SymmGroup>
typedef std::size_t ProductBasis< SymmGroup >::size_t

Definition at line 314 of file indexing_unsorted.hpp.

template<class SymmGroup>
typedef std::size_t ProductBasis< SymmGroup >::size_t

Definition at line 321 of file indexing_stable.hpp.

template<class SymmGroup>
typedef std::size_t ProductBasis< SymmGroup >::size_t

Definition at line 324 of file indexing_sorted.hpp.

Constructor & Destructor Documentation

template<class SymmGroup>
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b 
)
inline

Definition at line 326 of file indexing_sorted.hpp.

328  {
329  init(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
330  }
SymmGroup::charge charge
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
template<class Fusion >
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b,
Fusion  f 
)
inline

Definition at line 333 of file indexing_sorted.hpp.

336  {
337  init(a, b, f);
338  }
template<class SymmGroup>
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b 
)
inline

Definition at line 323 of file indexing_stable.hpp.

325  {
326  init(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
327  }
SymmGroup::charge charge
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
template<class Fusion >
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b,
Fusion  f 
)
inline

Definition at line 330 of file indexing_stable.hpp.

333  {
334  init(a, b, f);
335  }
template<class SymmGroup>
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b 
)
inline

Definition at line 316 of file indexing_unsorted.hpp.

318  {
319  init(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
320  }
SymmGroup::charge charge
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
template<class Fusion >
ProductBasis< SymmGroup >::ProductBasis ( Index< SymmGroup > const &  a,
Index< SymmGroup > const &  b,
Fusion  f 
)
inline

Definition at line 323 of file indexing_unsorted.hpp.

326  {
327  init(a, b, f);
328  }

Member Function Documentation

template<class SymmGroup>
size_t ProductBasis< SymmGroup >::operator() ( charge  a,
charge  b 
) const
inline

Definition at line 348 of file indexing_unsorted.hpp.

349  {
350  typedef typename boost::unordered_map<std::pair<charge, charge>, size_t>::const_iterator match_type;
351  match_type match = keys_vals_.find(std::make_pair(a,b));
352  assert( match != keys_vals_.end() );
353  return match->second;
354  }
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::operator() ( charge  a,
charge  b 
) const
inline

Definition at line 355 of file indexing_stable.hpp.

356  {
357  typedef typename boost::unordered_map<std::pair<charge, charge>, size_t>::const_iterator match_type;
358  match_type match = keys_vals_.find(std::make_pair(a,b));
359  assert( match != keys_vals_.end() );
360  return match->second;
361  }
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::operator() ( charge  a,
charge  b 
) const
inline

Definition at line 358 of file indexing_sorted.hpp.

359  {
360  typedef typename boost::unordered_map<std::pair<charge, charge>, size_t>::const_iterator match_type;
361  match_type match = keys_vals_.find(std::make_pair(a,b));
362  assert( match != keys_vals_.end() );
363  return match->second;
364  }
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  pc) const
inline

Definition at line 356 of file indexing_unsorted.hpp.

357  {
358  assert(size_.count(pc) > 0);
359  return size_[pc];
360  }
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b 
) const
inline

Definition at line 363 of file indexing_unsorted.hpp.

364  {
365  return size(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
366  }
SymmGroup::charge charge
size_t size(charge pc) const
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  pc) const
inline

Definition at line 363 of file indexing_stable.hpp.

364  {
365  assert(size_.count(pc) > 0);
366  return size_[pc];
367  }
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  pc) const
inline

Definition at line 366 of file indexing_sorted.hpp.

367  {
368  assert(size_.count(pc) > 0);
369  return size_[pc];
370  }
template<class SymmGroup>
template<class Fusion >
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b,
Fusion  f 
) const
inline

Definition at line 368 of file indexing_unsorted.hpp.

369  {
370  charge pc = f(a, b);
371  assert(size_.count(pc) > 0);
372  return size_[pc];
373  }
SymmGroup::charge charge
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b 
) const
inline

Definition at line 370 of file indexing_stable.hpp.

371  {
372  return size(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
373  }
SymmGroup::charge charge
size_t size(charge pc) const
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b 
) const
inline

Definition at line 373 of file indexing_sorted.hpp.

374  {
375  return size(a, b, static_cast<charge(*)(charge, charge)>(SymmGroup::fuse));
376  }
SymmGroup::charge charge
size_t size(charge pc) const
T fuse(const A &ind, T d)
Fuse indices n[i] into one p = n[i] d^i.
template<class SymmGroup>
template<class Fusion >
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b,
Fusion  f 
) const
inline

Definition at line 375 of file indexing_stable.hpp.

376  {
377  charge pc = f(a, b);
378  assert(size_.count(pc) > 0);
379  return size_[pc];
380  }
SymmGroup::charge charge
template<class SymmGroup>
template<class Fusion >
size_t ProductBasis< SymmGroup >::size ( charge  a,
charge  b,
Fusion  f 
) const
inline

Definition at line 378 of file indexing_sorted.hpp.

379  {
380  charge pc = f(a, b);
381  assert(size_.count(pc) > 0);
382  return size_[pc];
383  }
SymmGroup::charge charge

The documentation for this class was generated from the following files: