Operator Terms¶
The C API provides various functions to operate on the individual terms of an operator, partitioning them based on their structure.
Grouping¶
Refer to Group operator terms: use the operator structure for a detailed explanation of this module’s functionality.
Assignment¶
Rather than always relying on the user to provide the group indices themselves, the C API provides a collection of functions which determine the grouping information automatically.
Groups the terms of an operator by their electronic structure. |
Analysis¶
Group indices carry no intrinsic meaning: they only say which terms belong together, never why. Accordingly, no function reports whether a grouping is “correct”. The C API instead provides a collection of functions that each answer one narrow, stated question about an existing grouping, so that an assumption a downstream consumer makes can be checked up front rather than being paid for on every call. Since these work with generic operator representations, they are documented on the grouping functions page.
Filtering¶
The C API provides a collection of functions for removing terms from an operator that do not contribute meaningfully to a downstream computation.
Members¶
Filters out the terms of an operator that are diagonal. |
Ordering¶
The C API provides functions to reorder the terms of an operator, either into a canonical, coefficient-independent order or by group index.
Group indices are a per-term tag that says nothing about where those terms sit,
so the terms of one group are in general scattered throughout an operator.
Ordering by group gathers each into one contiguous run, which is what lets
qf_op_type_split_out_groups locate a requested group by binary search instead
of scanning every term.
Members¶
Reorders the terms of a fermionic operator canonically. |
|
Reorders the terms of a Majorana operator canonically. |
|
Reorders the terms of an edge-vertex operator canonically. |
|
Reorders the terms of a transfer-vertex operator canonically. |
|
Reorders the terms of a fermionic operator by group index. |
|
Reorders the terms of a Majorana operator by group index. |
|
Reorders the terms of an edge-vertex operator by group index. |
|
Reorders the terms of a transfer-vertex operator by group index. |