basis.h File Reference

Implementation of tensor leg bases, split into symmetry-protected blocks. More...

Include dependency graph for basis.h:

This graph shows which files directly or indirectly include this file:

## Classes | |

class | syten::Basis |

Basis on a specific tensor leg, essentially a list of symmetry sectors and associated reduced tensor sizes More... | |

## Namespaces | |

namespace | syten |

Syten namespace. | |

## Enumerations | |

enum class | syten::Direction : char { syten::Inc , syten::Out , syten::Invalid , syten::Silent } |

Direction of the leg from the view of the tensor it belongs to. More... | |

## Functions | |

Basis | syten::combineBasisExpansion (Basis const &a, Basis const &b) |

Given two bases `a` and `b` , returns a combined basis `a + b` considering symmetries: Sectors `s` occuring in both bases have size `a[s]+b[s]` , sectors only occuring in one basis keep their size. More... | |

SRDef | syten::dist (Basis const &b1, Sector const &s2) |

Returns the distance between a sector and a basis. More... | |

Basis | syten::filterBasis (Basis const &input, Basis const &site, Basis const &target, Index const remainingSites) |

Returns a new basis which contains only elements from the input basis that are still compatible with the target basis, currently only works with Group::U1 and Group::SU2 symmetries. More... | |

Basis | syten::gen_vac (Basis in) |

Fuses `in` with `in.adjoint()` and removes every sector of the resulting basis which is not the vacuum. More... | |

Basis | syten::intersection (Basis const &b1, Basis const &b2) |

Returns the intersection of the two bases, i.e. the size of a sector in the returned basis is the minimum of the sizes in the two input bases. More... | |

SRDef | syten::min_dist (Basis const &b1, Basis const &b2) |

Returns the minimal distance between elements of the two basis. More... | |

Direction | syten::operator! (Direction const &dir) |

Negate the direction of a basis, only valid for Direction::Inc and Direction::Out. More... | |

std::ostream & | syten::operator<< (std::ostream &out, Basis const &b) |

Output of a basis, more concise if basis is silenced. More... | |

std::ostream & | syten::operator<< (std::ostream &out, Direction const dir) |

Output of the direction of a basis. More... | |

Basis | syten::sum (Basis const &b1, Basis const &b2) |

Returns the sum/union of two bases, i.e. the size of a sector in the returned basis is the maximum of the sizes in the two input bases. More... | |

Implementation of tensor leg bases, split into symmetry-protected blocks.