Learn Strawberry-fields - 10 Code Examples & CST Typing Practice Test
Strawberry Fields is a Python library for photonic quantum computing using continuous-variable (CV) quantum systems. It enables the design, simulation, and execution of quantum circuits on photonic platforms.
View all 10 Strawberry-fields code examples →
Learn STRAWBERRY-FIELDS with Real Code Examples
Updated Nov 25, 2025
Code Sample Descriptions
Strawberry Fields Simple Quantum Circuit
import strawberryfields as sf
from strawberryfields.ops import Sgate,CNOT,MeasureFock
prog = sf.Program(2)
with prog.context as q:
Sgate(0.543)|q[0]
CNOT|(q[0],q[1])
MeasureFock()|q[0]
MeasureFock()|q[1]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
A minimal example creating a 2-mode photonic quantum circuit, applying gates, and measuring the output.
Strawberry Fields Coherent State Preparation
import strawberryfields as sf
from strawberryfields.ops import Coherent,MeasureFock
prog = sf.Program(1)
with prog.context as q:
Coherent(1.0)|q[0]
MeasureFock()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Prepares a coherent state in a single mode and measures it.
Strawberry Fields Squeezed State
import strawberryfields as sf
from strawberryfields.ops import Sgate,MeasureFock
prog = sf.Program(1)
with prog.context as q:
Sgate(0.8)|q[0]
MeasureFock()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Prepares a squeezed state in a single mode and measures it.
Strawberry Fields Beam Splitter Example
import strawberryfields as sf
from strawberryfields.ops import BSgate,MeasureFock
prog = sf.Program(2)
with prog.context as q:
BSgate(0.5,0)|q[0],q[1]
MeasureFock()|q[0]
MeasureFock()|q[1]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Applies a beam splitter gate between two modes.
Strawberry Fields Displacement Gate
import strawberryfields as sf
from strawberryfields.ops import Dgate,MeasureFock
prog = sf.Program(1)
with prog.context as q:
Dgate(1.0)|q[0]
MeasureFock()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Applies a displacement gate on a single mode.
Strawberry Fields Two-mode Entanglement
import strawberryfields as sf
from strawberryfields.ops import Sgate,CNOT,MeasureFock
prog = sf.Program(2)
with prog.context as q:
Sgate(0.6)|q[0]
CNOT|(q[0],q[1])
MeasureFock()|q[0]
MeasureFock()|q[1]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Creates entanglement between two modes using squeezing and CNOT.
Strawberry Fields Rotation Gate
import strawberryfields as sf
from strawberryfields.ops import Rgate,MeasureFock
prog = sf.Program(1)
with prog.context as q:
Rgate(0.7)|q[0]
MeasureFock()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Applies a rotation gate on a single mode and measures it.
Strawberry Fields Kerr Gate
import strawberryfields as sf
from strawberryfields.ops import Kgate,MeasureFock
prog = sf.Program(1)
with prog.context as q:
Kgate(0.5)|q[0]
MeasureFock()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Applies a Kerr gate on a single mode.
Strawberry Fields Controlled-Z Gate
import strawberryfields as sf
from strawberryfields.ops import CZgate,MeasureFock
prog = sf.Program(2)
with prog.context as q:
CZgate(0.5)|q[0],q[1]
MeasureFock()|q[0]
MeasureFock()|q[1]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Applies a controlled-Z gate between two modes.
Strawberry Fields Homodyne Measurement
import strawberryfields as sf
from strawberryfields.ops import Sgate,MeasureX
prog = sf.Program(1)
with prog.context as q:
Sgate(0.5)|q[0]
MeasureX()|q[0]
eng = sf.Engine('fock',backend_options={'cutoff_dim':5})
result = eng.run(prog)
print(result.samples)
Measures a mode using homodyne measurement.
Frequently Asked Questions about Strawberry-fields
What is Strawberry-fields?
Strawberry Fields is a Python library for photonic quantum computing using continuous-variable (CV) quantum systems. It enables the design, simulation, and execution of quantum circuits on photonic platforms.
What are the primary use cases for Strawberry-fields?
Design and simulation of photonic quantum circuits. Quantum machine learning with CV systems. Hybrid classical-quantum algorithm development. Experimentation on photonic hardware backends. Research in Gaussian and non-Gaussian quantum states
What are the strengths of Strawberry-fields?
Specialized for photonic and CV quantum computing. Supports hybrid quantum-classical workflows. Python-based and easy to integrate with ML libraries. Rich simulation options for Gaussian and Fock circuits. Well-documented with tutorials and examples
What are the limitations of Strawberry-fields?
No direct access to general qubit-based quantum hardware. Steep learning curve for those unfamiliar with CV systems. Simulation complexity grows quickly with number of modes. Primarily research-oriented with fewer industrial applications. Requires understanding of quantum optics concepts
How can I practice Strawberry-fields typing speed?
CodeSpeedTest offers 10+ real Strawberry-fields code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.