Skip to content
This repository was archived by the owner on Jan 16, 2026. It is now read-only.
This repository was archived by the owner on Jan 16, 2026. It is now read-only.

[unitaryhack] Add a hybrid Gaussian/non-Gaussian compiler that merges Gaussian gates #574

@josh146

Description

@josh146

This issue has been tagged for a bounty during unitaryHACK

It would be great to have a compiler in Strawberry Fields that:

  • Applies to arbitrary programs, containing both Gaussian and non-Gaussian operations
  • Combines the Gaussian operations into a single symplectic operation, by multiplying together their symplectic forms.

This could significantly reduce overhead during computation.

As an example, consider the following diagram:

image

This circuit contains a mixture of Gaussian gates (green) and non-Gaussian gates (red). While the cross-Kerr gate in the middle of the circuit prevents us from combining all Gaussian gates, we can create two Gaussian gates, S1 and S2:

image

Note that this grouping is not unique! We could have potentially included the second beamsplitter within S1, rather than S2 as we did.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions