def _transform_to_pauli(data, num_qubits):
<EOL>basis_mat = np.array(<EOL>[[<NUM_LIT:1>, <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>], [<NUM_LIT:0>, <NUM_LIT:1>, <NUM_LIT:1>, <NUM_LIT:0>], [<NUM_LIT:0>, -<NUM_LIT>, <NUM_LIT>, <NUM_LIT:0>], [<NUM_LIT:1>, <NUM_LIT>, <NUM_LIT:0>, -<NUM_LIT:1>]],<EOL>dtype=complex)<EOL>cob = basis_mat<EOL>for _ in range(num_qubits - <NUM_LIT:1>):<EOL><INDENT>dim = int(np.sqrt(len(cob)))<EOL>cob = np.reshape(<EOL>np.transpose(<EOL>np.reshape(<EOL>np.kron(basis_mat, cob), (<NUM_LIT:4>, dim * dim, <NUM_LIT:2>, <NUM_LIT:2>, dim, dim)),<EOL>(<NUM_LIT:0>, <NUM_LIT:1>, <NUM_LIT:2>, <NUM_LIT:4>, <NUM_LIT:3>, <NUM_LIT:5>)), (<NUM_LIT:4> * dim * dim, <NUM_LIT:4> * dim * dim))<EOL><DEDENT>return np.dot(np.dot(cob, data), cob.conj().T) / <NUM_LIT:2>**num_qubits<EOL>
Change of basis of bipartite matrix represenation.