Converter class. More...
#include <su2_conv.h>
Public Member Functions | |
State const & | convert () |
Actually do the conversion. More... | |
Converter_SU2U1 (State const &psi, Index const n, SRDef const eliminate_threshold=SYTEN_EZERO_THRESHOLD) | |
Constructor. More... | |
State | get () |
Returns state and frees memory. More... | |
void | toggleRepFerm () |
By default the protected state has the fermionic properties of the input state. More... | |
Private Types | |
typedef std::unordered_map< Rep, Vec< Rep > > | PhysTable |
For each key SU(2) Rep we get a vector telling us which element inside dense tensors belongs to which U(1) Rep . More... | |
typedef std::unordered_map< Rep, Vec< Pair< Rep, Index > > > | VirtTable |
Same but for virtual indices. More... | |
Private Member Functions | |
Tensor< 3 > | back_cast (Tensor< 3 > const &m) |
Casts SU(2)xU(1) tensor back to unprotected tensor and updates the table. More... | |
Tensor< 3 > | cast (Tensor< 3 > mat) const |
Casts the SU(2) protected first site. More... | |
Tensor< 4 > | cast (Tensor< 4 > mat) const |
Casts the SU(2) protected pseudo matrix. More... | |
Tensor< 4 > | compute_pseudo_matrix () const |
Computes the rank 4 matrix for the current site. More... | |
void | contr_right (Tensor< 3 > const &updated) |
Computes new right contraction. More... | |
Tensor< 3 > | decompose (Tensor< 4 > const &m) const |
Decomposes the rank 4 tensor into two rank 3 tensors. More... | |
Private Attributes | |
State | br |
MPS consisting of back casted unitaries. More... | |
Index | current |
Current position. More... | |
Vec< Tensor< 2 > > | l_contr |
Left contractions. More... | |
Index const | length |
Size of MPS. More... | |
PhysTable | phys_tab |
Mapping between physical bonds. More... | |
State | r |
The new SU(2) x U(1) state which is going to be constructed. More... | |
Tensor< 4 > | r_contr |
Right contraction. More... | |
State const & | state |
The original SU(2) state. More... | |
Index const | target |
Target particle number. More... | |
SRDef const | threshold |
Values smaller than this are not copied during the cast. More... | |
VirtTable | virt_tab |
Mapping of the virtual bonds. More... | |
Converter class.