Representation Mappers
This module provides a framework for implementing custom representation mapper routines.
Generator-based mappers
These build a mapper from the Pauli images of an algebra’s generators.
These four functions do not have a counterpart in the C API.
コラム「 1 」 | コラム「 2 」 |
|---|---|
map_fermion_action_generators(operator, ...) | Map a FermionOperator to another operator type. |
map_majorana_action_generators(operator, ...) | Map a MajoranaOperator to another operator type. |
map_edge_vertex_generators(operator, ...[, ...]) | Map a EdgeVertexOperator to another operator type. |
map_transfer_vertex_generators(operator, ...) | Map a TransferVertexOperator to another operator type. |
Ternary trees
A ternary tree on nodes defines a fermion-to-qubit encoding of modes onto qubits, and the familiar encodings are particular tree shapes: a chain along "Z" is Jordan-Wigner, a chain along "X" is the parity encoding, and the balanced tree attains the optimal Pauli weight . Arbitrary trees (including the irregular ones grown from a device’s coupling graph) are built by passing a parent-and-label specification to TernaryTree directly, which is what makes this a framework rather than a fixed set of encodings.
A tree is compiled into a TernaryTreeEncoding once and then passed to any of the ternary-tree mappers in library. Properties derived from the encoding itself, such as TernaryTreeEncoding.total_parity(), are methods on that class.
コラム「 1 」 | コラム「 2 」 |
|---|---|
TernaryTree(spec) | A ternary tree defining a fermion-to-qubit encoding. |
TernaryTreeEncoding(tree[, mode_map]) | A ternary tree compiled into the Pauli images of its Majorana operators. |