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.AdamOptimizerinqnetvo.gradient_descent - Fixed bug in
qnetvo.behavior_fnwhere 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
CCSenderand CCReceiver` network nodes. - Added support for classical communication within the
NetworkAnsatzclass 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
- Processing Nodes: Networks can now have an arbitrary numbers of node layers. The first layer contains
PrepareNodes, the final layer containsMeasureNodes, and intermediate layers contain eitherNoiseNodesorProcessingNodes. - Cost functions were updated to handle arbitrary numbers of layers.
- PennyLane is updated to current version 0.27.
Breaking Changes
- for the
NetworkAnsatzconstructor, the positional argumentnoise_nodescan no longer go behind the measurement node layer. All nodes, must be passed toNetworkAnsatzas positional arguments in the appropriate ordering. The last set of nodes must be a measurement layer, however, the remaining layers are generic. - Networks with noise nodes no longer use
"default.mixed"automatically. All devices must be specified manually using thedev_kwargskeyword argument for theNetworkAnsatzconstructor. - 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_fnmethod all nodes are passed input 0 explicitly. - In the
mutual_info_cost_fnthestatic_layerargument is removed where the mutual information is evaluated for all inputs and outputs.
- For the
- 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_gradcan be set individually for each network parameter. As a result, there is no longer a need for thestatic_settingsattribute to be set at the node level. Instead, fixed or static settings are specified when creating settings with therand_network_settingsand similar functions.
- Python
Published by bdoolittle over 3 years ago