Helpers to deal with fermions within TensorBlock structures. More...
Namespaces | |
namespace | syten |
Syten namespace. | |
Functions | |
template<Rank contracted, Rank rank> | |
std::array< Index, rank > | syten::construct_product_target_order_a (std::array< int, rank > const &c_a) |
Given a product specifier c_a, constructs a "target order" where each leg fermionically should be such as to not induce further swaps during the product for the A-tensor. More... | |
template<Rank contracted, Rank rank> | |
std::array< Index, rank > | syten::construct_product_target_order_b (std::array< int, rank > const &c_b) |
Given a product specifier c_b, constructs a "target order" where each leg fermionically should be such as to not induce further swaps during the product for the B-tensor. More... | |
template<Rank rank> | |
bool | syten::is_perm_fermionic (TensorBlock< rank > const &in, ConstSpan< int > perms, ConstSpan< Index > current_order) |
Returns true if swapping the legs of in as to conform to perm induces a fermionic factor. More... | |
template<Rank rank> | |
std::array< int, rank > | syten::perm_to_change_fermionic_order (ConstSpan< Index > const &from, ConstSpan< Index > const &to) |
Generates a permutation which, given an existing fermionic order from , changes this order to to . More... | |
Helpers to deal with fermions within TensorBlock structures.