How chinmoybiswasdeep/photographiq works
PhotoGraphiQ is a CV photonic measurement-based quantum-computing platform. Its principal workflow turns a resource graph and circuit into an executable measurement pattern, analyzes flow and corrections, runs the pattern on a selected simulation backend, and returns outcomes and diagnostics. The graph also preserves documented calculus, sampling, non-Gaussian/GKP, visualization, acceleration, and learning capabilities. Relationships are grounded primarily in the README; unsampled subsystem internals are represented at their existing source paths without inferred call chains.
Main entry points: ir.py OpenGraph IR · simulator.py Pattern simulator · backends Simulation backends · models.py Learning models
Components 25
Models and compilation
- Resource graphs
src/photographiq/graph.py - Circuit commands
src/photographiq/commands.py - OpenGraph IR
src/photographiq/ir.py - Pattern compiler
src/photographiq/compiler.py - Measurement pattern
src/photographiq/pattern.py
Execution and engines
- Pattern simulator
src/photographiq/simulator.py - Backend registry
src/photographiq/registry.py - Simulation backends
src/photographiq/backends - Native C++ engines
cpp/src - States and results
src/photographiq/states.py
Analysis and calculus
- Flow analysis
src/photographiq/flows/cv.py - MBQC calculus
src/photographiq/calculus
Research capabilities
- Boson sampling
src/photographiq/sampling - Non-Gaussian resources
src/photographiq/non_gaussian.py - GKP resources
src/photographiq/gkp.py - GPU acceleration
src/photographiq/gpu - CUDA-Q adapter
src/photographiq/cudaq_dynamics.py - Learning models
src/photographiqml/models.py - Logical MuTA
src/photographiqml/logical.py - Physical GKP lowering
src/photographiqml/lowering.py - Physical execution
src/photographiqml/physical.py
Visualization
- Static visualization
src/photographiq/visualization.py - Interactive views
src/photographiq/interactive/graph_view.py
Other components
- Quantum developer
- Piquasso reference
Connections 25
- Quantum developer → Resource graphs: builds resources
README.md - Quantum developer → Circuit commands: defines circuit
README.md - Resource graphs → OpenGraph IR: forms graph model
README.md - Circuit commands → Pattern compiler: compiles circuit
README.md - Pattern compiler → Measurement pattern: produces pattern
README.md - OpenGraph IR → Flow analysis: analyzes flow
README.md - Flow analysis → Measurement pattern: derives corrections
README.md - Measurement pattern → Pattern simulator: executes pattern
README.md - Pattern simulator → Backend registry: selects backend
README.md - Backend registry → Simulation backends: dispatches to
README.md - Simulation backends → Native C++ engines: uses native engines
README.md - Pattern simulator → States and results: returns results
README.md - Quantum developer → MBQC calculus: uses calculus
README.md - Quantum developer → Boson sampling: samples distributions
README.md - Quantum developer → Non-Gaussian resources: builds resources
README.md - Quantum developer → GKP resources: uses GKP tools
README.md - Quantum developer → Static visualization: draws results
README.md - OpenGraph IR → Interactive views: visualizes graph
- Quantum developer → GPU acceleration: accelerates kernels
README.md - Quantum developer → CUDA-Q adapter: uses adapter
README.md - Quantum developer → Learning models: trains models
README.md - Learning models → Logical MuTA: uses logical model
src/photographiqml/models.py - Learning models → Physical GKP lowering: lowers to GKP
- Physical GKP lowering → Physical execution: executes physically
src/photographiqml/physical.py - Simulation backends → Piquasso reference: optional reference
README.md