-
Notifications
You must be signed in to change notification settings - Fork 0
New gate organisation #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
giodefelice
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good! A couple of things:
-
There is an error message in the ZX transpilation notebook. That notebook can be removed all-together.
-
The LO diagrams obtained from dual_rail_encoding map are huge and clutter the documentation. Remove this from everywhere except maybe in the zx module.
giodefelice
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments can be handled in future PRs
Reorganisation of all optyx generators into two categories: user-facing and back-end. User-facing generators are subclasses of Channel - they represent physical gates or operations which are of use in building hybrid photon-qubit circuit. The back-end classes (core) are the graphical languages on which the user-facing channels are based on - they provide a way to define Kraus maps for the user-facing channels.
Qubit primitives:
Circuit,QubitChannelZ,X,H,Scalar,Bra,KetBitFlipError,DephasingErrorEncode,Discard,MeasurePhotonic primitives:
Discard,PhotonThresholdMeasurement,NumberResolvingMeasurementGate,Phase,BBS,TBS,MZI,ansatzDualRail,HadamardBS,PhaseShiftDR,ZMeasurementDR,XMeasurementDR,FusionTypeI,FusionTypeIIEncode,CreateNumOp,Scalar,PhotonLossClassical primitives:
NotBit,XorBit,AndBit,OrBit,CopyBit,SwapBit,Z,X,HAddN,SubN,MultiplyN,DivideN,Mod2,CopyN,SwapNBitControlledGate,BitControlledPhaseShift,ClassicalFunction,BinaryMatrixPostselectBit,PostselectDigit,DiscardBit,DiscardMode,Select,Digit,Bit,Id,ScalarNote: the functionality to convert to optyx from tket is not available until the tket->discopy conversion method (no init_and_discard) is modified.