LICENSE
README.md
pyproject.toml
src/symop/__init__.py
src/symop/py.typed
src/symop.egg-info/PKG-INFO
src/symop.egg-info/SOURCES.txt
src/symop.egg-info/dependency_links.txt
src/symop.egg-info/requires.txt
src/symop.egg-info/top_level.txt
src/symop/ccr/__init__.py
src/symop/ccr/_typing.py
src/symop/ccr/algebra/__init__.py
src/symop/ccr/algebra/density/__init__.py
src/symop/ccr/algebra/density/apply_left.py
src/symop/ccr/algebra/density/apply_right.py
src/symop/ccr/algebra/density/combine.py
src/symop/ccr/algebra/density/expand_monomial_times_word.py
src/symop/ccr/algebra/density/expand_word_times_monomial.py
src/symop/ccr/algebra/density/inner.py
src/symop/ccr/algebra/density/multiply.py
src/symop/ccr/algebra/density/normalize_trace.py
src/symop/ccr/algebra/density/overlap_right_left.py
src/symop/ccr/algebra/density/partial_trace.py
src/symop/ccr/algebra/density/poly.py
src/symop/ccr/algebra/density/pure.py
src/symop/ccr/algebra/density/purity.py
src/symop/ccr/algebra/density/scale.py
src/symop/ccr/algebra/density/trace.py
src/symop/ccr/algebra/ket/__init__.py
src/symop/ccr/algebra/ket/apply.py
src/symop/ccr/algebra/ket/combine.py
src/symop/ccr/algebra/ket/from_ops.py
src/symop/ccr/algebra/ket/from_word.py
src/symop/ccr/algebra/ket/identity_coeff.py
src/symop/ccr/algebra/ket/inner.py
src/symop/ccr/algebra/ket/multiply.py
src/symop/ccr/algebra/ket/poly.py
src/symop/ccr/algebra/ket/scale.py
src/symop/ccr/algebra/op/__init__.py
src/symop/ccr/algebra/op/combine.py
src/symop/ccr/algebra/op/from_words.py
src/symop/ccr/algebra/op/multiply.py
src/symop/ccr/algebra/op/poly.py
src/symop/ccr/common/__init__.py
src/symop/ccr/common/keys.py
src/symop/ccr/common/signatures.py
src/symop/ccr/protocols/__init__.py
src/symop/ccr/protocols/actions.py
src/symop/ccr/protocols/common.py
src/symop/ccr/protocols/density.py
src/symop/ccr/protocols/ket.py
src/symop/ccr/protocols/op.py
src/symop/core/__init__.py
src/symop/core/monomial.py
src/symop/core/operators.py
src/symop/core/protocols/__init__.py
src/symop/core/protocols/base/__init__.py
src/symop/core/protocols/base/overlap.py
src/symop/core/protocols/base/signature.py
src/symop/core/protocols/devices/__init__.py
src/symop/core/protocols/devices/action.py
src/symop/core/protocols/devices/apply_context.py
src/symop/core/protocols/devices/kernel.py
src/symop/core/protocols/devices/label_edit.py
src/symop/core/protocols/devices/registry.py
src/symop/core/protocols/modes/__init__.py
src/symop/core/protocols/modes/labels.py
src/symop/core/protocols/modes/transfer.py
src/symop/core/protocols/ops/__init__.py
src/symop/core/protocols/ops/monomial.py
src/symop/core/protocols/ops/operators.py
src/symop/core/protocols/states/__init__.py
src/symop/core/protocols/states/base.py
src/symop/core/protocols/states/capabilities.py
src/symop/core/protocols/states/state_kind.py
src/symop/core/protocols/states/state_rep.py
src/symop/core/protocols/terms/__init__.py
src/symop/core/protocols/terms/density_term.py
src/symop/core/protocols/terms/ket_term.py
src/symop/core/protocols/terms/op_term.py
src/symop/core/terms/__init__.py
src/symop/core/terms/density_term.py
src/symop/core/terms/ket_term.py
src/symop/core/terms/op_term.py
src/symop/core/types/__init__.py
src/symop/core/types/arrays.py
src/symop/core/types/funcs.py
src/symop/core/types/operator_kind.py
src/symop/core/types/rep_kind.py
src/symop/core/types/signature.py
src/symop/core/types/state_kind.py
src/symop/core/types/terms/__init__.py
src/symop/devices/__init__.py
src/symop/devices/action.py
src/symop/devices/apply_context.py
src/symop/devices/dispatch.py
src/symop/devices/ports.py
src/symop/devices/registry.py
src/symop/devices/runtime.py
src/symop/devices/measurement/__init__.py
src/symop/devices/measurement/action.py
src/symop/devices/measurement/base.py
src/symop/devices/measurement/outcomes.py
src/symop/devices/measurement/resolution.py
src/symop/devices/measurement/resolved.py
src/symop/devices/measurement/result.py
src/symop/devices/measurement/specs.py
src/symop/devices/measurement/target.py
src/symop/devices/models/__init__.py
src/symop/devices/models/base.py
src/symop/devices/models/beamsplitters/__init__.py
src/symop/devices/models/beamsplitters/beamsplitter.py
src/symop/devices/models/detectors/__init__.py
src/symop/devices/models/detectors/coincidence_detector.py
src/symop/devices/models/detectors/number_detector.py
src/symop/devices/models/detectors/povm_detector.py
src/symop/devices/models/filters/__init__.py
src/symop/devices/models/filters/polarizing_filter.py
src/symop/devices/models/filters/spectral_filter.py
src/symop/devices/models/paths/__init__.py
src/symop/devices/models/paths/delay.py
src/symop/devices/models/phase_shifters/__init__.py
src/symop/devices/models/phase_shifters/phase_shifter.py
src/symop/devices/models/sources/__init__.py
src/symop/devices/models/sources/number_state_source.py
src/symop/devices/protocols/__init__.py
src/symop/devices/protocols/action.py
src/symop/devices/protocols/apply_context.py
src/symop/devices/protocols/device.py
src/symop/devices/protocols/kernel.py
src/symop/devices/protocols/port_spec.py
src/symop/devices/protocols/registry.py
src/symop/devices/protocols/result.py
src/symop/devices/protocols/runtime.py
src/symop/devices/protocols/state.py
src/symop/devices/types/__init__.py
src/symop/devices/types/device_kind.py
src/symop/devices/types/measurement.py
src/symop/devices/types/ports.py
src/symop/modes/__init__.py
src/symop/modes/types.py
src/symop/modes/envelopes/__init__.py
src/symop/modes/envelopes/base.py
src/symop/modes/envelopes/filtered.py
src/symop/modes/envelopes/gaussian.py
src/symop/modes/envelopes/gaussian_mixture.py
src/symop/modes/labels/__init__.py
src/symop/modes/labels/mode.py
src/symop/modes/labels/path.py
src/symop/modes/labels/polarization.py
src/symop/modes/protocols/__init__.py
src/symop/modes/protocols/descriptor.py
src/symop/modes/protocols/envelope.py
src/symop/modes/protocols/transfer.py
src/symop/modes/transfer/__init__.py
src/symop/modes/transfer/apply.py
src/symop/modes/transfer/base.py
src/symop/modes/transfer/cascade.py
src/symop/modes/transfer/quadratic_dispersion.py
src/symop/modes/transfer/rect_bandpass.py
src/symop/modes/transfer/supergaussian_bandpass.py
src/symop/modes/transfer/gaussian/__init__.py
src/symop/modes/transfer/gaussian/bandpass.py
src/symop/modes/transfer/gaussian/base.py
src/symop/modes/transfer/gaussian/constant_phase.py
src/symop/modes/transfer/gaussian/formalism.py
src/symop/modes/transfer/gaussian/highpass.py
src/symop/modes/transfer/gaussian/lowpass.py
src/symop/modes/transfer/gaussian/time_delay.py
src/symop/polynomial/__init__.py
src/symop/polynomial/channels/__init__.py
src/symop/polynomial/channels/models/__init__.py
src/symop/polynomial/channels/models/amplifier.py
src/symop/polynomial/channels/models/beamsplitter.py
src/symop/polynomial/channels/models/mzi.py
src/symop/polynomial/channels/models/phase.py
src/symop/polynomial/channels/models/pure_loss.py
src/symop/polynomial/channels/primitives/__init__.py
src/symop/polynomial/channels/primitives/bogoliubov.py
src/symop/polynomial/channels/primitives/linear_mode_unitary.py
src/symop/polynomial/channels/primitives/unitary_dilation.py
src/symop/polynomial/channels/unitaries/__init__.py
src/symop/polynomial/channels/unitaries/beamsplitter.py
src/symop/polynomial/channels/unitaries/blockdiag.py
src/symop/polynomial/channels/unitaries/conventions.py
src/symop/polynomial/channels/unitaries/mzi.py
src/symop/polynomial/channels/unitaries/phase.py
src/symop/polynomial/channels/unitaries/swap.py
src/symop/polynomial/kernels/__init__.py
src/symop/polynomial/kernels/devices/__init__.py
src/symop/polynomial/kernels/devices/beamsplitter.py
src/symop/polynomial/kernels/devices/filter.py
src/symop/polynomial/kernels/devices/number_state_source.py
src/symop/polynomial/kernels/devices/phase_shifter.py
src/symop/polynomial/kernels/devices/registry.py
src/symop/polynomial/kernels/measurements/__init__.py
src/symop/polynomial/kernels/measurements/registry.py
src/symop/polynomial/kernels/measurements/number/__init__.py
src/symop/polynomial/kernels/measurements/number/common.py
src/symop/polynomial/kernels/measurements/number/detect.py
src/symop/polynomial/kernels/measurements/number/observe.py
src/symop/polynomial/kernels/measurements/number/postselect.py
src/symop/polynomial/protocols/__init__.py
src/symop/polynomial/protocols/common.py
src/symop/polynomial/protocols/density.py
src/symop/polynomial/protocols/ket.py
src/symop/polynomial/rewrites/__init__.py
src/symop/polynomial/rewrites/relabel_modes.py
src/symop/polynomial/rewrites/substitution.py
src/symop/polynomial/state/__init__.py
src/symop/polynomial/state/density.py
src/symop/polynomial/state/ket.py
src/symop/viz/__init__.py
src/symop/viz/_dispatch.py
src/symop/viz/_optional.py
src/symop/viz/handlers.py
src/symop/viz/latex_renderer/__init__.py
src/symop/viz/latex_renderer/_latex_utils.py
src/symop/viz/latex_renderer/density_poly_states.py
src/symop/viz/latex_renderer/density_polys.py
src/symop/viz/latex_renderer/envelopes.py
src/symop/viz/latex_renderer/ket_poly_states.py
src/symop/viz/latex_renderer/ket_polys.py
src/symop/viz/latex_renderer/labels.py
src/symop/viz/latex_renderer/measurement_results.py
src/symop/viz/latex_renderer/monomials.py
src/symop/viz/latex_renderer/op_polys.py
src/symop/viz/latex_renderer/operators.py
src/symop/viz/latex_renderer/terms.py
src/symop/viz/plots/__init__.py
src/symop/viz/plots/density_poly_states.py
src/symop/viz/plots/density_polys.py
src/symop/viz/plots/envelopes.py
src/symop/viz/plots/ket_poly_states.py
src/symop/viz/plots/ket_polys.py
src/symop/viz/plots/labels.py
src/symop/viz/plots/measurements.py
src/symop/viz/plots/monomials.py
src/symop/viz/plots/op_polys.py
src/symop/viz/plots/operators.py
src/symop/viz/plots/terms.py
src/symop/viz/text_renderer/__init__.py
src/symop/viz/text_renderer/density_poly_states.py
src/symop/viz/text_renderer/density_polys.py
src/symop/viz/text_renderer/envelopes.py
src/symop/viz/text_renderer/ket_poly_states.py
src/symop/viz/text_renderer/ket_polys.py
src/symop/viz/text_renderer/labels.py
src/symop/viz/text_renderer/measurement_results.py
src/symop/viz/text_renderer/monomials.py
src/symop/viz/text_renderer/op_polys.py
src/symop/viz/text_renderer/operators.py
src/symop/viz/text_renderer/terms.py
tests/test_import.py