Recent Releases of qnetvo

qnetvo - v0.4.4

Non-Breaking Changes

* The Pennylane dependency was updated to the most recent version (v0.37) * Docs dependencies on m2r2 were removed and replaced with sphinx-mdinclude * The sphinx build action was removed from the project's github action workflows due to sphinx being v2 rather than v8. A custom docs build command using the most recent sphinx version was used instead. * All qnetvo issues related to this update were resolved.

- Python
Published by bdoolittle over 1 year ago

qnetvo - v0.4.3

  • Added Demos for training quantum networking protocols using classical and quantum communications
  • Added support for qml.AdamOptimizer in qnetvo.gradient_descent
  • Fixed bug in qnetvo.behavior_fn where multiple layers were not handled properly.

- Python
Published by bdoolittle over 2 years ago

qnetvo - v0.4.2

Updates:

  • PennyLane has been upgraded to the most recent version (v0.29.1)

Non-breaking changes:

  • Flaky unit test failures are rerun on failure for stability
  • File-IO functionality broken in v0.3 release is fixed so that optimization dictionaries can be written and read from json.

- Python
Published by bdoolittle almost 3 years ago

qnetvo - v0.4.1

In this release we add a few new utilities and ansatzes. * state_vec_fn : constructs a function that obtains the vector representation of a quantum state output from a circuit. * density_mat_fn : constructs a function that obtains the density matrix representation of a quantum state output from a circuit. * W_state : Initializes the 3-qubit W state * nonmax_entangled_state : initializes a GHZ-like state that is nonmaximally entangled. * shared_coin_flip_state: generates a mixed state that mimics the a biased coinflip shared between multiple parties. * graph_state_fn : generates a circuit that initializes a pre-specified graph state.

- Python
Published by bdoolittle about 3 years ago

qnetvo - v0.4.0

In this release we are pleased to announce that local operations and classical communication (LOCC) is now supported by qNetVO simulation and variational optimization software. This new functionality allows users to implement and optimize protocols such as teleportation, entanglement swapping, entanglement distillation, and many more!

Our new features allow for CCSender nodes to measure a quantum state and broadcast the classical result. A CCReceiver node can then receive the broadcast and use the classical information to condition an input. The midcircuit measurements and conditioned operations are implemented from trainable unitary circuits.

Modifications:

  • Restructured network node class hierarchy and introduce CCSender and CCReceiver` network nodes.
  • Added support for classical communication within the NetworkAnsatz class is considered.
  • Update qNetVO to use the most recent version of PennyLane (v0.28.0)

Breaking Changes:

Minor breaking changes are incorporated in this release. In particular, the attributes of the NetworkAnsatz.

More generally, we observe that the parallelized gradient evaluation available for the CHSH and nlocal star/chain cost functions becomes flaky in PennyLane v0.28. If utilizing the parallel gradient evaluation methods, consider using qNetVO v0.3.0 and PennyLane v0.27.0 for improved stability.

- Python
Published by bdoolittle about 3 years ago

qnetvo - v0.3.0

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.

- Python
Published by bdoolittle over 3 years ago

qnetvo - Release v0.2.0: Updating to PennyLane v0.26

Breaking Changes

  • Network settings are now stored in a 1D list rather than the nested ragged array structure used previously. As part of this change, requires_grad can be set individually for each network parameter. As a result, there is no longer a need for the static_settings attribute to be set at the node level. Instead, fixed or static settings are specified when creating settings with the rand_network_settings and similar functions.

- Python
Published by bdoolittle over 3 years ago

qnetvo - v0.1.4

Features: * shannon_entropy_cost_fn : optimize shannon entropy in network * added __version__ attribute to qnetvo package

- Python
Published by bdoolittle over 3 years ago

qnetvo - v0.1.3

Fixing import bug.

- Python
Published by bdoolittle almost 4 years ago

qnetvo - v0.1.2

Updating PennyLane to v0.22

- Python
Published by bdoolittle almost 4 years ago

qnetvo - v0.1.1

Adding colored noise and two-qubit depolarizing noise models

- Python
Published by bdoolittle almost 4 years ago

qnetvo - v0.1.0 Public Release

- Python
Published by bdoolittle almost 4 years ago