An apparatus having a topology that allows building complicated optical
programmable arrays useful for manipulating the phase and/or amplitude of
an optical signal. Sophisticated filtering and other optical signal
processing functionality can be programmed into the array after a chip
containing the array has been fabricated. This programming capability is
analogous to that of electronic field programmable gate arrays (FPGA's).
Apparatus described herein will provide a powerful tool for processing
optical signals or very broadband electrical signals.