HexagonTile¶
- class HexagonTile(origin: array, qubit_count=None, qubit_data=None, operators=None, optype='cZ-aXX')[source]¶
Bases:
Tile
Hexagon Tile
Weight 6 operators (0,1,2):
q0 q1 v0 v1 o-----o q3 / \ q4 v5 o 0 o v2 q2 q3 \ / v0 v1 q6 o-----o q7 o-----o v4 v3 q5 / \ q6 .(0,0) v5 o 1 o v2 q6 q7 \ / v0 v1 o-----o o-----o v4 v3 q9 / \ q10 q8 q9 v5 o 2 o v2 \ / o-----o v4 v3 q11 q12 o-----o / \ o-----o 0 o / \ / o 1 o-----o \ / \ o-----o 2 o \ / o-----o
Weight 2 operators (3,4,5,6,7,8,9,10,11):
q0 o v1 3 / o v0 q3 q2 4 q3 q3 q4 v1 o-----o v0 o v1 o v1 \ 5 / 6 o v0 o v0 q6 q7 v0 o-----o v1 q6 7 q7 q6 q7 o v0 o v0 q8 10 q9 / 8 \ 9 v1 o-----o v0 o o v1 q9 q10 o v0 \ 11 o v1 q11 o 3/ o--4--o o \5 /6 o--7--o /8 \9 o--10-o o \11 o
Hexagon Tile
Tile:
q0 q1 v0 v1 o-----o q3 / \ q4 v5 o 0 o v2 q2 q3 \ / v0 v1 q6 o-----o q7 o-----o v4 v3 q5 / \ q6 .(0,0) v5 o 1 o v2 q6 q7 \ / v0 v1 o-----o o-----o v4 v3 q9 / \ q10 q8 q9 v5 o 2 o v2 \ / o-----o v4 v3 q11 q12 o-----o / \ o-----o 0 o / \ / o 1 o-----o \ / \ o-----o 2 o \ / o-----o
Weight 2 operators (3,4,5,6,7,8,9,10,11):
q0 o v1 3 / o v0 q3 q2 4 q3 q3 q4 v1 o-----o v0 o v1 o v1 \ 5 / 6 o v0 o v0 q6 q7 v0 o-----o v1 q6 7 q7 q6 q7 o v0 o v0 q8 10 q9 / 8 \ 9 v1 o-----o v0 o o v1 q9 q10 o v0 \ 11 o v1 q11 o 3/ o--4--o o \5 /6 o--7--o /8 \9 o--10-o o \11 o
Face colors for faces [0,1,2] are [“yellowgreen”,”tomato”,”steelblue”] and red for the weight 2 faces.
Preformatted operators are stored in HexagonTile.wf_operator_dict
The operator variable may be used to define the operators specifically. The operator must be a list of PauliList objects where each PauliList describes the opertors to be built for the faces as indexed above 0,1,2,3, … If the PauliList contains k Paulis then k operators will be created for the given face. If a face is not wanted then that face should be listed as None. See HexagonTile.wf_operator_dict for examples.
- Parameters:
origin (np.array) – Coordinates of origin of tile (shell)
qubit_count – Qubit counter. Defaults to None.
qubit_data – Qubit data. Defaults to None.
operators – Operators for tile faces. Defaults to None.
optype (optional) – Which of the listed opertor mapppings to used. Defaults to “pXZXZ”.
A appropriately scalled lattice basis for tiling with the HexagonTile can be accessed from [HexagonTile.u_vec, HexagonTile.v_vec]
- Raises:
QiskitError – Unsupported operator type
- Returns:
Returns a Checker Board tile (shell) with provided origin
- Return type:
Methods
- classmethod draw()¶
Display the tile
- Return type:
None
Attributes
- face_colors = ['yellowgreen', 'tomato', 'steelblue', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red']¶
- faces_wf_components = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]]¶
- h = 0.5¶
- num_faces = 12¶
- num_qubits = 13¶
- r = 0.8660254037844386¶
- size = array([3. , 3.46410162])¶
- u_vec = array([3, 0])¶
- v_vec = array([1.5 , 2.59807621])¶
- wf_coordinates = [[[0, 1.7320508075688772], [1.0, 1.7320508075688772], [1.5, 0.8660254037844386], [1, 0], [0, 0], [-0.5, 0.8660254037844386]], [[-1.5, 0.8660254037844386], [-0.5, 0.8660254037844386], [0, 0], [-0.5, -0.8660254037844386], [-1.5, -0.8660254037844386], [-2, 0]], [[0, 0], [1, 0], [1.5, -0.8660254037844386], [1.0, -1.7320508075688772], [0, -1.7320508075688772], [-0.5, -0.8660254037844386]], [[-0.5, 0.8660254037844386], [0, 1.7320508075688772]], [[-0.5, 0.8660254037844386], [-1.5, 0.8660254037844386]], [[0, 0], [-0.5, 0.8660254037844386]], [[1, 0], [1.5, 0.8660254037844386]], [[0, 0], [1, 0]], [[0, 0], [-0.5, -0.8660254037844386]], [[1, 0], [1.5, -0.8660254037844386]], [[-0.5, -0.8660254037844386], [-1.5, -0.8660254037844386]], [[-0.5, -0.8660254037844386], [0, -1.7320508075688772]]]¶
- wf_loop_indicator = [True, True, True, False, False, False, False, False, False, False, False, False]¶
- wf_operator_dict = {'cX': [PauliList(['XXXXXX']), PauliList(['XXXXXX']), PauliList(['XXXXXX']), None, None, None, None, None, None, None, None, None], 'cYZX2-hXX': [PauliList(['XZYXZY']), PauliList(['XZYXZY']), PauliList(['XZYXZY']), None, PauliList(['XX']), None, None, PauliList(['XX']), None, None, PauliList(['XX']), None], 'cZ': [PauliList(['ZZZZZZ']), PauliList(['ZZZZZZ']), PauliList(['ZZZZZZ']), None, None, None, None, None, None, None, None, None], 'cZ-aXX': [PauliList(['XXXXXX']), PauliList(['XXXXXX']), PauliList(['XXXXXX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX']), PauliList(['XX'])], 'dXZ': [PauliList(['XXXXXX', 'ZZZZZZ']), PauliList(['XXXXXX', 'ZZZZZZ']), PauliList(['XXXXXX', 'ZZZZZZ']), None, None, None, None, None, None, None, None, None], 'dZX': [PauliList(['ZZZZZZ', 'XXXXXX']), PauliList(['ZZZZZZ', 'XXXXXX']), PauliList(['ZZZZZZ', 'XXXXXX']), None, None, None, None, None, None, None, None, None]}¶
- wf_q_indices = [[0, 1, 4, 7, 6, 3], [2, 3, 6, 9, 8, 5], [6, 7, 10, 12, 11, 9], [3, 0], [3, 2], [6, 3], [7, 4], [6, 7], [6, 9], [7, 10], [9, 8], [9, 11]]¶