https://github.com/cqcl/constant-scaling-quantum-gradient-estimation

https://github.com/cqcl/constant-scaling-quantum-gradient-estimation

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: CQCL
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 10.3 MB
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.md

Constant-Scaling Quantum Gradient Estimation

This repository contains the code to reproduce the results of the paper "Gradient Estimation with Constant Scaling for Hybrid Quantum Machine Learning" by Thomas Hoffmann and Douglas Brown.

Structure

  • random_dps_test.py: contains the experiment for random datapoints with a fully connected layer with sigmoid activation as the output layer

  • random_dps_test_wo_fc: contains the experiment for random datapoints with the classification coming from the rescaled Z-expectation of a single qubit

  • mnist.py: contains the experiment for the quanvolutional neural network based on [Henderson et al. 2019]

  • random_dps_plots: contains the code to make Fig. 2 (results of the random datapoints experiment)

  • lr_plots.py: contains the code to make Fig. 3 (results of investigating the effect of learning rate on the convergence of each task)

  • /data_...: contains data for the experiment in question

  • /figs contains figures used in the report

  • spsb_diff and spsb_diff_smoothing: contains the spsb differentiator (with optional Jacobian smoothing) which can be imported to use in the diff_method argument in a PennyLane qnode as below: ``` import pennylane as qml from spsbdiff import spsbdiff dev = qml.device('default.qubit', wires=1)

    @qml.qnode(dev, diffmethod=spsbdiff) def circuit(x): qml.RX(x, wires=0) return qml.expval(qml.PauliZ(0)) ```

Owner

  • Name: Cambridge Quantum
  • Login: CQCL
  • Kind: organization
  • Location: Cambridge, UK

Quantum Software and Technologies

GitHub Events

Total
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

qujax-tfq implementations/qujax_requirements.txt pypi
  • jupyter *
  • lambeq *
  • pytket ==1.9.0
  • pytket-qujax ==0.10.0
  • qujax ==0.3.0
  • scikit-learn *
qujax-tfq implementations/tfq_requirements.txt pypi
  • cirq-google ==0.13.1
  • jupyter *
  • protobuf ==3.17.3
  • scikit-learn ==1.1.3
  • tensorflow ==2.7.0
  • tensorflow-quantum ==0.7.2
requirements.txt pypi
  • jupyter *
  • lambeq ==0.2.7
  • matplotlib *
  • numpy *
  • pennylane ==0.27.0
  • scikit-learn *
  • torchmetrics *
  • torchvision *