ALPS MPS Codes
Reference documentation.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Enumerations | Functions
mpstensor.h File Reference
#include "dmrg/block_matrix/block_matrix.h"
#include "dmrg/block_matrix/indexing.h"
#include <iostream>
#include <algorithm>
#include "dmrg/mp_tensors/mpstensor.hpp"

Go to the source code of this file.

Classes

class  TwoSiteTensor< Matrix, SymmGroup >
 
class  MPSTensor< Matrix, SymmGroup >
 

Enumerations

enum  boundary_flag_t { no_boundary_f, l_boundary_f, r_boundary_f }
 
enum  MPSStorageLayout { LeftPaired, RightPaired }
 
enum  Indicator { Unorm, Lnorm, Rnorm }
 
enum  DecompMethod { QR, SVD }
 

Functions

template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator* (const typename MPSTensor< Matrix, SymmGroup >::scalar_type &t, MPSTensor< Matrix, SymmGroup > m)
 
template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator* (MPSTensor< Matrix, SymmGroup > m, const typename MPSTensor< Matrix, SymmGroup >::scalar_type &t)
 
template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator/ (MPSTensor< Matrix, SymmGroup > m, const typename MPSTensor< Matrix, SymmGroup >::scalar_type &t)
 
template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator- (MPSTensor< Matrix, SymmGroup > m, MPSTensor< Matrix, SymmGroup > const &m2)
 
template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator+ (MPSTensor< Matrix, SymmGroup > m, MPSTensor< Matrix, SymmGroup > const &m2)
 
template<class Matrix , class SymmGroup >
MPSTensor< Matrix, SymmGroup > operator- (MPSTensor< Matrix, SymmGroup > m)
 
template<class Matrix , class SymmGroup >
std::size_t size_of (MPSTensor< Matrix, SymmGroup > const &m)
 

Enumeration Type Documentation

Enumerator
no_boundary_f 
l_boundary_f 
r_boundary_f 

Definition at line 37 of file mpstensor.h.

Enumerator
QR 
SVD 

Definition at line 41 of file mpstensor.h.

41 {QR, SVD};
Definition: mpstensor.h:41
Definition: mpstensor.h:41
enum Indicator
Enumerator
Unorm 
Lnorm 
Rnorm 

Definition at line 40 of file mpstensor.h.

40 { Unorm, Lnorm, Rnorm };
Enumerator
LeftPaired 
RightPaired 

Definition at line 38 of file mpstensor.h.

Function Documentation

template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator* ( const typename MPSTensor< Matrix, SymmGroup >::scalar_type &  t,
MPSTensor< Matrix, SymmGroup >  m 
)

Definition at line 150 of file mpstensor.h.

152 {
153  m *= t;
154  return m;
155 }
template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator* ( MPSTensor< Matrix, SymmGroup >  m,
const typename MPSTensor< Matrix, SymmGroup >::scalar_type &  t 
)

Definition at line 157 of file mpstensor.h.

159 {
160  m *= t;
161  return m;
162 }
template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator+ ( MPSTensor< Matrix, SymmGroup >  m,
MPSTensor< Matrix, SymmGroup > const &  m2 
)

Definition at line 179 of file mpstensor.h.

181 {
182  m += m2;
183  return m;
184 }
template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator- ( MPSTensor< Matrix, SymmGroup >  m,
MPSTensor< Matrix, SymmGroup > const &  m2 
)

Definition at line 172 of file mpstensor.h.

174 {
175  m -= m2;
176  return m;
177 }
template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator- ( MPSTensor< Matrix, SymmGroup >  m)

Definition at line 187 of file mpstensor.h.

188 {
189  m *= typename MPSTensor<Matrix, SymmGroup>::scalar_type(-1.0);
190  return m;
191 }
maquis::traits::scalar_type< Matrix >::type scalar_type
Definition: mpstensor.h:52
template<class Matrix , class SymmGroup >
MPSTensor<Matrix, SymmGroup> operator/ ( MPSTensor< Matrix, SymmGroup >  m,
const typename MPSTensor< Matrix, SymmGroup >::scalar_type &  t 
)

Definition at line 164 of file mpstensor.h.

166 {
167  m /= t;
168  return m;
169 }
template<class Matrix , class SymmGroup >
std::size_t size_of ( MPSTensor< Matrix, SymmGroup > const &  m)

Definition at line 195 of file mpstensor.h.

196 {
197  return size_of(m.data());
198 }
std::size_t size_of(MPSTensor< Matrix, SymmGroup > const &m)
Definition: mpstensor.h:195
block_matrix< Matrix, SymmGroup > & data()
Definition: mpstensor.hpp:423