a computer is a machine which processes data according to a set of instructions .
every computer is a composition of hardware on which information is processed and software by which information is processed .
hardware is the physical part of a computer , while software is a collection of computer programs ( algorithms ) designed to perform a required task .
a quantum computer ( qc ) emerges when the computation is executed under the framework of quantum mechanics .
there are several models for quantum computation .    the first conceptual model of a qc , the quantum turing machine ( qtm ) , was given by deutsch @xcite .
it is rather an abstract model and useful for investigating the  computational complexity . "
the qtm is a quantum version of its classical analogue which allows the superposition of different computational paths .
later on , a rather practical model of a qc  the unitary - evolution - based quantum computation model ( uqcm)was established @xcite .
the uqcm is a quantum edition of  the reversible classical circuit model . " in the step from classical to quantum , the bits are replaced by the qubits , and the logic gates are replaced by the quantum gates ( coherent unitary evolution ) . unlike the bits , the qubits can exist in a superposition of different computational states .
unlike the logic gates , the quantum gates are able to create and destroy a superposition as well as an entanglement .
the computation in uqcm is run by a sequence of unitary gates and represented by its circuit diagram , where the connecting wires stand for the logical qubits or bits which carry the information , and the information is processed by the sequence of quantum gates . in the end , the result of the computation is read out by the projective measurements on the qubits . in the well - known textbook by nielsen and chuang @xcite ,
many popular algorithms such as deutsch s algorithm @xcite , grover s search algorithm @xcite , and shor s factoring algorithm @xcite are narrated in terms of the uqcm .
the measurement - based quantum computation model ( mqcm ) is another well recognized model of a qc @xcite . here , a multi - qubit entangled state
known as a cluster state @xcite , or more generally a graph state @xcite  is the main ingredient , and it provides all the entanglement beforehand for the subsequent computation . the computation in this model is run by a sequence of single - qubit ( adaptive ) projective measurements on the graph state .
the methods of mqcm enable one to simulate any quantum circuit on a sufficiently large two - dimensional graph state by arranging the spatial pattern of measurement bases for the graph qubits according to the temporal order of quantum gates in the circuit .    in the mqcm
, the measurements on graph qubits are performed in a certain temporal order for the purpose of running the computation deterministically .
furthermore , the measurement outcomes are recorded classically and are used for setting the measurement bases for the subsequent measurements @xcite . by contrast , in the uqcm there is no such temporal order of measurements , but an order in which the unitary gates are executed .
the task of a qc is to `` simulate a quantum circuit . ''
both the uqcm and the mqcm are universal : they can simulate any quantum circuit .
where the uqcm uses the unitary gates , the mqcm uses the measurements for simulating a circuit . in this paper
our focus will be on constructing a  hybrid " model of the uqcm and the mqcm , which we call  hybrid quantum computation model " ( hqcm ) , that combines elements of both the uqcm and the mqcm with the aim of exploiting the strengths of both models .
of course , the hqcm is universal as well .
there are two main objectives of the present investigation .
the first objective is to develop a theoretical understanding of the hqcm , where part of a quantum circuit is simulated by unitary gates and the rest by measurements on small graph states .
the second objective is the investigation of the experimental optimization .
both the uqcm and the mqcm possess their own advantages along with some similarities .
for example , where the implementation of an arbitrary single - qubit operation in the mqcm costs a chain of five qubits graph state @xcite , it can be implemented rather simply by a unitary evolution in the uqcm . in return , certain multi - qubit gates that are complicated in the uqcm can be realized in  one shot " in the mqcm .
here is an overview of the paper . in sec .
[ sec : mqcm ] we give a brief review of the mqcm , it has two main parts .
the first part contains the methodology for the computation in mqcm with an example and the second part is the classical information processing in the mqcm .
we use a portion of sec .
[ sec : mqcm ] in sec .
[ sec : hqcm ] .
section  [ sec : hqcm ] is reserved for a detailed discussion on the hqcm , it has three main parts .
the first part is the methodology for the computation in hqcm and the second part is the classical information processing in the hqcm .
the third part is about the implementation of multi - qubit controlled rotations with the hqcm , and this we are going to use in sec .
[ sec : ga ] , which is about grover s search algorithm within the hqcm .
finally , we conclude our report in sec .
[ sec : conc ] with a summary and outlook .
three appendices deal with technical details .
we start this section with a short introduction about the preparation of graph states @xcite , and then we proceed towards the methods for the computation in mqcm @xcite .
we conclude this section with an example . throughout the text
we represent the pauli vector operator @xmath2 by @xmath3 and the identity operator by @xmath4 .
graph states can be realized in many physical systems by first preparing all the qubits of graph @xmath5 in an eigenstate of their respective pauli operator @xmath6 . in other words
, every qubit ` @xmath7 ' of @xmath5 is initialized in the state @xmath8 , where @xmath9 . then
, entanglement between each pair of nearest - neighbor qubits is established by the controlled-@xmath0 gate @xmath10 here , the indices @xmath7 and @xmath11 stand for the qubits at the lattice site ` @xmath7 ' and its nearest - neighbor lattice site ` @xmath11 ' of the graph @xmath5 , respectively .
a unitary gate of this kind can be generated by turning on the ( controlled ) ising - type nearest - neighbor interaction for an appropriately chosen time period .
experimentally , graph states have been generated by using controlled collisions between cold atoms in optical lattices @xcite and by using linear optics @xcite .
mathematically , quantum correlations among the qubits of a graph are specified by correlation operators @xmath12 s , which are given below .
the resultant graph state @xmath13 is an eigenstate of these operators , and it is completely specified by the set of eigenvalue equations @xmath14 with the set of eigenvalues @xmath15 . here , @xmath16 stands for the set of all nearest - neighbor qubits which are entangled ( connected ) to the qubit ` @xmath7 ' by the @xmath17 operations . for every qubit ` @xmath7 ' of the graph state @xmath13 , there exists a correlation operator @xmath12 and an eigenvalue @xmath9 .
the physical meaning of eq .
( [ eigenvalue ] ) is this : there exists either a correlation ( @xmath18 ) or an anti - correlation ( @xmath19 ) between the outcome of the measurement on qubit ` @xmath7 ' in the @xmath6 eigenbasis and the outcomes of the measurements on all the qubits of @xmath16 in the @xmath0 eigenbasis .
these quantum correlations provide the framework for the computation in mqcm .
once the resource graph state is ready , then the logical qubits  holding the input information  are attached to the resource via the same entangling operations given by eq .
( [ cz ] ) .
unlike the quantum error - correction , here , one logical qubit stands for one physical qubit .
now , the computation is carried out by a sequence of single - qubit ( adaptive ) projective measurements in a certain direction of the bloch sphere and in a certain temporal order .
the bloch sphere offers an adequate geometrical description for the direction of single - qubit projective measurement , where the direction of measurement is completely specified by the bloch vector @xmath20 and the corresponding projector is given by @xmath21 the measurement outcomes @xmath22 and @xmath23 mean that the measured qubit is projected onto the states with the kets @xmath24 and @xmath25 respectively . in other words ,
the choice of measurement basis is characterized by the direction of measurement @xmath26 in the bloch sphere .
there are three kinds of measurements in the mqcm @xcite .
measurements along the @xmath1-axis effectively detach the measured ( redundant ) qubits from the graph state .
measurements along the bloch vector @xmath27it lies in @xmath28,@xmath29 plane of the bloch sphere
process the information as well as teleport it from one place to another on the graph .
the significance of this kind of measurements is revealed by the example given in appendix [ sec : sqr ] .
measurements along the bloch vector @xmath30it lies in @xmath1,@xmath29 plane of the bloch sphere
only process the information .
this remark will be illustrated by the example given below .
the two measurement outcomes @xmath31 for every qubit of the graph state are equally probable because the reduced density matrix for each qubit is the completely mixed state @xmath32 . in the process of getting the desired operations on the logical qubits
, one also gets some additional operations .
these additional operations are called `` byproduct operators , '' and they belong to the pauli group .
these byproduct operators depend on the random measurement outcomes and the eigenvalues of the graph state @xmath13 . the measurement outcome @xmath33 for every graph qubit and
the eigenvalues @xmath34 are binary numbers , so one can record them classically in order to take care of the byproduct operators .
the classical information processing of this data makes the computation deterministic and helps to set the measurement bases for the subsequent measurements .
section  [ sec : ci - mqcm ] contains a comprehensive discussion about this matter .
right now we are content with illustrating the procedure of mqcm with an example .
@xmath35 the unitary operation for the @xmath36-qubit rotation around the @xmath1-axis is @xmath37 where the superscripts @xmath38 symbolize the logical qubits on which this operation will be carried out @xcite .
one can accomplish this operation by performing a single measurement on a @xmath39-qubits star graph state , the associated star graph is shown in fig .  [ fig:1](i ) . in fig .
[ fig:1](i ) , the input quantum register of @xmath36 qubits is displayed by the circles and the ancilla qubit ` @xmath7 ' by the diamond .
the input register is in a @xmath36-qubit input state @xmath40 , and the ancilla qubit is prepared in the state @xmath8
. then we perform @xmath36 @xmath17 operations , represented by the bonds in the figure and given by eq .
( [ cz ] ) , between the qubit ` @xmath7 ' and every logical qubit . in principle
, all the @xmath17 operations can be performed in
one shot , " because they all commute with each other .
this series of steps leads us to the resultant star graph state @xmath41 .
\label{g2}\end{aligned}\ ] ] the subscript @xmath42 reveals that the final graph state is of one ancilla qubit and @xmath36 logical qubits .
a measurement on the ancilla qubit ` @xmath7 ' in the basis @xmath43 transforms the input state of the quantum register into the output state @xmath44 here , the direction of measurement lies in @xmath1,@xmath29 plane of the bloch sphere , and @xmath45 is the measurement outcome .
@xmath46 is the byproduct operator , which is represented by the dotted - boxes on all the logical qubits in fig .
[ fig:1](ii ) . after the measurement , all bonds ( illustrated in fig .  [ fig:1](i ) ) are broken and the qubit ` @xmath7 ' gets projected either onto the state @xmath47 ( if @xmath48 ) or onto the state @xmath49 ( if @xmath50 ) .
we shall use this kind of multi - qubit rotations for the hqcm in sec .
[ sec : hqcm ] .
in contrast to the example @xmath51 given in appendix  [ sec : sqr ] where the qubits used for input and output are different , in the case of @xmath52 the input and output states reside in the same @xmath36 logical qubits . in other words , here
the information gets processed , but does not get transferred from one place to another . as a side remark , the resultant byproduct operator @xmath53 in the case of @xmath51 ( see eq .
( [ out1 ] ) ) and the measurement basis @xmath43 in the case of @xmath52 depend on the eigenvalue @xmath54 .
every quantum gate from the generating set of the clifford group  the @xmath55 gate @xmath56 ( the labels @xmath7 and @xmath11 are for the control and target qubits , respectively ) ,
the hadamard gate @xmath57 the @xmath58-phase gate @xmath59can be executed in a single time step in the mqcm @xcite .
this holds because every measurement in these cases is performed either in the @xmath6 eigenbasis or in the @xmath60 eigenbasis and is not influenced by the result of any other measurement .
hence all the measurements can be performed simultaneously .
a @xmath55 gate can be achieved with a 15-qubit graph state , and both the hadamard gate and the @xmath58-phase gate can be implemented with a chain of five qubits graph state @xcite .
single - qubit and @xmath55 gates together constitute a universal set of gates , and they are realizable in the mqcm . in this sense ,
the mqcm is also universal like the uqcm .    in order to simulate a complex unitary gate in the mqcm ,
it is customary to first decompose it efficiently into a sequence of elementary gates from the universal gate set .
then , the temporal order of gates is transformed into the spatial pattern of measurement bases for the graph qubits .
afterwards , the measurements are performed in the required order .    up to now
, we were dealing with the individual gate simulations only , where we need not to worry about the byproduct operators .
but in the next section , our focus shall be on the simulation of a sequence of gates , where the study of classical information processing and the temporal order of measurements become necessary .
classical information processing is needed for taking care of the byproduct operators . a comprehensive discussion about it is provided in the following section .
this section serves as a summary of the results which were discussed in ref .
@xcite . when a sequence of gates is simulated in the mqcm , the byproduct operator which originates from the implementation of gates `` passes through '' the sequence .
the propagation of the byproduct operator either transforms the next gates in the sequence or the byproduct operator in itself gets transformed .
the first part of this section is about propagation relations for some elementary gates , and in the second part we shall define an information flow vector . the third part which concludes this section is reserved for the propagation matrices for some elementary gate based on their propagation relations .
we shall use a portion of this section for the hqcm in sec .
[ sec : hqcm ] .
the structure of the byproduct operator on the logical qubit @xmath61 is @xmath62 , where @xmath63 and @xmath64 are non - negative integers .
both @xmath63 and @xmath64 depend on the outcomes of measured qubits and the eigenvalues @xmath34 @xcite .
their dependence on @xmath34 is in our control .
for example , the @xmath34 dependent parts disappear from the calculation by preparing a graph state with @xmath65 for all the graph qubits .
but we can not control the dependence of the byproduct operators on the measurement outcomes which are intrinsically random .    in ref .
@xcite , the authors took @xmath66 , but we find it simpler to take both @xmath63 and @xmath64 as non - negative integers .
this is permissible because in @xmath67 and @xmath68 only the modulo-2 values of @xmath63 and @xmath64 matter . throughout the paper , we reserve the sign ` + ' for the ordinary addition and the sign ` @xmath69 ' for the modulo-2 addition .    in principle
, we can correct the byproduct operators  step by step  after completing each gate of the sequence under simulation .
but it is more convenient to choose not to correct them and let them pass through the gates , and just keep track of the measurement outcomes in a systematic way using simple classical information processing . at the end of the computation , either we set the measurement bases for the final readout depending on the history of outcomes or we just perform the final measurements in the computational basis and interpret the result with the help of the record of measurement outcomes
.    the propagation of the byproduct operator through a gate is given by the propagation relation .
the euler decomposition of an arbitrary single - qubit rotation @xmath70 is @xmath71 and the propagation relation for @xmath72 is @xmath73 an arbitrary single - qubit rotation @xmath72 gets transformed to @xmath74 , but the byproduct operator stays as it is
. we can take eq .
( [ pror ] ) as an illustration of the importance of `` the temporal order of the measurements . ''
this is because , when @xmath72 is a part of a circuit , the superscripts @xmath28 and @xmath1 are functions of the earlier measurement outcomes . in order to determine the right sign for the measurement angles @xmath75 , @xmath76 , and @xmath77 , we have to wait until the necessary measurements are completed @xcite .
equation  ( [ pror ] ) also justifies the following points .
the measurement directions for these qubits lie in @xmath28,@xmath29 plane of the bloch sphere , @xmath78 with @xmath79 , their measurement bases depend on the results of previous measurements ( see appendix  [ sec : sqr ] and ref .
when @xmath80 , then the directions for @xmath81 and @xmath82 coincide and do not get influenced by the outcomes of other measurements . measurements of this kind are either in the @xmath6 ( @xmath83 ) or the @xmath60 ( @xmath84 ) eigenbasis . the gates from the generating set of the clifford group ( given by eqs .
( [ cnot])([rz ] ) ) are realized by such measurements .
the propagation relation for the gate @xmath85 is @xmath86 where @xmath87 and @xmath88 in case of the @xmath85 gate , eq .
( [ procnot ] ) , the gate stays as it is , but the byproduct operator @xmath89 gets transformed to @xmath90 .
this is also the case for the other two gates from the generating set of the clifford group .
the propagation relation for the hadamard gate @xmath91 is @xmath92 and for the @xmath58-phase gate @xmath93 it is ( up to a phase factor @xmath94 ) @xmath95 the propagation relations ( [ procnot ] ) , ( [ proh ] ) , and ( [ prophase ] ) can also be understood from the definition of the clifford group which maps the pauli group into itself under conjugation .
now , let us define an information flow vector . at every stage of the computation , the accumulated byproduct operator @xmath96 upon the logical qubits @xmath97 is of the form @xmath98 .
after the implementation of a gate , only the values @xmath99 and @xmath100 get changed , and the new values determine the measurement bases for the subsequent gates .
these values are processed by a classical computer .
there is a one - to - one correspondence between the byproduct operator @xmath96 ( ignoring the global phase @xmath101 ) and a @xmath102-component `` information flow vector '' @xmath103 which is given as follows : @xmath104 where @xmath105 here , the multiplication of byproduct operators ( up to a phase factor @xmath101 ) corresponds to the component - wise addition of information flow vectors .
the information flow vector @xmath106 keeps track of the sign(s ) of the measurement angle(s ) for a gate . in accordance with eq .
( [ pror ] ) , the signs of the measurement angles for the operation @xmath107 on the qubit @xmath108 are determined by the current value of @xmath63 and @xmath64 in @xmath106 .
the propagation relations ( [ procnot ] ) , ( [ proh ] ) , and ( [ prophase ] ) suggest that none of the gates from the generating set of the clifford group gets altered under the propagation of the byproduct operator .
so , the measurement angles for these gates are independent of the values stored in @xmath106
.    we can also define a @xmath109 `` propagation matrix '' @xmath110 for a gate @xmath111 , representing the transformation in the information flow vector when the corresponding byproduct operator passes through the gate @xmath111 .
the propagation matrices given below are derived from the propagation relations ( [ pror ] ) , ( [ procnot ] ) , ( [ proh ] ) , and ( [ prophase ] ) with the help of the one - to - one correspondence given by eq .
( [ i ] ) , and the entries in the information flow vectors and the propagation matrices are given only for relevant qubits .
for the case of @xmath36 logical qubits , the propagation matrices for the @xmath70- , @xmath55- , @xmath91- , and @xmath93-gate are given in appendix  [ sec : pm ] .
the byproduct operator passes through an arbitrary single - qubit rotation @xmath72 without getting transformed .
so the information flow vector stays as it is , @xmath112 the information flow vector gets transformed when the associated byproduct operator passes through the @xmath85 gate in the following way : @xmath113 under the one - to - one correspondence given by eq .
( [ i ] ) , the propagation relation ( [ proh ] ) for the hadamard gate @xmath91 becomes @xmath114 and the propagation relation ( [ prophase ] ) for the @xmath58-phase gate @xmath93 becomes @xmath115 the information flow vector and the propagation matrices provide a simple description , and they are easily handled by a classical computer .
as a side remark , the temporal order of the measurements does not typically follow the temporal order of gates in a circuit which we want to simulate with the mqcm . in the mqcm
, there exists an efficient measurement scheme where measurements are performed round by round , and in each round all the measurements are executed at the same time @xcite . the information flow vector is updated after every round . after the final round , the result of the computation
is interpreted from the @xmath28-part of the information flow vector @xmath116 .
an extended discussion of this efficient measurement scheme is provided in appendix  [ sec : ems ] .
in this section , we formulate the methodology of the hybrid quantum computation model ( hqcm ) by combining the advantages of the uqcm and the mqcm . before going into the details ,
let us first focus on what benefits we can get from each of the models in different situations . here , we consider the preparation of a graph state , the set of elementary gates for the hqcm , and the simulation of a quantum circuit with the hqcm one by one .
the very first experimental step in the mqcm is the preparation of a resource graph state , whereas in the uqcm no such preparation of a resource is needed . while preparing a graph state , in principle , the initialization of every graph qubit in the @xmath6 eigenbasis can be completed in one shot . to this end
, we have to `` talk '' to every graph qubit simultaneously .
consequently , this requires a lot of experimental resources , and the very many interactions are difficult to control .
likewise , the subsequent two - qubit entangling operations ( @xmath117 s given by eq .
( [ cz ] ) ) to create the resource graph state can be performed in one step , because they commute with each other . and
, the larger the graph state , the more difficult it is to prepare and control the state and to protect it against decoherence .
so , for the hqcm , we choose not to prepare the whole two - dimensional universal graph state at once , but instead prepare small ( non - universal ) graph states step - by - step as we need them when the computation progresses .
only the star graph states , such as @xmath118 given in eq .
( [ g2 ] ) , are required for the hqcm .
we choose single - qubit operations , the @xmath17 gate and the multi - qubit rotation around the @xmath1-axis @xmath52 for an arbitrary value of @xmath119 given by eq .
( [ nr ] ) as the elementary gates for hqcm . in analogy to the procedure for the uqcm ,
first we `` efficiently decompose '' any big unitary gate we are trying to simulate into a sequence of elementary gates in such a way that the number of elementary gates grows polynomially with the number of logical qubits , and then every elementary gate is implemented one after another .
every single - qubit operation and the @xmath17 gate are carried out by the unitary evolution under the formalism of uqcm .
the rotation @xmath52 is implemented by the method given in sec .  [ sec : methodology1qc ] ( see the example ) under the formalism of mqcm .
the motivation behind these choices is explained in the following .
the implementation of an arbitrary single - qubit rotation in the mqcm costs us at least a chain of five qubits graph state and four measurements @xcite .
but it can be realized quite simply by the unitary evolution of the respective single qubit . furthermore , the euler decomposition for an arbitrary single - qubit rotation @xmath72 given in eq .
( [ ro ] ) is not needed .
the @xmath17 operations themselves are part of the experimental setup for constructing the graph states , and for this we have to execute them by the unitary evolution .
that is why we consider the @xmath17 gate as an elementary gate for the hqcm .
furthermore , it is more economical to implement @xmath85 by the unitary evolution @xmath120 instead of first preparing a 15-qubit graph state and then implement it with the mqcm @xcite .
although we already have the universal set of gates ( single - qubit and @xmath17 gates ) , we prefer to include @xmath52 as an elementary gate in the hqcm .
this is because of two reasons .
the first reason is the optimization .
the resource @xmath39-qubit graph state @xmath118 ( given by eq .
( [ g2 ] ) ) needed for the implementation of @xmath52 is relatively easy to create experimentally .
it has only one ancilla qubit , and the entanglement can be established in one shot .
furthermore , a single measurement on the ancilla qubit is enough to realize @xmath52 all together on @xmath36 logical qubits .
while it is also possible to decompose the rotation @xmath52 in terms of the gates from the universal gate set and implement it under the formalism of uqcm , its implementation there will not be so optimal , and we can not regard it as a single unit .    generally , one is using either unitary evolution ( uqcm ) or measurements on the graph state ( mqcm ) in order to simulate a quantum circuit .
so , the second reason for including @xmath52 as an elementary gate in the hqcm is to investigate a model of qc in which a part of a circuit ( @xmath52 rotations ) is simulated by the measurements and the rest by the unitary evolution , and to see how the classical information processing plays its role in such a model .
the importance of looking at the classical information - processing parts is explained in the following .
now let us consider the simulation of a sequence of gates with the hqcm in which the classical information processing becomes crucial .
the classical processing does not come into the picture of uqcm where the measurements are used only for the readout of the final result of computation . in all those schemes where measurements are needed for the computation ( for example quantum teleportation @xcite ) ,
the classical information processing in parallel is essential . in the hqcm also , classical information processing is needed , because the rotations @xmath52 are executed by the measurements .
but here the classical information - processing parts are rather simple and straightforward , requiring only the information flow vector and the propagation matrices . a comprehensive discussion of this is given in the following section .
in this section , our focus will be on the classical information - processing parts of the hqcm .
we only need the information flow vector and the propagation matrices for the elementary gates .
we first redefine the information flow vector in the context of hqcm , and then discuss the propagation relations as well as the propagation matrices for the elementary gates .    at every computation step @xmath121
, the form of the byproduct operator is the same , as given in eqs .
( [ i ] ) and ( [ byprombqcm ] ) , @xmath122 so , the form of the related information flow vector @xmath123 is also the same as given by the @xmath124 column vector in eqs .
( [ i ] ) and ( [ iso ] ) .
but in the hqcm , there are some differences in comparison to the efficient measurement scheme of mqcm given in appendix  [ sec : ems ] . in that scheme of mqcm , the index ` @xmath125 ' of @xmath126 stands for ` the measurement round . '
but in the hqcm , every elementary gate is taken as a single computational step , and the index ` @xmath121 ' of @xmath127 is the label for them . in the mqcm ,
@xmath126 gets updated after each round , but in the hqcm it is updated after each gate .    in this scheme of mqcm ,
the initial value of the information flow vector @xmath128 is determined by the set of eigenvalues @xmath34 and by some particular gates .
but in the hqcm , just before starting the computation all the entries of @xmath129 are zeros , i.e. , both @xmath130 and @xmath131 for all @xmath132 .
that means that the byproduct operator at @xmath133 is the identity operator @xmath4 on every logical qubit .
in fact , the first relevant byproduct operator appears in the computation when the first multi - qubit rotation is implemented , and then the information flow vector gets some nonzero entries . in the mqcm ,
the information flow vector gets updated from @xmath134 to @xmath126 after the @xmath125th measurement round . in the hqcm , the information flow vector gets updated from @xmath135 to @xmath127 after the implementation of @xmath121th gate .
@xmath127 influences the @xmath136th gate of a quantum circuit under simulation .
similar to the case of the uqcm , the total number of computation steps ( the logical depth ) is denoted by @xmath137 , which is the total number of elementary gates used for the computation .
furthermore , @xmath137 is also the total number of steps taken by a classical computer for the classical information processing in the hqcm .
let us turn to the issue how one can interpret the final result of the computation in the hqcm . in the case of uqcm ,
every gate of a circuit is executed by their respective unitary evolution , and the final readout measurements are performed in the computational basis . in this case , the output state @xmath138 gets projected onto the state @xmath139 after the final readout measurements , @xmath140 where @xmath141 are the readout measurement outcomes for the logical qubits @xmath142 .    in the case of hqcm , the final state of the output register will be @xmath143 after performing the last gate of the same circuit . without loss of generality , like above
, we consider the computational basis for the final readout , where @xmath144 are the readout measurement outcomes for the logical qubits @xmath142 .
that means that the output state @xmath143 gets projected onto the state @xmath145 after the readout measurements , @xmath146 we can transform eq .
( [ outh ] ) with the help of eq .
( [ byprohqcm ] ) into @xmath147    the inference we get by comparing eq .
( [ outu ] ) and eq .
( [ out2h ] ) is : the readout measurements on the state @xmath138 with the results @xmath148 give the same circuit - output as the readout measurements on the state @xmath143 with the results @xmath149 , and these sets of results are related by @xmath150 that is how one can interpret the final result of the computation with the help of @xmath151 in the hqcm .
let us turn to the propagation relations for the elementary gates .
an arbitrary single - qubit rotation around an axis @xmath152 ( defined in eq .  ( [ r ] ) ) by an angle @xmath75 is
@xmath153 the byproduct operator passes through this gate without any change , but it changes the axis of rotation of the gate from @xmath154 to @xmath155 . the propagation relation for @xmath156 is given by @xmath157 where @xmath158 in other words , the angles @xmath119 , @xmath159 that define the axis of rotation @xmath154 get transformed as @xmath160 and @xmath161 .
the byproduct operator passes through @xmath156 without getting transformed , that means that the propagation matrix @xmath162 is the same identity matrix as given in eqs .
( [ cr ] ) and ( [ ccr ] ) . every single - qubit unitary operator in su(2 ) follows this propagation relation , and it becomes the propagation relation ( [ proh ] ) for the hadamard gate when @xmath163 and the propagation relation ( [ prophase ] ) for the @xmath58-phase gate when @xmath164 .
so , the hadamard- and the @xmath58-phase - gate remain special cases in the sense that the byproduct operator changes under the propagation but not these gates .
they are executed by the unitary evolution like any other single - qubit gate , but for the classical information - processing parts of the hqcm we shall use their propagation matrices given by eqs .
( [ cch ] ) and ( [ ccphase ] ) .
the propagation relation for the next elementary gate @xmath117 ( defined in eq .
( [ cz ] ) ) is @xmath165 where @xmath166 and @xmath167 under the one - to - one correspondence given in eq .
( [ i ] ) the propagation relation ( [ hqcprocz ] ) becomes @xmath168 when the control qubit ` @xmath7 ' and the target qubit ` @xmath11 ' belong to the set of @xmath36 logical qubits @xmath169 , then the propagation matrix @xmath170 can be generated by the following relations : @xmath171_{kl}&= \left[\textbf{c}_{zz}(\textsc{cz}(a , b))\right]_{kl}=\delta_{kl},\nonumber\\ \left[\textbf{c}_{xz}(\textsc{cz}(a , b))\right]_{kl}&=\delta_{ka}\delta_{lb}+\delta_{kb}\delta_{la},\nonumber\\ \left[\textbf{c}_{zx}(\textsc{cz}(a , b))\right]_{kl}&= 0.\label{cccz}\end{aligned}\ ] ] note that eqs .
( [ ccz ] ) and ( [ cccz ] ) are different from eqs .
( [ ccnot ] ) and ( [ cccnot ] ) .
the @xmath17 and @xmath55 gates are interconvertible by using the hadamard gate , i.e. , @xmath172 and the same is true for their propagation matrices , i.e. , @xmath173    the propagation relation for @xmath52 is @xmath174 where @xmath96 is the same as given in eq .
( [ i ] ) and @xmath175 in this case , the measurement angle @xmath119 gets modified under the propagation , but the byproduct operator stays as it is .
so , the propagation matrix @xmath176 will be the identity matrix , which can be defined in the same way as the @xmath162 in eq .
( [ ccr ] ) .
the inferences we get here are the following : ( 1 ) the hadamard- , the @xmath58-phase- and the @xmath17-gate remain unchanged under the propagation , while the byproduct operator gets altered .
( 2 ) the single- and multi - qubit rotations ( with nontrivial angles ) get transformed , while the byproduct operator stays unaltered under the propagation .
now we have all the basic tools for the hqcm .
we shall first describe some important examples , and then proceed to the implementation of grover s search algorithm within the hqcm .      in this section
we are considering @xmath36-qubit controlled rotations around the @xmath1-axis , which are defined by    @xmath177    where the qubits labeled 1 to @xmath178 are the control qubits and the qubits labeled @xmath179 to @xmath36 are the target qubits .
only if every control qubit is in the state @xmath180 , then the @xmath181-qubit rotation @xmath182 operates on the target qubits .
we discuss the hqcm implementation for three different values of @xmath178 : @xmath178 = 1 ( single - control ) , @xmath178 = 2 ( double - control ) and @xmath183 ( triple - control ) .
first , we decompose @xmath184 in terms of multi - qubit rotations like @xmath52 given by eq .
( [ nr ] ) . in order to have the logical qubit 1 as the control and the rest as the target qubits , we express the @xmath36-qubit rotation about the @xmath1-axis as @xmath185 consequently , we get the required decomposition : @xmath186 we observe that @xmath52 is symmetric under permutation of the qubits , so we can take any qubit as the control and the remaining qubits as targets .
we consider a ` multi - qubit rotation about the @xmath1-axis ' as a single unit , and then @xmath184 costs only two units of this kind .    the circuit representation of eq .
( [ c1u ] ) is given in fig .
[ fig:2 ] . in fig .
[ fig:2](i ) , the first and the second rectangular boxes depict @xmath52 ( the first rotation ) and @xmath187 ( the second rotation ) , respectively . in practice , both of them
are realized  by using a single ancilla qubit and a single measurement  with the methodology given in sec .
[ sec : methodology1qc ] ( see the example ) .
moreover , after executing the first rotation we bring back the ancilla qubit into an eigenstate of @xmath6 and use it for the second rotation .
the implementation of @xmath52 and @xmath187 require @xmath39-qubit and @xmath36-qubit star graph states , respectively ( see fig .
[ fig:1](i ) ) , where the ancilla qubit is connected to the relevant logical qubits .
the eigenvalues of the ancilla qubit corresponding to the first and the second rotation are @xmath188 and @xmath189 , and the measurement outcomes are @xmath190 and @xmath191 , respectively .
the classical information processing for this case has three main parts .
the first part deals with the change in the measurement angles due to the byproduct operator @xmath192 .
@xmath192 appears just before implementing the first rotation and is denoted by the dashed vertical line at the input section in fig .
[ fig:2 ] .
when the gate @xmath184 in itself is a part of a circuit under simulation , then due to the implementation of previous gates the byproduct @xmath192 has emerged prior to the execution of @xmath184 . without loss of generality , we take @xmath193 the same as given in eq .  ( [ i ] ) .
only the @xmath28-part of the corresponding information flow vector @xmath194 influences the measurement bases @xmath195 for both rotations .
according to eq .
( [ hqcprou ] ) , the angles @xmath119 for the first and @xmath196 for the second rotation get altered .
@xmath197 where @xmath28 is given by eq .
( [ x ] ) .
the second part deals with the eigenvalues @xmath188 and @xmath189 , which influence the azimuthal angle @xmath58 of the measurement bases in the following way : @xmath198    the third part manages the contribution of measurement outcomes @xmath190 and @xmath191 to the byproduct operator @xmath199 .
the implementation of both the first and the second rotation cause the byproduct operators @xmath200 and @xmath201 on the relevant logical qubits . furthermore , these byproduct operators update @xmath199 to @xmath202 .
@xmath202 is denoted by the dashed vertical line at the output section in fig .
[ fig:2 ] .
only the @xmath1-part of the information flow vector @xmath203 gets changed , while the @xmath28-part remains as it is , i.e. , @xmath204 , @xmath205      we have to combine two additional units @xmath207 ( the third rotation ) and @xmath208 ( the fourth rotation ) with @xmath184 for the purpose of getting the gate @xmath206 . in other words , @xmath206 with two control qubits 1 and 2 ,
is made up of four rotations , and its decomposition is given by @xmath209 figure  [ fig:3](i ) illustrates the temporal ordering of the multi - qubit rotations given in eq .
( [ c2u ] ) by the rectangular boxes .
the treatment for @xmath206 is similar to that of sec .
[ sec : c1 ] .
all the rotations@xmath52 ( first ) , @xmath187 ( second ) , @xmath207 ( third ) , and @xmath208 ( fourth)are performed one after another under the scheme given in sec .  [
sec : methodology1qc ] ( see the example ) .
after initializing the ancilla qubit in the @xmath6 eigenbasis , we prepare a necessary star graph state for the first rotation , and then the ancilla qubit is measured in the appropriate basis .
the measurement outcome is recorded , and the ancilla qubit is brought back again into an eigenstate of @xmath6 ( recycled ) for executing the next rotation .
in this way , we can use the same ancilla qubit for all the rotations .
@xmath188 , @xmath189 , @xmath210 , and @xmath211 are the eigenvalues of the ancilla qubit , and @xmath190 , @xmath191 , @xmath212 , and @xmath213 are the measurement outcomes corresponding to the first , second , third , and fourth rotation . as a side remark , one can also choose to perform these four rotations at the same time by using four different ancilla qubits , but this would require more hardware resources .
we can take @xmath206 as a single time step , because , in principle , all the four rotations can be executed at the same time .
the classical information processing for this case also has three main parts .
the first part deals with the modification in the measurement angles because of the byproduct operator @xmath214 , which is represented by the dashed vertical line at the input section in figs .
[ fig:3](i ) and [ fig:3](iii ) . here
also , only @xmath215 influences the measurement angle @xmath216 for every rotation .
@xmath217 where @xmath28 is the same given by eq .
( [ x ] ) .
the second part manages the influence of the eigenvalues @xmath218 and @xmath211 on the azimuthal angle @xmath58 of the measurement bases @xmath195 in the following way : @xmath219    the third part handles the random measurement outcomes @xmath190 , @xmath191 , @xmath212 , and @xmath213 ; which cause the byproduct operators @xmath220 , @xmath221 , @xmath222 , and @xmath223 , respectively , on the relevant logical qubits .
furthermore , they change @xmath199 into @xmath202 by their contribution .
@xmath202 is denoted by the dashed vertical line at the output section in figs .
[ fig:3](i ) and [ fig:3](iii ) .
so , only the @xmath1-part of the corresponding information flow vector @xmath203 gets changed to @xmath224 , while @xmath204 .
@xmath225 where @xmath226    we emphasize two points .
first , @xmath206 is symmetric under permutation of the qubits .
so , we can take any two qubits as controls and the rest of the qubits as targets by using only four multi - qubit rotations .
if we continue along the same direction , then the controlled rotation @xmath227 with @xmath178 control qubits requires @xmath228 units of rotation .
the number @xmath228 is independent of the number of target qubits @xmath181 , but when @xmath178 becomes order of @xmath36 , then @xmath228 becomes exponential in @xmath36 . in order to fix this exponential growth problem , we need some extra work qubits @xcite .
our next example will justify this remark .
second , @xmath206 becomes @xmath229 for @xmath230 .
the gate @xmath229 is equivalent to the deutsch s universal gate @xmath231 $ ] @xcite up to single - qubit gates , provided the angle ` @xmath232 ' is incommensurate with @xmath233 .
we are going to use @xmath234 with two work qubits for implementing our next gate @xmath235 .
we put the bits and pieces of the hqcm together as a summary by taking the gate @xmath235 as an example . the complete scheme about its implementation in terms of its circuit diagram
is shown in fig .
[ fig:4 ] , and the associated classical information - processing parts are given in table  [ table : cip ] .
first , we efficiently decompose the gate @xmath235 into a sequence of elementary gates ( single - qubit gates , the @xmath17 gate , and @xmath52 ) .
the temporal order of the elementary gates for @xmath235 is depicted by the circuit diagram in fig .
[ fig:4 ] , where the qubits 1 , 2 , and 3 act as the control qubits and the qubit 6 as the target qubit , and they all are represented by the black horizontal lines .
the work qubits 4 and 5 are initialized in the state @xmath236 , and they are represented by the gray horizontal lines in the figure .
the work qubits are used to make the decomposition of @xmath235 economical .
the 3-qubit gates @xmath237 ( 1st gate ) , @xmath238 ( 3rd gate ) , @xmath239 ( 7th gate ) , and @xmath240 ( 9th gate ) are represented by rectangular boxes with double - control . every 3-qubit gate is further decomposed into four rotations around the @xmath1-axis according to eq .
( [ c2u ] ) , here @xmath241 and @xmath242 .
furthermore , each rotation is executed by preparing a required star graph state , followed by the measurement in the appropriate basis .
the detailed methodology is already mentioned in sec .
[ sec : c2 ] .
the hadamard gates @xmath91 are displayed by rounded rectangles , and the two - qubit gate @xmath243 is shown by the rounded rectangle on the qubit 6 with the qubit 5 as control in fig .
[ fig:4 ] . the hadamard and
the @xmath243 gates are executed by the unitary evolution .
the classical information - processing parts for @xmath235 are handled by a classical computer according to table  [ table : cip ] . in this table ,
the first column is for the computational steps @xmath121 , which are represented by the dashed vertical lines in fig .
[ fig:4 ] .
there are ten vertical lines in the figure and ten rows in the table for the ten computational steps from @xmath244 to @xmath245 . at each vertical line
the information flow vector @xmath127 gets updated . the second and the third columns
are reserved for @xmath246 and @xmath247 respectively .
if required , the change in the measurement angles for the next gate based on the updated value of @xmath127 is calculated ; they are given in the fourth column .
after performing the measurements in the appropriate bases , the measurement outcomes are recorded in the fifth column .    @
c c c p5 cm p5 cm    @xmath121 & @xmath246 & @xmath247 & angle @xmath216 ( here @xmath248 ) & measurement outcomes +    * 0 * & @xmath249 & @xmath249 & @xmath250 & @xmath251    @xmath252 + * 1 * & @xmath249 & @xmath253 & & + * 2 * & @xmath254 & @xmath255 & @xmath256 & @xmath257    @xmath258 + * 3 * & @xmath254 & @xmath259 & & + * 4 * & @xmath260 & @xmath261 & & + * 5 * & @xmath260 & @xmath262 & & + * 6 * & @xmath254 & @xmath263 & @xmath264 & @xmath265    @xmath266 + * 7 * & @xmath254 & @xmath267 & & + * 8 * & @xmath268 & @xmath269 & @xmath270    @xmath271 & @xmath272    @xmath273 + * 9 * & @xmath268 & @xmath274 +    [ table : cip ]    let us go through the table row by row . before starting the computation ( in the first row @xmath275 ) , all the entries of both @xmath276 and @xmath277 are zeros ( initialization ) .
so , there is no change in the measurement angle for each of the four rotations associated with the gate @xmath237 ( 1st gate ) .
the measurement outcomes @xmath278 , @xmath279 , @xmath280 , and @xmath281 corresponding to the four rotations @xmath282 , @xmath283 , @xmath284 , and @xmath285 are recorded .
these outcomes give some nonzero entries to @xmath286 according to eq .
( [ ivector ] ) .
the measurement outcome @xmath287 corresponds to the @xmath288th rotation of the @xmath108th 3-qubit gate .
the next gate in the circuit is the hadamard gate @xmath289 , which does not change under the propagation of the byproduct operator ; that is why the forth column of the second row @xmath290 is empty .
the @xmath91-gate is realized by the unitary evolution , that is why the fifth column of the second row is also empty .
but the @xmath91-gate changes the information flow vector @xmath291 into @xmath292 under the propagation relation given by eq .
( [ proh ] ) , and the propagation matrix for the @xmath91-gate is given by eqs .
( [ ch ] ) and ( [ cch ] ) .
the @xmath293rd gate is @xmath238 .
the measurement angles @xmath216 only for the rotation @xmath294 and @xmath295 get influenced by @xmath296 according to eq .
( [ thetax ] ) .
the measurement outcomes @xmath297 , @xmath298 , @xmath299 , and @xmath300 only transform @xmath301 into @xmath302 . in this way going through table  [ table : cip ] along with fig .
[ fig:4 ] explains the whole scheme , and the final output result is interpreted according to eq .
( [ sx ] ) with the help of @xmath303 .    here
, the @xmath1-part of the information flow vector @xmath247 gets the new entries from the implementation of 3-qubit gates only according to eq .
( [ ivector ] ) .
the entries of @xmath127 get manipulated under the propagation of the byproduct operator through the hadamard gates and the @xmath243 gate according to the propagation relations  ( [ proh ] ) and ( [ hqcprocz ] ) , respectively .
but the propagation of the byproduct operator does not change the @xmath91- and @xmath17-gate .
the @xmath28-part of the information flow vector @xmath246 influences the measurement angles @xmath216 of the rotations for every 3-qubit gate according to eq .
( [ thetax ] ) . as a side remark
, the sign of the azimuthal angle @xmath58 of the measurement bases for the rotations also depends on the eigenvalues of the ancilla qubit according to eq .
( [ phik ] ) , which is not mentioned in the table .
we can easily generalize this example up the @xmath36-qubit gate @xmath304 . where the @xmath305 logical qubits @xmath306 are the control qubits and the last one is the target qubit . for implementing this gate
we need @xmath307 work qubits , which are initialized in the state @xmath308 . in grover
s search algorithm this gate plays a very important role , which we are discussing in the next section .
in this section , we illustrate the use of the hqcm in the context of a practical example : grover s search algorithm ( ga ) @xcite . here
, we shall see that the @xmath36-qubit gate @xmath304 along with the single - qubit operations is sufficient to perform ga .
the best known quantum algorithm , for an unstructured database search , is ga .
we have an unstructured database of total @xmath309 items , out of which only one item matches with our query . where a classical computer takes an average @xmath310 steps , a qc with ga takes only @xmath311 steps ( grover s iterations ) to find out the marked item .
a `` step '' is a query of the oracle in the current context .
a brief description of ga is given as follows : we can recognize each item of our database by a @xmath36-bit string .
for simplicity , we choose @xmath312 = the total number of @xmath36-bit strings , and only one string out of @xmath309 is marked .
the task of the search problem is to recover the marked @xmath36-bit string in the end of computation .
ga begins with the hadamard operation on each qubit , which were initially prepared in the state @xmath313 , and that creates the superposition of the kets for all possible @xmath36-bit strings with equal amplitude .
the next step is the implementation of grover s iteration , which is a rotation in effect .
it can be decomposed into two reflection operations .
the first reflection operator is the oracle @xmath314 , which has the ability to recognize the solution of the search problem .
mathematically , @xmath314 gives a conditional phase shift of @xmath233 to the matching string only .
the second reflection operator is the diffusion operator @xmath315 , which gives an inversion about the average . like other quantum algorithms , ga is also probabilistic in nature .
after @xmath311 steps ( iterations ) the amplitude of the marked string becomes significantly larger than those of the unmarked strings .
finally , we read the output by performing measurements on all the qubits .
there have been many successful attempts at the implementation of ga , for @xmath316 or @xmath317 , in different physical setups such as with nmr system @xcite , with cavity quantum electrodynamics ( qed ) @xcite , with optics @xcite , and with the mqcm @xcite .
now , let us take a look at the structure of these two reflection operators .
if only one out of @xmath309 item matches with our query ; then there exist @xmath309 different @xmath314 operations ( one for each item ) .
mathematically , the oracle corresponds to the @xmath108th item can be written as @xmath318 the case of @xmath319 , @xmath320 , corresponds to @xmath321 and is nothing but the @xmath36-qubit gate @xmath304 .
we already discussed its implementation with the hqcm for @xmath322 in sec .
[ sec : c3 ] , and its circuit diagram is shown in fig .
[ fig:4 ] . any other oracle can be derived by performing the gate(s ) @xmath323 on the relevant qubit(s ) before and after performing the gate @xmath304 .
for example , the oracle associated with the item @xmath324 can be derived as @xmath325x^{\otimes n}.   \label{o1}\ ] ] so the gate @xmath304 is used for implementing every oracle .
the information ,  which of the oracle is executed by the black box ? " , is hidden to us . in other words
, we do not know on which qubit(s ) the black box is implementing the @xmath6 gate(s ) along with @xmath304 .
the mathematical structure of the diffusion operator is @xmath326x^{\otimes n}h^{\otimes n}. \label{d}\ ] ] it can also be constructed by performing the hadamard- and the @xmath6-gate on every logical qubit before and after performing the gate @xmath304 . in summary ,
the gate @xmath304 together with the hadamard and the @xmath6 gates is sufficient to realize ga in the framework of hqcm .
we have established the hqcm , which is a hybrid model of the mqcm and the uqcm , where at first , a big unitary gate under simulation is decomposed into a sequence of elementary gates .
the elementary gates in the hqcm are an arbitrary single - qubit gate , the @xmath17 gate and the multi - qubit rotation around the @xmath1-axis .
every single - qubit gate and the @xmath17-gate are realized by a unitary evolution .
every multi - qubit rotation is executed by preparing a respective star graph state followed by a single measurement .
the hqcm is a model where a portion of the quantum circuit is simulated by the unitary evolution , and the rest is by the measurements .
the choice of elementary gates is governed by the experimental easiness in terms of resources and computational steps .
the implementation of an arbitrary single - qubit gate with the unitary evolution is straightforward in comparison with its implementation with the mqcm .
the @xmath17-gate in itself is the part of experimental setup for creating the graph states .
the star graph states for the multi - qubit rotations can be realized in one shot , and a single measurement is enough for executing these rotations .
the classical information processing in the hqcm is very simple in comparison with the mqcm . in the hqcm ,
only the @xmath102-component information flow vector and the propagation matrices for the elementary gates are needed for the classical information processing , and the total number of steps are taken by a classical computer in parallel for doing this is the total number of gates in a quantum circuit under simulation .
furthermore , no preprocessing and no additional computational steps are required for classical information processing in the hqcm .
we also have shown that how one can realize efficiently the multi - control gates ( like @xmath304 ) with the hqcm , which play a very important role in the implementation of ga .
the gate @xmath304 together with the hadamard and the @xmath6 gates is sufficient to realize ga in the framework of hqcm .
one can carry on the investigation in the following directions .
in addition to the multi - qubit rotations in the set of elementary gates for the hqcm , one could include some more gates  which can be executed in one shot by the mqcm without adding further complications in the model  in the set of elementary gates .
further , implementation errors need to be considered for any practical realization . in order to establish the fault - tolerance version of hqcm , one needs to design the elementary gates in a fault - tolerant manner but this is beyond the scope of the present paper .
in this appendix , we discuss the implementation of the single - qubit rotation around the @xmath1-axis @xmath327 with the mqcm @xcite .
a two - qubit graph state corresponding to the graph depicted in fig .  [ fig:5](i ) is sufficient for accomplishing the job .
the logical qubit 1 ( represented by the circle ) is in a general input state @xmath328 , and this is the single - qubit state on which we want to apply @xmath51 . in order to generate the required graph state
, we prepare the qubit @xmath7 ( represented by the diamond ) in the state @xmath8 .
then both the qubits are connected by the operation @xmath17 , which is represented by the bond in fig .
[ fig:5](i ) and given by eq .
( [ cz ] ) .
the resulting graph state @xmath329   \label{g1}\ ] ] is ready for the computation . here
, the subscript 1 + 1 indicates that this graph state is made of two qubits , the logical qubit 1 and the ancilla qubit @xmath7 .    in order to generate the desired effect on the input state
, we measure the qubit 1 in the basis @xmath330 and the value of @xmath190 is the result of the measurement . after the measurement , the output state ( up to a global phase ) @xmath331
is obtained from the qubit @xmath7 , and the qubit 1 gets projected either onto the state @xmath332 ( if @xmath333 ) or onto the state @xmath334 ( if @xmath335 ) . the net effect on the input state
is the required operation @xmath51 followed by the hadamard gate @xmath336 ( represented by the boxes in fig .  [ fig:5](ii ) ) and the byproduct operator @xmath53 ( represented by the dotted - box in fig .  [ fig:5](ii ) ) .    here
, the direction of measurement lies in @xmath28,@xmath29 plane of the bloch sphere , and the input information is not only teleported from one lattice site to other but also gets processed by the measurement .
as we know , every rotation in the bloch sphere corresponds to a single - qubit operation ( up to a global phase ) .
owing to the euler decomposition of an arbitrary rotation @xmath337 , where @xmath338 , one can generate an arbitrary single - qubit operation with a chain of five qubits graph state with the measurement direction for each qubit ( the angles @xmath339 ) in @xmath28,@xmath29 plane of the bloch sphere @xcite .
the realization of an arbitrary rotation by such a sequence of two @xmath1 rotations sandwiching an @xmath28 rotation illustrates the importance of the temporal ordering of the measurements in the mqcm .
in this appendix , the propagation matrices for the @xmath70- , @xmath55- , @xmath91- , and @xmath93-gate for the case of @xmath36 logical qubits are given .
the propagation matrix @xmath340 is a @xmath109 matrix of the form @xmath341 , where @xmath342 and @xmath343 are @xmath344 matrices with binary - valued entries @xcite .
one can generate the propagation matrices for an arbitrary single - qubit rotation @xmath345 on the logical qubit ` @xmath108 ' with @xmath346_{kl}&= \left[\textbf{c}_{zz}(r^{(j)})\right]_{kl}=\delta_{kl},\nonumber\\ \left[\textbf{c}_{zx}(r^{(j)})\right]_{kl}&= \left[\textbf{c}_{xz}(r^{(j)})\right]_{kl}=0;\label{ccr}\end{aligned}\ ] ] here , @xmath347_{kl}$ ] stands for the entry in @xmath288th row and @xmath348th column of the matrix @xmath349 corresponding to the @xmath345 gate . the same notation apply for the propagation matrices defined below .
the propagation matrix for the @xmath85 gate ( both the control qubit ` @xmath7 ' and the target qubit ` @xmath11 ' belong to the set of @xmath36 logical qubits ; @xmath350 ) is given by @xmath351_{kl}&= \delta_{kl}+\delta_{kb}\delta_{la},\nonumber\\ \left[\textbf{c}_{zz}(\textsc{cnot}(a , b))\right]_{kl}&=\delta_{kl}+\delta_{ka}\delta_{lb},\nonumber\\ \left[\textbf{c}_{zx}(\textsc{cnot}(a , b))\right]_{kl}&=\left[\textbf{c}_{xz}(\textsc{cnot}(a , b))\right]_{kl}= 0;\label{cccnot}\end{aligned}\ ] ] for the hadamard gate @xmath352 on the logical qubit ` @xmath108 ' is given by @xmath353_{kl}&= \left[\textbf{c}_{zz}(h^{(j)})\right]_{kl}=\delta_{kl}\oplus\delta_{kj}\delta_{lj},\nonumber\\ \left[\textbf{c}_{zx}(h^{(j)})\right]_{kl}&= \left[\textbf{c}_{xz}(h^{(j)})\right]_{kl}=\delta_{kj}\delta_{lj};\label{cch}\end{aligned}\ ] ] and for the @xmath58-phase gate @xmath354 on the logical qubit ` @xmath108 ' is given by @xmath355_{kl}&= \left[\textbf{c}_{zz}(r^{(j)}_{z}(\pi/2))\right]_{kl}=\delta_{kl},\nonumber\\ \left[\textbf{c}_{zx}(r^{(j)}_{z}(\pi/2))\right]_{kl}&= 0,\nonumber\\ \left[\textbf{c}_{xz}(r^{(j)}_{z}(\pi/2))\right]_{kl}&=\delta_{kj}\delta_{lj}.\label{ccphase}\end{aligned}\ ] ] it is advantageous to deal with the information flow vector @xmath106 together with the propagation matrices ( eqs .
( [ ccr])([ccphase ] ) ) by a classical computer , than directly dealing with the corresponding byproduct operator @xmath96 together with the propagation relations ( eqs .
( [ pror ] ) , ( [ procnot ] ) , ( [ proh ] ) , and ( [ prophase ] ) ) .
this appendix holds a discuss on an efficient measurement scheme of the mqcm where the temporal order of the measurements plays an important role @xcite . on one hand in the uqcm
, we can not parallelize two gates of a sequence that do not commute . on the other hand in the mqcm
, all the gates from the generating set of the clifford group can be executed in a single time step irrespective of their positions in the circuit .
in other words , the temporal order of the measurements in the mqcm is not pre - imposed by the temporal order of the gates .
so , the most efficient scheme for the measurements does not necessarily follow the temporal order of the gates in a circuit under simulation .
first , the spatial pattern of the measurement bases is assigned to the graph qubits according to the sequence of gates .
then the measurements are performed round by round according to the scheme which is given as follows .
first , the graph @xmath5 is divided into disjoint subsets of qubits @xmath356 , where index @xmath125 stands for the round of measurements and @xmath357 .
mathematically , @xmath358 and @xmath359 for all @xmath360 .
the subset @xmath356 is a collection of all those qubits which will be measured simultaneously in @xmath125th round .
all the measurements in the @xmath6 , @xmath60 and @xmath0 eigenbasis are put together in the very first round ( @xmath361th round ) , and there is no need for adjusting the measurement bases according to the previous measurement results for the qubits of @xmath362 . in the first measurement round ,
the `` redundant graph qubits '' are removed by the @xmath0-measurements , the `` readout qubits '' are measured in the @xmath0 eigenbasis , and the clifford part of the circuit is executed by the @xmath6- , @xmath60-measurements @xcite . in the mqcm , the `` readout qubits '' which play the role of `` output register '' are not the last ones to be measured , they are among the first ones .
the observables for all subsequent measurement rounds are of the form @xmath363 with @xmath79 , where the measurement bases for the qubits are decided by the measurement outcomes from the previous rounds .
all those qubits whose measurement bases depend on the outcomes from the first measurement round belong to the next subset @xmath364 . similarly , the measurement outcomes from the subset @xmath364 together with @xmath362 decide the measurement bases for the qubits in @xmath365 , and so on .
these subsets are measured one by one up to the final measurement round @xmath366 .
one can think of the total number of measurement rounds ( @xmath367 ) as the logical depth ( temporal complexity ) for the mqcm .
parallel to the measurement rounds , the classical data - processing parts are taken care of by a classical computer . after preparing the graph state and
just before starting the measurements , the information vector is initialized to @xmath368 .
@xmath368 depends on the eigenvalues @xmath34 of the graph and some particular gates ( like @xmath55 , @xmath93 ) which appear in a quantum circuit under simulation @xcite . after executing the first measurement round on the set @xmath362
, @xmath368 gets updated to @xmath369 through the measurement results .
@xmath369 then determines the measurement bases for the qubits of @xmath364 .
similarly , the measurement outcomes from round @xmath125 update the information flow vector from @xmath134 to @xmath126 .
the corresponding byproduct operator is given by @xmath370 then , @xmath371 sets the measurement bases for the @xmath372th round .
after the final measurement round @xmath366 , the @xmath28-part of the information flow vector @xmath373 enables us to interpret the result of the computation .    in this measurement scheme ,
the following technical points are worth emphasizing , which are discussed in ref .
@xcite : ( 1 ) in order to construct the subsets of graph qubits @xmath374 , a classical computer needs the forward cones for all the graph qubits .
the forward cones decide a strict partial ordering among the qubits , and the sets @xmath374 are constructed accordingly .
( 2 ) in order to account for the influence of the measurement outcomes and the set of eigenvalues @xmath34 on @xmath126 , a classical computer needs the byproduct images for all the graph qubits . ( 3 ) @xmath34 , the byproduct images , and @xmath126 are required for setting the measurement bases for the as - yet unmeasured qubits . a classical computer uses the symplectic scalar product for doing this .
centre for quantum technologies is a research centre of excellence funded by ministry of education and national research foundation of singapore .
d. z. would like to express his gratitude to cqt for its kind hospitality , and further thanks to h. j. briegel and w. dr .
s. wishes to thank h. j. briegel and iqoqi for their warm hospitality .
a. s. also wishes to express his grateful feelings to w. dr , hui khoon , le huy nguyen , and philippe raynal for enlightening comments and friendly discussions .
17 d. deutsch , proc .
london ser .
a * 400 * , 97 ( 1985 ) .
d. deutsch , proc .
london ser .
a * 425 * , 73 ( 1989 ) .
a. barenco , c. h. bennett , r. cleve , d. p. divincenzo , n. margolus , p. shor , t. sleator , j. a. smolin and , h. weinfurter , phys . rev . a * 52 * , 3457 ( 1995 ) .
d. p. divincenzo , science * 270 * , 255 ( 1995 ) .
m. a. nielsen and i. l. chuang , quantum computation and quantum information , cambridge university press , cambridge ( 2007 ) .
d. deutsch , r. jozsa , proc .
london ser .
a * 439 * , 553 ( 1992 ) .
l. k. grover , phys .
lett . * 79 * , 325 ( 1997 ) .
p. w. shor , e - print arxiv : quant - ph/9508027v2 . c. h. bennett , g. brassard , c. crpeau , r. jozsa , a. peres , and w. k. wootters , phys .
* 70 * , 1895 ( 1993 ) . h. j. briegel and r. raussendorf , phys .
lett . * 86 * , 910 ( 2001 ) .
m. hein , j. eisert , and h. j. briegel , phys .
a * 69 * , 062311 ( 2004 ) .
r. raussendorf and h. j. briegel , phys .
* 86 * , 5188 ( 2001 ) .
r. raussendorf , d. e. browne , and h. j. briegel , phys .
a * 68 * , 022312 ( 2003 ) .
r. raussendorf and h. j. briegel , quant .
inf . comp . * 6 * , 443 ( 2002 ) , eprint arxiv : quant - ph/0108067v2 .
d. browne and h. j. briegel , e - print arxiv : quant - ph/0603226v2 .
d. jaksch , h. j. briegel , j. i. cirac , c. w. gardiner , and p. zoller , phys .
lett . * 82 * , 1975 ( 1999 ) .
m. a. nielsen , phys .
* 93 * , 040503 ( 2004 ) .
d. e. browne and t. rudolph , phys .
* 95 * , 010501 ( 2005 ) .
t. p. bodiya and l .- m .
duan , phys .
lett . * 97 * , 143601 ( 2006 ) .
c. y. lu , x. q. zhou , o. ghne , w. b. gao , j. zhang , z. s. yuan , a. goebel , t. yang , and j. w. pan , nature physics * 3 * , 91 ( 2007 ) .
j. a. jones , m. mosca , and r. h. hansen , nature * 393 * , 344 ( 1998 ) .
i. l. chuang , n. gershenfeld , and m. kubinec , phys .
lett . * 80 * , 3408 ( 1998 ) .
m. s. anwar , d. blazina , h. a. carteret , s. b. duckett , and j. a. jones , chem .
. lett . * 400 * , 94 ( 2004 ) .
f. yamaguchi , p. milman , m. brune , j. m. raimond , and s. haroche , phys .
a * 66 * , 010302(r ) ( 2002 ) .
z. j. deng , m. feng , and k. l. gao , phys .
a * 72 * , 034306 ( 2005 ) . w. l. yang , c. y. chen , and m. feng , phys .
a * 76 * , 054301 ( 2007 ) .
p. g. kwait , j. r. mitchell , p. d. d. schwindt , and a. g. white , j. mod
. opt . * 47 * , 257 ( 2000 ) .
n. bhattacharya , h. b. vanlindenvandenheuvell , and r. j. c. spreeuw , phys .
* 88 * , 137901 ( 2002 ) .
p. walther , k. j. resch , t. rudolph , e. schenck , h. weinfurter , v. vedral , m. aspelmeyer , and a. zeilinger , nature * 434 * , 169 ( 2005 ) .
k. chen , c. m. li , q. zhang , y. a. chen , a. goebel , s. chen , a. mair , and j. w. pan , phys .
lett . * 99 * , 120503 ( 2007 ) .