Strawberry Fiels
Strawberry Fiels
Strawberry Fiels
We introduce Strawberry Fields, an open-source quantum programming architecture for light-based quantum computers,
and detail its key features. Built in Python, Strawberry Fields is a full-stack library for design, simulation, optimization, and
arXiv:1804.03159v2 [quant-ph] 4 Mar 2019
quantum machine learning of continuous-variable circuits. The platform consists of three main components: (i) an API for
quantum programming based on an easy-to-use language named Blackbird; (ii) a suite of three virtual quantum computer
backends, built in NumPy and TensorFlow, each targeting specialized uses; and (iii) an engine which can compile Black-
bird programs on various backends, including the three built-in simulators, and – in the near future – photonic quantum
information processors. The library also contains examples of several paradigmatic algorithms, including teleportation,
(Gaussian) boson sampling, instantaneous quantum polynomial, Hamiltonian simulation, and variational quantum circuit
optimization.
ators)2 ,
v
tħh
x̂ := (â + ↠), (1)
2
v
tħh
p̂ := −i (â − ↠), (2)
2
Our starting point is the vacuum state |0〉. Other states Squeezed states |z〉 α=0 z∈C
can be created by evolving the vacuum state according to Displaced squeezed
α∈C z∈C
states |α, z〉
|ψ〉 = exp(−i t H) |0〉 , (5)
α ∈ C,q
x̂ eigenstates |x〉 φ = 0, r → ∞
where H is a bosonic Hamiltonian (i.e., a function of the x = 2 ħ2h Re(α)
operators âi and âi† ) and t is the evolution time. States α ∈ C,q
where the Hamiltonian H is at most quadratic in the oper- p̂ eigenstates |p〉 φ = π, r → ∞
p = 2 ħ2h Im(α)
ators âi and âi† (equivalently, in x̂ i and p̂i ) are called Gaus-
sian. For a single qumode, Gaussian states are parameter- Fock states |n〉 N.A. N.A.
ized by two continuous complex variables: a displacement
parameter α ∈ C and a squeezing parameter z ∈ C (of- Table II: Common single-mode pure states and their relation
ten expressed as z = r exp(iφ), with r ≥ 0). Gaussian to the displacement and squeezing parameters. All listed
states are so-named because we can identify each Gaussian families are Gaussian, except for the Fock states. The n = 0
state with a corresponding Gaussian distribution. For single Fock state is also the vacuum state.
qumodes, the identification proceeds through its displace-
ment and squeezing parameters. The displacement gives
Fock states
Complementary to the continuous Gaussian states are the
2
discrete Fock states (or number states) |n〉, where n are non-
It is common to picture ħ h as a (dimensionless) scaling parameter for
negative integers. These are the eigenstates of the number
the x̂ and p̂ operators rather than a physical constant. However, there
are several conventions for the scaling value in common use [58]. operator n̂ = ↠â. The Fock states form a discrete (count-
These self-adjoint operators are proportional to the Hermitian and anti- able) basis for qumode systems. Thus, each of the Gaussian
Hermitian parts of the operator â. Strawberry Fields allows the user to states considered in the previous section can be expanded
h = 2.
specify this value, with the default ħ in the Fock-state basis. For example, coherent states have
4
Measurement Measurement These elements provide access points for users to design
Measurement quantum circuits. These circuits are then linked to a back-
Operators values
end via a quantum compiler engine. For a backend, the
Homodyne |x φ 〉〈x φ | x ∈R engine can currently target one of three included quantum
computer simulators. When CV quantum processors be-
1 α∈C
Heterodyne π |α〉〈α| come available in the near future, the engine will also build
and run circuits on those devices. Further, high-level quan-
Photon counting |n〉〈n| n∈N
tum computing applications can be built by leverging the
Strawberry Fields frontend API. Existing examples include
Table IV: Key measurement types for the CV model. The
the Strawberry Fields Interactive website, the Quantum Ma-
‘-dyne’ measurements are Gaussian, while photon-counting is
chine Learning Toolbox (for streamlining the training of
non-Gaussian.
variational quantum circuits), and SFOpenBoson (an inter-
face between the electronic structure library OpenFermion
[45] and Strawberry Fields).
Photon Counting In the remainder of this section, the key elements of
Photon counting (also known as as photon-number re- Strawberry Fields will be presented in more detail. Proceed-
solving measurement), is a complementary measurement ing through a series of examples, we show how CV quantum
method to the ‘-dyne’ measurements, revealing the particle- computations can be defined using the Blackbird language,
like, rather than the wave-like, nature of qumodes. This then compiled and run on a quantum computer backend.
measurement projects onto the number eigenstates |n〉, re- We also outline how to use Strawberry Fields for optimiza-
turning non-negative integer values n ∈ N. Except for the tion and machine learning on quantum circuits. Finally, we
outcome n = 0, a photon-counting measurement on a sin- discuss the suite of quantum computer simulators included
gle mode of a multimode Gaussian state will cause the re- within Strawberry Fields.
maining modes to become non-Gaussian. Thus, photon-
counting can be used as an ingredient for implementing Blackbird: A Quantum Programming Language
non-Gaussian gates. A related process is photodetection, As classical computers have become progressively more
where a detector only resolves the vacuum state from non- powerful, the languages used to program them have also
vacuum states. This process has only two measurement op- undergone considerable paradigmatic changes. Machine
erators, namely |0〉〈0| and I − |0〉〈0|. code gave way to human-readable assembly languages, fol-
lowed by higher-level procedural and object-oriented lan-
guages. With each generation, the trend has been towards
higher levels of abstraction, separating the programmer
The Strawberry Fields Software Platform more and more from details of the actual computer hard-
ware. Quantum computers are still at an early stage of
The Strawberry Fields library has been designed with sev- development, so while we can imagine what higher-level
eral key goals in mind. Foremost, it is a standard-bearer for quantum programming might look like, in the near term we
the CV model, laying the groundwork for future photonic first need to build languages which are conceptually closer
quantum computers. As well, Strawberry Fields is designed to the quantum hardware.
to be simple to use, giving entry points for as many users Blackbird is a standalone domain specific language (DSL)
as possible. Finally, since the potential applications of near- for continuous-variable quantum computation. With a well-
term quantum computers are still being worked out, it is defined grammar in extended Backus-Naur form, and both
important that Strawberry Fields provides powerful tools Python and C++ parsers available, Blackbird provides op-
to easily explore many different use-cases and applications. erations that match the basic CV states, gates, and mea-
Strawberry Fields has been implemented in Python, a surements, and maps directly to low-level hardware instruc-
modern language with a gentle learning curve which is al- tions. The abstract syntax keeps a close connection between
ready familiar to many programmers and scientific practi- code and the quantum operations that they implement; this
tioners. The accompanying quantum simulator backends syntax is modeled after that of ProjectQ [41], but special-
are built upon the widely used Python packages NumPy ized to the CV setting. Blackbird can be used as part of
and TensorFlow. All Strawberry Fields code is open source. the Strawberry Fields stack, but also directly with photonic
Strawberry Fields can be accessed programmatically as a quantum computing hardware systems.
Python package, or via a browser-based interface for de- Within the Strawberry Fields framework, we have built
signing quantum circuits. an implementation of Blackbird using Python 3 as the em-
A pictorial outline of Strawberry Fields’ key elements and bedding language — an ‘embedded’ DSL. This ‘Python-
their interdependencies is presented in Fig. 2. Conceptu- enhanced’ Blackbird language provides the same core oper-
ally, the software stack is separated into two main pieces: a ations and follows the same grammar and syntactical rules
user-facing frontend layer and a lower-level backends com- as the standalone DSL, but, by nature, may also contain
ponent. The frontend encompasses the Strawberry Fields valid Python constructs. Furthermore, Strawberry Fields’
Python API and the Blackbird quantum assembly language. ‘Python-enhanced’ Blackbird provides users with additional
6
FRONT-ENDS BACK-ENDS
Strawberry Fields
Quantum Processor
Interactive Server
Simulators
Blackbird
Strawberry Quantum COMPILER Fock Representation
Fields API Programming ENGINE NumPy Tensorflow
Language
Gaussian Representation
NumPy
Applications
FIG. 2: Outline of the Strawberry Fields software stack. The Strawberry Fields Interactive server is available online at
strawberryfields.ai.
quantum operations that are decomposed into lower-level Conceptually, the vertical bar symbol ‘|’ separates Opera-
Blackbird assembly commands. We will introduce the ele- tions – like state preparation – from the registers that they
ments of Blackbird through a series of basic examples, dis- act upon. Notice that we can use Operations inline, or con-
cussing more technical aspects as they arise. struct them separately and reuse them several times.
After creating states, we will want to transform these us-
Operations ing quantum gates.
Quantum computations consist of four main ingredients:
1 # Apply the Displacement gate to qumode 0
state preparations, application of gates, performing mea-
2 alpha = 2.0 + 1j
surements, and adding/removing subsystems. In Blackbird, 3 Dgate(alpha) | q[0]
these are all considered as Operations, and share the same 4
basic syntax. In the following code examples, we use the 5 # Apply the Rotation gate
variable q for a set of qumodes (more specifically, a quan- 6 phi = 1.157
tum register), the details of which are deferred until the next 7 Rgate(phi) | q[0]
section. 8
Our first considered Operation is state preparation. By 9 # Apply the Squeezing gate
default, qumodes are initialized in the vacuum state. Var- 10 Sgate(2.0, 0.17) | q[0]
11
ious other important CV states can be created with simple
12 # Apply the Beamsplitter gate to qumodes 0 & 1
Blackbird commands. 13 BSgate(0.314, 0.223) | (q[0], q[1])
14
1 # Create the vacuum state in qumode 0 15 # Apply Cubic phase gate (VGate) to qumode 0
2 Vac | q[0] 16 gamma = 0.1
3 17 Vgate(gamma) | q[0]
4 # Create a coherent state in qumode 1 18
23 # Execute Blackbird program and extract values the quantum register, may also encapsulate classical infor-
mation or a classical register. This behaviour is contextual,
8
and unique to Strawberry Fields. For example, prior to mea- explore the conditional state created by a specific value, de-
surement, q[i] simply references a quantum register. Once termine the measurement-dependent corrections we need
a measurement operation is performed, q[i] continues to to make in a teleportation circuit, or even design an algo-
represent a quantum register — now reset to the vacuum rithm which inherently contains post-selection. This func-
state — as well as storing the numerical value of the mea- tionality is supported in Strawberry Fields through the op-
surement, accessible via the attribute q[i].val. Note that tional keyword argument select, which can be supplied
this numerical value is only available if a computation has for any measurement Operation. The measurement out-
been run up to the point of measurement. We may also use come will then return exactly this value, while the remain-
a classical measurement result symbolically as a parameter ing modes will be projected into the conditional state cor-
in later gates without first running the computation. To do responding to this value3 .
this, we simply pass the measured register (e.g., q[i]) ex-
plicitly as an argument to the required gate. As before, the 1 with eng:
Strawberry Fields quantum register object is contextual — 2 Fock(3) | q[0]
when passed as a gate argument, Strawberry Fields implic- 3 Fock(2) | q[1]
itly accesses the encapsulated classical register. 4 BSgate() | (q[0], q[1])
5 MeasureFock(select=4) | q[0]
6 MeasureFock() | q[1]
1 # Numerical evaluation of a measurement 7 eng.run("fock", cutoff_dim=6)
2 # result using eng.run() 8 assert q[0].val == 4
3 with eng:
4 MeasureX | q[0] Codeblock 8: Selecting a specific desired measurement
5 eng.run("gaussian")
outcome.
6 val = q[0].val
7
10 eng.run("gaussian")
11 eng.print_applied()
Post-selection
The measurement Operations in Strawberry Fields are
stochastic in nature, with outcomes determined by some
underlying quantum probability distribution. Often it is 3
Users should be careful to avoid post-selection on measurement values
convenient to select specific values for these measurements which have no probability of occuring given the current circuit state. In
rather than sampling them. For instance, we might want to this case, the expected behaviour of a backend is not defined.
9
sentation tracks the quantum state of an N -mode quantum low that all states fit within the specified cutoff, then sim-
system using two Gaussian components: a 2N -dimensional ulations with the Fock and Gaussian backends will be in
displacement vector r̄ and a 2N × 2N -dimensional covari- numerical agreement.
ance matrix V (a deeper technical overview is located Like the Gaussian backend, the Fock backend has a
in Appendix A). After we have created a Gaussian state state method which encapsulates the numerical state,
(either via state = eng.run(backend="gaussian") while also providing a number of methods and attributes
or by directly calling the state method of a Gaussian specific to the Fock representation (such as ket, trace,
backend), we can access r̄ and V via state.means and and all_fock_probs.). Unlike the Gaussian representa-
state.cov, respectively. Other useful Gaussian state tion, mixed state simulations take up more resources than
methods are displacement and squeezing, which re- pure states. Pure states are represented in the Fock back-
turn the Gaussian parameters associated to the underlying end by an D N -dimensional complex vector and mixed states
state. by a D2N -dimensional density matrix. Because of this extra
The scaling of the symplectic representation with the overhead, by default the Fock backend will internally rep-
number of modes is O (N 2 ). On one hand, this is quite pow- resent a quantum circuit as long as possible as a pure state,
erful. It allows us to to efficiently simulate any computa- switching to the mixed state representation only when it
tions which are fully Gaussian. On the other, the formalism becomes necessary. Most importantly, for N > 2 qumodes,
is not expressive enough to simulate more general quan- all state preparation Operations (Vacuum, Squeezed, Fock,
tum computations. Only a small number of non-Gaussian etc.) cause the representation to become mixed. This is be-
methods are available for this backend. These are auxiliary cause the mode where the state is prepared could be entan-
methods where we extract some non-Gaussian information gled with other modes. To keep physically consistent, the
from a Gaussian state, but do not update the state of the Fock backend will first trace out the relevant mode, neces-
circuit. One such method is fock_prob, which is imple- sitating a mixed state representation. When possible, it is
mented using an optimized – yet still exponentially scaling – recommended to apply gates to the (default) vacuum state in
algorithm. This method enables simulation of the Gaussian order to efficiently prepare pure states. If desired, a mixed
boson sampling algorithm [10] using the Gaussian backend; state simulation can be enforced by passing the argument
see Appendix C for a complete code example. pure=False when calling begin_circuit.
applications – have been presented in detail. Further infor- The stage is now set for the broader community to use
mation is available in both the Appendices and the Straw- Strawberry Fields for exploration, research, and develop-
berry Fields online documentation. ment of new quantum algorithms, specialized circuits, and
machine learning models. We anticipate the creation of
further software applications and backend modules for the
Strawberry Fields platform (developed both internally and
externally), providing advanced functionality and applica-
tions for quantum computing and quantum machine learn-
ing.
Acknowledgements
We thank our colleagues at Xanadu for testing Strawberry
Fields, reviewing this white paper, and providing helpful
feedback. In particular, we thank Patrick Rebentrost for
valuable discussions and suggestions.
13
bic phase and rotation gates in Table III, while the two-
mode generator corresponds to the beamsplitter gate. Fi-
Appendix A: The CV model nally, the x̂ 2 generator corresponds to a quadratic phase
gate, P̂(s) = exp(is x̂ 2 /(2ħ h)). This gate can be written in
In this Appendix, we provide more technical and mathe- terms of the single-mode squeezing gate and the rotation
matical details about the CV model, the quantum comput- gate as follows: P̂(s) = R̂(θ )Ŝ(r e iφ ), where cosh(r) =
ing paradigm underlying Strawberry Fields.
p
1 + (s/2)2 , tan(θ ) = s/2, φ = −θ − sign(s)π/2. Equiv-
alently, we could have included the squeezing generator
Universal Gates for CV Quantum Computing x̂ p̂ + p̂ x̂ in place of the quadratic phase and still had a uni-
In discrete qubit systems, the notion of a universal gate set versal set.
has the following meaning: given a set of universal gates, We have just outlined an efficient method to construct
we can approximate an arbitrary unitary by composition of any gate of the form exp (−iH t), where the generator H is
said gates. In the CV setting, we have a similar situation: we a polynomial of the quadrature (or mode) operators. How
can approximate a broad set of generators – i.e., the Hamil- can this be used for quantum computations? As shown in
tonians appearing in Eq. (10) – by combining elements of Eq. (4), the eigenstates of the x̂ quadrature form an (or-
a CV universal gate set. However, unlike the qubit case, we thogonal) basis for representing qumode states. Thus, these
do not try to approximate all conceivable unitaries. Rather, states are often taken as the computational basis of the CV
we seek to create all generators that are a polynomial func- model (though other choices are also available). By apply-
tion of the quadrature (or mode) operators of the system ing gates as constructed above and performing measure-
[48, 49]. Remember that generators of second-degree or ments in this computational basis (i.e., homodyne measure-
lower belong to the class of Gaussian operations, while all ments), we can carry out a CV quantum computation. One
higher degrees are non-Gaussian. primitive example [49] is to compute the product of two
We can create a higher-order generator out of lower- numbers – whose values are stored in two qumode regis-
order generators  and B̂ by using the following two con- ters – and store the result in the state of a third qumode.
catenation identities [48]: Consider the generator x̂ 1 x̂ 2 p̂3 /ħ
h, which will cause the “po-
sition” operators to evolve according to
e−i Âδt e−i B̂δt e i Âδt e i B̂δt = e[Â,B̂]δt + O(δt 3 ), (A1a)
2
x̂ 1 → x̂ 1 , x̂ 2 → x̂ 2 , x̂ 3 → x̂ 3 + x̂ 1 x̂ 2 t. (A3)
e i Âδt/2 e i B̂δt/2 e i B̂δt/2 e i Âδt/2 = e i(Â+B̂)δt + O(δt 2 ). (A1b)
If we have two second-degree generators, such as û = A measurement in the computational basis of mode 3 will
x̂ 2 + p̂2 (the generator for the rotation gate) and ŝ = reveal the value of the product x 1 x 2 . Note that these encod-
x̂ p̂ + p̂ x̂ (the generator for the squeezing gate), and a ings of classical continuous degress of freedom into quan-
third-degree (or higher) generator, such as x̂ 3 (the gen- tum registers allows for the generalization of neural net-
erator for the cubic phase gate), we can easily construct works into the quantum regime [66]. In the following sec-
generators of all higher-degree polynomials, e.g., x̂ 4 = tions we show how more complicated algorithms are con-
h2 ). This reasoning can be extended by
−[x̂ 3 , [x̂ 3 , û]]/(18ħ structed.
induction to any finite-degree polynomial in x̂ and p̂ (equiv-
alently, in â and ↠) [48, 49]. Multiport Gate Decompositions
In the above argument, it is important that at least one One important set of gates for which it is critical to de-
of the generators is third-degree or higher. Indeed, com- rive a decomposition in terms of universal gates is the set of
mutators of second-degree polynomials of x̂ and p̂ are also multiport interferometers. A multiport interferometer, rep-
second-degree polynomials and thus their composition us-
resented by a unitary operator Û acting on N modes, will
ing Eq. (A1) cannot generate higher-order generators. The
map (in the Heisenberg picture) the annihilation operator
claim can be easily extended to N -mode systems and mul-
of mode i into a linear combination of all other modes
tivariate polynomials of the operators
X
âi → Û † âi Û = (Ui j â j ). (A4)
r̂ = (x̂ 1 , . . . , x̂ N , p̂1 , . . . , p̂N ). (A2)
j
Combining single-mode universal gates (including at least In order to preserve the commutation relations of different
one of third-degree or higher) with some multimode in- modes, the matrix U must also be unitary U U † = U † U = IN .
teraction, e.g., the beamsplitter interaction generated by Note that every annihilation operator is mapped to a linear
b̂i, j = p̂i x̂ j − x̂ i p̂ j , we can construct arbitrary-degree poly- combination of annihilation operators and thus annihilation
nomials of the quadrature operators of an N -mode system. and creation operators are not mixed. Because of this, mul-
With the above discussion in mind, we can combine tiport interferometers generate all passive (in the sense that
the set of single-qumode gates generated by {x̂ i , x̂ i2 , x̂ i3 , ûi } no photons are created or destroyed) linear optics transfor-
and the two-mode gate generated by b̂i, j for all pairs of mations. In a pioneering work by Reck et al. [67], it was
modes into a universal gate set. The first, third and fourth shown that any multiport interferometer can be realized us-
single-mode generators correspond to the displacement, cu- ing N (N − 1)/2 beamsplitter gates distributed over 2N − 3
14
layers. Recently this result was improved upon by Clements of a quantum N mode state ρ:
et al. [63], who showed that an equivalent decomposition
can be achieved with the same number of beamsplitters but D̂(ξ) = exp (ir̂Ωξ) , χ(ξ) = 〈 D̂(ξ)〉ρ , (A6)
using only N + 1 layers.
where ξ ∈ R2N . We can now consider the Fourier transform
Gaussian Operations of the characteristic function to obtain the Wigner function
of the state ρ̂
As mentioned in the previous subsections, generators
d 2N ξ
Z
that are at most quadratic remain closed under composi-
tion of their associated unitaries. In the Heisenberg picture W (r) = exp(−irΩξ)χ(ξ). (A7)
R2N
(2π)2N
these quadratic generators will produce all possible linear
transformations between the quadrature (or mode) opera- The 2N real arguments r of the Wigner function are the
tors, eigenvalues of the quadrature operators from r̂.
The above recipe maps an N -mode quantum state liv-
X
âi → Ui j â j + Vi j â†j . (A5)
ing in a Hilbert space to the real symplectic space K :=
j
(R2N , Ω), which is called phase space. The Wigner function
These operations are known as Gaussian operations. All is an example of a quasiprobability distribution. Like a prob-
gates in Table III are Gaussian operations except for the cu- ability distribution over this phase space, the Wigner func-
bic phase gate. Pure Gaussian states are the set of states tion is normalized to one; however, unlike a probability dis-
that can be obtained from the (multimode) vacuum state tribution, it may take negative values. Gaussian states have
by Gaussian operations [50, 68]. Mixed Gaussian states the special property that their characteristic function (and
are obtained by applying Gaussian operations to thermal hence their Wigner function) is a Gaussian function of the
states or marginalizing pure Gaussian states. Analogous to variables r. In this case, the Wigner function takes the form
Gaussian states, we can also define Gaussian measurements
exp − 21 (r − r̄)V−1 (r − r̄)
as the set of measurements whose positive-operator valued
W (r) = p (A8)
measure (POVM) elements can be obtained from vacuum (2π)N detV
via Gaussian transformations. Homodyne and heterodyne
measurements are prominent examples of Gaussian mea- where r̄ = 〈r̂〉ρ = Tr (r̂ρ̂) is the displacement or mean vector
surements, whereas photon counting and photodetection and Vi j = 12 〈∆ri ∆r j + ∆ri ∆r j 〉ρ with ∆r̂ = r̂ − r̄. Note that
are prominent examples of non-Gaussian measurements. the only pure states that have non-negative Wigner func-
An important result for the CV formalism is that Gaussian tions are the pure Gaussian states [58].
quantum computation, i.e., computation that occurs with Each type of Gaussian state has a specific form of co-
Gaussian states, operations and measurements, can be effi- variance matrix V and mean vector r̄. For the single-mode
ciently simulated on a classical computer (this is the foun-
vacuum state, we have V = ħ2h I2 and r̄ = (0, 0) T . A ther-
dation for the Gaussian backend in Strawberry Fields). This
mal state (Eq. (8)) has the same (zero) displacement but
result is the CV version [69] of the Gottesman-Knill theorem
a covariance matrix V = (2n̄ + 1) ħ2h I2 , where n̄ is the mean
of discrete-variable quantum information [49]. Hence we
photon number. A coherent state (Eq. (6)), obtained by
need non-Gaussian operations in order to achieve quantum
displacing vacuum, has the same V asq the vacuum state
supremacy in the CV model. Interestingly, even in the re-
stricted case where all states and gates are Gaussian, with but a nonzero displacement vector r̄ = 2 ħ2h (Re(α), Im(α)).
only the final measurements being non-Gaussian, there is Lastly, a squeezed state (Eq. (7)) has zero displacement
strong evidence that such a circuit cannot be efficiently sim- and covariance matrix V = ħ2h diag(e−2r , e2r ). In the limit
ulated classically [10, 70]. More discussion and example r → ∞, the squeezed state’s variance in the x̂ quadrature
code for this situation (known as Gaussian boson sampling) becomes zero and the state becomes proportional to the x̂-
is provided in Appendix C. eigenstate |x〉 with eigenvalue 0. Consistent with the un-
certainty principle, the squeezed state’s variance in p̂ blows
Symplectic Formalism up. We can also consider the case r → −∞, where we find
a state proportional to the eigenstate |p〉 of the p̂ quadrature
In this section we review the symplectic formalism which with eigenvalue 0. In the laboratory and in numerical simu-
lies at the heart of the Gaussian backend of Strawberry lation we must approximate every quadrature eigenstate us-
Fields. The symplectic formalism is an elegant and compact ing a finitely squeezed state (being careful that the variance
description of Gaussian states in terms of covariance matri- of the relevant quadrature is much smaller than any other
ces and mean vectors [50, 68]. To begin, the commutation uncertainty relevant to the system). Any other quadrature
relations of the 2N position and momentum operators of eigenstate can be obtained from the x = 0 eigenstate by
Eq. (A2) can be easily summarized as [r̂i , r̂ j ] = ħ
hiΩi j where applying suitable displacement and rotation operators. Fi-
0 I
Ω = −IN 0N is the symplectic matrix. Using the symplectic nally, note that Gaussian operations will transform the vec-
matrix, we can define the Weyl operator D(ξ) (a multimode tor of means via affine transformations and the covariance
displacement operator) and the characteristic function χ(ξ) matrix via congruence transformations; for a detailed dis-
15
O
ρGaussian = Ŵ ρi (n̄i ) Ŵ † , (A9)
i
O O
Ŵ = Di (αi ) V̂ Si (zi ) Û . (A10)
i i
Vacuum() Vacuum state The vacuum state |0〉, representing zero photons
Fock(n)* Fock state or number state |n〉, where n ∈ N0 represents the photon number
Table V: State preparations available in Strawberry Fields. Those indicated with an asterisk (*) are non-Gaussian.
Table VI: Single mode gate operations available in Strawberry Fields. Those indicated with an asterisk (*) are non-Gaussian
and can only be used with a backend that uses the Fock representation.
17
Table IX: Measurement operations available in Strawberry Fields. Those indicated with an asterisk (*) are non-Gaussian and
can only be used with a backend that uses the Fock representation.
p
where cosh(r) = 1 + (s/2)2 , tan(θ ) = s/2, and φ =
−sign(s) π2 − θ .
Gate Decompositions
In addition, the Strawberry Fields frontend can be used to Two-mode squeeze gate
provide decompositions of certain compound gates. The The two-mode squeeze gate S2gate(z) is decomposed
following gate decompositions are currently supported. into a combination of beamsplitters and single-mode
squeezers
14 # 50-50 beamsplitter
Appendix C: Quantum Algorithms 15 BS = BSgate(pi/4, 0)
16
q0 : |n1 〉 R n̂
BS BS BS
q1 : |n2 〉 R n̂
BS BS
q2 : |n3 〉 R n̂
BS BS BS
q3 : n4 R n̂
FIG. 4: Gate teleportation of a quadratic phase gate P onto FIG. 5: 4-mode boson sampling.
input state |ψ〉.
|0〉 S • Z • V p̂
10 S = Sgate(1)
11 S | q[0] |0〉 S • • V p̂
12 S | q[1]
13 S | q[2] |0〉 S V Z • • Z p̂
14 S | q[3]
15 |0〉 S Z Z Z p̂
16 # rotation gates
17 Rgate(0.5719) | q[0] FIG. 7: 4-mode instantaneous quantum polynomial (IQP)
18 Rgate(-1.9782) | q[1] CV circuit example.
19 Rgate(2.0603) | q[2]
20 Rgate(0.0644) | q[3]
21
22 # beamsplitter array however, the IQP protocol was not constructed with quan-
23 BSgate(0.7804, 0.8578) | (q[0], q[1]) tum linear optics in mind. Nevertheless, the IQP model
24 BSgate(0.06406, 0.5165) | (q[2], q[3]) was recently extended to the CV formulation of quantum
25 BSgate(0.473, 0.1176) | (q[1], q[2]) computation by Douce et al. [17], taking advantage of
26 BSgate(0.563, 0.1517) | (q[0], q[1]) the ability to efficiently prepare large resource states, and
27 BSgate(0.1323, 0.9946) | (q[2], q[3]) the higher efficiencies afforded by homodyne detection.
28 BSgate(0.311, 0.3231) | (q[1], q[2]) Furthermore, the computational complexity results of the
29 BSgate(0.4348, 0.0798) | (q[0], q[1]) discrete-variable case apply equally to the so-called CV-IQP
30 BSgate(0.4368, 0.6157) | (q[2], q[3])
model, assuming a specific input squeezing parameter de-
31 # end circuit
32
pendent on the circuit size. The CV-IQP model is defined as
33 # run the engine follows:
34 state = eng.run("gaussian")
35
1. inputs are squeezed momentum states |z〉, where z =
36 # Fock states to measure at output r ∈ R and r < 0;
37 measure_states = [[0,0,0,0], [1,1,0,0],
,→ [0,1,0,1], [1,1,1,1], [2,0,0,0]] 2. the unitary transformation is diagonal in the x̂
38
quadrature basis, by randomly selecting from the set
39 # extract the probabilities of calculating of gates U = {Z(p), C Z(s), V (γ)};
40 # several different Fock states at the output
41 # and print them to the terminal 3. and finally, homodyne measurements are performed
42 for i in measure_states: on all modes in the p̂ quadrature.
43 prob = state.fock_prob(i)
44 print("|{}>: {}".format("".join(str(j) for
,→ j in i), prob)) 1 import strawberryfields as sf
2 from strawberryfields.ops import *
3
Codeblock 18: 4-mode Gaussian boson sampling example
4 # initialise the engine and register
in Strawberry Fields. Parameters are chosen arbitrarily.
5 eng, q = sf.Engine(4)
6
27 Zgate(-1.243) | q[2]
Unlike boson sampling and Gaussian boson sampling,
23
impossible to determine via classical computation or exper- 5 # initialise the engine and register
imentation [94, 95]. 6 eng, q = sf.Engine(2)
7
In the discrete-variable qubit model, efficient methods of 8 # set the Hamiltonian parameters
Hamiltonian simulation have been discussed at length, pro- 9 J = 1 # hopping transition
viding several implementations depending on properties of 10 U = 1.5 # on-site interaction
the Hamiltonian, and resulting in a linear simulation time 11 k = 20 # Lie product decomposition
[96, 97]. Efficient implementations of Hamiltonian simula- ,→ terms
tion also exist in the CV formulation [98], with specific ap- 12 t = 1.086 # timestep
plication to Bose-Hubbard Hamiltonians (describing a sys- 13 theta = -J*t/k
tem of interacting bosonic particles on a lattice of orthog- 14 r = -U*t/(2*k)
onal position states [99]). As such, this method is ideally 15
16 with eng:
suited to photonic quantum computation.
17 # prepare the initial state
18 Fock(2) | q[0]
19
q0 : |2〉 K R K R 20 # Two node tight-binding
BS BS 21 # Hamiltonian simulation
q1 : |0〉 K R K R
22
7 alpha = tf.Variable(0.1)
Optimization of Quantum Circuits 8 with eng:
9 Dgate(alpha) | q[0]
One of the unique features of Strawberry Fields is that it 10 state = eng.run("tf", cutoff_dim=7,
has been designed from the start to support modern com- ,→ eval=False)
putational methods like automatic gradients, optimization, 11
and machine learning by leveraging a TensorFlow backend. 12 # loss is probability for the Fock state n=1
We have already given an overview in the main text of how 13 prob = state.fock_prob([1])
these features are accessed in Strawberry Fields. We present 14 loss = -prob # negative sign to maximize prob
here a complete example for the optimization of a quantum 15
circuit. Our goal in this circuit is to find the Dgate param- 16 # Set up optimization
eter which leads to the highest probability of a n = 1 Fock 17 optimizer = tf.train.GradientDescentOptimizer(
,→ learning_rate=0.1)
state output. This simple baseline example can be straight-
18 minimize_op = optimizer.minimize(loss)
forwardly extended to much more complex circuits. As op-
timization is a key ingredient of machine learning, this ex-
19
ample can also serve as a springboard for more advanced
20 # Create TF Session and initialize variables
data-driven modelling tasks.
21 sess = tf.Session()
We note that optimization here is in a variational sense, 22 sess.run(tf.global_variables_initializer())
i.e., we choose an ansatz for the optimization by fixing the 23
discrete structure of our circuits (the selection and arrange- 24 # Carry out optimization
ment of specific states, gates, and measurements). The op- 25 for step in range(50):
timization then proceeds over the parameters of these op- 26 prob_val, _ = sess.run([prob, minimize_op])
erations. Finally, we emphasize that for certain circuits and 27 print("Value at step {}: {}".format(step,
objective functions, the optimization might be non-convex ,→ prob_val))
in general. Thus we should not assume (without proof) that
the solution obtained via a Strawberry Fields optimization Codeblock 21: Example of optimizing quantum circuit
is always the global optimum. However, it is often the case parameters in Strawberry Fields. This can be extended to a
in machine learning that local optima can still provide ef- machine learning setting by incorporating data and a more
fective solutions, so this may not be an issue, depending on sophisticated loss function.
the application.
[1] P. W. Shor. Polynomial-time algorithms for prime fac- algorithms. New Journal of Physics, 18(2):023023, 2016.
torization and discrete logarithms on a quantum com- doi:10.1088/1367-2630/18/2/023023.
puter. SIAM review, 41(2):303–332, 1999. doi: [7] E. Farhi, J. Goldstone, and S. Gutmann. A quan-
10.1137/S0036144598347011. tum approximate optimization algorithm. arXiv preprint
[2] L. K. Grover. A fast quantum mechanical algorithm for arXiv:1411.4028, 2014.
database search. In Proceedings of the twenty-eighth annual [8] E. Farhi and A. W. Harrow. Quantum supremacy through
ACM Symposium on Theory of Computing, pages 212–219. the quantum approximate optimization algorithm. arXiv
ACM, 1996. preprint arXiv:1602.07674, 2016.
[3] A. W. Harrow, A. Hassidim, and S. Lloyd. Quantum algorithm [9] S. Aaronson and A. Arkhipov. The computational complexity
for linear systems of equations. Physical Review Letters, 103 of linear optics. In Proceedings of the forty-third annual ACM
(15):150502, 2009. doi:10.1103/PhysRevLett.103.150502. symposium on Theory of computing, pages 333–342. ACM,
[4] J. Preskill. Quantum Computing in the NISQ era and beyond. 2011. doi:10.1145/1993636.1993682.
Quantum, 2:79, 2018. doi:10.22331/q-2018-08-06-79. [10] C. S. Hamilton, R. Kruse, L. Sansoni, S. Barkhofen,
[5] A. Peruzzo, J. McClean, P. Shadbolt, M.-H. Yung, X.-Q. Zhou, C. Silberhorn, and I. Jex. Gaussian boson sam-
P. J. Love, A. Aspuru-Guzik, and J. L. O’Brien. A variational pling. Physical Review Letters, 119:170501, 2017. doi:
eigenvalue solver on a photonic quantum processor. Nature 10.1103/PhysRevLett.119.170501.
Communications, 5, 2014. doi:10.1038/ncomms5213. [11] L. Chakhmakhchyan, R. Garcia-Patron, and N. J. Cerf. Boson
[6] J. R. McClean, J. Romero, R. Babbush, and A. Aspuru- sampling with Gaussian measurements. Physical Review A,
Guzik. The theory of variational hybrid quantum-classical 96:032326, 2017. doi:10.1103/PhysRevA.96.032326.
25
[12] M. J. Bremner, R. Jozsa, and D. J. Shepherd. Classical simu- in Physics, 2:5, 2014. doi:10.3389/fphy.2014.00005.
lation of commuting quantum computations implies collapse [26] F. Neukart, D. Von Dollen, G. Compostella, C. Seidel,
of the polynomial hierarchy. In Proceedings of the Royal Soci- S. Yarkoni, and B. Parney. Traffic flow optimization using
ety of London A: Mathematical, Physical and Engineering Sci- a quantum annealer. Frontiers in ICT, 4:29, 2017. doi:
ences, page rspa20100301. The Royal Society, 2010. doi: 10.3389/fict.2017.00029.
10.1098/rspa.2010.0301. [27] H. Neven, V. S. Denchev, G. Rose, and W. G. Macready. Train-
[13] M. J. Bremner, A. Montanaro, and D. J. Shepherd. Average- ing a large scale classifier with the quantum adiabatic algo-
case complexity versus approximate simulation of commut- rithm. arXiv preprint arXiv:0912.0779, 2009.
ing quantum computations. Physical Review Letters, 117(8): [28] K. L. Pudenz and D. A. Lidar. Quantum adiabatic machine
080501, 2016. doi:10.1103/PhysRevLett.117.080501. learning. Quantum Information Processing, 12(5):2027–
[14] S. Boixo, S. V. Isakov, V. N. Smelyanskiy, R. Babbush, N. Ding, 2070, 2013. doi:10.1007/s11128-012-0506-4.
Z. Jiang, M. J. Bremner, J. M. Martinis, and H. Neven. Char- [29] D. Crawford, A. Levit, N. Ghadermarzy, J. S. Oberoi, and
acterizing quantum supremacy in near-term devices. Nature P. Ronagh. Reinforcement learning using quantum Boltz-
Physics, 14(6):595, 2018. doi:10.1038/s41567-018-0124-x. mann machines. Quantum Information & Computation, 18
[15] S. Aaronson and L. Chen. Complexity-Theoretic Foundations (1-2):0051–0074, 2018. doi:10.26421/QIC18.1-2.
of Quantum Supremacy Experiments. In R. O’Donnell, edi- [30] M. H. Amin, E. Andriyash, J. Rolfe, B. Kulchytskyy, and
tor, 32nd Computational Complexity Conference (CCC 2017), R. Melko. Quantum boltzmann machine. Phys. Rev. X, 8:
volume 79 of Leibniz International Proceedings in Informat- 021050, May 2018. doi:10.1103/PhysRevX.8.021050.
ics (LIPIcs), pages 22:1–22:67. Schloss Dagstuhl–Leibniz- [31] D. Ristè, M. P. Da Silva, C. A. Ryan, A. W. Cross, A. D. Cór-
Zentrum fuer Informatik, 2017. ISBN 978-3-95977-040-8. coles, J. A. Smolin, J. M. Gambetta, J. M. Chow, and B. R.
doi:10.4230/LIPIcs.CCC.2017.22. Johnson. Demonstration of quantum advantage in machine
[16] C. Neill, P. Roushan, K. Kechedzhi, S. Boixo, S. V. Isakov, learning. npj Quantum Information, 3(1):16, 2017. doi:
V. Smelyanskiy, A. Megrant, B. Chiaro, A. Dunsworth, 10.1038/s41534-017-0017-3.
K. Arya, et al. A blueprint for demonstrating quan- [32] G. Verdon, M. Broughton, and J. Biamonte. A quantum al-
tum supremacy with superconducting qubits. Science, 360 gorithm to train neural networks using low-depth circuits.
(6385):195–199, 2018. doi:10.1126/science.aao4309. arXiv preprint arXiv:1712.05304, 2017.
[17] T. Douce, D. Markham, E. Kashefi, E. Diamanti, T. Coudreau, [33] J. Otterbach, R. Manenti, N. Alidoust, A. Bestwick, M. Block,
P. Milman, P. van Loock, and G. Ferrini. Continuous- B. Bloom, S. Caldwell, N. Didier, E. S. Fried, S. Hong, et al.
variable instantaneous quantum computing is hard to Unsupervised machine learning on a hybrid quantum com-
sample. Physical Review Letters, 118(7), 2017. doi: puter. arXiv preprint arXiv:1712.05771, 2017.
10.1103/PhysRevLett.118.070503. [34] M. Schuld and N. Killoran. Quantum machine learning in
[18] A. Finnila, M. Gomez, C. Sebenik, C. Stenson, and J. Doll. feature hilbert spaces. Physical Review Letters, 122:040504,
Quantum annealing: a new method for minimizing multi- Feb 2019. doi:10.1103/PhysRevLett.122.040504.
dimensional functions. Chemical Physics Letters, 219(5-6): [35] A. S. Green, P. L. Lumsdaine, N. J. Ross, P. Selinger, and B. Val-
343–348, 1994. doi:10.1016/0009-2614(94)00117-0. iron. Quipper: a scalable quantum programming language.
[19] M. W. Johnson, M. H. Amin, S. Gildert, T. Lanting, F. Hamze, In ACM SIGPLAN Notices, volume 48, pages 333–342. ACM,
N. Dickson, R. Harris, A. J. Berkley, J. Johansson, P. Bunyk, 2013. doi:10.1145/2491956.2462177.
et al. Quantum annealing with manufactured spins. Nature, [36] D. Wecker and K. M. Svore. Liqui|>: A software design ar-
473(7346):194–198, 2011. doi:10.1038/nature10012. chitecture and domain-specific language for quantum com-
[20] M.-H. Yung, J. Casanova, A. Mezzacapo, J. McClean, puting. arXiv preprint arXiv:1402.4467, 2014.
L. Lamata, A. Aspuru-Guzik, and E. Solano. From transistor [37] A. JavadiAbhari, S. Patil, D. Kudrow, J. Heckey, A. Lvov, F. T.
to trapped-ion computers for quantum chemistry. Scientific Chong, and M. Martonosi. ScaffCC: Scalable compilation
Reports, 4:3589, 2014. doi:10.1038/srep03589. and analysis of quantum programs. Parallel Computing, 45:
[21] P. O’Malley, R. Babbush, I. Kivlichan, J. Romero, J. Mc- 2–17, 2015. doi:10.1016/j.parco.2014.12.001.
Clean, R. Barends, J. Kelly, P. Roushan, A. Tranter, N. Ding, [38] M. Smelyanskiy, N. P. Sawaya, and A. Aspuru-Guzik. qHiP-
et al. Scalable quantum simulation of molecular en- STER: the quantum high performance software testing envi-
ergies. Physical Review X, 6(3):031007, 2016. doi: ronment. arXiv preprint arXiv:1601.07195, 2016.
10.1103/PhysRevX.6.031007. [39] S. Pakin. A quantum macro assembler. In High Performance
[22] Y. Shen, X. Zhang, S. Zhang, J.-N. Zhang, M.-H. Yung, Extreme Computing Conference (HPEC), 2016 IEEE, pages 1–
and K. Kim. Quantum implementation of the unitary 8. IEEE, 2016. doi:10.1109/HPEC.2016.7761637.
coupled cluster for simulating molecular electronic struc- [40] R. S. Smith, M. J. Curtis, and W. J. Zeng. A practi-
ture. Physical Review A, 95(2):020501, 2017. doi: cal quantum instruction set architecture. arXiv preprint
10.1103/PhysRevA.95.020501. arXiv:1608.03355, 2016.
[23] A. Kandala, A. Mezzacapo, K. Temme, M. Takita, M. Brink, [41] D. S. Steiger, T. Häner, and M. Troyer. ProjectQ: an open
J. M. Chow, and J. M. Gambetta. Hardware-efficient varia- source software framework for quantum computing. Quan-
tional quantum eigensolver for small molecules and quan- tum, 2:49, 2018. doi:10.22331/q-2018-01-31-49.
tum magnets. Nature, 549(7671):242–246, 2017. doi: [42] A. W. Cross, L. S. Bishop, J. A. Smolin, and J. M. Gam-
10.1038/nature23879. betta. Open quantum assembly language. arXiv preprint
[24] G. Rosenberg, P. Haghnegahdar, P. Goddard, P. Carr, K. Wu, arXiv:1707.03429, 2017.
and M. L. de Prado. Solving the optimal trading trajectory [43] E. S. Fried, N. P. Sawaya, Y. Cao, I. D. Kivlichan, J. Romero,
problem using a quantum annealer. IEEE Journal of Selected and A. Aspuru-Guzik. qtorch: The quantum tensor con-
Topics in Signal Processing, 10(6):1053–1060, 2016. doi: traction handler. PloS one, 13(12):e0208510, 2018. doi:
10.1109/JSTSP.2016.2574703. 10.1371/journal.pone.0208510.
[25] A. Lucas. Ising formulations of many NP problems. Frontiers [44] A. J. McCaskey, E. F. Dumitrescu, D. Liakh, M. Chen, W.-c.
26
Feng, and T. S. Humble. Extreme-scale programming model trix for multimode systems: U(n) invariance, squeezing, and
for quantum acceleration within high performance comput- normal forms. Physical Review A, 49(3):1567, 1994. doi:
ing. arXiv preprint arXiv:1710.01794, 2017. 10.1103/PhysRevA.49.1567.
[45] J. R. McClean, I. D. Kivlichan, D. S. Steiger, Y. Cao, E. S. [63] W. R. Clements, P. C. Humphreys, B. J. Metcalf, W. S.
Fried, C. Gidney, T. Häner, V. Havlíček, Z. Jiang, M. Neeley, Kolthammer, and I. A. Walsmley. Optimal design for uni-
et al. OpenFermion: The electronic structure package for versal multiport interferometers. Optica, 3(12):1460–1465,
quantum computers. arXiv preprint arXiv:1710.07629, 2017. 2016. doi:10.1364/OPTICA.3.001460.
[46] S. Liu, X. Wang, L. Zhou, J. Guan, Y. Li, Y. He, R. Duan, [64] J. M. Arrazola, T. R. Bromley, J. Izaac, C. R. Myers, K. Bradler,
and M. Ying. Q|S I〉: A quantum programming environment. and N. Killoran. Machine learning method for state prepa-
In Symposium on Real-Time and Hybrid Systems, pages 133– ration and gate synthesis on photonic quantum computers.
164. Springer, 2018. doi:10.1007/978-3-030-01461-2_8. Quantum Science and Technology, 2018. doi:10.1088/2058-
[47] K. Svore, A. Geller, M. Troyer, J. Azariah, C. Granade, 9565/aaf59e.
B. Heim, V. Kliuchnikov, M. Mykhailova, A. Paz, and M. Roet- [65] N. Quesada and A. M. Brańczyk. Gaussian functions
teler. Q#: Enabling scalable quantum computing and de- are optimal for waveguided nonlinear-quantum-optical pro-
velopment with a high-level DSL. In Proceedings of the Real cesses. Physical Review A, 98:043813, 2018. doi:
World Domain Specific Languages Workshop 2018, page 7. 10.1103/PhysRevA.98.043813.
ACM, 2018. doi:10.1145/3183895.3183901. [66] N. Killoran, T. R. Bromley, J. M. Arrazola, M. Schuld, N. Que-
[48] S. Lloyd and S. L. Braunstein. Quantum computation over sada, and S. Lloyd. Continuous-variable quantum neural net-
continuous variables. Physical Review Letters, 82(8):1784, works. arXiv preprint arXiv:1806.06871, 2018.
1999. doi:10.1103/PhysRevLett.82.1784. [67] M. Reck, A. Zeilinger, H. J. Bernstein, and P. Bertani.
[49] S. L. Braunstein and P. van Loock. Quantum information with Experimental realization of any discrete unitary opera-
continuous variables. Reviews of Modern Physics, 77:513– tor. Physical Review Letters, 73:58–61, 1994. doi:
577, 2005. doi:10.1103/RevModPhys.77.513. 10.1103/PhysRevLett.73.58.
[50] C. Weedbrook, S. Pirandola, R. García-Patrón, N. J. Cerf, T. C. [68] A. Serafini. Quantum Continuous Variables: A Primer of The-
Ralph, J. H. Shapiro, and S. Lloyd. Gaussian quantum infor- oretical Methods. CRC Press, 2017.
mation. Reviews of Modern Physics, 84(2):621, 2012. doi: [69] S. D. Bartlett, B. C. Sanders, S. L. Braunstein, and K. Nemoto.
10.1103/RevModPhys.84.621. Efficient classical simulation of continuous variable quantum
[51] M. A. Nielsen and I. Chuang. Quantum computation and information processes. Physical Review Letters, 88:097904,
quantum information. Cambridge University Press, 2002. 2002. doi:10.1103/PhysRevLett.88.097904.
[52] A. Graves, G. Wayne, and I. Danihelka. Neural Turing ma- [70] A. Lund, A. Laing, S. Rahimi-Keshari, T. Rudolph, J. L.
chines. arXiv preprint arXiv:1410.5401, 2014. O’Brien, and T. Ralph. Boson sampling from a Gaussian
[53] A. Graves, G. Wayne, M. Reynolds, T. Harley, I. Danihelka, state. Physical Review Letters, 113(10):100502, 2014. doi:
A. Grabska-Barwińska, S. G. Colmenarejo, E. Grefenstette, 10.1103/PhysRevLett.113.100502.
T. Ramalho, J. Agapiou, et al. Hybrid computing using a [71] G. Cariolaro and G. Pierobon. Bloch-Messiah reduction of
neural network with dynamic external memory. Nature, 538 Gaussian unitaries by Takagi factorization. Physical Review
(7626):471–476, 2016. doi:10.1038/nature20101. A, 94(6):062109, 2016. doi:10.1103/PhysRevA.94.062109.
[54] S. van der Walt, S. C. Colbert, and G. Varoquaux. The NumPy [72] G. Cariolaro and G. Pierobon. Reexamination of Bloch-
array: a structure for efficient numerical computation. Com- Messiah reduction. Physical Review A, 93(6):062115, 2016.
puting in Science & Engineering, 13(2):22–30, 2011. doi: doi:10.1103/PhysRevA.93.062115.
10.1109/MCSE.2011.37. [73] C. H. Bennett, G. Brassard, C. Crépeau, R. Jozsa, A. Peres,
[55] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, and W. K. Wootters. Teleporting an unknown quantum
C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, et al. state via dual classical and Einstein-Podolsky-Rosen chan-
Tensorflow: Large-scale machine learning on heterogeneous nels. Physical Review Letters, 70:1895–1899, 1993. doi:
distributed systems. arXiv preprint arXiv:1603.04467, 2016. 10.1103/PhysRevLett.70.1895.
[56] N. Quesada. A faster calculation of franck-condon factors [74] A. Furusawa and P. van Loock. Quantum Teleportation and
and fock matrix elements of gaussian unitaries using loop Entanglement: A Hybrid Approach to Optical Quantum Infor-
hafnians. arXiv preprint arXiv:1811.09597, 2018. mation Processing. Wiley, 2011.
[57] D. Gottesman, A. Kitaev, and J. Preskill. Encoding a qubit in [75] W. Steeb and Y. Hardy. Problems and Solutions in Quan-
an oscillator. Physical Review A, 64(1):012310, 2001. doi: tum Computing and Quantum Information. World Scientific,
10.1103/PhysRevA.64.012310. 2006.
[58] A. Ferraro, S. Olivares, and M. G. Paris. Gaussian states [76] M. Gu, C. Weedbrook, N. C. Menicucci, T. C. Ralph, and
in continuous variable quantum information. arXiv preprint P. van Loock. Quantum computing with continuous-variable
quant-ph/0503237, 2005. clusters. Physical Review A, 79:062318, 2009. doi:
[59] J. Williamson. On the algebraic problem concerning the nor- 10.1103/PhysRevA.79.062318.
mal forms of linear dynamical systems. American Journal of [77] D. Gottesman and I. L. Chuang. Demonstrating the viabil-
Mathematics, 58(1):141, 1936. doi:10.2307/2371062. ity of universal quantum computation using teleportation
[60] C. Bloch and A. Messiah. The canonical form of an anti- and single-qubit operations. Nature (London), 402:390–393,
symmetric tensor and its application to the theory of su- 1999. doi:10.1038/46503.
perconductivity. Nuclear Physics, 39:95–106, 1962. doi: [78] S. D. Bartlett and W. J. Munro. Quantum teleportation of
10.1016/0029-5582(62)90377-2. optical quantum gates. Physical Review Letters, 90:117901,
[61] S. L. Braunstein. Squeezing as an irreducible re- 2003. doi:10.1103/PhysRevLett.90.117901.
source. Physical Review A, 71(5):055801, 2005. doi: [79] M. Tillmann, B. Dakić, R. Heilmann, S. Nolte, A. Szameit,
10.1103/PhysRevA.71.055801. and P. Walther. Experimental boson sampling. Nature Photon-
[62] R. Simon, N. Mukunda, and B. Dutta. Quantum-noise ma- ics, 7(7):540–544, 2013. doi:10.1038/nphoton.2013.102.
27
[80] N. Spagnolo, C. Vitelli, M. Bentivegna, D. J. Brod, A. Crespi, [97] D. W. Berry, G. Ahokas, R. Cleve, and B. C. Sanders. Effi-
F. Flamini, S. Giacomini, G. Milani, R. Ramponi, P. Mataloni, cient quantum algorithms for simulating sparse Hamiltoni-
R. Osellame, E. F. Galvão, and F. Sciarrino. Experimental ans. Communications in Mathematical Physics, 270(2):359–
validation of photonic boson sampling. Nature Photonics, 8 371, 2006. doi:10.1007/s00220-006-0150-x.
(8):615–620, 2014. doi:10.1038/nphoton.2014.135. [98] T. Kalajdzievski, C. Weedbrook, and P. Rebentrost.
[81] A. Crespi, R. Osellame, R. Ramponi, D. J. Brod, E. F. Galvão, Continuous-variable gate decomposition for the bose-
N. Spagnolo, C. Vitelli, E. Maiorino, P. Mataloni, and F. Scia- hubbard model. Physical Review A, 97:062311, Jun 2018.
rrino. Integrated multimode interferometers with arbitrary doi:10.1103/PhysRevA.97.062311.
designs for photonic boson sampling. Nature Photonics, 7(7): [99] T. Sowiński, O. Dutta, P. Hauke, L. Tagliacozzo, and
545–549, 2013. doi:10.1038/nphoton.2013.112. M. Lewenstein. Dipolar molecules in optical lat-
[82] J. B. Spring, B. J. Metcalf, P. C. Humphreys, W. S. Koltham- tices. Physical Review Letters, 108:115301, 2012. doi:
mer, X.-M. Jin, M. Barbieri, A. Datta, N. Thomas-Peter, N. K. 10.1103/PhysRevLett.108.115301.
Langford, D. Kundys, J. C. Gates, B. J. Smith, P. G. R.
Smith, and I. A. Walmsley. Boson sampling on a pho-
tonic chip. Science, 339(6121):798–801, 2012. doi:
10.1126/science.1231692.
[83] L. Valiant. The complexity of computing the permanent.
Theoretical Computer Science, 8(2):189–201, 1979. doi:
10.1016/0304-3975(79)90044-6.
[84] E. R. Caianiello. Combinatorics and renormalization in quan-
tum field theory, volume 38. Benjamin, 1973.
[85] A. Barvinok. Combinatorics and complexity of partition func-
tions, volume 274. Springer, 2016.
[86] K. Brádler, P.-L. Dallaire-Demers, P. Rebentrost, D. Su, and
C. Weedbrook. Gaussian boson sampling for perfect match-
ings of arbitrary graphs. Physical Review A, 98:032310, Sep
2018. doi:10.1103/PhysRevA.98.032310.
[87] A. Björklund, B. Gupt, and N. Quesada. A faster hafnian
formula for complex matrices and its benchmarking on the
titan supercomputer. arXiv preprint arXiv:1805.12498, 2018.
[88] N. Quesada, J. M. Arrazola, and N. Killoran. Gaussian boson
sampling using threshold detectors. Physical Review A, 98:
062322, 2018. doi:10.1103/PhysRevA.98.062322.
[89] B. Gupt, J. M. Arrazola, N. Quesada, and T. R. Bromley. Clas-
sical benchmarking of gaussian boson sampling on the titan
supercomputer. arXiv preprint arXiv:1810.00900, 2018.
[90] D. Shepherd and M. J. Bremner. Temporally unstruc-
tured quantum computation. Proceedings of the Royal
Society of London A: Mathematical, Physical and En-
gineering Sciences, 465(2105):1413–1439, 2009. doi:
10.1098/rspa.2008.0443.
[91] M. J. Bremner, A. Montanaro, and D. J. Shepherd. Achieving
quantum supremacy with sparse and noisy commuting quan-
tum computations. Quantum, 1:8, 2017. doi:10.22331/q-
2017-04-25-8.
[92] A. P. Lund, M. J. Bremner, and T. C. Ralph. Quantum sam-
pling problems, BosonSampling and quantum supremacy.
npj Quantum Information, 3(1), 2017. doi:10.1038/s41534-
017-0018-2.
[93] J. M. Arrazola, P. Rebentrost, and C. Weedbrook. Quantum
supremacy and high-dimensional integration. arXiv preprint
arXiv:1712.07288, 2017.
[94] A. Aspuru-Guzik, A. D. Dutoi, P. J. Love, and M. Head-
Gordon. Simulated quantum computation of molecular
energies. Science, 309(5741):1704–1707, 2005. doi:
10.1126/science.1113479.
[95] J. D. Whitfield, J. Biamonte, and A. Aspuru-Guzik. Simu-
lation of electronic structure Hamiltonians using quantum
computers. Molecular Physics, 109(5):735–750, 2011. doi:
10.1080/00268976.2011.552441.
[96] A. M. Childs and N. Wiebe. Hamiltonian simulation using
linear combinations of unitary operations. Quantum Infor-
mation and Computation, 12(11-12):901–924, 2012. doi:
10.26421/QIC12.11-12.