ALPS MPS Codes
Reference documentation.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Functions
boundary.h File Reference
#include "dmrg/utils/storage.h"
#include "dmrg/block_matrix/block_matrix.h"
#include "dmrg/block_matrix/indexing.h"
#include "utils/function_objects.h"
#include "dmrg/utils/parallel_for.hpp"
#include <iostream>
#include <set>

Go to the source code of this file.

Classes

class  Boundary< Matrix, SymmGroup >
 

Functions

template<class Matrix , class SymmGroup >
Boundary< Matrix, SymmGroup > simplify (Boundary< Matrix, SymmGroup > b)
 
template<class Matrix , class SymmGroup >
std::size_t size_of (Boundary< Matrix, SymmGroup > const &m)
 

Function Documentation

template<class Matrix , class SymmGroup >
Boundary<Matrix, SymmGroup> simplify ( Boundary< Matrix, SymmGroup >  b)

Definition at line 120 of file boundary.h.

121 {
122  typedef typename alps::numeric::associated_real_diagonal_matrix<Matrix>::type dmt;
123 
124  for (std::size_t k = 0; k < b.aux_dim(); ++k)
125  {
128 
129  if (b[k].left_basis().sum_of_sizes() == 0)
130  continue;
131 
132  svd_truncate(b[k], U, V, S, 1e-4, 1, false);
133 
134  gemm(U, S, t);
135  gemm(t, V, b[k]);
136  }
137 
138  return b;
139 }
truncation_results svd_truncate(block_matrix< Matrix, SymmGroup > const &M, block_matrix< Matrix, SymmGroup > &U, block_matrix< Matrix, SymmGroup > &V, block_matrix< DiagMatrix, SymmGroup > &S, double rel_tol, std::size_t Mmax, bool verbose=true)
std::size_t aux_dim() const
Definition: boundary.h:72
void gemm(block_matrix< Matrix1, SymmGroup > const &A, block_matrix< Matrix2, SymmGroup > const &B, block_matrix< Matrix3, SymmGroup > &C)
template<class Matrix , class SymmGroup >
std::size_t size_of ( Boundary< Matrix, SymmGroup > const &  m)

Definition at line 142 of file boundary.h.

143 {
144  size_t r = 0;
145  for (size_t i = 0; i < m.aux_dim(); ++i)
146  r += size_of(m[i]);
147  return r;
148 }
std::size_t size_of(Boundary< Matrix, SymmGroup > const &m)
Definition: boundary.h:142
std::size_t aux_dim() const
Definition: boundary.h:72