Generates protocol handler for static (non-adaptive) protocols.
fun_proto = static_proto(proto)
generates protocol handler for static protocol proto
Data type: structure array
Protocol description. The array should have the following fields:
proto.mtype
- measurement typeproto.elems
- elements of the protocolproto.ratio
- array of ratios between number of samples for every protocol element (optional)
Number of protocol elements is the number of diffent measurements that should be performed. Suppose Mj = proto.elems{j}
is the j-th measurement. For 'povm'
measurement type Mj(:,:,k)
is the k-th POVM operator matrix. For 'observable'
measurement type Mj
is the observable operator matrix. For 'operator'
measurement type Mj
is the measurement operator matrix.
By default the total sample size ntot is devided equally over all protocol elements. One can adjust samples size partition by setting proto.ratio
array. Then the j-th protocol element is used ntot*proto.ratio(j)/sum(proto.ratio)
times.
Data type: function_handle