  Nanoscale integrated photonic devices and circuits offer a path to ultra-low
power computation at the few-photon level. Here we propose an optical circuit
that performs a ubiquitous operation: the controlled, random-access readout of
a collection of stored memory phases or, equivalently, the computation of the
inner product of a vector of phases with a binary "selector" vector, where the
arithmetic is done modulo 2pi and the result is encoded in the phase of a
coherent field. This circuit, a collection of cascaded interferometers driven
by a coherent input field, demonstrates the use of coherence as a computational
resource, and of the use of recently-developed mathematical tools for modeling
optical circuits with many coupled parts. The construction extends in a
straightforward way to the computation of matrix-vector and matrix-matrix
products, and, with the inclusion of an optical feedback loop, to the
computation of a "weighted" readout of stored memory phases. We note some
applications of these circuits for error correction and for computing tasks
requiring fast vector inner products, e.g. statistical classification and some
machine learning algorithms.
