Graphix
Description
Added
#386, #433: Added
Statevec.fidelityandStatevec.isclosemethods for pure-state fidelity computation and equality check up to global phase.#447:
Pattern.perform_pauli_pushingwhich callsStandardizedPattern.perform_pauli_pushing.#450:
transpile_swapseliminates all theSWAPinstructions from a circuit.#450:
Circuit.visitandBaseInstruction.visitperforms simple replacements on circuits and instructions, given anInstructionVisitor.#457: Added
Statevec.to_dictandStatevec.to_prob_dictmethods to convert a statevector to dictionary form as suggested in #100.#461: A warning is raised when the
rngparameter is not set, as the default random generator will be used and results may not be reproducible.#445: Circuit extraction.
- Added
PauliFlow.is_focusedto verify if a Pauli flow is focused andPauliFlow.pauli_stringsassociating a Pauli string to the every corrected node. - Added
PauliFlow.extract_circuit - Added new module
graphix.circ_ext.extractionto extract circuits from Pauli flows with the following new classes: -ExtractionResult-PauliString-PauliExponential-PauliExponentialDAG-CliffordMap - Added new module
graphix.circ_ext.compilationto perform the transformationExtractionResult->Graphix circuitwith the following new functions: -er_to_circuit-pexp_ladder_pass
- Added
Fixed
#429
- Modify
graphix.noise_models.noise_model.ApplyNoiseto handle conditionality based on adomainattribute (likecommand.Xandcommand.Z). - Moved the conditional logic to
graphix.simulatorto remove code duplication in the backends. - Solves #428.
- Modify
#430: The type of state in
PatternSimulatoris now deduced from the back-end.#438:
ComplexUnit.try_fromnow usescmath.isclosefor float comparison and has optional parametersrel_tolandabs_tol.#440, #441:
Statevec.nqubitsnow returns the correct value.#455: Causal-flow finding algorithm (
graphix.flow._find_cflow.py) does not raiseRecursionErrornow.#458: The type for the
input_stateparameter in the simulator now allowsNoneto indicate that the input qubits have already been specified in the backend.#465: Fix #464. Functions in
graphix._linalg.pyconvert arrays to c-contiguous form before passing them to numba-jitted functions.
Changed
#181, #423: Structural separation of Pauli measurements
- The class
Measurementis now abstract and has two concrete subclasses:PauliMeasurementandBlochMeasurement. Mcommands are now parameterized by an instanceMeasurement(instead of carrying a plane and an angle).- Conversions are explicit with
Measurement.to_bloch()andMeasurement.infer_pauli_measurements(). Pauli measurement inference usesmath.iscloseand has optional parametersrel_tolandabs_tol.
- The class
#430: The whole code base is now type-checked with
mypyandpyright, including examples.#460: Updated
Patternmethods (to_ascii,to_unicode,to_latex) andpattern_to_strto allowlimitto beNone. Removed the deprecatedprint_patternfunction.
Notes
Files
TeamGraphix/graphix-v0.3.5.zip
Files
(923.4 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:053baffa0808fd05611d9378c6dddcee
|
923.4 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/TeamGraphix/graphix/tree/v0.3.5 (URL)
Software
- Repository URL
- https://github.com/TeamGraphix/graphix