Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

Graphix

Authors: Uldemolins, Mateo; Fukushima, Masato; Graham, Emlyn; Nair, Pranav; Sasaki, Daichi; Shiratani, Sora; Watanabe, Yuki; +3 Authors
Abstract

Added #393 Introduced new method graphix.optimization.StandardizedPattern.extract_partial_order_layer which constructs a partial order layering from the dependency domains of M, X and Z commands. Introduced new methods graphix.optimization.StandardizedPattern.extract_causal_flow, graphix.optimization.StandardizedPattern.extract_gflow which respectively attempt to extract a causal flow and a gflow from a standardized pattern. Introduced new wrapper methods in the Pattern class: graphix.pattern.Pattern.extract_partial_order_layers, graphix.pattern.Pattern.extract_causal_flow and graphix.pattern.Pattern.extract_gflow. Introduced new module graphix.flow._partial_order with the function :func:compute_topological_generations. #392: Added graphix.pattern.Pattern.remove_input_nodes method which removes the input nodes from the pattern and replaces them with N commands. #385 Introduced graphix.flow.core.XZCorrections.check_well_formed which verifies the correctness of an XZ-corrections instance and raises an exception if incorrect. Added XZ-correction exceptions to module graphix.flow.core.exceptions. #378: Introduced new method graphix.flow.core.PauliFlow.check_well_formed, graphix.flow.core.GFlow.check_well_formed and graphix.flow.core.CausalFlow.check_well_formed which verify the correctness of flow objects and raise exceptions when the flow is incorrect. Introduced new method graphix.flow.core.PauliFlow.is_well_formed which verify the correctness of flow objects and returns a boolean when the flow is incorrect. Introduced new module graphix.flow.exceptions grouping flow exceptions. Introduced new methods graphix.flow.core.PauliFlow.get_measurement_label and graphix.flow.core.GFlow.get_measurement_label which return the measurement label of a given node following same criteria employed in the flow-finding algorithms. #379: Added a new instruction CZ which can be added as a circuit gate using circuit.cz. Introduced new method graphix.opengraph.OpenGraph.is_equal_structurally which compares the underlying structure of two open graphs. Added new method isclose to graphix.fundamentals.AbstractMeasurement which defaults to == comparison. #383: Simulators are now parameterized by PrepareMethod (which defaults to DefaultPrepareMethod) to customize how N commands are handled, and the class BaseN can be used as a base class for custom preparation commands. #394: The method Circuit.transpile_measurements_to_z_axis returns an equivalent circuit where all measurements are on the Z axis. This can be used to prepare a circuit for export to OpenQASM with circuit_to_qasm3. #402: Support for Python 3.14. #253, #406: Added classes BaseCommand and BaseInstruction. #407: Introduced new method graphix.optimization.StandardizedPattern.extract_xzcorrections and its wrapper graphix.pattern.Pattern.extract_xzcorrections which extract an XZCorrections instance from a pattern. #412: Added pretty-print methods (to_ascii, to_latex and to_unicode) for PauliFlow and XZCorrections classes. Implemented their __str__ method as a call to self.to_ascii. Fixed #363, #392: Pattern.remove_input_nodes is required before the Pattern.perform_pauli_measurements method to ensure input nodes are removed and fixed in the |+> state. #379: Removed unnecessary meas_index from API for rotation instructions RZ, RY and RX. #347: Adapted existing method graphix.opengraph.OpenGraph.isclose to the new API introduced in #358. #349, #362: Patterns transpiled from circuits always have causal flow. #383: Pattern.check_runnability no longer fails on custom BaseM commands without domain information. #389, #391: Pattern.extract_opengraph raises an exception if pattern has N commands which do not represent a |+> state. #177, #404: Fixed pattern export to OpenQASM 3. Compatibility with Qiskit is ensured with normalization passed incorporate_pauli_results and single_qubit_domains. #231, #405: IXYZ is now defined as Literal[I] | Axis. #382, #409: Axis labels are shown when visualizing a pattern. Legend is placed outside the plot so that the graph remains visible. #407: Fixed an unreported bug in OpenGraph.is_equal_structurally which failed to compare open graphs differing on the output nodes only. #157, #417: Pattern.minimize_space uses Pattern.extract_causal_flow() and preserves runnability Changed #396: Removed generic BackendState from graphix.sim modules and methods in graphix.pattern and graphix.simulator modules. #374: Adapted existing method graphix.opengraph.OpenGraph.isclose to the new API introduced in #358. #375: Adapted existing method graphix.opengraph.OpenGraph.compose to the new API introduced in #358. #352, #394: Circuit measurements are now limited to axes X, Y, and Z. #233, #399: The angle convention is now consistent across the library: angles are represented as floats and expressed in units of π. In particular, angles that appear in parameters of circuit instructions are now expressed in units of π. #407: Modified the constructor XZCorrections.from_measured_nodes_mapping so that it doesn't need to create an nx.DiGraph instance. This fixes an unreported bug in the method. Removed modules graphix.gflow and graphix.find_pflow. #369, #414: random_objects.py and tests are now type-checked. #418: Pattern.extract_measurement_commands now returns a dictionary. Removed Pattern.get_meas_plane and Pattern.get_angles. #220, #418: get_/set_-prefixed functions are renamed with more meaningful names.

If you use this software, please cite it as below.

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 11
    download downloads 1
  • 11
    views
    1
    downloads
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
download
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
downloads
OpenAIRE UsageCountsDownloads provided by UsageCounts
0
Average
Average
Average
11
1