|View source on GitHub|
Creates a concatenation of multiple
tff.templates.concatenate_measured_processes( measured_processes: collections.OrderedDict[str, MeasuredProcess] ) ->
For example, given
y = f(x) and
z = g(y), this produces a new
<y, z> = <f(x), g(y)> that concatenates the two
Guidance for Concatenation
MeasuredProcesses F(x) and G(y) can be concatenated into a new
MeasuredProcess called C with the following properties, each is the
concatenation of that of input
MeasuredProcesses as an
C.state == <F=F.state, G=G.state>.
C.next(C.state, <x, y>).result == <F=F.next(F.state, x).result, G=G.next(G.state, y).result>.
C.measurements == <F=F.measurements, G=G.measurements>.
The resulting concatenation C would have the following type signatures:
( -> <F=F.initialize, G=G.initialize>)
(<<F=F.state, G=G.state>, <F=F.input, G=G.input>> ->
Note that the guidance for concatenation is not strict and details are allowed to differ.