Patent classifications
G06E1/04
Matrix multiplication using optical processing
Systems and methods for performing matrix operations using a photonic processor are provided. The photonic processor includes encoders configured to encode a numerical value into an optical signal and optical multiplication devices configured to output an electrical signal proportional to a product of one or more encoded values. The optical multiplication devices include a first input waveguide, a second input waveguide, a coupler circuit coupled to the first input waveguide and the second input waveguide, a first detector and a second detector coupled to the coupler circuit, and a circuit coupled to the first detector and second detector and configured to output a current that is proportional to a product of a first input value and a second input value.
SYSTEMS AND METHODS FOR PARALLEL PHOTONIC COMPUTING
A system for parallel photonic computation, preferably including one or more source modules, a plurality of multiplication modules, and a plurality of summation modules. In one embodiment, each multiplication module can include a set of input modulators, a splitter, and a plurality of multiplication banks. Each summation module can include one or more detectors. Each summation module preferably receives an output from multiple multiplication modules and computes the sum of all channels of all the received outputs. A method for parallel photonic computation, preferably including generating input signals, computing products, and computing sums.
SYSTEMS AND METHODS FOR PARALLEL PHOTONIC COMPUTING
A system for parallel photonic computation, preferably including one or more source modules, a plurality of multiplication modules, and a plurality of summation modules. In one embodiment, each multiplication module can include a set of input modulators, a splitter, and a plurality of multiplication banks. Each summation module can include one or more detectors. Each summation module preferably receives an output from multiple multiplication modules and computes the sum of all channels of all the received outputs. A method for parallel photonic computation, preferably including generating input signals, computing products, and computing sums.
Photonic Blockchain Based on Optical Proof-of-Work
An apparatus for combined digital and optical processing of a cryptocurrency data block includes a digital processor that computes a hash vector from the cryptocurrency data block; a laser and splitter that produces optical input signals; optical modulators that binary phase-shift key modulate the optical input signals based on the hash vector; a photonic matrix multiplier circuit that performs an optically perform a discrete matrix-vector product operation on the modulated optical input signals to produce optical output signals, where the discrete matrix-vector product operation is defined by matrix elements limited to K discrete values, where 2K17; and photodetectors and comparators that perform optoelectronic conversions of the optical output signals to produce corresponding digital electronic output signals. The digital processor performs a second hash computation on an XOR result between the digital electronic output signals and the hash vector to produce a proof of work result.
OPTICAL METHODS AND DEVICES
A method of performing a multiplication operation in the optical domain using a device (100) comprising: an optical waveguide (101), and a modulating element (102) that is optically coupled to the optical waveguide (101), the modulating element (102) modifying a transmission, reflection or absorption characteristic of the waveguide (101) dependant on its state, wherein the state of the modulating element (102) is adjustable by a write signal (103). The method comprises: encoding a first value to the write signal (103), using the write signal (103) to map the first value to a state of the modulating element (102); encoding a second value to a read signal (104); producing an output signal intensity as the transmitted or reflected read signal, wherein the product of the first value and the second value is encoded in the output signal intensity.
PATH-NUMBER-BALANCED UNIVERSAL PHOTONIC NETWORK
Systems and methods for performing matrix operations using a path-number balanced optical network are provided. The optical network is formed as an array including active optical components and passive optical components arranged at a substantially central location of the array. The optical network includes at least NM active optical components which are used to implement a first matrix of any size NM by embedding the first matrix in a second matrix of a larger size. The optical network performs matrix-vector and matrix-matrix operations by propagating one or more pluralities of optical signals corresponding to an input vector through the optical network.
OPTOELECTRONIC COMPUTING SYSTEMS
Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.
In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.
OPTOELECTRONIC COMPUTING SYSTEMS
Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.
In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.
OPTOELECTRONIC COMPUTING SYSTEMS
Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.
In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.
OPTOELECTRONIC COMPUTING SYSTEMS
Systems and methods that include: providing input information in an electronic format; converting at least a part of the electronic input information into an optical input vector; optically transforming the optical input vector into an optical output vector based on an optical matrix multiplication; converting the optical output vector into an electronic format; and electronically applying a non-linear transformation to the electronically converted optical output vector to provide output information in an electronic format.
In some examples, a set of multiple input values are encoded on respective optical signals carried by optical waveguides. For each of at least two subsets of one or more optical signals, a corresponding set of one or more copying modules splits the subset of one or more optical signals into two or more copies of the optical signals. For each of at least two copies of a first subset of one or more optical signals, a corresponding multiplication module multiplies the one or more optical signals of the first subset by one or more matrix element values using optical amplitude modulation. For results of two or more of the multiplication modules, a summation module produces an electrical signal that represents a sum of the results of the two or more of the multiplication modules.