Skip to content

v0.3.0

Compare
Choose a tag to compare
@bdoolittle bdoolittle released this 17 Nov 16:36
· 84 commits to main since this release
2a69613

New Features

  1. Processing Nodes: Networks can now have an arbitrary numbers of node layers. The first layer contains PrepareNodes, the final layer contains MeasureNodes, and intermediate layers contain either NoiseNodes or ProcessingNodes.
  2. Cost functions were updated to handle arbitrary numbers of layers.
  3. PennyLane is updated to current version 0.27.

Breaking Changes

  1. for the NetworkAnsatz constructor, the positional argument noise_nodes can no longer go behind the measurement node layer. All nodes, must be passed to NetworkAnsatz as positional arguments in the appropriate ordering. The last set of nodes must be a measurement layer, however, the remaining layers are generic.
  2. Networks with noise nodes no longer use "default.mixed" automatically. All devices must be specified manually using the dev_kwargs keyword argument for the NetworkAnsatz constructor.
  3. All supported cost functions are updated to handle processing nodes, which changed the behavior of a few cost function constructors:
    • For the shannon_entropy_cost_fn method all nodes are passed input 0 explicitly.
    • In the mutual_info_cost_fn the static_layer argument is removed where the mutual information is evaluated for all inputs and outputs.