Skip to content

Commit

Permalink
Merge dev for release 0.24 (#520)
Browse files Browse the repository at this point in the history
* fix

* Adds demo on unitary designs (#252)

* Initial commit; introductory details plus skeleton of remainder.

* Add details on complex projective and unitary designs.

* Add related demo.

* Update repo to use the PennyLane and QChem v0.15.1  (#262)

* Update repo to use the PennyLane and QChem v0.15.1

* more

* Major updates to section on twirling and fidelity.

* Major updates; finish code example.

* Change PL branch; update entry in TOC.

* Upload thumbnail.

* Apply suggestions from code review

* Rewrite example to use qfunc transforms.

* Add lots of references. Start conclusion.

* First full draft of demo.

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Fix dashes. Move multi-qubit Clifford discussion into main text.

* Add spherical design example. Cut complex projective design content.

* Elaborate on Clifford group and spherical designs.

* Rearrange some text.

* Apply suggestions from code review

* Streamline apply Clifford function.

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Remove histogram.

* Update text and add new graphics.

* Tweak text.

* Remove explicit deviation amount.

* Update requirements.txt

* Revert spurious changes to kernel tutorial.

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Update date.

* Remove extra line from merge.

* Fix link to Haar demo.

* Actually fix the link.

Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Merge the `master` branch into `dev` (#283)

* Update repo to use the PennyLane and QChem v0.15.1  (#262)

* Update repo to use the PennyLane and QChem v0.15.1

* more

* Fixed typos in qubit rotation tutorial (#264)

1. 'a measurement' instead of 'an measurement'
2. a compound predicate should not have a separating comma

* Upgrade sphinx-gallery to v0.9 (#268)

* Update requirements.txt

* Update conf.py

* Update requirements.txt

* Update config.yml

* Adds Feedback-Based Quantum Optimization (FALQON) Tutorial (#265)

* initial commit

* notebooks

* Add basic theory

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* change

* change

* changes

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* bird seed

* change

* Update falqon_david-checkpoint.ipynb

* Add real data set

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* python file

* adds maxclique image

* bird seed

* edits to tutorial

* tiny change

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Add short benchmark summary

* change

* change

* change

* tutorial changes

* final changes

* change

* Delete falqon_david-checkpoint.ipynb

* cite

* link

* changes

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* JM review

* Various minor changes, update benchmark data

* Implement Olivia's suggestions except phi normalization and math at start

* Change phi normalization

* Simplify introductory math

* Fix math error

* Fix math error

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* change

* change

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* change

* Update demonstrations/tutorial_falqon.py

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Update falqon.py

* Apply suggestions from code review

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* small change

Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* use adjoint (#272)

* CH1132 | Fix TOC Bug In Xanadu Themes (#274)

* Table of contents no longer disapears at the bottom of page

* Adds missing semi-colon

* Revert psycf version

* Updates comments

* TOC top matches docs page

* Reverts _static/thumbs/

* Update tutorial_falqon.py

* CH4398 | Fix Community Card Anchors (#275)

* Page scrolls to card if hash is present in URL

* Adds id to card that consists of first letters of title of card and author last name

* IDs are more readable

* Hovering over active card does not remove active class

* IDs no longer have accents

* Active class remains on cards

* CH4568 | Fix Size Of Community Demo Cards (#277)

* Card header uses flexbox

* Cards are same height, text is scrollable

* Descriptions are the same height and overflow is hidden

* Updates read more button

* Overflowing text shows read more link

* Adds modals to read descriptions

* Removes default button styling

* Fixes button alignment

* Community cards are responsive

* JS handles text overflow on page resizing

* Removes unnecessary p tags

* Update videos.rst (#278)

* Update demos_research.rst

* Fix FALQON Tutorial (#280)

* change

* fix

* Made sure to keep track of running best_cost (#281)

This ensures that our computed output_bloch_v is truly the best one encountered in gradient descent, instead of one computed by just any parameters that result in a cost less than our very first initial cost.

* increment cache number

* Tutorial Classical Shadows  (#263)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Adding Header Image to Classical Shadows Demo (#284)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

* adding header image

* Update demonstrations/tutorial_classical_shadows.py

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>

Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tommy Vo Tran <tomvotran@ucla.edu>
Co-authored-by: Jack Ceroni <jackceroni@gmail.com>
Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Andrew Gardhouse <AndrewGardhouse@gmail.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>
Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>
Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Set `shots=1000` in device (#286)

* Update repo to use the PennyLane and QChem v0.15.1  (#262)

* Update repo to use the PennyLane and QChem v0.15.1

* more

* Fixed typos in qubit rotation tutorial (#264)

1. 'a measurement' instead of 'an measurement'
2. a compound predicate should not have a separating comma

* Upgrade sphinx-gallery to v0.9 (#268)

* Update requirements.txt

* Update conf.py

* Update requirements.txt

* Update config.yml

* Adds Feedback-Based Quantum Optimization (FALQON) Tutorial (#265)

* initial commit

* notebooks

* Add basic theory

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* change

* change

* changes

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* bird seed

* change

* Update falqon_david-checkpoint.ipynb

* Add real data set

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* python file

* adds maxclique image

* bird seed

* edits to tutorial

* tiny change

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Add short benchmark summary

* change

* change

* change

* tutorial changes

* final changes

* change

* Delete falqon_david-checkpoint.ipynb

* cite

* link

* changes

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* JM review

* Various minor changes, update benchmark data

* Implement Olivia's suggestions except phi normalization and math at start

* Change phi normalization

* Simplify introductory math

* Fix math error

* Fix math error

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* change

* change

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* change

* Update demonstrations/tutorial_falqon.py

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Update falqon.py

* Apply suggestions from code review

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* small change

Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* use adjoint (#272)

* CH1132 | Fix TOC Bug In Xanadu Themes (#274)

* Table of contents no longer disapears at the bottom of page

* Adds missing semi-colon

* Revert psycf version

* Updates comments

* TOC top matches docs page

* Reverts _static/thumbs/

* Update tutorial_falqon.py

* CH4398 | Fix Community Card Anchors (#275)

* Page scrolls to card if hash is present in URL

* Adds id to card that consists of first letters of title of card and author last name

* IDs are more readable

* Hovering over active card does not remove active class

* IDs no longer have accents

* Active class remains on cards

* CH4568 | Fix Size Of Community Demo Cards (#277)

* Card header uses flexbox

* Cards are same height, text is scrollable

* Descriptions are the same height and overflow is hidden

* Updates read more button

* Overflowing text shows read more link

* Adds modals to read descriptions

* Removes default button styling

* Fixes button alignment

* Community cards are responsive

* JS handles text overflow on page resizing

* Removes unnecessary p tags

* Update videos.rst (#278)

* Update demos_research.rst

* Fix FALQON Tutorial (#280)

* change

* fix

* Made sure to keep track of running best_cost (#281)

This ensures that our computed output_bloch_v is truly the best one encountered in gradient descent, instead of one computed by just any parameters that result in a cost less than our very first initial cost.

* Tutorial Classical Shadows  (#263)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Adding Header Image to Classical Shadows Demo (#284)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

* adding header image

* Update demonstrations/tutorial_classical_shadows.py

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>

* Incorrect energy landscape in QNG demo (#285)

* Add files via upload

Correct energy landscape

* Update tutorial_vqe_qng.py

Switched blue and red.

Co-authored-by: antalszava <antalszava@gmail.com>

* update shots (and trim whitespace)

* setting things right

* fix back unrelated file

* fix

* Add shots=1000 to metrology demo.

* tweak init value

* Last updated

Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tommy Vo Tran <tomvotran@ucla.edu>
Co-authored-by: Jack Ceroni <jackceroni@gmail.com>
Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Andrew Gardhouse <AndrewGardhouse@gmail.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>
Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>
Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>

* Minor learning2learn fixes (#289)

* update minor things

* more minor fixes

* last updated date

Co-authored-by: Antal Szava <antalszava@gmail.com>

* Change PyTorch noisy demo to use Amazon Braket (#288)

* remove qpu line (errors with latest Forest)

* Update demonstrations/pytorch_noise.py

Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>

* QPU through Braket

* wording

* wording

* mention Amazon Braket

* Update demonstrations/pytorch_noise.py

Co-authored-by: Christina Lee <christina@xanadu.ai>

* Add Braket at the beginning as dep, further details on QPU

* mentioned QPU at the beginning

* Update demonstrations/pytorch_noise.py

Co-authored-by: Christina Lee <christina@xanadu.ai>

* minor

* pull in release candidate of PennyLane

Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>
Co-authored-by: Christina Lee <christina@xanadu.ai>

* Hide designs demo. (#295)

* Update `dev` before merging into `master` (#294)

* Update repo to use the PennyLane and QChem v0.15.1  (#262)

* Update repo to use the PennyLane and QChem v0.15.1

* more

* Fixed typos in qubit rotation tutorial (#264)

1. 'a measurement' instead of 'an measurement'
2. a compound predicate should not have a separating comma

* Upgrade sphinx-gallery to v0.9 (#268)

* Update requirements.txt

* Update conf.py

* Update requirements.txt

* Update config.yml

* Adds Feedback-Based Quantum Optimization (FALQON) Tutorial (#265)

* initial commit

* notebooks

* Add basic theory

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* change

* change

* changes

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* bird seed

* change

* Update falqon_david-checkpoint.ipynb

* Add real data set

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* python file

* adds maxclique image

* bird seed

* edits to tutorial

* tiny change

* Update falqon_david.ipynb

* Update falqon_david.ipynb

* Add short benchmark summary

* change

* change

* change

* tutorial changes

* final changes

* change

* Delete falqon_david-checkpoint.ipynb

* cite

* link

* changes

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* JM review

* Various minor changes, update benchmark data

* Implement Olivia's suggestions except phi normalization and math at start

* Change phi normalization

* Simplify introductory math

* Fix math error

* Fix math error

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* Update tutorial_falqon.py

* change

* change

* Apply suggestions from code review

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* change

* change

* Update demonstrations/tutorial_falqon.py

Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>

* Update falqon.py

* Apply suggestions from code review

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* small change

Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* use adjoint (#272)

* CH1132 | Fix TOC Bug In Xanadu Themes (#274)

* Table of contents no longer disapears at the bottom of page

* Adds missing semi-colon

* Revert psycf version

* Updates comments

* TOC top matches docs page

* Reverts _static/thumbs/

* Update tutorial_falqon.py

* CH4398 | Fix Community Card Anchors (#275)

* Page scrolls to card if hash is present in URL

* Adds id to card that consists of first letters of title of card and author last name

* IDs are more readable

* Hovering over active card does not remove active class

* IDs no longer have accents

* Active class remains on cards

* CH4568 | Fix Size Of Community Demo Cards (#277)

* Card header uses flexbox

* Cards are same height, text is scrollable

* Descriptions are the same height and overflow is hidden

* Updates read more button

* Overflowing text shows read more link

* Adds modals to read descriptions

* Removes default button styling

* Fixes button alignment

* Community cards are responsive

* JS handles text overflow on page resizing

* Removes unnecessary p tags

* Update videos.rst (#278)

* Update demos_research.rst

* Fix FALQON Tutorial (#280)

* change

* fix

* Made sure to keep track of running best_cost (#281)

This ensures that our computed output_bloch_v is truly the best one encountered in gradient descent, instead of one computed by just any parameters that result in a cost less than our very first initial cost.

* Tutorial Classical Shadows  (#263)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Adding Header Image to Classical Shadows Demo (#284)

* Create tutorial_classical_shadows.py

* first working version for single qubit

* added comments, multiqubit is working

* adding rough intro to tutorial, metadata, and integrating with qml docs

* Formatting the comments

* adding shadow_state() and snapshot_state()

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>

* adding image and updating introduction

* integrating test code into demo

* adding section headings

* 90 character limit to ensure page is rendered correctly

* Added background to classical shadows

* adding theory portion to state reconstruction section

* small fix on heading

* minor updates to the state reconstruction section

* updating state reconstruction tests

* state reconstruction example

* Wrapped up background

* Restructuring, introducing testing

* Got rid of duplicate information

* quick fixes/rearrangement

* median of means, formatting

* minor fixes

* edits/flow

* Estimating Pauli observables introduction

* adding expected test code-blocks

* fixed math

* Adding final example and shadow bound test

* fix typos

* ran black, added part about pytest, added test output, added random seed

* dots

* adding card image

* fix to meta data

* small typo's

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* moving demo to research category

* fixing citations

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* fixing broken equation

* removing tests

* changing plot

* Addressing comments pt 1

* Remove type suggestions.

* black

* small fixes, added conclusion

* Changed shadow to two seperate arrays, simplified observable estimator.

* added comments

* small typos

* Make docstrings consistent.

* Fix citations

* Small improvements to text flow

* ran through spellcheck

* Changed final figure, addressed most comments.

* A single dot.

* Update demos_research.rst

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>

* Changed

* Bullet rendering issue

* print formatting fix

* unblack

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>

* Explain single clifford ensemble

* Apply suggestions from code review

* Update demonstrations/tutorial_classical_shadows.py

* adding header image

* Update demonstrations/tutorial_classical_shadows.py

* Update demonstrations/tutorial_classical_shadows.py

Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>

* Incorrect energy landscape in QNG demo (#285)

* Add files via upload

Correct energy landscape

* Update tutorial_vqe_qng.py

Switched blue and red.

Co-authored-by: antalszava <antalszava@gmail.com>

* Add note about `qsimcirq` warning (#290)

* add note about qsimcirq warning

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: antalszava <antalszava@gmail.com>

Co-authored-by: antalszava <antalszava@gmail.com>

* cache inc

Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Tommy Vo Tran <tomvotran@ucla.edu>
Co-authored-by: Jack Ceroni <jackceroni@gmail.com>
Co-authored-by: David Wakeham <david.a.wakeham@gmail.com>
Co-authored-by: ixfoduap <40441298+ixfoduap@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Andrew Gardhouse <AndrewGardhouse@gmail.com>
Co-authored-by: Nathan Killoran <co9olguy@users.noreply.github.com>
Co-authored-by: bdoolittle <brian.d.doolittle@gmail.com>
Co-authored-by: rooler <roel.wier@gmail.com>
Co-authored-by: Roeland Wiersema <32705838+therooler@users.noreply.github.com>
Co-authored-by: Tom Bromley <49409390+trbromley@users.noreply.github.com>
Co-authored-by: Theodor <theodor@xanadu.ai>

* Requirements

* Update designs demo to use qml.apply and fix issues in dev (#306)

* Re-add demo. Fix issues and update use qml.apply.

* Apply suggestions from code review

* Change op to m for measurements.

* Update `tutorial_noisy_circuits.py` (#312)

* Update tutorial_noisy_circuits.py

* remove dimensionality of ev

* increment cache number

* @master for pl (#319)

* Update requirements.txt

Co-authored-by: antalszava <antalszava@gmail.com>

* Update requirements.txt

Co-authored-by: antalszava <antalszava@gmail.com>

* update requirements

* Update requirements.txt (#329)

* Add more `plt.show` calls in the l2l demo (#331)

* plt.show; last updated

* Model name

* diff_method=None (#332)

* Added a note to Quantum Volume Demo (#335)

* Added a note to teach users how to access a list of
available IBM Q backends

* Having two notes next to eachother looks visually bad so
I just merged it with the previous note

* Update requirements.txt

Co-authored-by: antalszava <antalszava@gmail.com>

* Update requirements.txt

Co-authored-by: antalszava <antalszava@gmail.com>

* Add dev branch

* Update demos to make use of the new qml.sample and qml.expval(H) functionality (story #: 8118)  (#330)

* Updated qsim to use the new qml.sample functionality
**needs to be tested ! **

* just removed one commented line

* Updated one of the paragraphs to be consistent with
the changes

* Updated coherent vqls to use the builtin functionality of
qml.sample, also tested it locally and it seems to run without
errors!

* updated qaoa_maxcut to use new qml.sample functionality

* updated vqls tutorial to make  use of the new functionality
of qml.sample

* Made some changes to chem reaction tutorial, want to confirm with
CI to see if it works properly because I can't run it locally

* fixed quick little bug with wires in circuit def

* quick change to help debug error in CI

* Found the bug with chem_reactions tutorial, hopefully
this fixes it

* updated falqon tutorial and removed dependance on qml.ExpvalCost,
still need to confirm it works with CI

* fixed a small bug, wrote Qnode isntead of QNode

* Updated falqon to use qml.expval instead of qml.ExpvalCost

* updated optimized measurement tutorial to make use of qml.expval,
still need to test with CI

* debugging measurement optimize tutorial

* The bug regarding Qnodes is well known, just made a change
the Christina suggested as a temporary fix

* Updated molecular geometry optimization tutorial to make
use of qml.expval

* Updated qaoa tutorial to make use of qml.expval, updated docs
in both examples to remove qml.ExpValCost

* Updated vqe and vqe qng tutorials to use qml.expval(H)

* Updated the vqe soin sectors demo with qml.expval, fixed a typo in
overview of vqe tutorial

* Updated parallel vqe tutorial to remove dependance on qml.ExpvalCost,
was not able to fully test this because I don't have rigitti setup

* Updated these tutorials to remove qml.ExpvalCost dependance

* Cleaning up some typos and comments

* Updated measurement optimization tutorial to make use of qml.Tracker

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Updated tutorials based on pr comments

* Fixed bug in the spsa demo

* clean up

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* cleaned up docs

* Cleaning up documentation

* added comment

* Update demonstrations/braket-parallel-gradients.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Clean up

- added variable num_wires to mol_geo_opt tutorial

- replaced new_graph.nodes with dev.wires to clairfy
iteration over wires

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_qaoa_intro.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqe_qng.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Address comments

- made circuit a qnode to prevent the need to initialize multiple
qnodes one after another

Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>

* Update tutorial_gbs.py (#351)

* pin pyparsing (#358)

* Merge `master` into `dev` (#362)

* Update pyscf version. (#273)

Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>

* Update qnode.draw to qml.draw() (#352)

* pin pyparsing (#357)

* replaced pad --> pad_with in this tutorial as it has now been deprecated (#359)

* Add an action for demo output checking (#356)

* Update demos to make use of the new qml.sample and qml.expval(H) functionality (story #: 8118)  (#330)

* Updated qsim to use the new qml.sample functionality
**needs to be tested ! **

* just removed one commented line

* Updated one of the paragraphs to be consistent with
the changes

* Updated coherent vqls to use the builtin functionality of
qml.sample, also tested it locally and it seems to run without
errors!

* updated qaoa_maxcut to use new qml.sample functionality

* updated vqls tutorial to make  use of the new functionality
of qml.sample

* Made some changes to chem reaction tutorial, want to confirm with
CI to see if it works properly because I can't run it locally

* fixed quick little bug with wires in circuit def

* quick change to help debug error in CI

* Found the bug with chem_reactions tutorial, hopefully
this fixes it

* updated falqon tutorial and removed dependance on qml.ExpvalCost,
still need to confirm it works with CI

* fixed a small bug, wrote Qnode isntead of QNode

* Updated falqon to use qml.expval instead of qml.ExpvalCost

* updated optimized measurement tutorial to make use of qml.expval,
still need to test with CI

* debugging measurement optimize tutorial

* The bug regarding Qnodes is well known, just made a change
the Christina suggested as a temporary fix

* Updated molecular geometry optimization tutorial to make
use of qml.expval

* Updated qaoa tutorial to make use of qml.expval, updated docs
in both examples to remove qml.ExpValCost

* Updated vqe and vqe qng tutorials to use qml.expval(H)

* Updated the vqe soin sectors demo with qml.expval, fixed a typo in
overview of vqe tutorial

* Updated parallel vqe tutorial to remove dependance on qml.ExpvalCost,
was not able to fully test this because I don't have rigitti setup

* Updated these tutorials to remove qml.ExpvalCost dependance

* Cleaning up some typos and comments

* Updated measurement optimization tutorial to make use of qml.Tracker

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Updated tutorials based on pr comments

* Fixed bug in the spsa demo

* clean up

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* cleaned up docs

* Cleaning up documentation

* added comment

* Update demonstrations/braket-parallel-gradients.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Clean up

- added variable num_wires to mol_geo_opt tutorial

- replaced new_graph.nodes with dev.wires to clairfy
iteration over wires

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_qaoa_intro.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqe_qng.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Address comments

- made circuit a qnode to prevent the need to initialize multiple
qnodes one after another

Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>

* sources + yml

* add diff job

* on push

* branch name

* unzip with path

* updates

* tutorials from master and dev too

* path to script

* Update diffs found

* add toc and references

* Update diffs found

* comments

* mv to .github/workflows dedicated folder

* diffs document updates

* revert changes to tutorial_vqe_qng.py

* Update .github/workflows/html_parser.py

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* suggestions

* no sys

* Move demo_diff.md so that workflows access is not required

* change trigger and branch

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: QML demo checker Bot <>

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update templates access and remove template decorator (#360)

* Update pyscf version. (#273)

Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>

* Update qnode.draw to qml.draw() (#352)

* pin pyparsing (#357)

* replaced pad --> pad_with in this tutorial as it has now been deprecated (#359)

* Update templates.

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* Remove use of the init module everywhere (#361)

* Update pyscf version. (#273)

Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>

* Update qnode.draw to qml.draw() (#352)

* pin pyparsing (#357)

* replaced pad --> pad_with in this tutorial as it has now been deprecated (#359)

* Add an action for demo output checking (#356)

* Update demos to make use of the new qml.sample and qml.expval(H) functionality (story #: 8118)  (#330)

* Updated qsim to use the new qml.sample functionality
**needs to be tested ! **

* just removed one commented line

* Updated one of the paragraphs to be consistent with
the changes

* Updated coherent vqls to use the builtin functionality of
qml.sample, also tested it locally and it seems to run without
errors!

* updated qaoa_maxcut to use new qml.sample functionality

* updated vqls tutorial to make  use of the new functionality
of qml.sample

* Made some changes to chem reaction tutorial, want to confirm with
CI to see if it works properly because I can't run it locally

* fixed quick little bug with wires in circuit def

* quick change to help debug error in CI

* Found the bug with chem_reactions tutorial, hopefully
this fixes it

* updated falqon tutorial and removed dependance on qml.ExpvalCost,
still need to confirm it works with CI

* fixed a small bug, wrote Qnode isntead of QNode

* Updated falqon to use qml.expval instead of qml.ExpvalCost

* updated optimized measurement tutorial to make use of qml.expval,
still need to test with CI

* debugging measurement optimize tutorial

* The bug regarding Qnodes is well known, just made a change
the Christina suggested as a temporary fix

* Updated molecular geometry optimization tutorial to make
use of qml.expval

* Updated qaoa tutorial to make use of qml.expval, updated docs
in both examples to remove qml.ExpValCost

* Updated vqe and vqe qng tutorials to use qml.expval(H)

* Updated the vqe soin sectors demo with qml.expval, fixed a typo in
overview of vqe tutorial

* Updated parallel vqe tutorial to remove dependance on qml.ExpvalCost,
was not able to fully test this because I don't have rigitti setup

* Updated these tutorials to remove qml.ExpvalCost dependance

* Cleaning up some typos and comments

* Updated measurement optimization tutorial to make use of qml.Tracker

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Updated tutorials based on pr comments

* Fixed bug in the spsa demo

* clean up

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* cleaned up docs

* Cleaning up documentation

* added comment

* Update demonstrations/braket-parallel-gradients.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Clean up

- added variable num_wires to mol_geo_opt tutorial

- replaced new_graph.nodes with dev.wires to clairfy
iteration over wires

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/qsim_beyond_classical.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_coherent_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_qaoa_intro.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqe_qng.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_vqls.py

Co-authored-by: Maria Schuld <mariaschuld@gmail.com>

* Update demonstrations/tutorial_mol_geo_opt.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Update demonstrations/tutorial_qaoa_maxcut.py

Co-authored-by: Josh Izaac <josh146@gmail.com>

* Address comments

- made circuit a qnode to prevent the need to initialize multiple
qnodes one after another

Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>

* sources + yml

* add diff job

* on push

* branch name

* unzip with path

* updates

* tutorials from master and dev too

* path to script

* Update diffs found

* add toc and references

* Update diffs found

* comments

* mv to .github/workflows dedicated folder

* diffs document updates

* revert changes to tutorial_vqe_qng.py

* Update .github/workflows/html_parser.py

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* suggestions

* no sys

* Move demo_diff.md so that workflows access is not required

* change trigger and branch

Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>
Co-authored-by: Maria Schuld <mariaschuld@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: QML demo checker Bot <>

* remove init module everywhere

* minor improvement

* add 2pi scaling

* Update demonstrations/spsa.py

Co-authored-by: antalszava <antalszava@gmail.com>

* Update demonstrations/tutorial_doubly_stochastic.py

Co-authored-by: antalszava <antalszava@gmail.com>

* add low and high; scale argument

* add low and high; scale argument

* use pad_with

Co-authored-by: Olivia Di Matteo <2068515+glassnotes@users.noreply.github.com>
Co-authored-by: Olivia Di Matteo <dimatteo.olivia@gmail.com>
Co-authored-by: Josh Izaac <josh146@gmail.com>
Co-authored-by: antalszava <antalszava@gmail.com>
Co-authored-by: Jay Soni <jbsoni@uwaterloo.ca>

* Requires grad updates (#364)

* chemical

* tutorial_mol_geo_opt

* tutorial_vqe_spin_sectors

* vqe; remove - option due to redundancy warning

* rotoselect

* natural grad demo

* qgrnn

* local cost func demo, requires_grad=True

* format

* gaussian transformation

* qaoa intro

* adaptive

* variational classifier

* Updat…
  • Loading branch information
1 parent 4c08779 commit 3ec4070
Show file tree
Hide file tree
Showing 11 changed files with 175 additions and 137 deletions.
6 changes: 3 additions & 3 deletions demonstrations/adjoint_diff_benchmarking.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ def circuit(params):
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

ax1.plot(wires_list, adjoint_wires, '.-', label="adjoint")
ax1.plot(wires_list, backprop_wires, '.-', label="backprop")
ax1.plot(wires_list, ps_wires, '.-', label="parameter-shift")
ax1.plot(wires_list, backprop_wires, '.-', label="backprop")

ax1.legend()

Expand All @@ -121,8 +121,8 @@ def circuit(params):
ax1.set_title("Scaling with wires")

ax2.plot(layers_list, adjoint_layers, '.-', label="adjoint")
ax2.plot(layers_list, backprop_layers, '.-', label="backprop")
ax2.plot(layers_list, ps_layers, '.-', label="parameter-shift")
ax2.plot(layers_list, backprop_layers, '.-', label="backprop")

ax2.legend()

Expand All @@ -138,4 +138,4 @@ def circuit(params):
# .. figure:: ../demonstrations/adjoint_diff/scaling.png
# :width: 80%
# :align: center
#
#
30 changes: 15 additions & 15 deletions demonstrations/function_fitting_qsp.py
Original file line number Diff line number Diff line change
Expand Up @@ -493,26 +493,26 @@ def step_func(x):
#
# .. code-block:: none
#
# ---- iter: 0, loss: 32.0297 -----
# ---- iter: 1000, loss: 19.1044 -----
# ---- iter: 2000, loss: 11.6606 -----
# ---- iter: 3000, loss: 8.2875 -----
# ---- iter: 4000, loss: 6.6835 -----
# ---- iter: 5000, loss: 5.8529 -----
# ---- iter: 6000, loss: 5.3859 -----
# ---- iter: 7000, loss: 5.1038 -----
# ---- iter: 8000, loss: 4.9228 -----
# ---- iter: 9000, loss: 4.8005 -----
# ---- iter: 10000, loss: 4.7139 -----
# ---- iter: 11000, loss: 4.6503 -----
# ---- iter: 0, loss: 33.8345 -----
# ---- iter: 1000, loss: 19.0937 -----
# ---- iter: 2000, loss: 11.6557 -----
# ---- iter: 3000, loss: 8.2853 -----
# ---- iter: 4000, loss: 6.6824 -----
# ---- iter: 5000, loss: 5.8523 -----
# ---- iter: 6000, loss: 5.3855 -----
# ---- iter: 7000, loss: 5.1036 -----
# ---- iter: 8000, loss: 4.9227 -----
# ---- iter: 9000, loss: 4.8004 -----
# ---- iter: 10000, loss: 4.7138 -----
# ---- iter: 11000, loss: 4.6502 -----
# ---- iter: 12000, loss: 4.6018 -----
# ---- iter: 13000, loss: 4.5639 -----
# ---- iter: 13000, loss: 4.5638 -----
# ---- iter: 14000, loss: 4.5333 -----
# ---- iter: 15000, loss: 4.5082 -----
# ---- iter: 16000, loss: 4.4872 -----
# ---- iter: 17000, loss: 4.4693 -----
# ---- iter: 18000, loss: 4.4538 -----
# ---- iter: 19000, loss: 4.4402 -----
# ---- iter: 18000, loss: 4.4537 -----
# ---- iter: 19000, loss: 4.4401 -----
# ---- iter: 20000, loss: 4.4281 -----
# ---- iter: 21000, loss: 4.4174 -----
# ---- iter: 22000, loss: 4.4078 -----
Expand Down
Binary file modified demonstrations/learning2learn/rendered_Graph10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions demonstrations/quantum_volume.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,12 +397,11 @@ def qv_circuit_layer(num_qubits):
#
# .. code-block:: none
#
# 0: ────╭SWAP─────────╭M0──╭SWAP─────────╭M1──╭SWAP──╭M2──┤
# 1: ────│──────╭SWAP──╰M0──│──────╭SWAP──╰M1──╰SWAP──╰M2──┤
# 2: ────╰SWAP──╰SWAP───────╰SWAP──╰SWAP───────────────────┤
# 3: ──────────────────────────────────────────────────────┤
# 4: ──────────────────────────────────────────────────────┤
#
# 0: ─╭SWAP─╭U(M0)─╭U(M1)─╭SWAP───────╭U(M2)─┤
# 1: ─╰SWAP─╰U(M0)─╰U(M1)─│─────╭SWAP─╰U(M2)─┤
# 2: ─────────────────────╰SWAP─╰SWAP────────┤
# 3: ────────────────────────────────────────┤
# 4: ────────────────────────────────────────┤
# M0 =
# [[-0.17514647+0.00759447j 0.11975927+0.16007614j -0.41793925+0.49643728j
# 0.62304058-0.34640531j]
Expand Down
22 changes: 10 additions & 12 deletions demonstrations/tutorial_adaptive_circuits.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,15 @@
hf_state = qchem.hf_state(active_electrons, qubits)


def circuit_1(params, wires, excitations):
qml.BasisState(hf_state, wires=wires)
def circuit_1(params, excitations):
qml.BasisState(hf_state, wires=range(qubits))

for i, excitation in enumerate(excitations):
if len(excitation) == 4:
qml.DoubleExcitation(params[i], wires=excitation)
else:
qml.SingleExcitation(params[i], wires=excitation)
return qml.expval(H)


##############################################################################
Expand All @@ -122,7 +123,7 @@ def circuit_1(params, wires, excitations):
# with respect to the Hartree-Fock state.

dev = qml.device("default.qubit", wires=qubits)
cost_fn = qml.ExpvalCost(circuit_1, H, dev, optimize=True)
cost_fn = qml.QNode(circuit_1, dev)

circuit_gradient = qml.grad(cost_fn, argnum=0)

Expand Down Expand Up @@ -160,8 +161,8 @@ def circuit_1(params, wires, excitations):
# fixed while the gradients are computed for the single excitation gates.


def circuit_2(params, wires, excitations, gates_select, params_select):
qml.BasisState(hf_state, wires=wires)
def circuit_2(params, excitations, gates_select, params_select):
qml.BasisState(hf_state, wires=range(qubits))

for i, gate in enumerate(gates_select):
if len(gate) == 4:
Expand All @@ -174,12 +175,13 @@ def circuit_2(params, wires, excitations, gates_select, params_select):
qml.DoubleExcitation(params[i], wires=gate)
elif len(gate) == 2:
qml.SingleExcitation(params[i], wires=gate)
return qml.expval(H)


##############################################################################
# We now compute the gradients for the single excitation gates.

cost_fn = qml.ExpvalCost(circuit_2, H, dev, optimize=True)
cost_fn = qml.QNode(circuit_2, dev)
circuit_gradient = qml.grad(cost_fn, argnum=0)
params = [0.0] * len(singles)

Expand Down Expand Up @@ -211,7 +213,7 @@ def circuit_2(params, wires, excitations, gates_select, params_select):
# We perform one final step of optimization to get the ground-state energy. The resulting energy
# should match the exact energy of the ground electronic state of LiH which is -7.8825378193 Ha.

cost_fn = qml.ExpvalCost(circuit_1, H, dev, optimize=True)
cost_fn = qml.QNode(circuit_1, dev)

params = np.zeros(len(doubles_select + singles_select), requires_grad=True)

Expand Down Expand Up @@ -275,13 +277,9 @@ def circuit(params):
return qml.expval(qml.SparseHamiltonian(H_sparse, wires=range(qubits)))


def cost(params):
return circuit(params)


for n in range(20):
t1 = time.time()
params, energy = opt.step_and_cost(cost, params)
params, energy = opt.step_and_cost(circuit, params)
t2 = time.time()
print("n = {:}, E = {:.8f} H, t = {:.2f} s".format(n, energy, t2 - t1))

Expand Down
8 changes: 4 additions & 4 deletions demonstrations/tutorial_classical_shadows.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ def snapshot_state(b_list, obs_list):

# local qubit unitaries
phase_z = np.array([[1, 0], [0, -1j]], dtype=complex)
hadamard = qml.Hadamard(0).matrix
identity = qml.Identity(0).matrix
hadamard = qml.matrix(qml.Hadamard(0))
identity = qml.matrix(qml.Identity(0))

# undo the rotations that were added implicitly to the circuit for the Pauli measurements
unitaries = [hadamard, hadamard @ phase_z, identity]
Expand Down Expand Up @@ -621,7 +621,7 @@ def circuit(params, **kwargs):
# for all :math:`1\leq i \leq M`.

shadow_size_bound, k = shadow_bound(
error=2e-1, observables=[o.matrix for o in list_of_observables]
error=2e-1, observables=[qml.matrix(o) for o in list_of_observables]
)
shadow_size_bound

Expand All @@ -638,7 +638,7 @@ def circuit(params, **kwargs):
for error in epsilon_grid:
# get the number of samples needed so that the absolute error < epsilon.
shadow_size_bound, k = shadow_bound(
error=error, observables=[o.matrix for o in list_of_observables]
error=error, observables=[qml.matrix(o) for o in list_of_observables]
)
shadow_sizes.append(shadow_size_bound)
print(f"{shadow_size_bound} samples required ")
Expand Down
4 changes: 2 additions & 2 deletions demonstrations/tutorial_error_mitigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ def circuit(w1, w2):
##############################################################################
# As expected, executing the circuit on an ideal noise-free device gives a result of ``1``.

ideal_qnode(w1, w2).numpy()
ideal_qnode(w1, w2)

##############################################################################
# On the other hand, we obtain a noisy result when running on ``dev_noisy``:

noisy_qnode(w1, w2).numpy()
noisy_qnode(w1, w2)

##############################################################################
# So, we have set ourselves up with a benchmark circuit and seen that executing on a noisy device
Expand Down
40 changes: 8 additions & 32 deletions demonstrations/tutorial_measurement_optimize.py
Original file line number Diff line number Diff line change
Expand Up @@ -481,33 +481,7 @@ def circuit(weights):
# terms of ``RX`` and ``RY`` rotations. Check out the :mod:`qml.grouping <pennylane.grouping>`
# documentation for more details on its provided functionality and how it works.
#
# What happens, though, if we (in a moment of reckless abandon!) ask a QNode to simultaneously
# measure two observables that *aren't* qubit-wise commuting? For example, let's consider
# :math:`X\otimes Y` and :math:`Z\otimes Z`:
#
# .. code-block:: python
#
# @qml.qnode(dev)
# def circuit(weights):
# qml.StronglyEntanglingLayers(weights, wires=range(3))
# return [
# qml.expval(qml.PauliZ(0) @ qml.PauliY(1)),
# qml.expval(qml.PauliZ(0) @ qml.PauliZ(1))
# ]
#
# .. rst-class:: sphx-glr-script-out
#
# Out:
#
# .. code-block:: none
#
# pennylane.qnodes.base.QuantumFunctionError: Only observables that are qubit-wise commuting
# Pauli words can be returned on the same wire
#
# The QNode has detected that the two observables are not qubit-wise commuting, and
# has raised an error.
#
# So, a strategy begins to take shape: given a Hamiltonian containing a large number of Pauli terms,
# Given a Hamiltonian containing a large number of Pauli terms,
# there is a high likelihood of there being a significant number of terms that qubit-wise commute. Can
# we somehow partition the terms into **fewest** number of QWC groups to minimize the number of measurements
# we need to take?
Expand Down Expand Up @@ -751,12 +725,14 @@ def circuit(weights, group=None, **kwargs):
##############################################################################
# Finally, we don't need to go through this process manually every time; if our cost function can be
# written in the form of an expectation value of a Hamiltonian (as is the case for most VQE and QAOA
# problems), we can use the :class:`qml.ExpvalCost <pennylane.ExpvalCost>` function
# to generate our cost function with the number of measurement automatically
# optimized:
# problems), we can use the option ``grouping_type="qwc"`` in :class:`~.pennylane.Hamiltonian` to
# automatically optimize the measurements.

H = qml.Hamiltonian(coeffs=np.ones(len(terms)), observables=terms)
cost_fn = qml.ExpvalCost(qml.StronglyEntanglingLayers, H, dev, optimize=True)
H = qml.Hamiltonian(coeffs=np.ones(len(terms)), observables=terms, grouping_type="qwc")
@qml.qnode(dev)
def cost_fn(weights):
qml.StronglyEntanglingLayers(weights, wires=range(4))
return qml.expval(H)
print(cost_fn(weights))

##############################################################################
Expand Down
Loading

0 comments on commit 3ec4070

Please sign in to comment.