OctaSquareTile¶
- class OctaSquareTile(origin: array, qubit_count=None, qubit_data=None, operators=None, optype='cXZZX')[source]¶
Bases:
Tile
Octa-Square Tile
The tile has the following structure:
q0 q1 v0 v1 q2 q3 o------o v0 v1 q3 / \ q4 o-----o v7 o o v2 | | | | | 0 | q6 | 1 | q7 o-----o v6 o o v3 v3 v4 \ / q5 q6 q9 o-----o q10 v5 v4 q5 q6 v0 v1 o-----o q9 q10 q8 / \ q9 v0 v1 v7 o o v2 o-----o | 2 | | | q11 | | q12 | 3 | v6 o o v3 o-----o \ / q12 q13 o-----o v3 v2 q14 q15 v5 v4 o------o / \ o-----o o | | | | 0 | 1 | o-----o o / \ / o (0,0) o-----o | . | | | 2 | 3 | o o-----o \ / o-----o
Octa Square Tile
The tile has the following structure:
q0 q1 v0 v1 q2 q3 o------o v0 v1 q3 / \ q4 o-----o v7 o o v2 | | | | | 0 | q6 | 1 | q7 o-----o v6 o o v3 v3 v4 \ / q5 q6 q9 o-----o q10 v5 v4 q5 q6 v0 v1 o-----o q9 q10 q8 / \ q9 v0 v1 v7 o o v2 o-----o | 2 | | | q11 | | q12 | 3 | v6 o o v3 o-----o \ / q12 q13 o-----o v3 v2 q14 q15 v5 v4 o------o / \ o-----o o | | | | 0 | 1 | o-----o o / \ / o (0,0) o-----o | . | | | 2 | 3 | o o-----o \ / o-----o
Face colors for faces [0,1,2,3] are [“yellowgreen”,”tomato”, “tomato”, “yellowgreen”]
Preformatted operators are stored in HexagonTile.op_dict. Keys for op_dict are of the form [p|c|d]PPPP… where p = pattern and c = copy, d=double and P is a Pauli opertor X, Z or Y.
“cX” -> face #0 operator is Pauli(“XXXXXX”), face #1 operator is Pauli(“ZZZZZZ”), … “dXZ” -> face #0 operators are Pauli(“XXXXXX”) and Pauli(“ZZZZZZ”), face #1 operators are Pauli(“ZZZZZZ”) and …
Available precomputed operator layouts are:
cXZZX, cZXXZ
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.
- 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 OctaSquareTile can be accessed from [OctaSquareTile.u_vec, OctaSquareTile.v_vec]
- Raises:
QiskitError – Unsupported operator type
- Returns:
Returns a Octa-Square tile (shell) with provided origin
- Return type:
Methods
- classmethod draw()¶
Display the tile
- Return type:
None
Attributes
- c8 = 0.9238795325112867¶
- face_colors = ['yellowgreen', 'tomato', 'tomato', 'yellowgreen']¶
- faces_wf_components = [[0], [1], [2], [3]]¶
- num_faces = 4¶
- num_qubits = 16¶
- s8 = 0.3826834323650897¶
- size = array([3.15432203, 3.15432203])¶
- u_vec = array([2.61312593, 0. ])¶
- v_vec = array([0. , 2.61312593])¶
- wf_coordinates = [[[-0.3826834323650897, 1.6892463972414662], [0.3826834323650897, 1.6892463972414662], [0.3826834323650897, 0.9238795325112867], [-0.3826834323650897, 0.9238795325112867]], [[0.9238795325112867, 2.230442497387663], [1.6892463972414662, 2.230442497387663], [2.230442497387663, 1.6892463972414662], [2.230442497387663, 0.9238795325112867], [1.6892463972414662, 0.3826834323650897], [0.9238795325112867, 0.3826834323650897], [0.3826834323650897, 0.9238795325112867], [0.3826834323650897, 1.6892463972414662]], [[-0.3826834323650897, 0.9238795325112867], [0.3826834323650897, 0.9238795325112867], [0.9238795325112867, 0.3826834323650897], [0.9238795325112867, -0.3826834323650897], [0.3826834323650897, -0.9238795325112867], [-0.3826834323650897, -0.9238795325112867], [-0.9238795325112867, -0.3826834323650897], [-0.9238795325112867, 0.3826834323650897]], [[0.9238795325112867, 0.3826834323650897], [1.6892463972414662, 0.3826834323650897], [1.6892463972414662, -0.3826834323650897], [0.9238795325112867, -0.3826834323650897]]]¶
- wf_loop_indicator = [True, True, True, True]¶
- wf_operator_dict = {'cXZZX': [PauliList(['XXXX']), PauliList(['ZZZZZZZZ']), PauliList(['ZZZZZZZZ']), PauliList(['XXXX'])], 'cZXXZ': [PauliList(['ZZZZ']), PauliList(['XXXXXXXX']), PauliList(['XXXXXXXX']), PauliList(['ZZZZ'])]}¶
- wf_q_indices = [[2, 3, 6, 5], [0, 1, 4, 7, 10, 9, 6, 3], [5, 6, 9, 12, 15, 14, 11, 8], [9, 10, 13, 12]]¶