diff --git a/.github/workflows/gatsby-node.ts b/.github/workflows/gatsby-node.ts index 283f1acd31..0aa932bfe8 100644 --- a/.github/workflows/gatsby-node.ts +++ b/.github/workflows/gatsby-node.ts @@ -7,37 +7,19 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const { createFilePath } = require(`gatsby-source-filesystem`) -import { CreateBabelConfigArgs, GatsbyNode } from 'gatsby' +import { + CreateBabelConfigArgs, + CreateNodeArgs, + GatsbyNode, +} from 'gatsby' import path from 'path' -interface IOnCreateNodeProps { - node: { internal: { type: string } } - actions: { - createNodeField: (field: { - name: string - node: { internal: { type: string } } - value: string - }) => void - } - getNode: () => void -} - -interface IOnCreateNodeProps { - node: { internal: { type: string } } - actions: { - createNodeField: (field: { - name: string - node: { internal: { type: string } } - value: string - }) => void - } - getNode: () => void -} - /** + * onCreateNode - Called when a new node is created. Plugins wishing to extend or transform nodes created by other plugins should implement this API. + * https://www.gatsbyjs.com/docs/reference/config-files/gatsby-node/#onCreateNode * @type {import('gatsby').GatsbyNode['onCreateNode']} */ -exports.onCreateNode = ({ node, actions, getNode }: IOnCreateNodeProps) => { +exports.onCreateNode = ({ node, actions, getNode }: CreateNodeArgs) => { const { createNodeField } = actions if (node.internal.type === `MarkdownRemark`) { @@ -51,6 +33,10 @@ exports.onCreateNode = ({ node, actions, getNode }: IOnCreateNodeProps) => { } } +/** + * onCreateBabelConfig - Let plugins extend/mutate the site’s Babel configuration by calling setBabelPlugin or setBabelPreset. + * https://www.gatsbyjs.com/docs/reference/config-files/gatsby-node/#onCreateBabelConfig + */ exports.onCreateBabelConfig = ({ actions }: CreateBabelConfigArgs) => { actions.setBabelPlugin({ name: '@babel/plugin-transform-react-jsx', @@ -61,6 +47,8 @@ exports.onCreateBabelConfig = ({ actions }: CreateBabelConfigArgs) => { } /** + * createSchemaCustomization - Customize Gatsby’s GraphQL schema by creating type definitions, field extensions or adding third-party schemas. + * https://www.gatsbyjs.com/docs/reference/config-files/gatsby-node/#createSchemaCustomization * @type {import('gatsby').GatsbyNode['createSchemaCustomization']} */ exports.createSchemaCustomization = ({ @@ -131,31 +119,33 @@ exports.createSchemaCustomization = ({ `) } +/** + * Import UI templates + * Templates are used in createPages to programmatically create page. + */ + const demoPage = path.resolve( `${__dirname}/src/templates/demos/individualDemo/demo.tsx` ) +/** + * createPages - Create pages dynamically. + * This extension point is called only after the initial sourcing and transformation of nodes + * plus creation of the GraphQL schema are complete so you can query your data in order to create pages. + * https://www.gatsbyjs.com/docs/reference/config-files/gatsby-node/#onCreateWebpackConfig + */ export const createPages: GatsbyNode['createPages'] = async ({ graphql, actions, reporter, }) => { - const { createPage, createRedirect } = actions - - type allMarkdownRemarkTypeData = { - allMarkdownRemark: { - nodes: { - frontmatter: { - slug: string - title: string - meta_description: string - } - id: string - }[] - } - } + const { createPage } = actions + + // Queries + // ------- - const DemosResults = await graphql(` + // Query .md files from /content/demos directory + const DemosResults = await graphql(` query GetDemoData { allMarkdownRemark(filter: { fileAbsolutePath: { regex: "/demos/" } }) { nodes { @@ -170,19 +160,118 @@ export const createPages: GatsbyNode['createPages'] = async ({ } `) + if (DemosResults.errors) { + reporter.panicOnBuild( + '🚨 ERROR: Loading "createPages" query for demo pages' + ) + } + + // Query demo authors & slugs from search query in PennyLane Cloud + const DemoAuthorResult = await graphql(` + query GetDemoAuthorData { + pennylaneCloud { + search(input: { contentTypes: DEMO }) { + items { + ... on pennylaneCloud_GenericContent { + authors { + ... on pennylaneCloud_AuthorName { + name + } + ... on pennylaneCloud_Profile { + handle + firstName + headline + lastName + avatarUrl + } + } + slug + } + } + } + } + } + `) + + if (DemoAuthorResult.errors) { + reporter.panicOnBuild( + `There was an error loading your demo authors`, + DemoAuthorResult.errors + ) + return + } + + // Query blog authors & slugs from search query in PennyLane Cloud + const BlogAuthorResult = await graphql(` + query GetBlogAuthorData { + pennylaneCloud { + search(input: { contentTypes: BLOG }) { + items { + ... on pennylaneCloud_GenericContent { + authors { + ... on pennylaneCloud_AuthorName { + name + } + ... on pennylaneCloud_Profile { + handle + firstName + headline + lastName + avatarUrl + } + } + slug + } + } + } + } + } + `) + + if (BlogAuthorResult.errors) { + reporter.panicOnBuild( + `There was an error loading your blog authors`, + BlogAuthorResult.errors + ) + return + } + + /** + * Create a map for content slug and authors + * to easily fetch authors for demo & blog pages while creating them programmatically. + */ + const contentAuthorMap = {} + const demoSearchItems = + DemoAuthorResult.data?.pennylaneCloud.search.items || [] + const blogSearchItems = + BlogAuthorResult.data?.pennylaneCloud.search.items || [] + + demoSearchItems.forEach((content) => { + contentAuthorMap[content['slug']] = content['authors'] + }) + blogSearchItems.forEach((content) => { + contentAuthorMap[`/${content['slug']}/`] = content['authors'] + }) + + // Create Pages Programmatically + // ----------------------------- + // Create Demo Pages const demos = DemosResults.data ? DemosResults.data.allMarkdownRemark.nodes : [] if (demos && demos.length) { demos.forEach((demo) => { - createPage({ - path: `/qml/demos/${demo.frontmatter.slug}`, - component: demoPage, - context: { - id: demo.id, - }, - }) + if (demo.frontmatter?.slug) { + createPage({ + path: `/qml/demos/${demo.frontmatter.slug}`, + component: demoPage, + context: { + id: demo.id, + authors: contentAuthorMap[demo.frontmatter.slug], + }, + }) + } }) } } diff --git a/Makefile b/Makefile index 617c5eddd5..054764fa08 100644 --- a/Makefile +++ b/Makefile @@ -77,7 +77,7 @@ environment: $$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-cirq.git#egg=pennylane-cirq;\ $$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-qiskit.git#egg=pennylane-qiskit;\ $$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-qulacs.git#egg=pennylane-qulacs;\ - $$PYTHON_VENV_PATH/bin/python -m pip install -i https://test.pypi.org/simple/ PennyLane-Lightning --pre --upgrade;\ - $$PYTHON_VENV_PATH/bin/python -m pip install -i https://test.pypi.org/simple/ PennyLane-Catalyst --pre --upgrade;\ + $$PYTHON_VENV_PATH/bin/python -m pip install --extra-index-url https://test.pypi.org/simple/ PennyLane-Lightning --pre --upgrade;\ + $$PYTHON_VENV_PATH/bin/python -m pip install --extra-index-url https://test.pypi.org/simple/ PennyLane-Catalyst --pre --upgrade;\ fi;\ fi diff --git a/README.md b/README.md index 13a0903747..61a8415c64 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ quantum computing paper/result. - Make sure the file name is `.metadata.json`. - The "id" of the author will be the same as the one you chose when creating the bio. - The date of publication and modification. Leave them empty in case you don't know them. - - Choose the categories your demo fits into: `"Getting Started"`, `"Optimization"`, `"Quantum Machine Learning"`, `"Quantum Chemistry"`, `"Devices and Performance"`, `"Quantum Computing"`, `"Quantum Hardware"` or `"Algorithms"`. Feel free to add more than one. + - Choose the categories your demo fits into: `"Getting Started"`, `"Optimization"`, `"Quantum Machine Learning"`, `"Quantum Chemistry"`, `"Devices and Performance"`, `"Quantum Computing"`, `"Quantum Hardware"`, `"Algorithms"` or `"How-to"`. Feel free to add more than one. - In `previewImages` you should simply modify the final part of the file's name to fit the name of your demo. These two images will be sent to you once the review process begins. Once sent, you must upload them to the address indicated in the metadata. - `relatedContent` refers to the demos related to yours. You will have to put the corresponding id and set the `weight` to `1.0`. - If there is any doubt with any field, do not hesitate to post a comment to the reviewer of your demo. diff --git a/_static/authors/alain_delgado.png b/_static/authors/alain_delgado.png index 7a92396810..54f5a0e36b 100644 Binary files a/_static/authors/alain_delgado.png and b/_static/authors/alain_delgado.png differ diff --git a/_static/authors/alejandro_montanez.jpg b/_static/authors/alejandro_montanez.jpg index af3d2dffec..eb7ba37daa 100644 Binary files a/_static/authors/alejandro_montanez.jpg and b/_static/authors/alejandro_montanez.jpg differ diff --git a/_static/authors/ali_asadi.png b/_static/authors/ali_asadi.png index 226e3e6b34..83e65049b2 100644 Binary files a/_static/authors/ali_asadi.png and b/_static/authors/ali_asadi.png differ diff --git a/_static/authors/andrea_mari.jpeg b/_static/authors/andrea_mari.jpeg index 71645da9bb..a6aa975f9f 100644 Binary files a/_static/authors/andrea_mari.jpeg and b/_static/authors/andrea_mari.jpeg differ diff --git a/_static/authors/andrea_mari_original.jpeg b/_static/authors/andrea_mari_original.jpeg index 0d2ccfbccd..b26f7b685c 100644 Binary files a/_static/authors/andrea_mari_original.jpeg and b/_static/authors/andrea_mari_original.jpeg differ diff --git a/_static/authors/angus_lowe.jpg b/_static/authors/angus_lowe.jpg index 7f729ae6f9..1eae839ae5 100644 Binary files a/_static/authors/angus_lowe.jpg and b/_static/authors/angus_lowe.jpg differ diff --git a/_static/authors/angus_lowe_original.jpg b/_static/authors/angus_lowe_original.jpg index 6138f522bd..c3b853e9fc 100644 Binary files a/_static/authors/angus_lowe_original.jpg and b/_static/authors/angus_lowe_original.jpg differ diff --git a/_static/authors/antal_szava.jpg b/_static/authors/antal_szava.jpg index 4a176f9ca7..9f13e0116c 100644 Binary files a/_static/authors/antal_szava.jpg and b/_static/authors/antal_szava.jpg differ diff --git a/_static/authors/antal_szava_original.jpg b/_static/authors/antal_szava_original.jpg index ce66692e37..8e14af7e90 100644 Binary files a/_static/authors/antal_szava_original.jpg and b/_static/authors/antal_szava_original.jpg differ diff --git a/_static/authors/anuj_apte.jpg b/_static/authors/anuj_apte.jpg index 153eddc2c2..3d3eec2063 100644 Binary files a/_static/authors/anuj_apte.jpg and b/_static/authors/anuj_apte.jpg differ diff --git a/_static/authors/anuj_apte_original.jpg b/_static/authors/anuj_apte_original.jpg index daae83301f..93dadbec2b 100644 Binary files a/_static/authors/anuj_apte_original.jpg and b/_static/authors/anuj_apte_original.jpg differ diff --git a/_static/authors/ara_ghukasyan.jpeg b/_static/authors/ara_ghukasyan.jpeg index da3f8aae14..5fb87d5485 100644 Binary files a/_static/authors/ara_ghukasyan.jpeg and b/_static/authors/ara_ghukasyan.jpeg differ diff --git a/_static/authors/aroosa_ijaz.jpeg b/_static/authors/aroosa_ijaz.jpeg index 7c06a43d54..41023809f4 100644 Binary files a/_static/authors/aroosa_ijaz.jpeg and b/_static/authors/aroosa_ijaz.jpeg differ diff --git a/_static/authors/aroosa_ijaz_original.jpeg b/_static/authors/aroosa_ijaz_original.jpeg index f6b23191e3..b0e547b8cb 100644 Binary files a/_static/authors/aroosa_ijaz_original.jpeg and b/_static/authors/aroosa_ijaz_original.jpeg differ diff --git a/_static/authors/borja_requena.jpg b/_static/authors/borja_requena.jpg old mode 100755 new mode 100644 index 1bfd62f17f..550b0a84d7 Binary files a/_static/authors/borja_requena.jpg and b/_static/authors/borja_requena.jpg differ diff --git a/_static/authors/brian_doolittle.jpg b/_static/authors/brian_doolittle.jpg index b4e7c174f8..b3fd914779 100644 Binary files a/_static/authors/brian_doolittle.jpg and b/_static/authors/brian_doolittle.jpg differ diff --git a/_static/authors/brian_doolittle_original.jpg b/_static/authors/brian_doolittle_original.jpg index 43f487b90c..6df5616985 100644 Binary files a/_static/authors/brian_doolittle_original.jpg and b/_static/authors/brian_doolittle_original.jpg differ diff --git a/_static/authors/chase_roberts.png b/_static/authors/chase_roberts.png index 30d3f7e663..f288eb8b69 100644 Binary files a/_static/authors/chase_roberts.png and b/_static/authors/chase_roberts.png differ diff --git a/_static/authors/christina_lee.JPG b/_static/authors/christina_lee.JPG index 3deb301dc9..c27dac44e3 100644 Binary files a/_static/authors/christina_lee.JPG and b/_static/authors/christina_lee.JPG differ diff --git a/_static/authors/clara_ferreira_cores.jpeg b/_static/authors/clara_ferreira_cores.jpeg index 2a75967dd8..4f8fb94dfd 100644 Binary files a/_static/authors/clara_ferreira_cores.jpeg and b/_static/authors/clara_ferreira_cores.jpeg differ diff --git a/_static/authors/dan_strano.jpeg b/_static/authors/dan_strano.jpeg index c23c3ad835..70921e247d 100644 Binary files a/_static/authors/dan_strano.jpeg and b/_static/authors/dan_strano.jpeg differ diff --git a/_static/authors/danial_motlagh.jpg b/_static/authors/danial_motlagh.jpg index e364400d5f..61218982bf 100644 Binary files a/_static/authors/danial_motlagh.jpg and b/_static/authors/danial_motlagh.jpg differ diff --git a/_static/authors/david_ittah.jpg b/_static/authors/david_ittah.jpg index 1a2bfe40a2..22f83941bb 100644 Binary files a/_static/authors/david_ittah.jpg and b/_static/authors/david_ittah.jpg differ diff --git a/_static/authors/david_wakeham_original.png b/_static/authors/david_wakeham_original.png index dde94c8a8b..fea253fa63 100644 Binary files a/_static/authors/david_wakeham_original.png and b/_static/authors/david_wakeham_original.png differ diff --git a/_static/authors/david_wierichs.jpg b/_static/authors/david_wierichs.jpg index 935d95dc9e..052308a4ea 100644 Binary files a/_static/authors/david_wierichs.jpg and b/_static/authors/david_wierichs.jpg differ diff --git a/_static/authors/diksha_dhawan.png b/_static/authors/diksha_dhawan.png index 5c91ea35ff..79a2739be7 100644 Binary files a/_static/authors/diksha_dhawan.png and b/_static/authors/diksha_dhawan.png differ diff --git a/_static/authors/gideon_uchehara.jpg b/_static/authors/gideon_uchehara.jpg index 979b94bb34..6188f67c96 100644 Binary files a/_static/authors/gideon_uchehara.jpg and b/_static/authors/gideon_uchehara.jpg differ diff --git a/_static/authors/guillermo_alonso.jpeg b/_static/authors/guillermo_alonso.jpeg index 42c6c4334e..c5d7111001 100644 Binary files a/_static/authors/guillermo_alonso.jpeg and b/_static/authors/guillermo_alonso.jpeg differ diff --git a/_static/authors/isaac_de_vlugt.jpeg b/_static/authors/isaac_de_vlugt.jpeg index 9aa8f4cfff..53c620a083 100644 Binary files a/_static/authors/isaac_de_vlugt.jpeg and b/_static/authors/isaac_de_vlugt.jpeg differ diff --git a/_static/authors/isabel_nha_minh_le.jpg b/_static/authors/isabel_nha_minh_le.jpg index 1497f5b352..6771ba6cdb 100644 Binary files a/_static/authors/isabel_nha_minh_le.jpg and b/_static/authors/isabel_nha_minh_le.jpg differ diff --git a/_static/authors/isidor_schoch.png b/_static/authors/isidor_schoch.png index d1debcd7e8..230b5b3f71 100644 Binary files a/_static/authors/isidor_schoch.png and b/_static/authors/isidor_schoch.png differ diff --git a/_static/authors/jack_stephen_baker.png b/_static/authors/jack_stephen_baker.png index bf2597ccea..738fb47f34 100644 Binary files a/_static/authors/jack_stephen_baker.png and b/_static/authors/jack_stephen_baker.png differ diff --git a/_static/authors/james_ellis.jpg b/_static/authors/james_ellis.jpg index 1f2ac64775..8439e41bb2 100644 Binary files a/_static/authors/james_ellis.jpg and b/_static/authors/james_ellis.jpg differ diff --git a/_static/authors/jarrett_smalley.png b/_static/authors/jarrett_smalley.png index 38fb6ce2b2..7ee037424d 100644 Binary files a/_static/authors/jarrett_smalley.png and b/_static/authors/jarrett_smalley.png differ diff --git a/_static/authors/joana_fraxanet.jpeg b/_static/authors/joana_fraxanet.jpeg index bf05f97712..da9a302a2b 100644 Binary files a/_static/authors/joana_fraxanet.jpeg and b/_static/authors/joana_fraxanet.jpeg differ diff --git a/_static/authors/johannes_jakob_meyer.png b/_static/authors/johannes_jakob_meyer.png index 21b3bfb76a..84afde9f47 100644 Binary files a/_static/authors/johannes_jakob_meyer.png and b/_static/authors/johannes_jakob_meyer.png differ diff --git a/_static/authors/josh_izaac_original.png b/_static/authors/josh_izaac_original.png index 97fd01ea60..0350278ff9 100644 Binary files a/_static/authors/josh_izaac_original.png and b/_static/authors/josh_izaac_original.png differ diff --git a/_static/authors/juan_felipe_carrasquilla_alvarez.png b/_static/authors/juan_felipe_carrasquilla_alvarez.png index e6ad666837..30bf10380f 100644 Binary files a/_static/authors/juan_felipe_carrasquilla_alvarez.png and b/_static/authors/juan_felipe_carrasquilla_alvarez.png differ diff --git a/_static/authors/lillian_frederiksen.png b/_static/authors/lillian_frederiksen.png index efd58b310b..677dbfdc61 100644 Binary files a/_static/authors/lillian_frederiksen.png and b/_static/authors/lillian_frederiksen.png differ diff --git a/_static/authors/luis_mantilla.jpg b/_static/authors/luis_mantilla.jpg index c7fd365d3f..3c5639b57c 100644 Binary files a/_static/authors/luis_mantilla.jpg and b/_static/authors/luis_mantilla.jpg differ diff --git a/_static/authors/maggie_li.jpg b/_static/authors/maggie_li.jpg index ed3b912c96..6732c4f993 100644 Binary files a/_static/authors/maggie_li.jpg and b/_static/authors/maggie_li.jpg differ diff --git a/_static/authors/maggie_li_original.jpg b/_static/authors/maggie_li_original.jpg index b11f15dde8..4db6ae5e15 100644 Binary files a/_static/authors/maggie_li_original.jpg and b/_static/authors/maggie_li_original.jpg differ diff --git a/_static/authors/mark_nicholas_jones.png b/_static/authors/mark_nicholas_jones.png index 2e87cbd984..91406871aa 100644 Binary files a/_static/authors/mark_nicholas_jones.png and b/_static/authors/mark_nicholas_jones.png differ diff --git a/_static/authors/matthew_silverman.jpg b/_static/authors/matthew_silverman.jpg index 5e76149dbb..2bf4c885cb 100644 Binary files a/_static/authors/matthew_silverman.jpg and b/_static/authors/matthew_silverman.jpg differ diff --git a/_static/authors/nathan_killoran.jpg b/_static/authors/nathan_killoran.jpg index 7d79baa574..1271f61a88 100644 Binary files a/_static/authors/nathan_killoran.jpg and b/_static/authors/nathan_killoran.jpg differ diff --git a/_static/authors/nathan_killoran_original.jpg b/_static/authors/nathan_killoran_original.jpg index 86c69cb5fe..0c28fa5e79 100644 Binary files a/_static/authors/nathan_killoran_original.jpg and b/_static/authors/nathan_killoran_original.jpg differ diff --git a/_static/authors/paul_k_faehrmann.jpg b/_static/authors/paul_k_faehrmann.jpg index 8b519d26a3..dd027d5d2a 100644 Binary files a/_static/authors/paul_k_faehrmann.jpg and b/_static/authors/paul_k_faehrmann.jpg differ diff --git a/_static/authors/peter-jan_derks.png b/_static/authors/peter-jan_derks.png index e5408b33f9..223d08d5f0 100644 Binary files a/_static/authors/peter-jan_derks.png and b/_static/authors/peter-jan_derks.png differ diff --git a/_static/authors/peter-jan_derks_original.png b/_static/authors/peter-jan_derks_original.png index 7f83f97eaa..c963ad139f 100644 Binary files a/_static/authors/peter-jan_derks_original.png and b/_static/authors/peter-jan_derks_original.png differ diff --git a/_static/authors/radoica_draskic.jpg b/_static/authors/radoica_draskic.jpg index 4eda8d2047..81952f7ed5 100644 Binary files a/_static/authors/radoica_draskic.jpg and b/_static/authors/radoica_draskic.jpg differ diff --git a/_static/authors/reast.jpeg b/_static/authors/reast.jpeg index ef20ea98db..0fcfec6d7f 100644 Binary files a/_static/authors/reast.jpeg and b/_static/authors/reast.jpeg differ diff --git a/_static/authors/richard_east.jpeg b/_static/authors/richard_east.jpeg index ef20ea98db..0fcfec6d7f 100644 Binary files a/_static/authors/richard_east.jpeg and b/_static/authors/richard_east.jpeg differ diff --git a/_static/authors/romain_moyard.jpg b/_static/authors/romain_moyard.jpg index 6b323d6c00..8bd9f312d9 100644 Binary files a/_static/authors/romain_moyard.jpg and b/_static/authors/romain_moyard.jpg differ diff --git a/_static/authors/santosh_kumar_radha.png b/_static/authors/santosh_kumar_radha.png index d9d99144c2..cd7ee744fa 100644 Binary files a/_static/authors/santosh_kumar_radha.png and b/_static/authors/santosh_kumar_radha.png differ diff --git a/_static/authors/shahnawaz_ahmed.png b/_static/authors/shahnawaz_ahmed.png index 2eeec9506c..35a0c3d134 100644 Binary files a/_static/authors/shahnawaz_ahmed.png and b/_static/authors/shahnawaz_ahmed.png differ diff --git a/_static/authors/shahnawaz_ahmed_original.png b/_static/authors/shahnawaz_ahmed_original.png index f753a75035..e755b8e8c2 100644 Binary files a/_static/authors/shahnawaz_ahmed_original.png and b/_static/authors/shahnawaz_ahmed_original.png differ diff --git a/_static/authors/shaoming_zhang.png b/_static/authors/shaoming_zhang.png index b415071298..3b5df4cbb9 100644 Binary files a/_static/authors/shaoming_zhang.png and b/_static/authors/shaoming_zhang.png differ diff --git a/_static/authors/soran_jahangiri.png b/_static/authors/soran_jahangiri.png index 627b526916..7682db9810 100644 Binary files a/_static/authors/soran_jahangiri.png and b/_static/authors/soran_jahangiri.png differ diff --git a/_static/authors/stefano_mangini.jpg b/_static/authors/stefano_mangini.jpg index 7e9f8efb33..c64aab3074 100644 Binary files a/_static/authors/stefano_mangini.jpg and b/_static/authors/stefano_mangini.jpg differ diff --git a/_static/authors/stefano_mangini_original.jpg b/_static/authors/stefano_mangini_original.jpg index 50eb43a6bc..4403f80136 100644 Binary files a/_static/authors/stefano_mangini_original.jpg and b/_static/authors/stefano_mangini_original.jpg differ diff --git a/_static/authors/stepan_fomichev.jpg b/_static/authors/stepan_fomichev.jpg index eee48b91bb..8132884aed 100644 Binary files a/_static/authors/stepan_fomichev.jpg and b/_static/authors/stepan_fomichev.jpg differ diff --git a/_static/authors/sukin_sim.png b/_static/authors/sukin_sim.png index 878a046ead..28b705275e 100644 Binary files a/_static/authors/sukin_sim.png and b/_static/authors/sukin_sim.png differ diff --git a/_static/authors/sukin_sim_original.png b/_static/authors/sukin_sim_original.png index 87c46a9ae4..8db61d267d 100644 Binary files a/_static/authors/sukin_sim_original.png and b/_static/authors/sukin_sim_original.png differ diff --git a/_static/authors/theodor_isacsson.jpg b/_static/authors/theodor_isacsson.jpg index c0cc62e3e8..02f6201980 100644 Binary files a/_static/authors/theodor_isacsson.jpg and b/_static/authors/theodor_isacsson.jpg differ diff --git a/_static/authors/thomas_bromley.png b/_static/authors/thomas_bromley.png index 2a3bae4973..faf2e70c0a 100644 Binary files a/_static/authors/thomas_bromley.png and b/_static/authors/thomas_bromley.png differ diff --git a/_static/authors/thomas_bromley_original.png b/_static/authors/thomas_bromley_original.png index af95765dbf..a0887185eb 100644 Binary files a/_static/authors/thomas_bromley_original.png and b/_static/authors/thomas_bromley_original.png differ diff --git a/_static/authors/utkarsh_azad.png b/_static/authors/utkarsh_azad.png index 696ff9f70d..7f4179b604 100644 Binary files a/_static/authors/utkarsh_azad.png and b/_static/authors/utkarsh_azad.png differ diff --git a/_static/authors/varun_rishi_original.png b/_static/authors/varun_rishi_original.png index bc84ea6bf0..87734dc968 100644 Binary files a/_static/authors/varun_rishi_original.png and b/_static/authors/varun_rishi_original.png differ diff --git a/_static/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_Contextuality.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Contextuality.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_Contextuality.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Contextuality.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_RLpulse.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_RLpulse.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_RLpulse.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_RLpulse.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_circuit_compilation.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuit_compilation.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_circuit_compilation.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuit_compilation.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_external_libs.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_external_libs.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_external_libs.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_external_libs.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_fermionic_operators.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_fermionic_operators.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_fermionic_operators.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_fermionic_operators.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_gsim.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_gsim.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_gsim.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_gsim.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_intro_qsvt.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_intro_qsvt.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_intro_qsvt.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_intro_qsvt.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png diff --git a/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learning_dynamics_incoherently.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learning_dynamics_incoherently.png new file mode 100644 index 0000000000..b69cd3524a Binary files /dev/null and b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learning_dynamics_incoherently.png differ diff --git a/_static/large_demo_thumbnails/thumbnail_large_learningshallow.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learningshallow.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_learningshallow.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learningshallow.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_liealgebra.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liealgebra.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_liealgebra.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liealgebra.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_liesim_extension.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liesim_extension.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_liesim_extension.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liesim_extension.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_mapping_2024-05-01.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mapping_2024-05-01.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_mapping_2024-05-01.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mapping_2024-05-01.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_mcm_introduction.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mcm_introduction.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_mcm_introduction.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mcm_introduction.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_neutral_atoms.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_neutral_atoms.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_neutral_atoms.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_neutral_atoms.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_odegen.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_odegen.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_odegen.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_odegen.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_optimal_control.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_optimal_control.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_optimal_control.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_optimal_control.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_oqc_pulse.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_oqc_pulse.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_oqc_pulse.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_oqc_pulse.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_phase_kickback.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_phase_kickback.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_phase_kickback.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_phase_kickback.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_pulse_on_hardware.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_pulse_on_hardware.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_pulse_on_hardware.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_pulse_on_hardware.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_pulse_programming.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_pulse_programming.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_pulse_programming.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_pulse_programming.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_qutrits_bernstein_vazirani.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_qutrits_bernstein_vazirani.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_qutrits_bernstein_vazirani.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_qutrits_bernstein_vazirani.png diff --git a/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_shadow_hamiltonian_simulation.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_shadow_hamiltonian_simulation.png new file mode 100644 index 0000000000..08a06c8485 Binary files /dev/null and b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_shadow_hamiltonian_simulation.png differ diff --git a/_static/large_demo_thumbnails/thumbnail_large_teleportation.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_teleportation.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_teleportation.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_teleportation.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_testing_symmetry.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_testing_symmetry.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_testing_symmetry.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_testing_symmetry.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_two_new_gradients.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_two_new_gradients.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_two_new_gradients.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_two_new_gradients.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_univariate_qvr.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_univariate_qvr.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_univariate_qvr.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_univariate_qvr.png diff --git a/_static/large_demo_thumbnails/thumbnail_large_zx_calculus.png b/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_zx_calculus.png similarity index 100% rename from _static/large_demo_thumbnails/thumbnail_large_zx_calculus.png rename to _static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_zx_calculus.png diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_AmplitudeAmplification_2024-04-29.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_AmplitudeAmplification_2024-04-29.png new file mode 100644 index 0000000000..82afaa5d8d Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_AmplitudeAmplification_2024-04-29.png differ diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_LearningDynamicsIncoherently.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_LearningDynamicsIncoherently.png new file mode 100644 index 0000000000..e7b94701f4 Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_LearningDynamicsIncoherently.png differ diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_QuantumCircuitBornMachines_2024-05-13.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_QuantumCircuitBornMachines_2024-05-13.png new file mode 100644 index 0000000000..2f5841045b Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_QuantumCircuitBornMachines_2024-05-13.png differ diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_error-prop_2024-05-01.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_error-prop_2024-05-01.png new file mode 100644 index 0000000000..b8ea6cafcd Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_error-prop_2024-05-01.png differ diff --git a/_static/demonstration_assets/how_to_optimize_qjit_optax/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png similarity index 100% rename from _static/demonstration_assets/how_to_optimize_qjit_optax/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png rename to _static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png diff --git a/_static/demonstration_assets/how_to_vqe_qjit/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png similarity index 100% rename from _static/demonstration_assets/how_to_vqe_qjit/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png rename to _static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png diff --git a/_static/demonstration_assets/magic_state_distillation/OGthumbnail_large_magic-state-distillation_2024-04-23.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_magic-state-distillation_2024-04-23.png similarity index 100% rename from _static/demonstration_assets/magic_state_distillation/OGthumbnail_large_magic-state-distillation_2024-04-23.png rename to _static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_magic-state-distillation_2024-04-23.png diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_mapping_2024-05-01.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_mapping_2024-05-01.png new file mode 100644 index 0000000000..ee2249e002 Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_mapping_2024-05-01.png differ diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_shadow_hamiltonian_simulation.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_shadow_hamiltonian_simulation.png new file mode 100644 index 0000000000..65a783ab65 Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_shadow_hamiltonian_simulation.png differ diff --git a/_static/thumbs/code.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/code.png similarity index 100% rename from _static/thumbs/code.png rename to _static/demo_thumbnails/opengraph_demo_thumbnails/code.png diff --git a/_static/demo_thumbnails/opengraph_demo_thumbnails/gbs_expt2.png b/_static/demo_thumbnails/opengraph_demo_thumbnails/gbs_expt2.png new file mode 100644 index 0000000000..13db34f111 Binary files /dev/null and b/_static/demo_thumbnails/opengraph_demo_thumbnails/gbs_expt2.png differ diff --git a/_static/demo_thumbnails/regular_demo_thumbnails/gbs_thumbnail.png b/_static/demo_thumbnails/regular_demo_thumbnails/gbs_thumbnail.png new file mode 100644 index 0000000000..b8ba7633e5 Binary files /dev/null and b/_static/demo_thumbnails/regular_demo_thumbnails/gbs_thumbnail.png differ diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_FALQON.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_FALQON.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_FALQON.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_FALQON.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_Qubit_tapering.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Qubit_tapering.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_Qubit_tapering.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Qubit_tapering.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_classical_shadows.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classical_shadows.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_classical_shadows.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classical_shadows.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_gaussian_transformation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_gaussian_transformation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_gaussian_transformation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_gaussian_transformation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalization_QML.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalization_QML.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalization_QML.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalization_QML.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_jax_with_pl.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_jax_with_pl.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_jax_with_pl.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_jax_with_pl.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png diff --git a/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_dynamics_incoherently.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_dynamics_incoherently.png new file mode 100644 index 0000000000..ddfbec38d6 Binary files /dev/null and b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_dynamics_incoherently.png differ diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_machine_learning_quantum_manybody_problems.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_machine_learning_quantum_manybody_problems.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_machine_learning_quantum_manybody_problems.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_machine_learning_quantum_manybody_problems.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_magic-state-distillation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_magic-state-distillation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_magic-state-distillation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_magic-state-distillation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_mcm_introduction.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_mcm_introduction.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_mcm_introduction.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_mcm_introduction.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement-based_QC.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement-based_QC.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement-based_QC.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement-based_QC.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement_optimization.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement_optimization.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement_optimization.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement_optimization.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_noisy_circuits.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_noisy_circuits.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_noisy_circuits.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_noisy_circuits.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_SPSA.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_SPSA.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_SPSA.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_SPSA.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_photonic_QC.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_photonic_QC.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_photonic_QC.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_photonic_QC.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_GANs.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_GANs.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_GANs.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_GANs.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_volume.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_volume.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_volume.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_volume.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png diff --git a/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_shadow_hamiltonian_simulation.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_shadow_hamiltonian_simulation.png new file mode 100644 index 0000000000..ad74414ca2 Binary files /dev/null and b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_shadow_hamiltonian_simulation.png differ diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_unitary_designs.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_unitary_designs.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_unitary_designs.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_unitary_designs.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variational_classifier.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variational_classifier.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_variational_classifier.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variational_classifier.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png diff --git a/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png b/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png similarity index 100% rename from _static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png rename to _static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png diff --git a/_static/demonstration_assets/QUBO/items_QUBO.png b/_static/demonstration_assets/QUBO/items_QUBO.png index 57bf7afe2e..6a0f655c7e 100644 Binary files a/_static/demonstration_assets/QUBO/items_QUBO.png and b/_static/demonstration_assets/QUBO/items_QUBO.png differ diff --git a/_static/demonstration_assets/adaptive_circuits/adapt_thumbnail.png b/_static/demonstration_assets/adaptive_circuits/adapt_thumbnail.png index d3180dd0c2..6b4ab5cdee 100644 Binary files a/_static/demonstration_assets/adaptive_circuits/adapt_thumbnail.png and b/_static/demonstration_assets/adaptive_circuits/adapt_thumbnail.png differ diff --git a/_static/demonstration_assets/adaptive_circuits/adapted_circuit.png b/_static/demonstration_assets/adaptive_circuits/adapted_circuit.png index 78b88493eb..9896305b60 100644 Binary files a/_static/demonstration_assets/adaptive_circuits/adapted_circuit.png and b/_static/demonstration_assets/adaptive_circuits/adapted_circuit.png differ diff --git a/_static/demonstration_assets/adaptive_circuits/h_sparse.png b/_static/demonstration_assets/adaptive_circuits/h_sparse.png index 7841addf36..05e3dc0f0b 100644 Binary files a/_static/demonstration_assets/adaptive_circuits/h_sparse.png and b/_static/demonstration_assets/adaptive_circuits/h_sparse.png differ diff --git a/_static/demonstration_assets/adaptive_circuits/main.png b/_static/demonstration_assets/adaptive_circuits/main.png index 273b360903..ed4a68b822 100644 Binary files a/_static/demonstration_assets/adaptive_circuits/main.png and b/_static/demonstration_assets/adaptive_circuits/main.png differ diff --git a/_static/demonstration_assets/adaptive_circuits/thumbnail_adaptive_circuits.png b/_static/demonstration_assets/adaptive_circuits/thumbnail_adaptive_circuits.png index dffc52f6a8..a09aa74044 100644 Binary files a/_static/demonstration_assets/adaptive_circuits/thumbnail_adaptive_circuits.png and b/_static/demonstration_assets/adaptive_circuits/thumbnail_adaptive_circuits.png differ diff --git a/_static/demonstration_assets/ahs_aquila/aquila_demo_image.png b/_static/demonstration_assets/ahs_aquila/aquila_demo_image.png index 5428fae8c3..b7f31e7ed4 100644 Binary files a/_static/demonstration_assets/ahs_aquila/aquila_demo_image.png and b/_static/demonstration_assets/ahs_aquila/aquila_demo_image.png differ diff --git a/_static/demonstration_assets/ahs_aquila/gaussian_fn.png b/_static/demonstration_assets/ahs_aquila/gaussian_fn.png index 22ef891850..5a40110ef6 100644 Binary files a/_static/demonstration_assets/ahs_aquila/gaussian_fn.png and b/_static/demonstration_assets/ahs_aquila/gaussian_fn.png differ diff --git a/_static/demonstration_assets/ahs_aquila/gaussian_fn_vs_upload.png b/_static/demonstration_assets/ahs_aquila/gaussian_fn_vs_upload.png index ab90767bd2..185f2eed02 100644 Binary files a/_static/demonstration_assets/ahs_aquila/gaussian_fn_vs_upload.png and b/_static/demonstration_assets/ahs_aquila/gaussian_fn_vs_upload.png differ diff --git a/_static/demonstration_assets/ahs_aquila/rydberg_blockade.png b/_static/demonstration_assets/ahs_aquila/rydberg_blockade.png index b4804572a7..8b3be59ae4 100644 Binary files a/_static/demonstration_assets/ahs_aquila/rydberg_blockade.png and b/_static/demonstration_assets/ahs_aquila/rydberg_blockade.png differ diff --git a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates.png b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates.png index 851ae42c86..5a18ae8dba 100644 Binary files a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates.png and b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates.png differ diff --git a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates_discretized.png b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates_discretized.png index 3ae459a1c2..e11500cef7 100644 Binary files a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates_discretized.png and b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates_discretized.png differ diff --git a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_diagram.png b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_diagram.png index 9f4270b612..1b51dab001 100644 Binary files a/_static/demonstration_assets/ahs_aquila/rydberg_blockade_diagram.png and b/_static/demonstration_assets/ahs_aquila/rydberg_blockade_diagram.png differ diff --git a/_static/demonstration_assets/ahs_aquila/thumbnail_tutorial_pulse_on_hardware.png b/_static/demonstration_assets/ahs_aquila/thumbnail_tutorial_pulse_on_hardware.png index f7e5246cad..188ad3ae05 100644 Binary files a/_static/demonstration_assets/ahs_aquila/thumbnail_tutorial_pulse_on_hardware.png and b/_static/demonstration_assets/ahs_aquila/thumbnail_tutorial_pulse_on_hardware.png differ diff --git a/_static/demonstration_assets/barren_gadgets/gadget-terms-tutorial.png b/_static/demonstration_assets/barren_gadgets/gadget-terms-tutorial.png index 90ecd1342e..c7d3b54eeb 100644 Binary files a/_static/demonstration_assets/barren_gadgets/gadget-terms-tutorial.png and b/_static/demonstration_assets/barren_gadgets/gadget-terms-tutorial.png differ diff --git a/_static/demonstration_assets/barren_gadgets/thumbnail_tutorial_barren_gadgets.png b/_static/demonstration_assets/barren_gadgets/thumbnail_tutorial_barren_gadgets.png index a08b9d4bb3..573e0a603d 100644 Binary files a/_static/demonstration_assets/barren_gadgets/thumbnail_tutorial_barren_gadgets.png and b/_static/demonstration_assets/barren_gadgets/thumbnail_tutorial_barren_gadgets.png differ diff --git a/_static/demonstration_assets/barren_plateaus/surface.png b/_static/demonstration_assets/barren_plateaus/surface.png index 445ca28e22..6a5c6912c8 100644 Binary files a/_static/demonstration_assets/barren_plateaus/surface.png and b/_static/demonstration_assets/barren_plateaus/surface.png differ diff --git a/_static/demonstration_assets/circuit_compilation/circuit_transforms.jpg b/_static/demonstration_assets/circuit_compilation/circuit_transforms.jpg index 1786ad1870..ce9984272b 100644 Binary files a/_static/demonstration_assets/circuit_compilation/circuit_transforms.jpg and b/_static/demonstration_assets/circuit_compilation/circuit_transforms.jpg differ diff --git a/_static/demonstration_assets/circuit_compilation/thumbnail_tutorial_circuit_compilation.png b/_static/demonstration_assets/circuit_compilation/thumbnail_tutorial_circuit_compilation.png index 3a6e0743f8..19ced181f6 100644 Binary files a/_static/demonstration_assets/circuit_compilation/thumbnail_tutorial_circuit_compilation.png and b/_static/demonstration_assets/circuit_compilation/thumbnail_tutorial_circuit_compilation.png differ diff --git a/_static/demonstration_assets/classical_kernels/salesman.PNG b/_static/demonstration_assets/classical_kernels/salesman.PNG index f35abfe848..1e0a106c65 100644 Binary files a/_static/demonstration_assets/classical_kernels/salesman.PNG and b/_static/demonstration_assets/classical_kernels/salesman.PNG differ diff --git a/_static/demonstration_assets/classical_shadows/atom_shadow.png b/_static/demonstration_assets/classical_shadows/atom_shadow.png index 967ee21f79..dd7d176b9c 100644 Binary files a/_static/demonstration_assets/classical_shadows/atom_shadow.png and b/_static/demonstration_assets/classical_shadows/atom_shadow.png differ diff --git a/_static/demonstration_assets/classical_shadows/classical_shadow_overview.png b/_static/demonstration_assets/classical_shadows/classical_shadow_overview.png index 372cc4cc2b..de141ad74d 100644 Binary files a/_static/demonstration_assets/classical_shadows/classical_shadow_overview.png and b/_static/demonstration_assets/classical_shadows/classical_shadow_overview.png differ diff --git a/_static/demonstration_assets/classically_boosted_vqe/CB_VQE.png b/_static/demonstration_assets/classically_boosted_vqe/CB_VQE.png index d64755687a..875c7f74bc 100644 Binary files a/_static/demonstration_assets/classically_boosted_vqe/CB_VQE.png and b/_static/demonstration_assets/classically_boosted_vqe/CB_VQE.png differ diff --git a/_static/demonstration_assets/classically_boosted_vqe/boosted_hadamard_test.png b/_static/demonstration_assets/classically_boosted_vqe/boosted_hadamard_test.png index 82063ea6a5..534ff78560 100644 Binary files a/_static/demonstration_assets/classically_boosted_vqe/boosted_hadamard_test.png and b/_static/demonstration_assets/classically_boosted_vqe/boosted_hadamard_test.png differ diff --git a/_static/demonstration_assets/classically_boosted_vqe/energy_deviation.png b/_static/demonstration_assets/classically_boosted_vqe/energy_deviation.png index ee3ea7703b..afa265b9d6 100644 Binary files a/_static/demonstration_assets/classically_boosted_vqe/energy_deviation.png and b/_static/demonstration_assets/classically_boosted_vqe/energy_deviation.png differ diff --git a/_static/demonstration_assets/clifford_simulation/clifford-octahedron.jpg b/_static/demonstration_assets/clifford_simulation/clifford-octahedron.jpg index 3d6e0ef19f..7e322ba024 100644 Binary files a/_static/demonstration_assets/clifford_simulation/clifford-octahedron.jpg and b/_static/demonstration_assets/clifford_simulation/clifford-octahedron.jpg differ diff --git a/_static/demonstration_assets/clifford_simulation/clifford_tableaus.jpeg b/_static/demonstration_assets/clifford_simulation/clifford_tableaus.jpeg index 88751552e2..6d26dcf5d2 100644 Binary files a/_static/demonstration_assets/clifford_simulation/clifford_tableaus.jpeg and b/_static/demonstration_assets/clifford_simulation/clifford_tableaus.jpeg differ diff --git a/_static/demonstration_assets/clifford_simulation/pauli-normalizer.jpeg b/_static/demonstration_assets/clifford_simulation/pauli-normalizer.jpeg index 7125c59904..d5ef40f218 100644 Binary files a/_static/demonstration_assets/clifford_simulation/pauli-normalizer.jpeg and b/_static/demonstration_assets/clifford_simulation/pauli-normalizer.jpeg differ diff --git a/_static/demonstration_assets/clifford_simulation/stabilizer-tableau.jpeg b/_static/demonstration_assets/clifford_simulation/stabilizer-tableau.jpeg index 24465512c8..3b2e7d2c0a 100644 Binary files a/_static/demonstration_assets/clifford_simulation/stabilizer-tableau.jpeg and b/_static/demonstration_assets/clifford_simulation/stabilizer-tableau.jpeg differ diff --git a/_static/demonstration_assets/clifford_simulation/thumbnail_clifford_circuit_simulations.png b/_static/demonstration_assets/clifford_simulation/thumbnail_clifford_circuit_simulations.png index 9103507943..13e7fd03b0 100644 Binary files a/_static/demonstration_assets/clifford_simulation/thumbnail_clifford_circuit_simulations.png and b/_static/demonstration_assets/clifford_simulation/thumbnail_clifford_circuit_simulations.png differ diff --git a/_static/demonstration_assets/contextuality/contextuality_thumbnail.png b/_static/demonstration_assets/contextuality/contextuality_thumbnail.png index fedbf2871b..52182e66ee 100644 Binary files a/_static/demonstration_assets/contextuality/contextuality_thumbnail.png and b/_static/demonstration_assets/contextuality/contextuality_thumbnail.png differ diff --git a/_static/demonstration_assets/contextuality/model.png b/_static/demonstration_assets/contextuality/model.png index 77176e2674..159fb6cabe 100644 Binary files a/_static/demonstration_assets/contextuality/model.png and b/_static/demonstration_assets/contextuality/model.png differ diff --git a/_static/demonstration_assets/contextuality/rps.png b/_static/demonstration_assets/contextuality/rps.png index fedbf2871b..52182e66ee 100644 Binary files a/_static/demonstration_assets/contextuality/rps.png and b/_static/demonstration_assets/contextuality/rps.png differ diff --git a/_static/demonstration_assets/contextuality/rpstable.png b/_static/demonstration_assets/contextuality/rpstable.png index 3c673eb8f2..bdcadbb50b 100644 Binary files a/_static/demonstration_assets/contextuality/rpstable.png and b/_static/demonstration_assets/contextuality/rpstable.png differ diff --git a/_static/demonstration_assets/contextuality/socialthumbnail_large_Contextuality.png b/_static/demonstration_assets/contextuality/socialthumbnail_large_Contextuality.png index d2c2473a4b..dff725019a 100644 Binary files a/_static/demonstration_assets/contextuality/socialthumbnail_large_Contextuality.png and b/_static/demonstration_assets/contextuality/socialthumbnail_large_Contextuality.png differ diff --git a/_static/demonstration_assets/contextuality/thumbnail_tutorial_Contextuality.png b/_static/demonstration_assets/contextuality/thumbnail_tutorial_Contextuality.png index d87a41044b..c657e1e73f 100644 Binary files a/_static/demonstration_assets/contextuality/thumbnail_tutorial_Contextuality.png and b/_static/demonstration_assets/contextuality/thumbnail_tutorial_Contextuality.png differ diff --git a/_static/demonstration_assets/data_reuploading/universal_bloch.png b/_static/demonstration_assets/data_reuploading/universal_bloch.png index 38ce772780..e9945b7134 100644 Binary files a/_static/demonstration_assets/data_reuploading/universal_bloch.png and b/_static/demonstration_assets/data_reuploading/universal_bloch.png differ diff --git a/_static/demonstration_assets/data_reuploading/universal_circles.png b/_static/demonstration_assets/data_reuploading/universal_circles.png index e9196b6066..5feec5dc71 100644 Binary files a/_static/demonstration_assets/data_reuploading/universal_circles.png and b/_static/demonstration_assets/data_reuploading/universal_circles.png differ diff --git a/_static/demonstration_assets/data_reuploading/universal_dnn.png b/_static/demonstration_assets/data_reuploading/universal_dnn.png index 7fdf945f11..d6ace9c00f 100644 Binary files a/_static/demonstration_assets/data_reuploading/universal_dnn.png and b/_static/demonstration_assets/data_reuploading/universal_dnn.png differ diff --git a/_static/demonstration_assets/data_reuploading/universal_dnn1.png b/_static/demonstration_assets/data_reuploading/universal_dnn1.png index 606e5f637c..39c38001aa 100644 Binary files a/_static/demonstration_assets/data_reuploading/universal_dnn1.png and b/_static/demonstration_assets/data_reuploading/universal_dnn1.png differ diff --git a/_static/demonstration_assets/data_reuploading/universal_layers.png b/_static/demonstration_assets/data_reuploading/universal_layers.png index d41cec793d..b410ff09e7 100644 Binary files a/_static/demonstration_assets/data_reuploading/universal_layers.png and b/_static/demonstration_assets/data_reuploading/universal_layers.png differ diff --git a/_static/demonstration_assets/diffable-mitigation/Mitigate_real_vs_sim3.png b/_static/demonstration_assets/diffable-mitigation/Mitigate_real_vs_sim3.png index 2def64186c..137fa4ccdb 100644 Binary files a/_static/demonstration_assets/diffable-mitigation/Mitigate_real_vs_sim3.png and b/_static/demonstration_assets/diffable-mitigation/Mitigate_real_vs_sim3.png differ diff --git a/_static/demonstration_assets/diffable-mitigation/diffable_mitigation_thumb.png b/_static/demonstration_assets/diffable-mitigation/diffable_mitigation_thumb.png index adf96c1a64..1de8401963 100644 Binary files a/_static/demonstration_assets/diffable-mitigation/diffable_mitigation_thumb.png and b/_static/demonstration_assets/diffable-mitigation/diffable_mitigation_thumb.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/diagram_circuits.png b/_static/demonstration_assets/ensemble_multi_qpu/diagram_circuits.png index ccf87f4388..4a1eb73d3f 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/diagram_circuits.png and b/_static/demonstration_assets/ensemble_multi_qpu/diagram_circuits.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_diagram.png b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_diagram.png index c7c93b7944..e93fc173a8 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_diagram.png and b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_diagram.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_001.png b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_001.png index bdb4aae9f0..6088c327be 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_001.png and b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_001.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_002.png b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_002.png index c27d64c966..1f797a6643 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_002.png and b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_002.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_003.png b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_003.png index dc60873ef7..cbce790165 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_003.png and b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_003.png differ diff --git a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_004.png b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_004.png index b6fdcfce22..a8efea6f19 100644 Binary files a/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_004.png and b/_static/demonstration_assets/ensemble_multi_qpu/ensemble_multi_qpu_004.png differ diff --git a/_static/demonstration_assets/eqnn_force_field/overview.png b/_static/demonstration_assets/eqnn_force_field/overview.png index 958f6ff33d..e753dbffa0 100644 Binary files a/_static/demonstration_assets/eqnn_force_field/overview.png and b/_static/demonstration_assets/eqnn_force_field/overview.png differ diff --git a/_static/demonstration_assets/eqnn_force_field/siVQLM_monomer.png b/_static/demonstration_assets/eqnn_force_field/siVQLM_monomer.png new file mode 100644 index 0000000000..477435e888 Binary files /dev/null and b/_static/demonstration_assets/eqnn_force_field/siVQLM_monomer.png differ diff --git a/_static/demonstration_assets/eqnn_force_field/socialthumbnail_large_EQNNforceField_2024-03-07.png b/_static/demonstration_assets/eqnn_force_field/socialthumbnail_large_EQNNforceField_2024-03-07.png index bb88054a15..7b471da572 100644 Binary files a/_static/demonstration_assets/eqnn_force_field/socialthumbnail_large_EQNNforceField_2024-03-07.png and b/_static/demonstration_assets/eqnn_force_field/socialthumbnail_large_EQNNforceField_2024-03-07.png differ diff --git a/_static/demonstration_assets/eqnn_force_field/thumbnail_EQNNforcefield_2024-03-07.png b/_static/demonstration_assets/eqnn_force_field/thumbnail_EQNNforcefield_2024-03-07.png index 090e9e25de..c55bbd41fc 100644 Binary files a/_static/demonstration_assets/eqnn_force_field/thumbnail_EQNNforcefield_2024-03-07.png and b/_static/demonstration_assets/eqnn_force_field/thumbnail_EQNNforcefield_2024-03-07.png differ diff --git a/_static/demonstration_assets/equivariant_graph_embedding/adjacency-matrices.png b/_static/demonstration_assets/equivariant_graph_embedding/adjacency-matrices.png index 857210d450..7566f67938 100644 Binary files a/_static/demonstration_assets/equivariant_graph_embedding/adjacency-matrices.png and b/_static/demonstration_assets/equivariant_graph_embedding/adjacency-matrices.png differ diff --git a/_static/demonstration_assets/equivariant_graph_embedding/circuit.png b/_static/demonstration_assets/equivariant_graph_embedding/circuit.png index 859c3d29ea..5c7d578558 100644 Binary files a/_static/demonstration_assets/equivariant_graph_embedding/circuit.png and b/_static/demonstration_assets/equivariant_graph_embedding/circuit.png differ diff --git a/_static/demonstration_assets/equivariant_graph_embedding/thumbnail_tutorial_equivariant_graph_embedding.png b/_static/demonstration_assets/equivariant_graph_embedding/thumbnail_tutorial_equivariant_graph_embedding.png index 52ab2c9090..ef58637347 100644 Binary files a/_static/demonstration_assets/equivariant_graph_embedding/thumbnail_tutorial_equivariant_graph_embedding.png and b/_static/demonstration_assets/equivariant_graph_embedding/thumbnail_tutorial_equivariant_graph_embedding.png differ diff --git a/_static/demonstration_assets/error_mitigation/laptop.png b/_static/demonstration_assets/error_mitigation/laptop.png index a81108a641..52d9b82f29 100644 Binary files a/_static/demonstration_assets/error_mitigation/laptop.png and b/_static/demonstration_assets/error_mitigation/laptop.png differ diff --git a/_static/demonstration_assets/error_prop/thumbnail_error-prop_2024-05-01.png b/_static/demonstration_assets/error_prop/thumbnail_error-prop_2024-05-01.png index 53d6d997c7..fdc1a0e7ef 100644 Binary files a/_static/demonstration_assets/error_prop/thumbnail_error-prop_2024-05-01.png and b/_static/demonstration_assets/error_prop/thumbnail_error-prop_2024-05-01.png differ diff --git a/_static/demonstration_assets/expressivity_fourier_series/expressivity_thumbnail.png b/_static/demonstration_assets/expressivity_fourier_series/expressivity_thumbnail.png index d27c000911..b5f32744ae 100644 Binary files a/_static/demonstration_assets/expressivity_fourier_series/expressivity_thumbnail.png and b/_static/demonstration_assets/expressivity_fourier_series/expressivity_thumbnail.png differ diff --git a/_static/demonstration_assets/expressivity_fourier_series/parallel_model.png b/_static/demonstration_assets/expressivity_fourier_series/parallel_model.png index 4b4e38eb63..34c8efeebd 100644 Binary files a/_static/demonstration_assets/expressivity_fourier_series/parallel_model.png and b/_static/demonstration_assets/expressivity_fourier_series/parallel_model.png differ diff --git a/_static/demonstration_assets/expressivity_fourier_series/scheme.png b/_static/demonstration_assets/expressivity_fourier_series/scheme.png index ce5dab17fc..195fb62592 100644 Binary files a/_static/demonstration_assets/expressivity_fourier_series/scheme.png and b/_static/demonstration_assets/expressivity_fourier_series/scheme.png differ diff --git a/_static/demonstration_assets/expressivity_fourier_series/scheme_thumb.png b/_static/demonstration_assets/expressivity_fourier_series/scheme_thumb.png index 92da371fcd..d6062d7ac5 100644 Binary files a/_static/demonstration_assets/expressivity_fourier_series/scheme_thumb.png and b/_static/demonstration_assets/expressivity_fourier_series/scheme_thumb.png differ diff --git a/_static/demonstration_assets/expressivity_fourier_series/single_qubit_model.png b/_static/demonstration_assets/expressivity_fourier_series/single_qubit_model.png index 725784db99..5a609e3ab3 100644 Binary files a/_static/demonstration_assets/expressivity_fourier_series/single_qubit_model.png and b/_static/demonstration_assets/expressivity_fourier_series/single_qubit_model.png differ diff --git a/_static/demonstration_assets/gbs/gbs_expt1.png b/_static/demonstration_assets/gbs/gbs_expt1.png index 30ba9ba531..b20f89abf8 100644 Binary files a/_static/demonstration_assets/gbs/gbs_expt1.png and b/_static/demonstration_assets/gbs/gbs_expt1.png differ diff --git a/_static/demonstration_assets/gbs/gbs_expt2.png b/_static/demonstration_assets/gbs/gbs_expt2.png index 13db34f111..0b5ee89356 100644 Binary files a/_static/demonstration_assets/gbs/gbs_expt2.png and b/_static/demonstration_assets/gbs/gbs_expt2.png differ diff --git a/_static/demonstration_assets/gbs/gbs_thumbnail.png b/_static/demonstration_assets/gbs/gbs_thumbnail.png deleted file mode 100644 index 42b1e1b916..0000000000 Binary files a/_static/demonstration_assets/gbs/gbs_thumbnail.png and /dev/null differ diff --git a/_static/demonstration_assets/general_parshift/thumbnail_genpar.png b/_static/demonstration_assets/general_parshift/thumbnail_genpar.png index de21bbc2a2..a3aae03b2c 100644 Binary files a/_static/demonstration_assets/general_parshift/thumbnail_genpar.png and b/_static/demonstration_assets/general_parshift/thumbnail_genpar.png differ diff --git a/_static/demonstration_assets/geometric_qml/NandC_sym.png b/_static/demonstration_assets/geometric_qml/NandC_sym.png index f53338d106..21b99a9880 100644 Binary files a/_static/demonstration_assets/geometric_qml/NandC_sym.png and b/_static/demonstration_assets/geometric_qml/NandC_sym.png differ diff --git a/_static/demonstration_assets/geometric_qml/equivariant-example.jpg b/_static/demonstration_assets/geometric_qml/equivariant-example.jpg index 2a4a8be3b9..db31363134 100644 Binary files a/_static/demonstration_assets/geometric_qml/equivariant-example.jpg and b/_static/demonstration_assets/geometric_qml/equivariant-example.jpg differ diff --git a/_static/demonstration_assets/geometric_qml/equivariant_thumbnail.jpeg b/_static/demonstration_assets/geometric_qml/equivariant_thumbnail.jpeg index ec5de4bba7..016e305591 100644 Binary files a/_static/demonstration_assets/geometric_qml/equivariant_thumbnail.jpeg and b/_static/demonstration_assets/geometric_qml/equivariant_thumbnail.jpeg differ diff --git a/_static/demonstration_assets/geometric_qml/grid.jpg b/_static/demonstration_assets/geometric_qml/grid.jpg index 968fba102f..84bc9ddb07 100644 Binary files a/_static/demonstration_assets/geometric_qml/grid.jpg and b/_static/demonstration_assets/geometric_qml/grid.jpg differ diff --git a/_static/demonstration_assets/geometric_qml/sphere_equivariant.png b/_static/demonstration_assets/geometric_qml/sphere_equivariant.png index 6ae8eb2afb..ad8482993f 100644 Binary files a/_static/demonstration_assets/geometric_qml/sphere_equivariant.png and b/_static/demonstration_assets/geometric_qml/sphere_equivariant.png differ diff --git a/_static/demonstration_assets/geometric_qml/twirl.jpeg b/_static/demonstration_assets/geometric_qml/twirl.jpeg index 67c2940dbe..6885b42dde 100644 Binary files a/_static/demonstration_assets/geometric_qml/twirl.jpeg and b/_static/demonstration_assets/geometric_qml/twirl.jpeg differ diff --git a/_static/demonstration_assets/givens_rotations/circuit.png b/_static/demonstration_assets/givens_rotations/circuit.png index 5936798aa6..968ff7e487 100644 Binary files a/_static/demonstration_assets/givens_rotations/circuit.png and b/_static/demonstration_assets/givens_rotations/circuit.png differ diff --git a/_static/demonstration_assets/givens_rotations/orbitals_states.png b/_static/demonstration_assets/givens_rotations/orbitals_states.png index 3b8971d52f..54cb73687e 100644 Binary files a/_static/demonstration_assets/givens_rotations/orbitals_states.png and b/_static/demonstration_assets/givens_rotations/orbitals_states.png differ diff --git a/_static/demonstration_assets/haar_measure/holmes-costlandscapes.png b/_static/demonstration_assets/haar_measure/holmes-costlandscapes.png index 5bc8684ccf..4e728b68b8 100644 Binary files a/_static/demonstration_assets/haar_measure/holmes-costlandscapes.png and b/_static/demonstration_assets/haar_measure/holmes-costlandscapes.png differ diff --git a/_static/demonstration_assets/haar_measure/spherical_int_dtheta.png b/_static/demonstration_assets/haar_measure/spherical_int_dtheta.png index e43cbcfc54..1b5f39ca89 100644 Binary files a/_static/demonstration_assets/haar_measure/spherical_int_dtheta.png and b/_static/demonstration_assets/haar_measure/spherical_int_dtheta.png differ diff --git a/_static/demonstration_assets/haar_measure/unitaries.png b/_static/demonstration_assets/haar_measure/unitaries.png index 3f46a317a6..cb9a58383d 100644 Binary files a/_static/demonstration_assets/haar_measure/unitaries.png and b/_static/demonstration_assets/haar_measure/unitaries.png differ diff --git a/_static/demonstration_assets/how_to_collect_mcm_stats/socialthumbnail_how_to_collect_mcm_stats.png b/_static/demonstration_assets/how_to_collect_mcm_stats/socialthumbnail_how_to_collect_mcm_stats.png index 4ef49de592..3abce1e1bb 100644 Binary files a/_static/demonstration_assets/how_to_collect_mcm_stats/socialthumbnail_how_to_collect_mcm_stats.png and b/_static/demonstration_assets/how_to_collect_mcm_stats/socialthumbnail_how_to_collect_mcm_stats.png differ diff --git a/_static/demonstration_assets/how_to_create_dynamic_mcm_circuits/socialthumbnail_how_to_create_dynamic_mcm_circuits.png b/_static/demonstration_assets/how_to_create_dynamic_mcm_circuits/socialthumbnail_how_to_create_dynamic_mcm_circuits.png index a6a9829ec8..2cefec6886 100644 Binary files a/_static/demonstration_assets/how_to_create_dynamic_mcm_circuits/socialthumbnail_how_to_create_dynamic_mcm_circuits.png and b/_static/demonstration_assets/how_to_create_dynamic_mcm_circuits/socialthumbnail_how_to_create_dynamic_mcm_circuits.png differ diff --git a/_static/demonstration_assets/ibm_pennylane/thumbnail_tutorial_ibm_pennylane.png b/_static/demonstration_assets/ibm_pennylane/thumbnail_tutorial_ibm_pennylane.png index 8e26333b52..669a5dea8f 100644 Binary files a/_static/demonstration_assets/ibm_pennylane/thumbnail_tutorial_ibm_pennylane.png and b/_static/demonstration_assets/ibm_pennylane/thumbnail_tutorial_ibm_pennylane.png differ diff --git a/_static/demonstration_assets/intro_amplitude_amplification/ampamp1.jpeg b/_static/demonstration_assets/intro_amplitude_amplification/ampamp1.jpeg index 2417bbd707..7a11b5f820 100644 Binary files a/_static/demonstration_assets/intro_amplitude_amplification/ampamp1.jpeg and b/_static/demonstration_assets/intro_amplitude_amplification/ampamp1.jpeg differ diff --git a/_static/demonstration_assets/intro_amplitude_amplification/ampamp2.jpeg b/_static/demonstration_assets/intro_amplitude_amplification/ampamp2.jpeg index 16ba9bd91f..172b042412 100644 Binary files a/_static/demonstration_assets/intro_amplitude_amplification/ampamp2.jpeg and b/_static/demonstration_assets/intro_amplitude_amplification/ampamp2.jpeg differ diff --git a/_static/demonstration_assets/intro_amplitude_amplification/ampamp3.jpeg b/_static/demonstration_assets/intro_amplitude_amplification/ampamp3.jpeg index 9d4f5c85d7..e78daeebdd 100644 Binary files a/_static/demonstration_assets/intro_amplitude_amplification/ampamp3.jpeg and b/_static/demonstration_assets/intro_amplitude_amplification/ampamp3.jpeg differ diff --git a/_static/demonstration_assets/intro_amplitude_amplification/sum_zero.jpeg b/_static/demonstration_assets/intro_amplitude_amplification/sum_zero.jpeg index c57c6e18ab..de5ae25e84 100644 Binary files a/_static/demonstration_assets/intro_amplitude_amplification/sum_zero.jpeg and b/_static/demonstration_assets/intro_amplitude_amplification/sum_zero.jpeg differ diff --git a/_static/demonstration_assets/intro_amplitude_amplification/thumbnail_AmplitudeAmplification_2024-04-29.png b/_static/demonstration_assets/intro_amplitude_amplification/thumbnail_AmplitudeAmplification_2024-04-29.png index 435b10593b..b496bae968 100644 Binary files a/_static/demonstration_assets/intro_amplitude_amplification/thumbnail_AmplitudeAmplification_2024-04-29.png and b/_static/demonstration_assets/intro_amplitude_amplification/thumbnail_AmplitudeAmplification_2024-04-29.png differ diff --git a/_static/demonstration_assets/jax_logo/jaxjit.png b/_static/demonstration_assets/jax_logo/jaxjit.png index 37aafc3218..883854c7e4 100644 Binary files a/_static/demonstration_assets/jax_logo/jaxjit.png and b/_static/demonstration_assets/jax_logo/jaxjit.png differ diff --git a/_static/demonstration_assets/kernel_based_training/quantum_model.png b/_static/demonstration_assets/kernel_based_training/quantum_model.png index 58a8785ca5..f66e91efb1 100644 Binary files a/_static/demonstration_assets/kernel_based_training/quantum_model.png and b/_static/demonstration_assets/kernel_based_training/quantum_model.png differ diff --git a/_static/demonstration_assets/kernels_module/QEK_thumbnail.png b/_static/demonstration_assets/kernels_module/QEK_thumbnail.png index d9cfc69adb..5e1b4e05db 100644 Binary files a/_static/demonstration_assets/kernels_module/QEK_thumbnail.png and b/_static/demonstration_assets/kernels_module/QEK_thumbnail.png differ diff --git a/_static/demonstration_assets/learning_few_data/cnn_pic.png b/_static/demonstration_assets/learning_few_data/cnn_pic.png index abe68c4a8d..fae197166c 100644 Binary files a/_static/demonstration_assets/learning_few_data/cnn_pic.png and b/_static/demonstration_assets/learning_few_data/cnn_pic.png differ diff --git a/_static/demonstration_assets/learning_few_data/few_data_thumbnail.png b/_static/demonstration_assets/learning_few_data/few_data_thumbnail.png index 391844fd37..20b1712050 100644 Binary files a/_static/demonstration_assets/learning_few_data/few_data_thumbnail.png and b/_static/demonstration_assets/learning_few_data/few_data_thumbnail.png differ diff --git a/_static/demonstration_assets/learning_few_data/overfitting.png b/_static/demonstration_assets/learning_few_data/overfitting.png index 9607d62ea6..c43bca66d9 100644 Binary files a/_static/demonstration_assets/learning_few_data/overfitting.png and b/_static/demonstration_assets/learning_few_data/overfitting.png differ diff --git a/_static/demonstration_assets/learning_few_data/qcnn-architecture.png b/_static/demonstration_assets/learning_few_data/qcnn-architecture.png index bb2f13036b..e608f140a2 100644 Binary files a/_static/demonstration_assets/learning_few_data/qcnn-architecture.png and b/_static/demonstration_assets/learning_few_data/qcnn-architecture.png differ diff --git a/_static/demonstration_assets/learning_few_data/true_vs_sample.png b/_static/demonstration_assets/learning_few_data/true_vs_sample.png index 976aa23d8d..d85f52e7b0 100644 Binary files a/_static/demonstration_assets/learning_few_data/true_vs_sample.png and b/_static/demonstration_assets/learning_few_data/true_vs_sample.png differ diff --git a/_static/demonstration_assets/learning_from_experiments/experiments.png b/_static/demonstration_assets/learning_from_experiments/experiments.png index 5046c98f22..b1cdf8e1bf 100644 Binary files a/_static/demonstration_assets/learning_from_experiments/experiments.png and b/_static/demonstration_assets/learning_from_experiments/experiments.png differ diff --git a/_static/demonstration_assets/learning_from_experiments/fig1b.png b/_static/demonstration_assets/learning_from_experiments/fig1b.png index 65ff136bdb..c887826b7c 100644 Binary files a/_static/demonstration_assets/learning_from_experiments/fig1b.png and b/_static/demonstration_assets/learning_from_experiments/fig1b.png differ diff --git a/_static/demonstration_assets/learning_from_experiments/fig2b.png b/_static/demonstration_assets/learning_from_experiments/fig2b.png index 22639bb6de..adad834960 100644 Binary files a/_static/demonstration_assets/learning_from_experiments/fig2b.png and b/_static/demonstration_assets/learning_from_experiments/fig2b.png differ diff --git a/_static/demonstration_assets/learning_from_experiments/fig3b.png b/_static/demonstration_assets/learning_from_experiments/fig3b.png index d3ddc6f0ba..ab51c1702c 100644 Binary files a/_static/demonstration_assets/learning_from_experiments/fig3b.png and b/_static/demonstration_assets/learning_from_experiments/fig3b.png differ diff --git a/_static/demonstration_assets/learning_from_experiments/learning_from_exp_thumbnail.png b/_static/demonstration_assets/learning_from_experiments/learning_from_exp_thumbnail.png index 58d6cebf93..b64240ee5c 100644 Binary files a/_static/demonstration_assets/learning_from_experiments/learning_from_exp_thumbnail.png and b/_static/demonstration_assets/learning_from_experiments/learning_from_exp_thumbnail.png differ diff --git a/_static/demonstration_assets/mapping/long_image.png b/_static/demonstration_assets/mapping/long_image.png index 10fcb942cc..b86e2a3b5d 100644 Binary files a/_static/demonstration_assets/mapping/long_image.png and b/_static/demonstration_assets/mapping/long_image.png differ diff --git a/_static/demonstration_assets/mapping/thumbnail_mapping_2024-05-01.png b/_static/demonstration_assets/mapping/thumbnail_mapping_2024-05-01.png index d3104edbcb..4d8beb2db6 100644 Binary files a/_static/demonstration_assets/mapping/thumbnail_mapping_2024-05-01.png and b/_static/demonstration_assets/mapping/thumbnail_mapping_2024-05-01.png differ diff --git a/_static/demonstration_assets/mapping/thumbnail_mapping_2024-06-20.png b/_static/demonstration_assets/mapping/thumbnail_mapping_2024-06-20.png index afb7c66880..3d93ea8d90 100644 Binary files a/_static/demonstration_assets/mapping/thumbnail_mapping_2024-06-20.png and b/_static/demonstration_assets/mapping/thumbnail_mapping_2024-06-20.png differ diff --git a/_static/demonstration_assets/mbqc/DALLE-mbqc.png b/_static/demonstration_assets/mbqc/DALLE-mbqc.png index 9a4488c8d0..e2c0a42c26 100644 Binary files a/_static/demonstration_assets/mbqc/DALLE-mbqc.png and b/_static/demonstration_assets/mbqc/DALLE-mbqc.png differ diff --git a/_static/demonstration_assets/mbqc/cnot.png b/_static/demonstration_assets/mbqc/cnot.png index 12914f167c..5baa03b6f5 100644 Binary files a/_static/demonstration_assets/mbqc/cnot.png and b/_static/demonstration_assets/mbqc/cnot.png differ diff --git a/_static/demonstration_assets/mbqc/mbqc_blueprint.png b/_static/demonstration_assets/mbqc/mbqc_blueprint.png index 2cb722f5bb..97df9ab288 100644 Binary files a/_static/demonstration_assets/mbqc/mbqc_blueprint.png and b/_static/demonstration_assets/mbqc/mbqc_blueprint.png differ diff --git a/_static/demonstration_assets/mbqc/mbqc_blueprint_full.png b/_static/demonstration_assets/mbqc/mbqc_blueprint_full.png index f601d7185d..c55c979848 100644 Binary files a/_static/demonstration_assets/mbqc/mbqc_blueprint_full.png and b/_static/demonstration_assets/mbqc/mbqc_blueprint_full.png differ diff --git a/_static/demonstration_assets/mbqc/mbqc_info_flow.png b/_static/demonstration_assets/mbqc/mbqc_info_flow.png index 04de0cf554..cced9a4466 100644 Binary files a/_static/demonstration_assets/mbqc/mbqc_info_flow.png and b/_static/demonstration_assets/mbqc/mbqc_info_flow.png differ diff --git a/_static/demonstration_assets/mbqc/measure_entangle.jpeg b/_static/demonstration_assets/mbqc/measure_entangle.jpeg index feeb50c921..8a4b92e068 100644 Binary files a/_static/demonstration_assets/mbqc/measure_entangle.jpeg and b/_static/demonstration_assets/mbqc/measure_entangle.jpeg differ diff --git a/_static/demonstration_assets/mbqc/one-bit-teleportation.png b/_static/demonstration_assets/mbqc/one-bit-teleportation.png index 19d756e739..6593f6f17d 100644 Binary files a/_static/demonstration_assets/mbqc/one-bit-teleportation.png and b/_static/demonstration_assets/mbqc/one-bit-teleportation.png differ diff --git a/_static/demonstration_assets/mbqc/primal_dual.png b/_static/demonstration_assets/mbqc/primal_dual.png index 68d12f0847..138dcc7f3d 100644 Binary files a/_static/demonstration_assets/mbqc/primal_dual.png and b/_static/demonstration_assets/mbqc/primal_dual.png differ diff --git a/_static/demonstration_assets/mbqc/single-qubit-rotation.png b/_static/demonstration_assets/mbqc/single-qubit-rotation.png index 064dc6d7ac..eb88dc8e36 100644 Binary files a/_static/demonstration_assets/mbqc/single-qubit-rotation.png and b/_static/demonstration_assets/mbqc/single-qubit-rotation.png differ diff --git a/_static/demonstration_assets/mbqc/surface_code_d3.png b/_static/demonstration_assets/mbqc/surface_code_d3.png index 91757fac83..9bc19782b4 100644 Binary files a/_static/demonstration_assets/mbqc/surface_code_d3.png and b/_static/demonstration_assets/mbqc/surface_code_d3.png differ diff --git a/_static/demonstration_assets/mbqc/thumbnail_mbqc.png b/_static/demonstration_assets/mbqc/thumbnail_mbqc.png index 0927f78d31..a0443f9fdb 100644 Binary files a/_static/demonstration_assets/mbqc/thumbnail_mbqc.png and b/_static/demonstration_assets/mbqc/thumbnail_mbqc.png differ diff --git a/_static/demonstration_assets/measurement_optimize/graph1.png b/_static/demonstration_assets/measurement_optimize/graph1.png index c2f6f2de0a..c137805989 100644 Binary files a/_static/demonstration_assets/measurement_optimize/graph1.png and b/_static/demonstration_assets/measurement_optimize/graph1.png differ diff --git a/_static/demonstration_assets/measurement_optimize/graph2.png b/_static/demonstration_assets/measurement_optimize/graph2.png index 6d05641699..6ba059a8d8 100644 Binary files a/_static/demonstration_assets/measurement_optimize/graph2.png and b/_static/demonstration_assets/measurement_optimize/graph2.png differ diff --git a/_static/demonstration_assets/measurement_optimize/graph3.png b/_static/demonstration_assets/measurement_optimize/graph3.png index a92c483cfc..66b6308603 100644 Binary files a/_static/demonstration_assets/measurement_optimize/graph3.png and b/_static/demonstration_assets/measurement_optimize/graph3.png differ diff --git a/_static/demonstration_assets/measurement_optimize/grouping.png b/_static/demonstration_assets/measurement_optimize/grouping.png index 316bda57cb..212552fe13 100644 Binary files a/_static/demonstration_assets/measurement_optimize/grouping.png and b/_static/demonstration_assets/measurement_optimize/grouping.png differ diff --git a/_static/demonstration_assets/measurement_optimize/meas_optimize_thumbnail.png b/_static/demonstration_assets/measurement_optimize/meas_optimize_thumbnail.png index 0faa55c0dc..225529b5fd 100644 Binary files a/_static/demonstration_assets/measurement_optimize/meas_optimize_thumbnail.png and b/_static/demonstration_assets/measurement_optimize/meas_optimize_thumbnail.png differ diff --git a/_static/demonstration_assets/measurement_optimize/n4.png b/_static/demonstration_assets/measurement_optimize/n4.png index 920867e2d1..feb8cacbdd 100644 Binary files a/_static/demonstration_assets/measurement_optimize/n4.png and b/_static/demonstration_assets/measurement_optimize/n4.png differ diff --git a/_static/demonstration_assets/mol_geo_opt/fig_circuit.png b/_static/demonstration_assets/mol_geo_opt/fig_circuit.png index c1d8694903..a6482a33f3 100644 Binary files a/_static/demonstration_assets/mol_geo_opt/fig_circuit.png and b/_static/demonstration_assets/mol_geo_opt/fig_circuit.png differ diff --git a/_static/demonstration_assets/mol_geo_opt/fig_pes.png b/_static/demonstration_assets/mol_geo_opt/fig_pes.png index c6f48154d3..802a67d13a 100644 Binary files a/_static/demonstration_assets/mol_geo_opt/fig_pes.png and b/_static/demonstration_assets/mol_geo_opt/fig_pes.png differ diff --git a/_static/demonstration_assets/mol_geo_opt/fig_thumbnail.png b/_static/demonstration_assets/mol_geo_opt/fig_thumbnail.png index a57f52091c..4cdc43078a 100644 Binary files a/_static/demonstration_assets/mol_geo_opt/fig_thumbnail.png and b/_static/demonstration_assets/mol_geo_opt/fig_thumbnail.png differ diff --git a/_static/demonstration_assets/neutral_atoms/atomic.png b/_static/demonstration_assets/neutral_atoms/atomic.png index 5739152ad6..c5030a4c85 100644 Binary files a/_static/demonstration_assets/neutral_atoms/atomic.png and b/_static/demonstration_assets/neutral_atoms/atomic.png differ diff --git a/_static/demonstration_assets/neutral_atoms/closed_loop.png b/_static/demonstration_assets/neutral_atoms/closed_loop.png index aac5514bc6..2dd85799bd 100644 Binary files a/_static/demonstration_assets/neutral_atoms/closed_loop.png and b/_static/demonstration_assets/neutral_atoms/closed_loop.png differ diff --git a/_static/demonstration_assets/neutral_atoms/cnot_and_cz.png b/_static/demonstration_assets/neutral_atoms/cnot_and_cz.png index db50f65404..d78c463d02 100644 Binary files a/_static/demonstration_assets/neutral_atoms/cnot_and_cz.png and b/_static/demonstration_assets/neutral_atoms/cnot_and_cz.png differ diff --git a/_static/demonstration_assets/neutral_atoms/control_z00.png b/_static/demonstration_assets/neutral_atoms/control_z00.png index 17f8551fb0..6ef0604402 100644 Binary files a/_static/demonstration_assets/neutral_atoms/control_z00.png and b/_static/demonstration_assets/neutral_atoms/control_z00.png differ diff --git a/_static/demonstration_assets/neutral_atoms/control_z01.png b/_static/demonstration_assets/neutral_atoms/control_z01.png index bbbfeda11a..c9532827e5 100644 Binary files a/_static/demonstration_assets/neutral_atoms/control_z01.png and b/_static/demonstration_assets/neutral_atoms/control_z01.png differ diff --git a/_static/demonstration_assets/neutral_atoms/fluorescence.png b/_static/demonstration_assets/neutral_atoms/fluorescence.png index f32d3b7d8b..897398832a 100644 Binary files a/_static/demonstration_assets/neutral_atoms/fluorescence.png and b/_static/demonstration_assets/neutral_atoms/fluorescence.png differ diff --git a/_static/demonstration_assets/neutral_atoms/force_gradient.png b/_static/demonstration_assets/neutral_atoms/force_gradient.png index 7ed3c14f22..23394f511e 100644 Binary files a/_static/demonstration_assets/neutral_atoms/force_gradient.png and b/_static/demonstration_assets/neutral_atoms/force_gradient.png differ diff --git a/_static/demonstration_assets/neutral_atoms/light_modulator.png b/_static/demonstration_assets/neutral_atoms/light_modulator.png index 0e688a5300..a848827c80 100644 Binary files a/_static/demonstration_assets/neutral_atoms/light_modulator.png and b/_static/demonstration_assets/neutral_atoms/light_modulator.png differ diff --git a/_static/demonstration_assets/neutral_atoms/thumbnail_tutorial_neutral_atoms.png b/_static/demonstration_assets/neutral_atoms/thumbnail_tutorial_neutral_atoms.png index 1b4374b7a7..dbd53ac107 100644 Binary files a/_static/demonstration_assets/neutral_atoms/thumbnail_tutorial_neutral_atoms.png and b/_static/demonstration_assets/neutral_atoms/thumbnail_tutorial_neutral_atoms.png differ diff --git a/_static/demonstration_assets/odegen/odegen_fig1.png b/_static/demonstration_assets/odegen/odegen_fig1.png index befc964cbc..8f233dddca 100644 Binary files a/_static/demonstration_assets/odegen/odegen_fig1.png and b/_static/demonstration_assets/odegen/odegen_fig1.png differ diff --git a/_static/demonstration_assets/optimal_control/OptimalControl_Smoother_Rectangles.png b/_static/demonstration_assets/optimal_control/OptimalControl_Smoother_Rectangles.png index a19fed166d..cde482cfc0 100644 Binary files a/_static/demonstration_assets/optimal_control/OptimalControl_Smoother_Rectangles.png and b/_static/demonstration_assets/optimal_control/OptimalControl_Smoother_Rectangles.png differ diff --git a/_static/demonstration_assets/optimal_control/OptimalControl_control_quantum_systems.png b/_static/demonstration_assets/optimal_control/OptimalControl_control_quantum_systems.png index e955fa2cdf..0d8e32772b 100644 Binary files a/_static/demonstration_assets/optimal_control/OptimalControl_control_quantum_systems.png and b/_static/demonstration_assets/optimal_control/OptimalControl_control_quantum_systems.png differ diff --git a/_static/demonstration_assets/optimal_control/OptimalControl_distance.png b/_static/demonstration_assets/optimal_control/OptimalControl_distance.png index 01cd20c872..aa941602cf 100644 Binary files a/_static/demonstration_assets/optimal_control/OptimalControl_distance.png and b/_static/demonstration_assets/optimal_control/OptimalControl_distance.png differ diff --git a/_static/demonstration_assets/optimal_control/thumbnail_tutorial_optimal_control.png b/_static/demonstration_assets/optimal_control/thumbnail_tutorial_optimal_control.png index 37d36bc137..e060e24015 100644 Binary files a/_static/demonstration_assets/optimal_control/thumbnail_tutorial_optimal_control.png and b/_static/demonstration_assets/optimal_control/thumbnail_tutorial_optimal_control.png differ diff --git a/_static/demonstration_assets/oqc_pulse/calibration0.png b/_static/demonstration_assets/oqc_pulse/calibration0.png index 7a6bc49e04..633041bdd9 100644 Binary files a/_static/demonstration_assets/oqc_pulse/calibration0.png and b/_static/demonstration_assets/oqc_pulse/calibration0.png differ diff --git a/_static/demonstration_assets/oqc_pulse/calibration1.png b/_static/demonstration_assets/oqc_pulse/calibration1.png index 61b4d86d5d..1d0e3b27f9 100644 Binary files a/_static/demonstration_assets/oqc_pulse/calibration1.png and b/_static/demonstration_assets/oqc_pulse/calibration1.png differ diff --git a/_static/demonstration_assets/oqc_pulse/calibration2.png b/_static/demonstration_assets/oqc_pulse/calibration2.png index 61730c7430..882116edbc 100644 Binary files a/_static/demonstration_assets/oqc_pulse/calibration2.png and b/_static/demonstration_assets/oqc_pulse/calibration2.png differ diff --git a/_static/demonstration_assets/oqc_pulse/qubit_rotation.png b/_static/demonstration_assets/oqc_pulse/qubit_rotation.png index 05a51b2feb..34bc3b42ab 100644 Binary files a/_static/demonstration_assets/oqc_pulse/qubit_rotation.png and b/_static/demonstration_assets/oqc_pulse/qubit_rotation.png differ diff --git a/_static/demonstration_assets/oqc_pulse/qubit_rotation2.png b/_static/demonstration_assets/oqc_pulse/qubit_rotation2.png index d9f4fb7b23..84ac7cd0ac 100644 Binary files a/_static/demonstration_assets/oqc_pulse/qubit_rotation2.png and b/_static/demonstration_assets/oqc_pulse/qubit_rotation2.png differ diff --git a/_static/demonstration_assets/oqc_pulse/thumbnail_intro_oqc_pulse.png b/_static/demonstration_assets/oqc_pulse/thumbnail_intro_oqc_pulse.png index a218f1fdc4..68c4276ef9 100644 Binary files a/_static/demonstration_assets/oqc_pulse/thumbnail_intro_oqc_pulse.png and b/_static/demonstration_assets/oqc_pulse/thumbnail_intro_oqc_pulse.png differ diff --git a/_static/demonstration_assets/oqc_pulse/thumbnail_large_oqc_pulse.png b/_static/demonstration_assets/oqc_pulse/thumbnail_large_oqc_pulse.png index a42b684a88..1dd91cb4ac 100644 Binary files a/_static/demonstration_assets/oqc_pulse/thumbnail_large_oqc_pulse.png and b/_static/demonstration_assets/oqc_pulse/thumbnail_large_oqc_pulse.png differ diff --git a/_static/demonstration_assets/oqc_pulse/thumbnail_oqc_pulse.png b/_static/demonstration_assets/oqc_pulse/thumbnail_oqc_pulse.png index 84760e6672..46bee0bff9 100644 Binary files a/_static/demonstration_assets/oqc_pulse/thumbnail_oqc_pulse.png and b/_static/demonstration_assets/oqc_pulse/thumbnail_oqc_pulse.png differ diff --git a/_static/demonstration_assets/photonics/Beam_splitter.png b/_static/demonstration_assets/photonics/Beam_splitter.png index 6d0296929a..0a3067ec3d 100644 Binary files a/_static/demonstration_assets/photonics/Beam_splitter.png and b/_static/demonstration_assets/photonics/Beam_splitter.png differ diff --git a/_static/demonstration_assets/photonics/CV_ctrlz.png b/_static/demonstration_assets/photonics/CV_ctrlz.png index c1720a4a41..32cba2d2fe 100644 Binary files a/_static/demonstration_assets/photonics/CV_ctrlz.png and b/_static/demonstration_assets/photonics/CV_ctrlz.png differ diff --git a/_static/demonstration_assets/photonics/Displacement.png b/_static/demonstration_assets/photonics/Displacement.png index 15357e2b76..fef7105cf9 100644 Binary files a/_static/demonstration_assets/photonics/Displacement.png and b/_static/demonstration_assets/photonics/Displacement.png differ diff --git a/_static/demonstration_assets/photonics/GBS.png b/_static/demonstration_assets/photonics/GBS.png index bcc16c3f71..b2792e5727 100644 Binary files a/_static/demonstration_assets/photonics/GBS.png and b/_static/demonstration_assets/photonics/GBS.png differ diff --git a/_static/demonstration_assets/photonics/GKP_Circuit.png b/_static/demonstration_assets/photonics/GKP_Circuit.png index 1b6700d8fe..728aa9f5e8 100644 Binary files a/_static/demonstration_assets/photonics/GKP_Circuit.png and b/_static/demonstration_assets/photonics/GKP_Circuit.png differ diff --git a/_static/demonstration_assets/photonics/Homodyne.png b/_static/demonstration_assets/photonics/Homodyne.png index cb5e4bb7de..f0466df26b 100644 Binary files a/_static/demonstration_assets/photonics/Homodyne.png and b/_static/demonstration_assets/photonics/Homodyne.png differ diff --git a/_static/demonstration_assets/photonics/Rotation.png b/_static/demonstration_assets/photonics/Rotation.png index 62bf39adaf..d8ca9389fb 100644 Binary files a/_static/demonstration_assets/photonics/Rotation.png and b/_static/demonstration_assets/photonics/Rotation.png differ diff --git a/_static/demonstration_assets/photonics/Squeezer.png b/_static/demonstration_assets/photonics/Squeezer.png index 8cea94443b..11c66cfde5 100644 Binary files a/_static/demonstration_assets/photonics/Squeezer.png and b/_static/demonstration_assets/photonics/Squeezer.png differ diff --git a/_static/demonstration_assets/photonics/Tgate.png b/_static/demonstration_assets/photonics/Tgate.png index db8fd39933..60ba37b0f3 100644 Binary files a/_static/demonstration_assets/photonics/Tgate.png and b/_static/demonstration_assets/photonics/Tgate.png differ diff --git a/_static/demonstration_assets/photonics/Thermo-optic.png b/_static/demonstration_assets/photonics/Thermo-optic.png index 54e8707649..a2b3444385 100644 Binary files a/_static/demonstration_assets/photonics/Thermo-optic.png and b/_static/demonstration_assets/photonics/Thermo-optic.png differ diff --git a/_static/demonstration_assets/photonics/Waveguide.png b/_static/demonstration_assets/photonics/Waveguide.png index 95298a74b4..390e21cf6c 100644 Binary files a/_static/demonstration_assets/photonics/Waveguide.png and b/_static/demonstration_assets/photonics/Waveguide.png differ diff --git a/_static/demonstration_assets/photonics/chip.png b/_static/demonstration_assets/photonics/chip.png index e91528878c..4240c7709e 100644 Binary files a/_static/demonstration_assets/photonics/chip.png and b/_static/demonstration_assets/photonics/chip.png differ diff --git a/_static/demonstration_assets/photonics/formula_qc.png b/_static/demonstration_assets/photonics/formula_qc.png index 051657528e..1017b1ef1c 100644 Binary files a/_static/demonstration_assets/photonics/formula_qc.png and b/_static/demonstration_assets/photonics/formula_qc.png differ diff --git a/_static/demonstration_assets/photonics/gkp_wigner.png b/_static/demonstration_assets/photonics/gkp_wigner.png index a1b367cdd2..056d6f6185 100644 Binary files a/_static/demonstration_assets/photonics/gkp_wigner.png and b/_static/demonstration_assets/photonics/gkp_wigner.png differ diff --git a/_static/demonstration_assets/photonics/photonics_tn.png b/_static/demonstration_assets/photonics/photonics_tn.png index 4fd706a271..96016d5c08 100644 Binary files a/_static/demonstration_assets/photonics/photonics_tn.png and b/_static/demonstration_assets/photonics/photonics_tn.png differ diff --git a/_static/demonstration_assets/photonics/vacuum_wigner.png b/_static/demonstration_assets/photonics/vacuum_wigner.png index c9f9e0b132..64d4d326cf 100644 Binary files a/_static/demonstration_assets/photonics/vacuum_wigner.png and b/_static/demonstration_assets/photonics/vacuum_wigner.png differ diff --git a/_static/demonstration_assets/pulse_programming101/pulse_illustration.png b/_static/demonstration_assets/pulse_programming101/pulse_illustration.png index 568d8feab2..85a8d7059b 100644 Binary files a/_static/demonstration_assets/pulse_programming101/pulse_illustration.png and b/_static/demonstration_assets/pulse_programming101/pulse_illustration.png differ diff --git a/_static/demonstration_assets/qft/qft3.jpeg b/_static/demonstration_assets/qft/qft3.jpeg index b61cedd954..d13b367c9a 100644 Binary files a/_static/demonstration_assets/qft/qft3.jpeg and b/_static/demonstration_assets/qft/qft3.jpeg differ diff --git a/_static/demonstration_assets/qnn_module/Keras_logo.png b/_static/demonstration_assets/qnn_module/Keras_logo.png index 9db27aa572..0913385589 100644 Binary files a/_static/demonstration_assets/qnn_module/Keras_logo.png and b/_static/demonstration_assets/qnn_module/Keras_logo.png differ diff --git a/_static/demonstration_assets/qnn_module/PyTorch_icon.png b/_static/demonstration_assets/qnn_module/PyTorch_icon.png index 6861201f4f..15c94cd861 100644 Binary files a/_static/demonstration_assets/qnn_module/PyTorch_icon.png and b/_static/demonstration_assets/qnn_module/PyTorch_icon.png differ diff --git a/_static/demonstration_assets/qnn_module/qnn2_keras.png b/_static/demonstration_assets/qnn_module/qnn2_keras.png index 7b738e4672..3b7d807169 100644 Binary files a/_static/demonstration_assets/qnn_module/qnn2_keras.png and b/_static/demonstration_assets/qnn_module/qnn2_keras.png differ diff --git a/_static/demonstration_assets/qnn_module/qnn2_torch.png b/_static/demonstration_assets/qnn_module/qnn2_torch.png index 4bb9e4f365..c4350bfa91 100644 Binary files a/_static/demonstration_assets/qnn_module/qnn2_torch.png and b/_static/demonstration_assets/qnn_module/qnn2_torch.png differ diff --git a/_static/demonstration_assets/qnn_module/qnn_keras.png b/_static/demonstration_assets/qnn_module/qnn_keras.png index 9e1c6c17c5..ef9aa24184 100644 Binary files a/_static/demonstration_assets/qnn_module/qnn_keras.png and b/_static/demonstration_assets/qnn_module/qnn_keras.png differ diff --git a/_static/demonstration_assets/qnn_module/qnn_torch.png b/_static/demonstration_assets/qnn_module/qnn_torch.png index 50a13823c2..b7bcba159d 100644 Binary files a/_static/demonstration_assets/qnn_module/qnn_torch.png and b/_static/demonstration_assets/qnn_module/qnn_torch.png differ diff --git a/_static/demonstration_assets/qpe/qpe.png b/_static/demonstration_assets/qpe/qpe.png index 04b81ddd7b..2f1a2a0a84 100644 Binary files a/_static/demonstration_assets/qpe/qpe.png and b/_static/demonstration_assets/qpe/qpe.png differ diff --git a/_static/demonstration_assets/qpe/socialthumbnail_large_Quantum_Phase_Estimation_2023-11-27.png b/_static/demonstration_assets/qpe/socialthumbnail_large_Quantum_Phase_Estimation_2023-11-27.png index 20d1b98e64..110b9a6766 100644 Binary files a/_static/demonstration_assets/qpe/socialthumbnail_large_Quantum_Phase_Estimation_2023-11-27.png and b/_static/demonstration_assets/qpe/socialthumbnail_large_Quantum_Phase_Estimation_2023-11-27.png differ diff --git a/_static/demonstration_assets/qrack/qrack_catalyst_integration_shelf.png b/_static/demonstration_assets/qrack/qrack_catalyst_integration_shelf.png index e6d95ab4d6..1b4ff370b6 100644 Binary files a/_static/demonstration_assets/qrack/qrack_catalyst_integration_shelf.png and b/_static/demonstration_assets/qrack/qrack_catalyst_integration_shelf.png differ diff --git a/_static/demonstration_assets/qsim_beyond_classical/qc.png b/_static/demonstration_assets/qsim_beyond_classical/qc.png index 7af5ff0a2b..a936378e92 100644 Binary files a/_static/demonstration_assets/qsim_beyond_classical/qc.png and b/_static/demonstration_assets/qsim_beyond_classical/qc.png differ diff --git a/_static/demonstration_assets/qsim_beyond_classical/supremacy_circuit.png b/_static/demonstration_assets/qsim_beyond_classical/supremacy_circuit.png index 9f2d333e53..be14257c83 100644 Binary files a/_static/demonstration_assets/qsim_beyond_classical/supremacy_circuit.png and b/_static/demonstration_assets/qsim_beyond_classical/supremacy_circuit.png differ diff --git a/_static/demonstration_assets/qsim_beyond_classical/sycamore.png b/_static/demonstration_assets/qsim_beyond_classical/sycamore.png index eb0b5ed16c..a303480124 100644 Binary files a/_static/demonstration_assets/qsim_beyond_classical/sycamore.png and b/_static/demonstration_assets/qsim_beyond_classical/sycamore.png differ diff --git a/_static/demonstration_assets/quantum_chemistry/hf_references.png b/_static/demonstration_assets/quantum_chemistry/hf_references.png index 4e0df08cc3..513de696f1 100644 Binary files a/_static/demonstration_assets/quantum_chemistry/hf_references.png and b/_static/demonstration_assets/quantum_chemistry/hf_references.png differ diff --git a/_static/demonstration_assets/quantum_chemistry/sketch_active_space.png b/_static/demonstration_assets/quantum_chemistry/sketch_active_space.png index 2786bd288c..a8d7e7c113 100644 Binary files a/_static/demonstration_assets/quantum_chemistry/sketch_active_space.png and b/_static/demonstration_assets/quantum_chemistry/sketch_active_space.png differ diff --git a/_static/demonstration_assets/quantum_chemistry/sketch_circuit.png b/_static/demonstration_assets/quantum_chemistry/sketch_circuit.png index b8be245c69..ac302d748a 100644 Binary files a/_static/demonstration_assets/quantum_chemistry/sketch_circuit.png and b/_static/demonstration_assets/quantum_chemistry/sketch_circuit.png differ diff --git a/_static/demonstration_assets/quantum_chemistry/sketch_pennylane-qchem.png b/_static/demonstration_assets/quantum_chemistry/sketch_pennylane-qchem.png index 77a856f02f..dbe937ab1f 100644 Binary files a/_static/demonstration_assets/quantum_chemistry/sketch_pennylane-qchem.png and b/_static/demonstration_assets/quantum_chemistry/sketch_pennylane-qchem.png differ diff --git a/_static/demonstration_assets/quantum_chemistry/water_structure.png b/_static/demonstration_assets/quantum_chemistry/water_structure.png index 5eca02cdf7..d52cc6feb5 100644 Binary files a/_static/demonstration_assets/quantum_chemistry/water_structure.png and b/_static/demonstration_assets/quantum_chemistry/water_structure.png differ diff --git a/_static/demonstration_assets/quantum_circuit_cutting/1Qubit-Circuit-Cutting.png b/_static/demonstration_assets/quantum_circuit_cutting/1Qubit-Circuit-Cutting.png index 5448a61b58..95de9d8ba5 100644 Binary files a/_static/demonstration_assets/quantum_circuit_cutting/1Qubit-Circuit-Cutting.png and b/_static/demonstration_assets/quantum_circuit_cutting/1Qubit-Circuit-Cutting.png differ diff --git a/_static/demonstration_assets/quantum_circuit_cutting/MeasurePrepareNodes.png b/_static/demonstration_assets/quantum_circuit_cutting/MeasurePrepareNodes.png index 00c2697bb7..961b7ba999 100644 Binary files a/_static/demonstration_assets/quantum_circuit_cutting/MeasurePrepareNodes.png and b/_static/demonstration_assets/quantum_circuit_cutting/MeasurePrepareNodes.png differ diff --git a/_static/demonstration_assets/quantum_circuit_cutting/cutqc_logo.png b/_static/demonstration_assets/quantum_circuit_cutting/cutqc_logo.png index f2b89e1b93..d59f6070ec 100644 Binary files a/_static/demonstration_assets/quantum_circuit_cutting/cutqc_logo.png and b/_static/demonstration_assets/quantum_circuit_cutting/cutqc_logo.png differ diff --git a/_static/demonstration_assets/quantum_circuit_cutting/separateMeasurePrepareNodes.png b/_static/demonstration_assets/quantum_circuit_cutting/separateMeasurePrepareNodes.png index a5a08e0734..db531ebed0 100644 Binary files a/_static/demonstration_assets/quantum_circuit_cutting/separateMeasurePrepareNodes.png and b/_static/demonstration_assets/quantum_circuit_cutting/separateMeasurePrepareNodes.png differ diff --git a/_static/demonstration_assets/quantum_gans/patch.jpeg b/_static/demonstration_assets/quantum_gans/patch.jpeg index 99e4394103..f7d2e012c5 100644 Binary files a/_static/demonstration_assets/quantum_gans/patch.jpeg and b/_static/demonstration_assets/quantum_gans/patch.jpeg differ diff --git a/_static/demonstration_assets/quantum_gans/qcircuit.jpeg b/_static/demonstration_assets/quantum_gans/qcircuit.jpeg index 905e46fd21..a7c7684c0a 100644 Binary files a/_static/demonstration_assets/quantum_gans/qcircuit.jpeg and b/_static/demonstration_assets/quantum_gans/qcircuit.jpeg differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng1.png b/_static/demonstration_assets/quantum_natural_gradient/qng1.png index dbbb891daf..e20c7401dd 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng1.png and b/_static/demonstration_assets/quantum_natural_gradient/qng1.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng2.png b/_static/demonstration_assets/quantum_natural_gradient/qng2.png index fb27183c05..8b294a2266 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng2.png and b/_static/demonstration_assets/quantum_natural_gradient/qng2.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng3.png b/_static/demonstration_assets/quantum_natural_gradient/qng3.png index 0caad4f339..ae54b42678 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng3.png and b/_static/demonstration_assets/quantum_natural_gradient/qng3.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng4.png b/_static/demonstration_assets/quantum_natural_gradient/qng4.png index 4a4bd67e71..2bc084da08 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng4.png and b/_static/demonstration_assets/quantum_natural_gradient/qng4.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng5.png b/_static/demonstration_assets/quantum_natural_gradient/qng5.png index 7e53b8ae5a..7e1ec2ab9a 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng5.png and b/_static/demonstration_assets/quantum_natural_gradient/qng5.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng7.png b/_static/demonstration_assets/quantum_natural_gradient/qng7.png index 57218da562..e125789b12 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng7.png and b/_static/demonstration_assets/quantum_natural_gradient/qng7.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng8.png b/_static/demonstration_assets/quantum_natural_gradient/qng8.png index 848280c105..03e6392e8e 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng8.png and b/_static/demonstration_assets/quantum_natural_gradient/qng8.png differ diff --git a/_static/demonstration_assets/quantum_natural_gradient/qng_optimization.png b/_static/demonstration_assets/quantum_natural_gradient/qng_optimization.png index 75048e65de..35db22ed0d 100644 Binary files a/_static/demonstration_assets/quantum_natural_gradient/qng_optimization.png and b/_static/demonstration_assets/quantum_natural_gradient/qng_optimization.png differ diff --git a/_static/demonstration_assets/quantum_transfer_learning/transfer_images.png b/_static/demonstration_assets/quantum_transfer_learning/transfer_images.png index 924f05a897..c15f1e71fe 100644 Binary files a/_static/demonstration_assets/quantum_transfer_learning/transfer_images.png and b/_static/demonstration_assets/quantum_transfer_learning/transfer_images.png differ diff --git a/_static/demonstration_assets/quantum_transfer_learning/transfer_learning_c2q.png b/_static/demonstration_assets/quantum_transfer_learning/transfer_learning_c2q.png index 98e9eb85ca..62d0307d21 100644 Binary files a/_static/demonstration_assets/quantum_transfer_learning/transfer_learning_c2q.png and b/_static/demonstration_assets/quantum_transfer_learning/transfer_learning_c2q.png differ diff --git a/_static/demonstration_assets/qubit_tapering/qubit_tapering.png b/_static/demonstration_assets/qubit_tapering/qubit_tapering.png index 5f9a6ae06f..a81cbb8443 100644 Binary files a/_static/demonstration_assets/qubit_tapering/qubit_tapering.png and b/_static/demonstration_assets/qubit_tapering/qubit_tapering.png differ diff --git a/_static/demonstration_assets/sc_qubits/JC_circuit.png b/_static/demonstration_assets/sc_qubits/JC_circuit.png index a28d680c04..016686f14d 100644 Binary files a/_static/demonstration_assets/sc_qubits/JC_circuit.png and b/_static/demonstration_assets/sc_qubits/JC_circuit.png differ diff --git a/_static/demonstration_assets/sc_qubits/LC_circuit.png b/_static/demonstration_assets/sc_qubits/LC_circuit.png index 61908f4126..918acc62bb 100644 Binary files a/_static/demonstration_assets/sc_qubits/LC_circuit.png and b/_static/demonstration_assets/sc_qubits/LC_circuit.png differ diff --git a/_static/demonstration_assets/sc_qubits/anharmonic.png b/_static/demonstration_assets/sc_qubits/anharmonic.png index d2a48942e8..b34d5ba397 100644 Binary files a/_static/demonstration_assets/sc_qubits/anharmonic.png and b/_static/demonstration_assets/sc_qubits/anharmonic.png differ diff --git a/_static/demonstration_assets/sc_qubits/capacitative.png b/_static/demonstration_assets/sc_qubits/capacitative.png index 15235a89cf..c97781887a 100644 Binary files a/_static/demonstration_assets/sc_qubits/capacitative.png and b/_static/demonstration_assets/sc_qubits/capacitative.png differ diff --git a/_static/demonstration_assets/sc_qubits/circuit.png b/_static/demonstration_assets/sc_qubits/circuit.png index 48771efdb5..f6a0807159 100644 Binary files a/_static/demonstration_assets/sc_qubits/circuit.png and b/_static/demonstration_assets/sc_qubits/circuit.png differ diff --git a/_static/demonstration_assets/sc_qubits/conduction_band.png b/_static/demonstration_assets/sc_qubits/conduction_band.png index 5d48703877..1c4686ee77 100644 Binary files a/_static/demonstration_assets/sc_qubits/conduction_band.png and b/_static/demonstration_assets/sc_qubits/conduction_band.png differ diff --git a/_static/demonstration_assets/sc_qubits/cooper_pairs.png b/_static/demonstration_assets/sc_qubits/cooper_pairs.png index 1b8aaf7b90..dc5ebbc3e5 100644 Binary files a/_static/demonstration_assets/sc_qubits/cooper_pairs.png and b/_static/demonstration_assets/sc_qubits/cooper_pairs.png differ diff --git a/_static/demonstration_assets/sc_qubits/energy_levels.png b/_static/demonstration_assets/sc_qubits/energy_levels.png index bcc5bd9421..e4270e24d0 100644 Binary files a/_static/demonstration_assets/sc_qubits/energy_levels.png and b/_static/demonstration_assets/sc_qubits/energy_levels.png differ diff --git a/_static/demonstration_assets/sc_qubits/fabry_perot.png b/_static/demonstration_assets/sc_qubits/fabry_perot.png index 8cf10b49ab..0b5956ccdb 100644 Binary files a/_static/demonstration_assets/sc_qubits/fabry_perot.png and b/_static/demonstration_assets/sc_qubits/fabry_perot.png differ diff --git a/_static/demonstration_assets/sc_qubits/items_QUBO.png b/_static/demonstration_assets/sc_qubits/items_QUBO.png new file mode 100644 index 0000000000..6a0f655c7e Binary files /dev/null and b/_static/demonstration_assets/sc_qubits/items_QUBO.png differ diff --git a/_static/demonstration_assets/sc_qubits/levels_capacitance.png b/_static/demonstration_assets/sc_qubits/levels_capacitance.png index 3c85ddc8c6..6a87ace6b9 100644 Binary files a/_static/demonstration_assets/sc_qubits/levels_capacitance.png and b/_static/demonstration_assets/sc_qubits/levels_capacitance.png differ diff --git a/_static/demonstration_assets/sc_qubits/phase_space.png b/_static/demonstration_assets/sc_qubits/phase_space.png index 7c6f02bd64..3f00df4368 100644 Binary files a/_static/demonstration_assets/sc_qubits/phase_space.png and b/_static/demonstration_assets/sc_qubits/phase_space.png differ diff --git a/_static/demonstration_assets/sc_qubits/photon_absorb.png b/_static/demonstration_assets/sc_qubits/photon_absorb.png index 98b86365a5..e586e934fe 100644 Binary files a/_static/demonstration_assets/sc_qubits/photon_absorb.png and b/_static/demonstration_assets/sc_qubits/photon_absorb.png differ diff --git a/_static/demonstration_assets/sc_qubits/sc_device.png b/_static/demonstration_assets/sc_qubits/sc_device.png index 15128d43a9..c19d987717 100644 Binary files a/_static/demonstration_assets/sc_qubits/sc_device.png and b/_static/demonstration_assets/sc_qubits/sc_device.png differ diff --git a/_static/demonstration_assets/sc_qubits/sc_qubits_tn.png b/_static/demonstration_assets/sc_qubits/sc_qubits_tn.png index 9b69da9d8c..551c19cfb1 100644 Binary files a/_static/demonstration_assets/sc_qubits/sc_qubits_tn.png and b/_static/demonstration_assets/sc_qubits/sc_qubits_tn.png differ diff --git a/_static/demonstration_assets/sc_qubits/squid.png b/_static/demonstration_assets/sc_qubits/squid.png index 6028519559..319b960639 100644 Binary files a/_static/demonstration_assets/sc_qubits/squid.png and b/_static/demonstration_assets/sc_qubits/squid.png differ diff --git a/_static/demonstration_assets/testing_symmetry/bells.png b/_static/demonstration_assets/testing_symmetry/bells.png index ce40fb2675..e4bf9d04f7 100644 Binary files a/_static/demonstration_assets/testing_symmetry/bells.png and b/_static/demonstration_assets/testing_symmetry/bells.png differ diff --git a/_static/demonstration_assets/testing_symmetry/choi.png b/_static/demonstration_assets/testing_symmetry/choi.png index 99a8dc52b2..216b15de00 100644 Binary files a/_static/demonstration_assets/testing_symmetry/choi.png and b/_static/demonstration_assets/testing_symmetry/choi.png differ diff --git a/_static/demonstration_assets/testing_symmetry/cu.png b/_static/demonstration_assets/testing_symmetry/cu.png index e221e97a9d..93687a1daa 100644 Binary files a/_static/demonstration_assets/testing_symmetry/cu.png and b/_static/demonstration_assets/testing_symmetry/cu.png differ diff --git a/_static/demonstration_assets/testing_symmetry/square.png b/_static/demonstration_assets/testing_symmetry/square.png index 554778335e..0ae3700d32 100644 Binary files a/_static/demonstration_assets/testing_symmetry/square.png and b/_static/demonstration_assets/testing_symmetry/square.png differ diff --git a/_static/demonstration_assets/testing_symmetry/symm2.png b/_static/demonstration_assets/testing_symmetry/symm2.png index 067cf21aba..5465f35905 100644 Binary files a/_static/demonstration_assets/testing_symmetry/symm2.png and b/_static/demonstration_assets/testing_symmetry/symm2.png differ diff --git a/_static/demonstration_assets/testing_symmetry/thumbnail.png b/_static/demonstration_assets/testing_symmetry/thumbnail.png index efb2058eee..a091a50533 100644 Binary files a/_static/demonstration_assets/testing_symmetry/thumbnail.png and b/_static/demonstration_assets/testing_symmetry/thumbnail.png differ diff --git a/_static/demonstration_assets/testing_symmetry/thumbnail_tutorial_testing_symmetry.png b/_static/demonstration_assets/testing_symmetry/thumbnail_tutorial_testing_symmetry.png index 4964ea15df..caacb02cce 100644 Binary files a/_static/demonstration_assets/testing_symmetry/thumbnail_tutorial_testing_symmetry.png and b/_static/demonstration_assets/testing_symmetry/thumbnail_tutorial_testing_symmetry.png differ diff --git a/_static/demonstration_assets/toric_code/Hadamard_test.png b/_static/demonstration_assets/toric_code/Hadamard_test.png index c752d0398c..f949a4cb8a 100644 Binary files a/_static/demonstration_assets/toric_code/Hadamard_test.png and b/_static/demonstration_assets/toric_code/Hadamard_test.png differ diff --git a/_static/demonstration_assets/toric_code/coffee_cup.png b/_static/demonstration_assets/toric_code/coffee_cup.png index 899febde85..145ec3d815 100644 Binary files a/_static/demonstration_assets/toric_code/coffee_cup.png and b/_static/demonstration_assets/toric_code/coffee_cup.png differ diff --git a/_static/demonstration_assets/toric_code/converting_to_torus.png b/_static/demonstration_assets/toric_code/converting_to_torus.png index b4e4a747be..e1504b97f1 100644 Binary files a/_static/demonstration_assets/toric_code/converting_to_torus.png and b/_static/demonstration_assets/toric_code/converting_to_torus.png differ diff --git a/_static/demonstration_assets/toric_code/generalized_ghz_draw.png b/_static/demonstration_assets/toric_code/generalized_ghz_draw.png index 1cf3adcf78..2bae6e097b 100644 Binary files a/_static/demonstration_assets/toric_code/generalized_ghz_draw.png and b/_static/demonstration_assets/toric_code/generalized_ghz_draw.png differ diff --git a/_static/demonstration_assets/toric_code/homotopy.png b/_static/demonstration_assets/toric_code/homotopy.png index 416aef9262..afc1eef396 100644 Binary files a/_static/demonstration_assets/toric_code/homotopy.png and b/_static/demonstration_assets/toric_code/homotopy.png differ diff --git a/_static/demonstration_assets/toric_code/stars_plaquettes2.png b/_static/demonstration_assets/toric_code/stars_plaquettes2.png old mode 100755 new mode 100644 index 17f079715a..0300bd34e8 Binary files a/_static/demonstration_assets/toric_code/stars_plaquettes2.png and b/_static/demonstration_assets/toric_code/stars_plaquettes2.png differ diff --git a/_static/demonstration_assets/toric_code/to_coffee_cup.png b/_static/demonstration_assets/toric_code/to_coffee_cup.png index ae43caa1fe..5197a35079 100644 Binary files a/_static/demonstration_assets/toric_code/to_coffee_cup.png and b/_static/demonstration_assets/toric_code/to_coffee_cup.png differ diff --git a/_static/demonstration_assets/toric_code/torus_to_cup.png b/_static/demonstration_assets/toric_code/torus_to_cup.png index 5fc28cd1dc..842b00bcba 100644 Binary files a/_static/demonstration_assets/toric_code/torus_to_cup.png and b/_static/demonstration_assets/toric_code/torus_to_cup.png differ diff --git a/_static/demonstration_assets/toric_code/torus_to_cup1.png b/_static/demonstration_assets/toric_code/torus_to_cup1.png index 5b65079660..eb798c518f 100644 Binary files a/_static/demonstration_assets/toric_code/torus_to_cup1.png and b/_static/demonstration_assets/toric_code/torus_to_cup1.png differ diff --git a/_static/demonstration_assets/toric_code/types_of_loops.png b/_static/demonstration_assets/toric_code/types_of_loops.png index 2ea938f4ab..0df5661b19 100644 Binary files a/_static/demonstration_assets/toric_code/types_of_loops.png and b/_static/demonstration_assets/toric_code/types_of_loops.png differ diff --git a/_static/demonstration_assets/trapped_ions/CNOTgate.png b/_static/demonstration_assets/trapped_ions/CNOTgate.png index f04ac4e1d7..eae83da015 100644 Binary files a/_static/demonstration_assets/trapped_ions/CNOTgate.png and b/_static/demonstration_assets/trapped_ions/CNOTgate.png differ diff --git a/_static/demonstration_assets/trapped_ions/CZgate.png b/_static/demonstration_assets/trapped_ions/CZgate.png index 1cb2bb1999..dc51edd8f6 100644 Binary files a/_static/demonstration_assets/trapped_ions/CZgate.png and b/_static/demonstration_assets/trapped_ions/CZgate.png differ diff --git a/_static/demonstration_assets/trapped_ions/atomic.png b/_static/demonstration_assets/trapped_ions/atomic.png index 8c4fe93cba..900d06dd0c 100644 Binary files a/_static/demonstration_assets/trapped_ions/atomic.png and b/_static/demonstration_assets/trapped_ions/atomic.png differ diff --git a/_static/demonstration_assets/trapped_ions/confining.png b/_static/demonstration_assets/trapped_ions/confining.png index 8c9a7743af..103264bc8a 100644 Binary files a/_static/demonstration_assets/trapped_ions/confining.png and b/_static/demonstration_assets/trapped_ions/confining.png differ diff --git a/_static/demonstration_assets/trapped_ions/hyperfine.png b/_static/demonstration_assets/trapped_ions/hyperfine.png index fc2622c520..f976360619 100644 Binary files a/_static/demonstration_assets/trapped_ions/hyperfine.png and b/_static/demonstration_assets/trapped_ions/hyperfine.png differ diff --git a/_static/demonstration_assets/trapped_ions/measurement.png b/_static/demonstration_assets/trapped_ions/measurement.png index 0313f6276c..b61e9d72af 100644 Binary files a/_static/demonstration_assets/trapped_ions/measurement.png and b/_static/demonstration_assets/trapped_ions/measurement.png differ diff --git a/_static/demonstration_assets/trapped_ions/molmer_sorensen.png b/_static/demonstration_assets/trapped_ions/molmer_sorensen.png index 46af8d5384..2ac1615fe2 100644 Binary files a/_static/demonstration_assets/trapped_ions/molmer_sorensen.png and b/_static/demonstration_assets/trapped_ions/molmer_sorensen.png differ diff --git a/_static/demonstration_assets/trapped_ions/pumping.png b/_static/demonstration_assets/trapped_ions/pumping.png index 791ada6933..cc083664fb 100644 Binary files a/_static/demonstration_assets/trapped_ions/pumping.png and b/_static/demonstration_assets/trapped_ions/pumping.png differ diff --git a/_static/demonstration_assets/trapped_ions/qccd.png b/_static/demonstration_assets/trapped_ions/qccd.png index 2c2c342f28..6a35db470e 100644 Binary files a/_static/demonstration_assets/trapped_ions/qccd.png and b/_static/demonstration_assets/trapped_ions/qccd.png differ diff --git a/_static/demonstration_assets/trapped_ions/rabi.png b/_static/demonstration_assets/trapped_ions/rabi.png index 1d6bd3dc4c..bcb48b0864 100644 Binary files a/_static/demonstration_assets/trapped_ions/rabi.png and b/_static/demonstration_assets/trapped_ions/rabi.png differ diff --git a/_static/demonstration_assets/trapped_ions/saddle_potential.png b/_static/demonstration_assets/trapped_ions/saddle_potential.png index f92530c18b..2bb12267b8 100644 Binary files a/_static/demonstration_assets/trapped_ions/saddle_potential.png and b/_static/demonstration_assets/trapped_ions/saddle_potential.png differ diff --git a/_static/demonstration_assets/trapped_ions/sidebands.png b/_static/demonstration_assets/trapped_ions/sidebands.png index 521fd947df..255a749b2b 100644 Binary files a/_static/demonstration_assets/trapped_ions/sidebands.png and b/_static/demonstration_assets/trapped_ions/sidebands.png differ diff --git a/_static/demonstration_assets/trapped_ions/trapped_ions_tn.png b/_static/demonstration_assets/trapped_ions/trapped_ions_tn.png index ffa43f4571..5722620457 100644 Binary files a/_static/demonstration_assets/trapped_ions/trapped_ions_tn.png and b/_static/demonstration_assets/trapped_ions/trapped_ions_tn.png differ diff --git a/_static/demonstration_assets/univariate_qvr/cartoon_pennylane.png b/_static/demonstration_assets/univariate_qvr/cartoon_pennylane.png index 008dfb53a8..6830ab3220 100644 Binary files a/_static/demonstration_assets/univariate_qvr/cartoon_pennylane.png and b/_static/demonstration_assets/univariate_qvr/cartoon_pennylane.png differ diff --git a/_static/demonstration_assets/univariate_qvr/covalent_platform.png b/_static/demonstration_assets/univariate_qvr/covalent_platform.png index 5874cc11d0..6fd88de513 100644 Binary files a/_static/demonstration_assets/univariate_qvr/covalent_platform.png and b/_static/demonstration_assets/univariate_qvr/covalent_platform.png differ diff --git a/_static/demonstration_assets/univariate_qvr/covalent_tutorial_screenshot.png b/_static/demonstration_assets/univariate_qvr/covalent_tutorial_screenshot.png index 9cd90842b7..2ba2de4cf2 100644 Binary files a/_static/demonstration_assets/univariate_qvr/covalent_tutorial_screenshot.png and b/_static/demonstration_assets/univariate_qvr/covalent_tutorial_screenshot.png differ diff --git a/_static/demonstration_assets/univariate_qvr/thumbnail_tutorial_univariate_qvr.jpg b/_static/demonstration_assets/univariate_qvr/thumbnail_tutorial_univariate_qvr.jpg index 2c83196515..7482a17d12 100644 Binary files a/_static/demonstration_assets/univariate_qvr/thumbnail_tutorial_univariate_qvr.jpg and b/_static/demonstration_assets/univariate_qvr/thumbnail_tutorial_univariate_qvr.jpg differ diff --git a/_static/demonstration_assets/variational_quantum_eigensolver/pes_h2.png b/_static/demonstration_assets/variational_quantum_eigensolver/pes_h2.png index 489a5ef992..0f9acfa062 100644 Binary files a/_static/demonstration_assets/variational_quantum_eigensolver/pes_h2.png and b/_static/demonstration_assets/variational_quantum_eigensolver/pes_h2.png differ diff --git a/_static/demonstration_assets/variational_quantum_eigensolver/sketch_circuit.png b/_static/demonstration_assets/variational_quantum_eigensolver/sketch_circuit.png index 6de36ca33a..c213860b2d 100644 Binary files a/_static/demonstration_assets/variational_quantum_eigensolver/sketch_circuit.png and b/_static/demonstration_assets/variational_quantum_eigensolver/sketch_circuit.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/H2_Be_VQE.png b/_static/demonstration_assets/vqe_bond_dissociation/H2_Be_VQE.png index d952ab2288..37d95a711a 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/H2_Be_VQE.png and b/_static/demonstration_assets/vqe_bond_dissociation/H2_Be_VQE.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/h2.png b/_static/demonstration_assets/vqe_bond_dissociation/h2.png index 367bc5c271..74279b31ff 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/h2.png and b/_static/demonstration_assets/vqe_bond_dissociation/h2.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/h2_dissociation.png b/_static/demonstration_assets/vqe_bond_dissociation/h2_dissociation.png index fcb97e3468..4e107d4a76 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/h2_dissociation.png and b/_static/demonstration_assets/vqe_bond_dissociation/h2_dissociation.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/h2_pes.png b/_static/demonstration_assets/vqe_bond_dissociation/h2_pes.png index a537b9bcc3..0f923cc5f3 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/h2_pes.png and b/_static/demonstration_assets/vqe_bond_dissociation/h2_pes.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/h2_pes_pictorial.png b/_static/demonstration_assets/vqe_bond_dissociation/h2_pes_pictorial.png index 9dd6eb7660..2552ce2734 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/h2_pes_pictorial.png and b/_static/demonstration_assets/vqe_bond_dissociation/h2_pes_pictorial.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/h3_comparison.png b/_static/demonstration_assets/vqe_bond_dissociation/h3_comparison.png index e7b78c58aa..1bc0ada1da 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/h3_comparison.png and b/_static/demonstration_assets/vqe_bond_dissociation/h3_comparison.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/pes.png b/_static/demonstration_assets/vqe_bond_dissociation/pes.png index 62085c6265..fcffd99bb2 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/pes.png and b/_static/demonstration_assets/vqe_bond_dissociation/pes.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/reaction.png b/_static/demonstration_assets/vqe_bond_dissociation/reaction.png index 04c9ec964b..f55a729a59 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/reaction.png and b/_static/demonstration_assets/vqe_bond_dissociation/reaction.png differ diff --git a/_static/demonstration_assets/vqe_bond_dissociation/test.png b/_static/demonstration_assets/vqe_bond_dissociation/test.png index 769806377a..5747dda570 100644 Binary files a/_static/demonstration_assets/vqe_bond_dissociation/test.png and b/_static/demonstration_assets/vqe_bond_dissociation/test.png differ diff --git a/_static/demonstration_assets/vqe_spin_sectors/energy_spectra_h2_sto3g.png b/_static/demonstration_assets/vqe_spin_sectors/energy_spectra_h2_sto3g.png index 3ba2b20700..55728d9a2d 100644 Binary files a/_static/demonstration_assets/vqe_spin_sectors/energy_spectra_h2_sto3g.png and b/_static/demonstration_assets/vqe_spin_sectors/energy_spectra_h2_sto3g.png differ diff --git a/_static/demonstration_assets/vqe_spin_sectors/fig_excitations.png b/_static/demonstration_assets/vqe_spin_sectors/fig_excitations.png index 9cbe01945a..a6801c1244 100644 Binary files a/_static/demonstration_assets/vqe_spin_sectors/fig_excitations.png and b/_static/demonstration_assets/vqe_spin_sectors/fig_excitations.png differ diff --git a/_static/demonstration_assets/vqe_spin_sectors/thumbnail_spectra_h2.png b/_static/demonstration_assets/vqe_spin_sectors/thumbnail_spectra_h2.png index 03d5fedfed..f033853b95 100644 Binary files a/_static/demonstration_assets/vqe_spin_sectors/thumbnail_spectra_h2.png and b/_static/demonstration_assets/vqe_spin_sectors/thumbnail_spectra_h2.png differ diff --git a/_static/demonstration_assets/zx_calculus/11ccnot.jpg b/_static/demonstration_assets/zx_calculus/11ccnot.jpg index 5345582419..3f5c62884c 100644 Binary files a/_static/demonstration_assets/zx_calculus/11ccnot.jpg and b/_static/demonstration_assets/zx_calculus/11ccnot.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/absorb.jpg b/_static/demonstration_assets/zx_calculus/absorb.jpg index 5056d3629c..6769f91f77 100644 Binary files a/_static/demonstration_assets/zx_calculus/absorb.jpg and b/_static/demonstration_assets/zx_calculus/absorb.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/b_rule.jpg b/_static/demonstration_assets/zx_calculus/b_rule.jpg index b63b1ff8f2..899553a48b 100644 Binary files a/_static/demonstration_assets/zx_calculus/b_rule.jpg and b/_static/demonstration_assets/zx_calculus/b_rule.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/c_rule.jpg b/_static/demonstration_assets/zx_calculus/c_rule.jpg index b922c72e23..9d176fd424 100644 Binary files a/_static/demonstration_assets/zx_calculus/c_rule.jpg and b/_static/demonstration_assets/zx_calculus/c_rule.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/circuit_opt.jpg b/_static/demonstration_assets/zx_calculus/circuit_opt.jpg index 41bfa50f20..0ce36c4eb6 100644 Binary files a/_static/demonstration_assets/zx_calculus/circuit_opt.jpg and b/_static/demonstration_assets/zx_calculus/circuit_opt.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/cnot.jpeg b/_static/demonstration_assets/zx_calculus/cnot.jpeg index bbbdc250c4..66673ac81d 100644 Binary files a/_static/demonstration_assets/zx_calculus/cnot.jpeg and b/_static/demonstration_assets/zx_calculus/cnot.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/cnot_moved.jpeg b/_static/demonstration_assets/zx_calculus/cnot_moved.jpeg index 592a762a5d..fe3249c3c2 100644 Binary files a/_static/demonstration_assets/zx_calculus/cnot_moved.jpeg and b/_static/demonstration_assets/zx_calculus/cnot_moved.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/compose_zw_wx.jpg b/_static/demonstration_assets/zx_calculus/compose_zw_wx.jpg index 2e54757f10..8299d9d01c 100644 Binary files a/_static/demonstration_assets/zx_calculus/compose_zw_wx.jpg and b/_static/demonstration_assets/zx_calculus/compose_zw_wx.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/derivative_symmetric_spiders.jpg b/_static/demonstration_assets/zx_calculus/derivative_symmetric_spiders.jpg index 3ce9f1939c..5e2c7eea76 100644 Binary files a/_static/demonstration_assets/zx_calculus/derivative_symmetric_spiders.jpg and b/_static/demonstration_assets/zx_calculus/derivative_symmetric_spiders.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/f_rule.jpeg b/_static/demonstration_assets/zx_calculus/f_rule.jpeg index a9f121a6ac..3ed7fbd843 100644 Binary files a/_static/demonstration_assets/zx_calculus/f_rule.jpeg and b/_static/demonstration_assets/zx_calculus/f_rule.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/h_box.jpg b/_static/demonstration_assets/zx_calculus/h_box.jpg index 247810aed2..3a11a87b94 100644 Binary files a/_static/demonstration_assets/zx_calculus/h_box.jpg and b/_static/demonstration_assets/zx_calculus/h_box.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/hadamard_gate.png b/_static/demonstration_assets/zx_calculus/hadamard_gate.png index 98c05ec8bc..357a8a1306 100644 Binary files a/_static/demonstration_assets/zx_calculus/hadamard_gate.png and b/_static/demonstration_assets/zx_calculus/hadamard_gate.png differ diff --git a/_static/demonstration_assets/zx_calculus/hamiltonian_diagram.jpg b/_static/demonstration_assets/zx_calculus/hamiltonian_diagram.jpg index d852be330e..df1d99ba11 100644 Binary files a/_static/demonstration_assets/zx_calculus/hamiltonian_diagram.jpg and b/_static/demonstration_assets/zx_calculus/hamiltonian_diagram.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/hopf_rule.jpeg b/_static/demonstration_assets/zx_calculus/hopf_rule.jpeg index fca0bf058a..fe00a2c06b 100644 Binary files a/_static/demonstration_assets/zx_calculus/hopf_rule.jpeg and b/_static/demonstration_assets/zx_calculus/hopf_rule.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/hxhz.jpg b/_static/demonstration_assets/zx_calculus/hxhz.jpg index bb9861a2dc..a100d5fcce 100644 Binary files a/_static/demonstration_assets/zx_calculus/hxhz.jpg and b/_static/demonstration_assets/zx_calculus/hxhz.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/hzhx.jpg b/_static/demonstration_assets/zx_calculus/hzhx.jpg index e5408a2372..0694255649 100644 Binary files a/_static/demonstration_assets/zx_calculus/hzhx.jpg and b/_static/demonstration_assets/zx_calculus/hzhx.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/id_rule.jpeg b/_static/demonstration_assets/zx_calculus/id_rule.jpeg index 4fa7c00ff5..f5133334f8 100644 Binary files a/_static/demonstration_assets/zx_calculus/id_rule.jpeg and b/_static/demonstration_assets/zx_calculus/id_rule.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/param_shift_1_0.jpg b/_static/demonstration_assets/zx_calculus/param_shift_1_0.jpg index 6dc039d23e..24cf416605 100644 Binary files a/_static/demonstration_assets/zx_calculus/param_shift_1_0.jpg and b/_static/demonstration_assets/zx_calculus/param_shift_1_0.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/param_shift_1_1.jpg b/_static/demonstration_assets/zx_calculus/param_shift_1_1.jpg index 65763f5b27..ab985df903 100644 Binary files a/_static/demonstration_assets/zx_calculus/param_shift_1_1.jpg and b/_static/demonstration_assets/zx_calculus/param_shift_1_1.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/param_shift_1_2.jpg b/_static/demonstration_assets/zx_calculus/param_shift_1_2.jpg index 021f45eb1e..e186ac7a0d 100644 Binary files a/_static/demonstration_assets/zx_calculus/param_shift_1_2.jpg and b/_static/demonstration_assets/zx_calculus/param_shift_1_2.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/param_shift_2.jpg b/_static/demonstration_assets/zx_calculus/param_shift_2.jpg index cee0a9a8f8..5c11e35213 100644 Binary files a/_static/demonstration_assets/zx_calculus/param_shift_2.jpg and b/_static/demonstration_assets/zx_calculus/param_shift_2.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/pi_rule.jpeg b/_static/demonstration_assets/zx_calculus/pi_rule.jpeg index d3b701f17d..6763a9843a 100644 Binary files a/_static/demonstration_assets/zx_calculus/pi_rule.jpeg and b/_static/demonstration_assets/zx_calculus/pi_rule.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/stack_w_x.jpg b/_static/demonstration_assets/zx_calculus/stack_w_x.jpg index 357d997e59..6385cf6a63 100644 Binary files a/_static/demonstration_assets/zx_calculus/stack_w_x.jpg and b/_static/demonstration_assets/zx_calculus/stack_w_x.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/stack_z_w.jpg b/_static/demonstration_assets/zx_calculus/stack_z_w.jpg index 1ec2de5ddf..50f76d8d89 100644 Binary files a/_static/demonstration_assets/zx_calculus/stack_z_w.jpg and b/_static/demonstration_assets/zx_calculus/stack_z_w.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/symmetric_spiders.jpg b/_static/demonstration_assets/zx_calculus/symmetric_spiders.jpg index 6dd37c65c0..25d8d6d153 100644 Binary files a/_static/demonstration_assets/zx_calculus/symmetric_spiders.jpg and b/_static/demonstration_assets/zx_calculus/symmetric_spiders.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/teleportation.png b/_static/demonstration_assets/zx_calculus/teleportation.png index 75012d5323..2f236be973 100644 Binary files a/_static/demonstration_assets/zx_calculus/teleportation.png and b/_static/demonstration_assets/zx_calculus/teleportation.png differ diff --git a/_static/demonstration_assets/zx_calculus/teleportation_circuit.jpeg b/_static/demonstration_assets/zx_calculus/teleportation_circuit.jpeg index eaf6e7f30e..a5d3998f64 100644 Binary files a/_static/demonstration_assets/zx_calculus/teleportation_circuit.jpeg and b/_static/demonstration_assets/zx_calculus/teleportation_circuit.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/theorem2.jpg b/_static/demonstration_assets/zx_calculus/theorem2.jpg index 09401e44ea..151dac6042 100644 Binary files a/_static/demonstration_assets/zx_calculus/theorem2.jpg and b/_static/demonstration_assets/zx_calculus/theorem2.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/thumbnail_tutorial_zx_calculus.png b/_static/demonstration_assets/zx_calculus/thumbnail_tutorial_zx_calculus.png index 35477eceaf..dce23bba92 100644 Binary files a/_static/demonstration_assets/zx_calculus/thumbnail_tutorial_zx_calculus.png and b/_static/demonstration_assets/zx_calculus/thumbnail_tutorial_zx_calculus.png differ diff --git a/_static/demonstration_assets/zx_calculus/toffoli.jpg b/_static/demonstration_assets/zx_calculus/toffoli.jpg index 35f7b2dcac..7304aab4f9 100644 Binary files a/_static/demonstration_assets/zx_calculus/toffoli.jpg and b/_static/demonstration_assets/zx_calculus/toffoli.jpg differ diff --git a/_static/demonstration_assets/zx_calculus/x_gate.jpeg b/_static/demonstration_assets/zx_calculus/x_gate.jpeg index 3b819450ba..a3a850e189 100644 Binary files a/_static/demonstration_assets/zx_calculus/x_gate.jpeg and b/_static/demonstration_assets/zx_calculus/x_gate.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/x_spider.jpeg b/_static/demonstration_assets/zx_calculus/x_spider.jpeg index ab720dc938..a2cabb941a 100644 Binary files a/_static/demonstration_assets/zx_calculus/x_spider.jpeg and b/_static/demonstration_assets/zx_calculus/x_spider.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/z_gate.jpeg b/_static/demonstration_assets/zx_calculus/z_gate.jpeg index ec87044b2c..3d0376a7ce 100644 Binary files a/_static/demonstration_assets/zx_calculus/z_gate.jpeg and b/_static/demonstration_assets/zx_calculus/z_gate.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/z_spider.jpeg b/_static/demonstration_assets/zx_calculus/z_spider.jpeg index 5a19a341a6..b00a8ffe6f 100644 Binary files a/_static/demonstration_assets/zx_calculus/z_spider.jpeg and b/_static/demonstration_assets/zx_calculus/z_spider.jpeg differ diff --git a/_static/demonstration_assets/zx_calculus/zero_state_plus_state.jpeg b/_static/demonstration_assets/zx_calculus/zero_state_plus_state.jpeg index e7dc0eac35..72a7f6bd2e 100644 Binary files a/_static/demonstration_assets/zx_calculus/zero_state_plus_state.jpeg and b/_static/demonstration_assets/zx_calculus/zero_state_plus_state.jpeg differ diff --git a/conf.py b/conf.py index 73b49c6d12..f59014cd63 100644 --- a/conf.py +++ b/conf.py @@ -21,6 +21,8 @@ from pennylane import PennyLaneDeprecationWarning sys.path.insert(0, os.path.abspath(".")) +sys.path.insert(0, os.path.join(os.path.dirname(__file__))) +print(sys.path) # -- Project information ----------------------------------------------------- @@ -83,8 +85,10 @@ "backreferences_dir" : "backreferences", "doc_module" : ("pennylane"), "junit": "../test-results/sphinx-gallery/junit.xml", + 'reset_modules': ("module_resets.reset_jax", "matplotlib", "seaborn"), } + mathjax_path = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML" # Remove warnings that occur when generating the the tutorials @@ -130,7 +134,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "*venv"] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "*venv", "sphinxext"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" diff --git a/demonstrations/adjoint_diff_benchmarking.metadata.json b/demonstrations/adjoint_diff_benchmarking.metadata.json index a49a6d69b5..b5089d616c 100644 --- a/demonstrations/adjoint_diff_benchmarking.metadata.json +++ b/demonstrations/adjoint_diff_benchmarking.metadata.json @@ -2,17 +2,17 @@ "title": "Adjoint Differentiation – Supplementary Material", "authors": [ { - "id": "christina_lee" + "username": "christina" } ], "dateOfPublication": "2021-11-23T00:00:00+00:00", - "dateOfLastModification": "2024-07-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [], "tags": [], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png" } ], "seoDescription": "Benchmarking file for adjoint diff demonstration.", diff --git a/demonstrations/adjoint_diff_benchmarking.py b/demonstrations/adjoint_diff_benchmarking.py index 61f8633dd5..a53dbcff5f 100644 --- a/demonstrations/adjoint_diff_benchmarking.py +++ b/demonstrations/adjoint_diff_benchmarking.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Benchmarking file for adjoint diff demonstration. - :property="og:image": https://pennylane.ai/qml/_static/thumbs/code.png + :property="og:image": https://pennylane.ai/qml/_static/demo_thumbnails/opengraph_demo_thumbnails/code.png *Author: Christina Lee — Posted: 23 November 2021. Last updated: 04 July 2024.* diff --git a/demonstrations/ahs_aquila.metadata.json b/demonstrations/ahs_aquila.metadata.json index 24f4598958..cbf29cf9f9 100644 --- a/demonstrations/ahs_aquila.metadata.json +++ b/demonstrations/ahs_aquila.metadata.json @@ -2,16 +2,12 @@ "title": "Pulse programming on Rydberg atom hardware", "authors": [ { - "id": "lillian_frederiksen" + "username": "lillian_frederiksen" } ], "dateOfPublication": "2023-05-16T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", - "categories": [ - "Quantum Hardware", - "Devices and Performance", - "Quantum Computing" - ], + "dateOfLastModification": "2024-08-06T00:00:00+00:00", + "categories": ["Quantum Hardware", "Devices and Performance", "Quantum Computing"], "tags": [], "previewImages": [ { diff --git a/demonstrations/ahs_aquila.py b/demonstrations/ahs_aquila.py index a88320e3c5..b6dbc90949 100644 --- a/demonstrations/ahs_aquila.py +++ b/demonstrations/ahs_aquila.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Perform measurements on neutral atom hardware through PennyLane - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_pulse_on_hardware.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_pulse_on_hardware.png .. related:: tutorial_pasqal Quantum computation with neutral atoms diff --git a/demonstrations/braket-parallel-gradients.metadata.json b/demonstrations/braket-parallel-gradients.metadata.json index e27d083de7..11e4e396e6 100644 --- a/demonstrations/braket-parallel-gradients.metadata.json +++ b/demonstrations/braket-parallel-gradients.metadata.json @@ -2,17 +2,17 @@ "title": "Computing gradients in parallel with Amazon Braket", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" }, { - "id": "maria_schuld" + "username": "mariaschuld" }, { "id": "matthew_beach" } ], "dateOfPublication": "2020-12-08T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-14T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -20,7 +20,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_computing_gradients_amazon_braket.png" } ], "seoDescription": "Parallelize gradient calculations with Amazon Braket", diff --git a/demonstrations/braket-parallel-gradients.py b/demonstrations/braket-parallel-gradients.py index a86bb56a28..a1d4f8b446 100644 --- a/demonstrations/braket-parallel-gradients.py +++ b/demonstrations/braket-parallel-gradients.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Parallelize gradient calculations with Amazon Braket - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//pl-braket.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/pl-braket.png .. related:: diff --git a/demonstrations/circuits_as_fourier_series.metadata.json b/demonstrations/circuits_as_fourier_series.metadata.json index 7b743cad47..3e3591d8d6 100644 --- a/demonstrations/circuits_as_fourier_series.metadata.json +++ b/demonstrations/circuits_as_fourier_series.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-09-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization", "Quantum Machine Learning" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuits_as_fourier_series.png" } ], "seoDescription": "Learn with this interactive, code-free introduction to the idea of quantum circuits as Fourier series.", diff --git a/demonstrations/circuits_as_fourier_series.py b/demonstrations/circuits_as_fourier_series.py index ecb5ddda73..dbf346a6b0 100644 --- a/demonstrations/circuits_as_fourier_series.py +++ b/demonstrations/circuits_as_fourier_series.py @@ -8,7 +8,7 @@ .. meta:: :property="og:description": Learn interactively how we can view circuits as Fourier series. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_Fourier.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_Fourier.png In this demo, we're going to give an interactive, code-free introduction to the idea of quantum circuits as Fourier series. We'll also discuss one of the main applications, called the diff --git a/demonstrations/covalent_cloud_gpu.metadata.json b/demonstrations/covalent_cloud_gpu.metadata.json index 53d65d671e..eb9d465149 100644 --- a/demonstrations/covalent_cloud_gpu.metadata.json +++ b/demonstrations/covalent_cloud_gpu.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2024-05-24T00:00:00+00:00", - "dateOfLastModification": "2024-05-24T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -21,7 +21,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_covalent_cloud_gpu.png" } ], "seoDescription": "Explore the process of running GPU-accelerated quantum circuit simulations on Covalent Cloud using PennyLane.", diff --git a/demonstrations/demonstrations_categories.metadata.json b/demonstrations/demonstrations_categories.metadata.json index 0b372c74c3..eae8553173 100644 --- a/demonstrations/demonstrations_categories.metadata.json +++ b/demonstrations/demonstrations_categories.metadata.json @@ -38,5 +38,10 @@ "title": "Algorithms", "urlFragment": "algorithms", "description": "This category will be focused on showing different fundamental algorithms of quantum computing. Here you will also find advanced techniques such as circuit cutting." + }, + { + "title": "How-to", + "urlFragment": "how-to", + "description": "This category contains Demos with grab-and-go code to implement all kinds of techniques and resources with PennyLane." } ] \ No newline at end of file diff --git a/demonstrations/ensemble_multi_qpu.metadata.json b/demonstrations/ensemble_multi_qpu.metadata.json index 2b09303751..72a2d07692 100644 --- a/demonstrations/ensemble_multi_qpu.metadata.json +++ b/demonstrations/ensemble_multi_qpu.metadata.json @@ -2,11 +2,11 @@ "title": "Ensemble classification with Rigetti and Qiskit devices", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" } ], "dateOfPublication": "2020-02-14T00:00:00+00:00", - "dateOfLastModification": "2024-07-05T00:00:00+00:00", + "dateOfLastModification": "2024-08-14T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_ensemble_classification_rigetti_qiskit.png" } ], "seoDescription": "We demonstrate how two QPUs can be combined in parallel to help solve a machine learning classification problem, using PyTorch and PennyLane.", diff --git a/demonstrations/ensemble_multi_qpu.py b/demonstrations/ensemble_multi_qpu.py index d55885fcc1..b3ed8b37de 100644 --- a/demonstrations/ensemble_multi_qpu.py +++ b/demonstrations/ensemble_multi_qpu.py @@ -6,7 +6,7 @@ :property="og:description": We demonstrate how two QPUs can be combined in parallel to help solve a machine learning classification problem, using PyTorch and PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//ensemble_diagram.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/ensemble_diagram.png .. related diff --git a/demonstrations/function_fitting_qsp.metadata.json b/demonstrations/function_fitting_qsp.metadata.json index bf5f2e4d8d..9ba28e43c8 100644 --- a/demonstrations/function_fitting_qsp.metadata.json +++ b/demonstrations/function_fitting_qsp.metadata.json @@ -2,11 +2,11 @@ "title": "Function Fitting using Quantum Signal Processing", "authors": [ { - "id": "jay_soni" + "username": "Jay" } ], "dateOfPublication": "2022-05-24T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_quantum_signal_processing.png" } ], "seoDescription": "Learn how to create polynomial approximations to functions using Quantum Signal Processing (QSP).", diff --git a/demonstrations/gbs.metadata.json b/demonstrations/gbs.metadata.json index 2995be717c..7161fd9d77 100644 --- a/demonstrations/gbs.metadata.json +++ b/demonstrations/gbs.metadata.json @@ -2,14 +2,14 @@ "title": "Quantum advantage with Gaussian Boson Sampling", "authors": [ { - "id": "josh_izaac" + "username": "josh" }, { - "id": "nathan_killoran" + "username": "co9olguy" } ], "dateOfPublication": "2020-12-04T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -18,7 +18,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_guassian_boson_sampling.png" } ], "seoDescription": "Using light to perform tasks beyond the reach of classical computers.", diff --git a/demonstrations/gbs.py b/demonstrations/gbs.py index f5fce0a222..5f8165b987 100644 --- a/demonstrations/gbs.py +++ b/demonstrations/gbs.py @@ -8,7 +8,7 @@ .. meta:: :property="og:description": Using light to perform tasks beyond the reach of classical computers. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/gbs/gbs_expt2.png + :property="og:image": https://pennylane.ai/qml/_static/demo_thumbnails/opengraph_demo_thumbnails/gbs_expt2.png .. related:: diff --git a/demonstrations/getting_started_with_hybrid_jobs.metadata.json b/demonstrations/getting_started_with_hybrid_jobs.metadata.json index 9d5efbb0af..a24c717bd1 100644 --- a/demonstrations/getting_started_with_hybrid_jobs.metadata.json +++ b/demonstrations/getting_started_with_hybrid_jobs.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-10-16T00:00:00+00:00", - "dateOfLastModification": "2024-07-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_getting_started_with_hybrid_jobs.png" } ], "seoDescription": "Getting started with the Amazon Braket Hybrid Jobs", diff --git a/demonstrations/how_to_use_qiskit1_with_pennylane.metadata.json b/demonstrations/how_to_use_qiskit1_with_pennylane.metadata.json index 0f459c0964..19b5395679 100644 --- a/demonstrations/how_to_use_qiskit1_with_pennylane.metadata.json +++ b/demonstrations/how_to_use_qiskit1_with_pennylane.metadata.json @@ -2,23 +2,24 @@ "title": "How to use Qiskit 1.0 with PennyLane", "authors": [ { - "id": "isaac_de_vlugt" + "username": "isaacdevlugt" } ], "dateOfPublication": "2024-07-02T00:00:00+00:00", - "dateOfLastModification": "2024-07-03T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ - "Quantum Computing" + "Quantum Computing", + "How-to" ], "tags": [], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_HowToUseQiskit1WithPL.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_HowToUseQiskit1WithPL.png" } ], "seoDescription": "Learn how to get started using Qiskit 1.0 with PennyLane", diff --git a/demonstrations/ibm_pennylane.metadata.json b/demonstrations/ibm_pennylane.metadata.json index a414a0f4a8..b0e3468e82 100644 --- a/demonstrations/ibm_pennylane.metadata.json +++ b/demonstrations/ibm_pennylane.metadata.json @@ -12,7 +12,7 @@ } ], "dateOfPublication": "2023-06-20T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-08T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -24,7 +24,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_ibm_pennylane.png" } ], "seoDescription": "Learn how to use IBM devices with PennyLane.", @@ -45,4 +45,4 @@ "weight": 1.0 } ] -} \ No newline at end of file +} diff --git a/demonstrations/ibm_pennylane.py b/demonstrations/ibm_pennylane.py index 5c38db9844..a587bd8c90 100644 --- a/demonstrations/ibm_pennylane.py +++ b/demonstrations/ibm_pennylane.py @@ -4,17 +4,14 @@ .. meta:: :property="og:description": Learn how to use IBM devices with Pennylane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_ibm_pennylane.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_ibm_pennylane.png .. related:: quantum_volume Quantum Volume tutorial_vqe A brief overview of VQE -*Authors: Kaur Kristjuhan, Clara Ferreira Cores, Mark Nicholas Jones; Molecular Quantum Solutions (MQS) — Posted: 20 June 2023. Last updated: 20 June 2023.* - -.. warning:: - This demo currently does not work as the Qiskit Runtime VQE program has been retired. +*Authors: Kaur Kristjuhan, Clara Ferreira Cores, Mark Nicholas Jones; Molecular Quantum Solutions (MQS) — Posted: 20 June 2023. Last updated: 8 Aug 2024.* Bigger and better quantum computers are built every year. Instead of waiting for the perfect quantum computer to be released, we can already try out the best hardware that exists today. Experimenting on cutting-edge devices helps us @@ -26,7 +23,7 @@ platform. We will learn how to: * discover what kind of devices IBM offers; -* connect to IBM devices through Pennylane's device class; +* connect to IBM devices through PennyLane's device class; * use Qiskit Runtime to run hybrid algorithms; * compare different devices to improve our quantum algorithms. """ @@ -36,38 +33,41 @@ # ----------------- # IBM offers access to a variety of devices, both classical simulators and real quantum hardware. # By default, these devices are not included in PennyLane, but after installing the -# pennylane-qiskit plugin with the command ``pip install pennylane-qiskit``, they can be used just like any other device offered in PennyLane! -# Currently, there are three devices available — Aer, BasicAer and IBMQ — that can be initialized +# `PennyLane-Qiskit plugin `__ with the command ``pip install pennylane-qiskit``, +# they can be used just like any other device offered in PennyLane! +# Currently, there are three devices available — ``Aer``, ``BasicSim`` and ``Remote`` — that can be initialized # as follows: import pennylane as qml -import qiskit +from qiskit_aer import AerSimulator qubits = 4 dev_aer = qml.device("qiskit.aer", wires=qubits) -dev_basicaer = qml.device("qiskit.basicaer", wires=qubits) +dev_basicsim = qml.device("qiskit.basicsim", wires=qubits) try: - dev_ibmq = qml.device("qiskit.ibmq", wires=qubits) + dev_remote = qml.device("qiskit.remote", wires=qubits, backend=AerSimulator()) except Exception as e: print(e) ############################################################################## -# The last device (qiskit.ibmq) can cause an error if we don't provide a valid account -# token through Qiskit. The IBMQ device is used to access quantum hardware, so it also requires access to an IBMQ -# account, which can be specified using an identifying token. You can find your token by creating -# or logging into your `IBMQ account `__. Be careful not to -# publish code that reveals your token to other people! One way to avoid this is by saving your -# token in a `PennyLane configuration file `__. +# The last device (``qiskit.remote``) can cause an error if we don't provide a valid account +# token through Qiskit. The Remote device is used to access quantum hardware, so it also requires +# an IBM Quantum account, which can be specified using an identifying token. You can find your +# token by creating or logging into your `IBM Quantum account `__. +# Be careful not to publish code that reveals your token to other people! One way to avoid this +# is by saving your token in a `PennyLane configuration file `__. # To specify which machine or computational framework these devices actually connect to, we can # use the ``backend`` argument. -dev_aer = qml.device("qiskit.aer", wires=qubits, backend="aer_simulator_statevector") +dev_aer = qml.device("qiskit.aer", wires=qubits) ############################################################################## -# For the IBMQ device, different quantum computers can be used by changing the backend to the name -# of the specific quantum computer, such as ``'ibmq_manila'`` or ``'ibm_nairobi'``. To see which -# backends exist, we can call the ``capabilities`` function: +# For the Aer device, different quantum computers can be used by changing the backend to the name +# of the specific simulator method. To see which backends exist, we can call the +# ``capabilities`` function: -print(dev_aer.capabilities()["backend"]) +from qiskit_aer import Aer + +print(Aer.backends()) ############################################################################## # .. rst-class:: sphx-glr-script-out @@ -81,12 +81,12 @@ # 'qasm_simulator', 'statevector_simulator', 'unitary_simulator', 'pulse_simulator'] ############################################################################## -# You can find even more details about these devices directly from the IBMQ platform. You can find -# information about the size, topology, quantum volume and noise profile of all the devices that they -# have available. Currently, the smallest device has 5 qubits and the largest has 127. On the IBMQ -# platform you can also check which devices are free to use and whether any of them are temporarily -# unavailable. You can even check your active jobs and estimated time in the queue for any programs -# you execute. +# You can find even more details about these devices directly from the IBM Quantum platform. You can +# find information about the size, topology, quantum volume and noise profile of all the devices +# that they have available. Currently, the smallest device has 5 qubits and the largest has 127. On +# the IBM Quantum platform you can also check which devices are free to use and whether any of them +# are temporarily unavailable. You can even check your active jobs and estimated time in the queue +# for any programs you execute. ############################################################################## # Qiskit Runtime @@ -113,30 +113,30 @@ ############################################################################## # Using Qiskit Runtime # -------------------- -# The pennylane-qiskit plugin includes some tools to help create a Qiskit Runtime job. Since using -# Qiskit Runtime only makes sense when using real quantum hardware, we must again specify our IBMQ -# account details to run these jobs. +# The PennyLane-Qiskit plugin includes some tools to help create a Qiskit Runtime job. Since using +# Qiskit Runtime only makes sense when using real quantum hardware, we must again specify our IBM +# Quantum account details to run these jobs. # # First, we set up our problem as usual, and then retrieve a program ID from IBM, which gives us a -# place to upload our job +# place to upload our job: -from pennylane_qiskit import vqe_runner -from pennylane import qchem -from pennylane import numpy as np +from pennylane import numpy as pnp +from qiskit_ibm_runtime import QiskitRuntimeService -symbols = ["H", "H"] -coordinates = np.array([0.0, 0.0, -0.6614, 0.0, 0.0, 0.6614]) -basis_set = "sto-3g" -electrons = 2 +import pennylane as qml -H, qubits = qchem.molecular_hamiltonian( - symbols, - coordinates, - basis=basis_set, -) +# Obtaining the Hamiltonian for H2 from PennyLane QChem dataset +[dataset] = qml.data.load("qchem", molname="H2", bondlength=0.742, basis="STO-3G") +H = dataset.hamiltonian +qubits = 4 + +service = QiskitRuntimeService() +# Gets a 127 qubit device from IBM +backend = service.least_busy(n_qubits=127, simulator=False, operational=True) try: - dev = qml.device("qiskit.ibmq.circuit_runner", wires=4) + # Although we only need 4 qubits, our device has 127 qubits, therefore we initialize with wires=127 + dev = qml.device("qiskit.remote", wires=127, backend=backend) except Exception as e: print(e) @@ -149,7 +149,7 @@ # more parameters when the transpiler attempts to decompose a complicated gate, such as # :class:`~pennylane.AllSinglesDoubles`. These types of issues will likely be fixed in the future, but, when in doubt, # it is preferable to use simpler gates where possible. We will use a simple four-qubit circuit -# with one parameter that is designed specifically for the H2 molecule: +# with one parameter that is designed specifically for the :math:`H_2` molecule: def four_qubit_ansatz(theta): @@ -158,7 +158,7 @@ def four_qubit_ansatz(theta): qml.PauliX(wires=1) # change of basis - qml.RX(np.pi / 2, wires=0) + qml.RX(pnp.pi / 2, wires=0) qml.Hadamard(wires=1) qml.Hadamard(wires=2) qml.Hadamard(wires=3) @@ -174,51 +174,44 @@ def four_qubit_ansatz(theta): qml.CNOT(wires=[3, 2]) # invert change of basis - qml.RX(-np.pi / 2, wires=0) + qml.RX(-pnp.pi / 2, wires=0) qml.Hadamard(wires=1) qml.Hadamard(wires=2) qml.Hadamard(wires=3) + ############################################################################## -# Finally, we can run our example VQE algorithm, by using the ``vqe_runner`` function. It has many -# options that you can specify, such as the number of shots, the maximum number of iterations -# and the initial values of the parameters. +# Finally, we can run our example VQE algorithm. In order to query the quantum computer iteratively +# we need to initialize a `Qiskit Session `__, which +# allows multiple jobs from a single algorithm to be ran sequentially without interruptions. We +# also need to provide our VQE algorithm an optimizer. In this case, we will be using the :class:`~.pennylane.GradientDescentOptimizer`. -try: - job = vqe_runner( - backend="ibmq_qasm_simulator", - hamiltonian=H, - ansatz=four_qubit_ansatz, - x0=[0.0], - shots=8000, - optimizer="SPSA", - optimizer_config={"maxiter": 30}, - kwargs={"hub": "ibm-q", "group": "open", "project": "main"}, - ) - print(job.result()) +from pennylane_qiskit import qiskit_session -except Exception as e: - print(e) -############################################################################## -# .. rst-class:: sphx-glr-script-out -# -# -# .. code-block:: none -# -# {aux_operator_eigenvalues: None -# cost_function_evals: 60 -# eigenstate: {'0011': 0.10781929326423913, '1100': 0.9941705085145103} -# eigenvalue: (-1.1317596845378903+0j) -# optimal_parameters: None -# optimal_point: array([2.9219612]) -# optimal_value: -1.1317596845378903 -# optimizer_evals: None -# optimizer_time: 16.73882269859314} +@qml.qnode(dev) +def cost_fn(theta): + four_qubit_ansatz(theta) + return qml.expval(H) -############################################################################## -# The results are saved in the ``job`` variable in SciPy optimization format. You can also check the -# results produced by any IBM device by logging in to your IBMQ account. + +max_iterations = 40 +theta = pnp.array(0.0, requires_grad=True) +opt = qml.GradientDescentOptimizer(stepsize=0.4) +energies = [] + +with qiskit_session(dev) as session: + for n in range(max_iterations): + theta, prev_energy = opt.step_and_cost(cost_fn, theta) + energies.append(prev_energy) + +###################################################################### +# .. note :: +# +# This may take a long time depending on how busy the hardware is. Depending on the tier of +# your IBM plan, your session may also be interrupted before the optimization can finish. +# Luckily, the rest of the workflow demonstrates how to run VQE with a simulator instead, which +# has no such restrictions at all. ############################################################################## # Benchmarking @@ -236,7 +229,7 @@ def four_qubit_ansatz(theta): dev1 = qml.device("default.qubit", wires=4) shots = 8000 -dev2 = qml.device("qiskit.aer", wires=4, backend="aer_simulator", shots=shots) +dev2 = qml.device("qiskit.aer", wires=4, shots=shots) @qml.qnode(dev1) @@ -250,9 +243,11 @@ def cost_fn_2(theta): four_qubit_ansatz(theta) return qml.expval(H) + # we can also use the qnode to draw the circuit import matplotlib.pyplot as plt -qml.draw_mpl(cost_fn_1, decimals=2)(theta=1.) + +qml.draw_mpl(cost_fn_1, decimals=2)(theta=1.0) plt.show() ############################################################################## @@ -266,8 +261,8 @@ def cost_fn_2(theta): stepsize = 0.4 max_iterations = 40 opt = qml.GradientDescentOptimizer(stepsize=stepsize) -theta_1 = np.array(0., requires_grad=True) -theta_2 = np.array(0., requires_grad=True) +theta_1 = pnp.array(0.0, requires_grad=True) +theta_2 = pnp.array(0.0, requires_grad=True) energies_1 = [] energies_2 = [] for n in range(max_iterations): @@ -358,7 +353,7 @@ def cost_fn_2(theta): # topology and readout errors. # # This tutorial has demonstrated how and why to use quantum computing hardware provided by IBM using PennyLane. To read -# more about the details and possibilities of the Qiskit plugin for PennyLane, `read the documentation `__ +# more about the details and possibilities of the PennyLane-Qiskit plugin, `read the documentation `__. # # About the authors # ---------------- diff --git a/demonstrations/learning2learn.metadata.json b/demonstrations/learning2learn.metadata.json index 473b6a310f..65d1ffa6b8 100644 --- a/demonstrations/learning2learn.metadata.json +++ b/demonstrations/learning2learn.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2021-03-02T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_to_learn_quantum_neural.png" } ], "seoDescription": "Use a classical recurrent neural network to initilize the parameters of a variational quatum algorithm.", diff --git a/demonstrations/learning2learn.py b/demonstrations/learning2learn.py index 526f0c5fc7..48f169de55 100644 --- a/demonstrations/learning2learn.py +++ b/demonstrations/learning2learn.py @@ -372,7 +372,9 @@ def recurrent_loop(graph_cost, n_layers=1, intermediate_steps=False): # We perform five consecutive calls to 'rnn_iteration', thus creating the # recurrent loop. More iterations lead to better results, at the cost of # more computationally intensive simulations. - out0 = rnn_iteration([initial_cost, initial_params, initial_h, initial_c], graph_cost) + out0 = rnn_iteration( + [initial_cost, initial_params, initial_h, initial_c], graph_cost + ) out1 = rnn_iteration(out0, graph_cost) out2 = rnn_iteration(out1, graph_cost) out3 = rnn_iteration(out2, graph_cost) @@ -1027,7 +1029,9 @@ def call(self, inputs): _params = tf.reshape(new_params, shape=(2, self.qaoa_p)) # Cost evaluation, and reshaping to be consistent with other Keras tensors - new_cost = tf.reshape(tf.cast(self.expectation(_params), dtype=tf.float32), shape=(1, 1)) + new_cost = tf.reshape( + tf.cast(self.expectation(_params), dtype=tf.float32), shape=(1, 1) + ) return [new_cost, new_params, new_h, new_c] diff --git a/demonstrations/oqc_pulse.metadata.json b/demonstrations/oqc_pulse.metadata.json index c224e8e72f..37353fa36e 100644 --- a/demonstrations/oqc_pulse.metadata.json +++ b/demonstrations/oqc_pulse.metadata.json @@ -2,11 +2,11 @@ "title": "Pulse programming on OQC Lucy in PennyLane", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2023-10-30T00:00:00+00:00", - "dateOfLastModification": "2024-07-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_oqc_pulse.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_oqc_pulse.png" } ], "seoDescription": "Learn how to create polynomial approximations to functions using Quantum Signal Processing (QSP).", diff --git a/demonstrations/oqc_pulse.py b/demonstrations/oqc_pulse.py index 950f794a2a..aeb815b40a 100644 --- a/demonstrations/oqc_pulse.py +++ b/demonstrations/oqc_pulse.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Perform hardware-level pulse gates on superconducting qubits in PennyLane - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_intro_oqc_pulse.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_intro_oqc_pulse.png .. related:: ahs_aquila Pulse programming on Rydberg atom hardware diff --git a/demonstrations/plugins_hybrid.metadata.json b/demonstrations/plugins_hybrid.metadata.json index 8f61275e7a..5959f055c6 100644 --- a/demonstrations/plugins_hybrid.metadata.json +++ b/demonstrations/plugins_hybrid.metadata.json @@ -2,11 +2,11 @@ "title": "Plugins and hybrid computation", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_plugins_hybrid_computation.png" } ], "seoDescription": "This tutorial introduces the notion of hybrid computation by combining several PennyLane device backends to train an algorithm containing both photonic and qubit devices.", diff --git a/demonstrations/plugins_hybrid.py b/demonstrations/plugins_hybrid.py index 26af3f287e..e9dbf22414 100644 --- a/demonstrations/plugins_hybrid.py +++ b/demonstrations/plugins_hybrid.py @@ -8,7 +8,7 @@ :property="og:description": This tutorial introduces the notion of hybrid computation by combining several PennyLane device backends to train an algorithm containing both photonic and qubit devices. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//photon_redirection.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/photon_redirection.png .. related:: diff --git a/demonstrations/pytorch_noise.metadata.json b/demonstrations/pytorch_noise.metadata.json index 65885cd6e1..f5f868189d 100644 --- a/demonstrations/pytorch_noise.metadata.json +++ b/demonstrations/pytorch_noise.metadata.json @@ -2,11 +2,11 @@ "title": "PyTorch and noisy devices", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_PyTorch_noisy_devices.png" } ], "seoDescription": "Extend PyTorch with real quantum computing power, by using it to optimize a noisy quantum hardware device.", diff --git a/demonstrations/pytorch_noise.py b/demonstrations/pytorch_noise.py index 067c1c8c98..373db81aa0 100644 --- a/demonstrations/pytorch_noise.py +++ b/demonstrations/pytorch_noise.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Extend PyTorch with real quantum computing power, by using it to optimize a noisy quantum hardware device. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//bloch.gif + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/bloch.gif .. related:: diff --git a/demonstrations/qnspsa.metadata.json b/demonstrations/qnspsa.metadata.json index 2d9ef557e5..03ad2d3765 100644 --- a/demonstrations/qnspsa.metadata.json +++ b/demonstrations/qnspsa.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2022-07-18T00:00:00+00:00", - "dateOfLastModification": "2024-07-05T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_SPSA_optimizer.png" } ], "seoDescription": "Introduction to the Quantum natural SPSA optimizer, which reduces the number of quantum measurements in the optimization.", diff --git a/demonstrations/qnspsa.py b/demonstrations/qnspsa.py index e9f08a1f70..f1a9732e40 100644 --- a/demonstrations/qnspsa.py +++ b/demonstrations/qnspsa.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Introduction to the Quantum natural SPSA optimizer, which reduces the number of quantum measurements in the optimization. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qnspsa_cover.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qnspsa_cover.png .. related:: diff --git a/demonstrations/qonn.metadata.json b/demonstrations/qonn.metadata.json index 9d66313f39..c426d9de26 100644 --- a/demonstrations/qonn.metadata.json +++ b/demonstrations/qonn.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-08-05T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_quantum_optical_neural_network.png" } ], "seoDescription": "Optimizing a quantum optical neural network using PennyLane.", diff --git a/demonstrations/qonn.py b/demonstrations/qonn.py index 4b76151851..c8ddf26fd0 100644 --- a/demonstrations/qonn.py +++ b/demonstrations/qonn.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Optimizing a quantum optical neural network using PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qonn_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qonn_thumbnail.png .. related:: diff --git a/demonstrations/qrack.metadata.json b/demonstrations/qrack.metadata.json index c14c3070b0..c0978d5acb 100644 --- a/demonstrations/qrack.metadata.json +++ b/demonstrations/qrack.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2024-07-10T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-20T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,11 +14,11 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_qrack_catalyst_integration.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_qrack_catalyst_integration.png" } ], "seoDescription": "Quantum JIT compilation (QJIT) using the Qrack device for PennyLane and Catalyst, with GPU-acceleration and novel optimization.", diff --git a/demonstrations/qrack.py b/demonstrations/qrack.py index 29ca523cb0..c5e7968332 100644 --- a/demonstrations/qrack.py +++ b/demonstrations/qrack.py @@ -403,7 +403,7 @@ def circuit(): def validate(n): results = [] for device in ["qrack.simulator", "lightning.qubit"]: - dev = qml.device(device, n, shots=1) + dev = qml.device(device, n, shots=None) @qjit @qml.qnode(dev) diff --git a/demonstrations/qsim_beyond_classical.metadata.json b/demonstrations/qsim_beyond_classical.metadata.json index 01b3bed83c..4845991c0d 100644 --- a/demonstrations/qsim_beyond_classical.metadata.json +++ b/demonstrations/qsim_beyond_classical.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-11-30T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_beyond_classical_computing_QSM.png" } ], "seoDescription": "Use Google's qsim simulator to explore the barriers between quantum and classical computing, and recreate their benchmarks and circuits.", diff --git a/demonstrations/qsim_beyond_classical.py b/demonstrations/qsim_beyond_classical.py index 6340991f55..63338522fc 100644 --- a/demonstrations/qsim_beyond_classical.py +++ b/demonstrations/qsim_beyond_classical.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Use Google's qsim simulator to explore the barriers between quantum and classical computing, and recreate their benchmarks and circuits. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//sycamore.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/sycamore.png .. related:: diff --git a/demonstrations/quantum_neural_net.metadata.json b/demonstrations/quantum_neural_net.metadata.json index 9ffa93ca6b..6c67918628 100644 --- a/demonstrations/quantum_neural_net.metadata.json +++ b/demonstrations/quantum_neural_net.metadata.json @@ -2,11 +2,11 @@ "title": "Function fitting with a photonic quantum neural network", "authors": [ { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_function_fitting_photonic_quantum_neural.png" } ], "seoDescription": "Fit to noisy data with a variational quantum circuit.", diff --git a/demonstrations/quantum_neural_net.py b/demonstrations/quantum_neural_net.py index 1335302cd9..d401802783 100644 --- a/demonstrations/quantum_neural_net.py +++ b/demonstrations/quantum_neural_net.py @@ -9,7 +9,7 @@ .. meta:: :property="og:description": Fit to noisy data with a variational quantum circuit. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qnn_output_28_0.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qnn_output_28_0.png .. related:: diff --git a/demonstrations/quantum_volume.metadata.json b/demonstrations/quantum_volume.metadata.json index 38b4d3e69f..7158669f03 100644 --- a/demonstrations/quantum_volume.metadata.json +++ b/demonstrations/quantum_volume.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-12-15T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_volume.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_volume.png" } ], "seoDescription": "Learn about quantum volume, and how to compute it.", diff --git a/demonstrations/quantum_volume.py b/demonstrations/quantum_volume.py index 5aa7a982eb..34d711a5e7 100644 --- a/demonstrations/quantum_volume.py +++ b/demonstrations/quantum_volume.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Learn about quantum volume, and how to compute it. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//quantum_volume_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/quantum_volume_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_JAXopt.metadata.json b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_JAXopt.metadata.json index 6227544071..015aee733d 100644 --- a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_JAXopt.metadata.json +++ b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_JAXopt.metadata.json @@ -2,27 +2,28 @@ "title": "How to optimize a QML model using JAX and JAXopt", "authors": [ { - "id": "josh_izaac" + "username": "josh" }, { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2024-01-18T00:00:00+00:00", - "dateOfLastModification": "2024-01-18T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning", - "Optimization" + "Optimization", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_JAXopt_2024-01-16.png" } ], "seoDescription": "Learn how to train a quantum machine learning model using PennyLane, JAX, and JAXopt.", diff --git a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_Optax.metadata.json b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_Optax.metadata.json index 75a0f251b4..ec31611a56 100644 --- a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_Optax.metadata.json +++ b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_and_Optax.metadata.json @@ -2,27 +2,28 @@ "title": "How to optimize a QML model using JAX and Optax", "authors": [ { - "id": "josh_izaac" + "username": "josh" }, { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2024-01-18T00:00:00+00:00", - "dateOfLastModification": "2024-03-08T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning", - "Optimization" + "Optimization", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_How_to_optimize_QML_model_using_JAX_and_Optax_2024-01-16.png" } ], "seoDescription": "Learn how to train a quantum machine learning model using PennyLane, JAX, and Optax.", diff --git a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.metadata.json b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.metadata.json index ef7464347a..3a913bf120 100644 --- a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.metadata.json +++ b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.metadata.json @@ -2,24 +2,25 @@ "title": "How to optimize a QML model using Catalyst and quantum just-in-time (QJIT) compilation", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2024-04-26T00:00:00+00:00", - "dateOfLastModification": "2024-04-26T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning", - "Optimization" + "Optimization", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-optimize-qjit-optax.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-optimize-qjit-optax.png" } ], "seoDescription": "Learn how to train a quantum machine learning model using PennyLane, JAX, Catalyst, and Optax.", diff --git a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.py b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.py index 5772265815..a5ec3d500b 100644 --- a/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.py +++ b/demonstrations/tutorial_How_to_optimize_QML_model_using_JAX_catalyst_and_Optax.py @@ -13,7 +13,7 @@ model which has been quantum just-in-time compiled using the :func:`~.pennylane.qjit` decorator and `Catalyst `__. -.. figure:: ../_static/demonstration_assets/how_to_optimize_qjit_optax/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-optimize-qjit-optax_2024-04-23.png :align: center :width: 60% :target: javascript:void(0) diff --git a/demonstrations/tutorial_How_to_simulate_quantum_circuits_with_tensor_networks.metadata.json b/demonstrations/tutorial_How_to_simulate_quantum_circuits_with_tensor_networks.metadata.json index 7ae6b71e75..58d598dd88 100644 --- a/demonstrations/tutorial_How_to_simulate_quantum_circuits_with_tensor_networks.metadata.json +++ b/demonstrations/tutorial_How_to_simulate_quantum_circuits_with_tensor_networks.metadata.json @@ -2,15 +2,16 @@ "title": "How to simulate quantum circuits with tensor networks using DefaultTensor", "authors": [ { - "id": "pietropaolo_frisoni" + "username": "Frisus95" } ], "dateOfPublication": "2024-07-09T00:00:00+00:00", - "dateOfLastModification": "2024-07-09T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started", "Quantum Computing", - "Devices and Performance" + "Devices and Performance", + "How-to" ], "tags": [ "how to" @@ -18,11 +19,11 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_default_tensor.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_default_tensor.png" } ], "seoDescription": "Learn how to simulate quantum circuits with tensor networks using the default.tensor PennyLane device.", diff --git a/demonstrations/tutorial_QGAN.metadata.json b/demonstrations/tutorial_QGAN.metadata.json index 446fa6e78b..60e966f15f 100644 --- a/demonstrations/tutorial_QGAN.metadata.json +++ b/demonstrations/tutorial_QGAN.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum generative adversarial networks with Cirq + TensorFlow", "authors": [ { - "id": "nathan_killoran" + "username": "co9olguy" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_generative_adversarial_networks.png" } ], "seoDescription": "This demo constructs and trains a Quantum Generative Adversarial Network (QGAN) using PennyLane, Cirq, and TensorFlow.", diff --git a/demonstrations/tutorial_QGAN.py b/demonstrations/tutorial_QGAN.py index d4eece2580..c26e53e245 100644 --- a/demonstrations/tutorial_QGAN.py +++ b/demonstrations/tutorial_QGAN.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": This demo constructs and trains a Quantum Generative Adversarial Network (QGAN) using PennyLane, Cirq, and TensorFlow. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qgan3.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qgan3.png *Author: Nathan Killoran — Posted: 11 October 2019. Last updated: 30 January 2023.* diff --git a/demonstrations/tutorial_QUBO.metadata.json b/demonstrations/tutorial_QUBO.metadata.json index d7a163101a..3c65c09cb1 100644 --- a/demonstrations/tutorial_QUBO.metadata.json +++ b/demonstrations/tutorial_QUBO.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2024-02-29T00:00:00+00:00", - "dateOfLastModification": "2024-02-29T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuBO_2024-02-06.png" } ], "seoDescription": "Learn how to solve a QUBO problem in a quantum computer.", diff --git a/demonstrations/tutorial_adaptive_circuits.metadata.json b/demonstrations/tutorial_adaptive_circuits.metadata.json index 2a995b5d0b..a199402a12 100644 --- a/demonstrations/tutorial_adaptive_circuits.metadata.json +++ b/demonstrations/tutorial_adaptive_circuits.metadata.json @@ -2,11 +2,11 @@ "title": "Adaptive circuits for quantum chemistry", "authors": [ { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2021-09-13T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_adaptive_circuits_new.png" } ], "seoDescription": "Learn how to build quantum chemistry circuits adaptively.", diff --git a/demonstrations/tutorial_adaptive_circuits.py b/demonstrations/tutorial_adaptive_circuits.py index a7992f8094..f8d268d608 100644 --- a/demonstrations/tutorial_adaptive_circuits.py +++ b/demonstrations/tutorial_adaptive_circuits.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to build quantum chemistry circuits adaptively - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_adaptive_circuits.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_adaptive_circuits.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_adjoint_diff.metadata.json b/demonstrations/tutorial_adjoint_diff.metadata.json index 920349f9eb..441f91b3dd 100644 --- a/demonstrations/tutorial_adjoint_diff.metadata.json +++ b/demonstrations/tutorial_adjoint_diff.metadata.json @@ -2,11 +2,11 @@ "title": "Adjoint Differentiation", "authors": [ { - "id": "christina_lee" + "username": "christina" } ], "dateOfPublication": "2021-11-23T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png" } ], "seoDescription": "Learn how to use the adjoint method to compute gradients of quantum circuits.", diff --git a/demonstrations/tutorial_adjoint_diff.py b/demonstrations/tutorial_adjoint_diff.py index 58e89dc41e..8266c6bc65 100644 --- a/demonstrations/tutorial_adjoint_diff.py +++ b/demonstrations/tutorial_adjoint_diff.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Learn how to use the adjoint method to compute gradients of quantum circuits." - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//icon.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/icon.png .. related:: diff --git a/demonstrations/tutorial_apply_qsvt.metadata.json b/demonstrations/tutorial_apply_qsvt.metadata.json index 656d08d43f..5b7fe315bb 100644 --- a/demonstrations/tutorial_apply_qsvt.metadata.json +++ b/demonstrations/tutorial_apply_qsvt.metadata.json @@ -2,14 +2,14 @@ "title": "QSVT in Practice", "authors": [ { - "id": "jay_soni" + "username": "Jay" }, { "id": "jarrett_smalley" } ], "dateOfPublication": "2023-08-22T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Algorithms", @@ -23,7 +23,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QSVT_for_Matrix_Inversion.png" } ], "seoDescription": "Applying QSVT for matrix inversion", diff --git a/demonstrations/tutorial_apply_qsvt.py b/demonstrations/tutorial_apply_qsvt.py index 3221b4952d..e4916daf0e 100644 --- a/demonstrations/tutorial_apply_qsvt.py +++ b/demonstrations/tutorial_apply_qsvt.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Quantum Singular Value Transformation algorithm - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_intro_qsvt.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_intro_qsvt.png .. related:: diff --git a/demonstrations/tutorial_backprop.metadata.json b/demonstrations/tutorial_backprop.metadata.json index 0f2a69f94b..b472049cb5 100644 --- a/demonstrations/tutorial_backprop.metadata.json +++ b/demonstrations/tutorial_backprop.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum gradients with backpropagation", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2020-08-11T00:00:00+00:00", - "dateOfLastModification": "2024-03-07T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_gradients_backpropagation.png" } ], "seoDescription": "Using backpropagation can speed up training of quantum circuits compared to the parameter-shift rule—if you are using a simulator.", diff --git a/demonstrations/tutorial_backprop.py b/demonstrations/tutorial_backprop.py index cc15525c53..becc9b8280 100644 --- a/demonstrations/tutorial_backprop.py +++ b/demonstrations/tutorial_backprop.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Using backpropagation can speed up training of quantum circuits compared to the parameter-shift rule—if you are using a simulator. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//sphx_glr_tutorial_backprop_002.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/sphx_glr_tutorial_backprop_002.png .. related:: diff --git a/demonstrations/tutorial_barren_gadgets.metadata.json b/demonstrations/tutorial_barren_gadgets.metadata.json index c231f65b9d..938304b74b 100644 --- a/demonstrations/tutorial_barren_gadgets.metadata.json +++ b/demonstrations/tutorial_barren_gadgets.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2022-12-09T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_perturbative_gadget.png" } ], "seoDescription": "Use perturbative gadgets to avoid cost-function-dependent barren plateaus.", diff --git a/demonstrations/tutorial_barren_gadgets.py b/demonstrations/tutorial_barren_gadgets.py index accbf58c0b..f4aedc8703 100644 --- a/demonstrations/tutorial_barren_gadgets.py +++ b/demonstrations/tutorial_barren_gadgets.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Use perturbative gadgets to avoid cost-function-dependent barren plateaus - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_barren_gadgets.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_barren_gadgets.png .. related:: diff --git a/demonstrations/tutorial_barren_plateaus.metadata.json b/demonstrations/tutorial_barren_plateaus.metadata.json index 8e79c898ed..3238857ebb 100644 --- a/demonstrations/tutorial_barren_plateaus.metadata.json +++ b/demonstrations/tutorial_barren_plateaus.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_barren_plateaus_QNW.png" } ], "seoDescription": "Showing how randomized quantum circuits face the problem of barren plateaus using PennyLane. We will partly reproduce some of the findings in McClean et. al., 2018 with just a few lines of code.", diff --git a/demonstrations/tutorial_barren_plateaus.py b/demonstrations/tutorial_barren_plateaus.py index 577902f4d5..1d501e6714 100644 --- a/demonstrations/tutorial_barren_plateaus.py +++ b/demonstrations/tutorial_barren_plateaus.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Showing how randomized quantum circuits face the problem of barren plateaus using PennyLane. We will partly reproduce some of the findings in McClean et. al., 2018 with just a few lines of code. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//surface.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/surface.png .. related:: diff --git a/demonstrations/tutorial_block_encoding.metadata.json b/demonstrations/tutorial_block_encoding.metadata.json index fbcacddd7d..065fc1d25d 100644 --- a/demonstrations/tutorial_block_encoding.metadata.json +++ b/demonstrations/tutorial_block_encoding.metadata.json @@ -2,17 +2,17 @@ "title": "Block Encodings", "authors": [ { - "id": "jay_soni" + "username": "Jay" }, { - "id": "diego_guala" + "username": "Diego" }, { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2023-11-28T00:00:00+00:00", - "dateOfLastModification": "2024-04-26T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Algorithms" @@ -25,7 +25,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Block_Encodings_Matrix_Oracle.png" } ], "seoDescription": "Learn about methods to achieve block-encoding for a given matrix.", diff --git a/demonstrations/tutorial_chemical_reactions.metadata.json b/demonstrations/tutorial_chemical_reactions.metadata.json index 5d42c23e44..3b48276428 100644 --- a/demonstrations/tutorial_chemical_reactions.metadata.json +++ b/demonstrations/tutorial_chemical_reactions.metadata.json @@ -5,11 +5,11 @@ "id": "varun_rishi" }, { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2021-07-23T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modelling_chemical_reactions_QC.png" } ], "seoDescription": "Construct potential energy surfaces for chemical reactions", diff --git a/demonstrations/tutorial_chemical_reactions.py b/demonstrations/tutorial_chemical_reactions.py index 3efeb7b049..1d69bd6196 100644 --- a/demonstrations/tutorial_chemical_reactions.py +++ b/demonstrations/tutorial_chemical_reactions.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Construct potential energy surfaces for chemical reactions - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//reaction.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/reaction.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_circuit_compilation.metadata.json b/demonstrations/tutorial_circuit_compilation.metadata.json index 2f64010bd9..e370150a6e 100644 --- a/demonstrations/tutorial_circuit_compilation.metadata.json +++ b/demonstrations/tutorial_circuit_compilation.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-06-14T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", "Devices and Performance" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_circuit_compilation.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_circuit_compilation.png" } ], "seoDescription": "Learn about circuit transformations and quantum circuit compilation with PennyLane", diff --git a/demonstrations/tutorial_circuit_compilation.py b/demonstrations/tutorial_circuit_compilation.py index 3f0c2868da..ab98ab46f1 100644 --- a/demonstrations/tutorial_circuit_compilation.py +++ b/demonstrations/tutorial_circuit_compilation.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Learn about circuit transformations and quantum circuit compilation with PennyLane - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_circuit_compilation.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_circuit_compilation.png .. related:: diff --git a/demonstrations/tutorial_classical_kernels.metadata.json b/demonstrations/tutorial_classical_kernels.metadata.json index 3a954e591f..ecd8bdb145 100644 --- a/demonstrations/tutorial_classical_kernels.metadata.json +++ b/demonstrations/tutorial_classical_kernels.metadata.json @@ -1,12 +1,12 @@ { - "title": "How to approximate a classical kernel with a quantum computer", + "title": "Approximating a classical kernel with a quantum computer", "authors": [ { "id": "elies_gil-fuster" } ], "dateOfPublication": "2022-03-01T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,10 +14,10 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_approximate_classical_kernal.png" } ], - "seoDescription": "Finding a QK to approximate the Gaussian kernel.", + "seoDescription": "Finding a quantum kernel to approximate the Gaussian kernel.", "doi": "", "canonicalURL": "/qml/demos/tutorial_classical_kernels", "references": [ diff --git a/demonstrations/tutorial_classical_kernels.py b/demonstrations/tutorial_classical_kernels.py index 5033b026d1..42b98c6d67 100644 --- a/demonstrations/tutorial_classical_kernels.py +++ b/demonstrations/tutorial_classical_kernels.py @@ -2,12 +2,12 @@ .. _classical_kernels: -How to approximate a classical kernel with a quantum computer +Approximating a classical kernel with a quantum computer ============================================================= .. meta:: :property="og:description": Finding a QK to approximate the Gaussian kernel. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//toy_qek.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/toy_qek.png .. related:: diff --git a/demonstrations/tutorial_classical_shadows.metadata.json b/demonstrations/tutorial_classical_shadows.metadata.json index 535c386244..00b0a6f220 100644 --- a/demonstrations/tutorial_classical_shadows.metadata.json +++ b/demonstrations/tutorial_classical_shadows.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2021-06-14T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Algorithms" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_classical_shadows.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classical_shadows.png" } ], "seoDescription": "Learn how to construct classical shadows and use them to estimate observables.", diff --git a/demonstrations/tutorial_classical_shadows.py b/demonstrations/tutorial_classical_shadows.py index c94899b107..1441f693a0 100644 --- a/demonstrations/tutorial_classical_shadows.py +++ b/demonstrations/tutorial_classical_shadows.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to construct classical shadows and use them to estimate observables. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//atom_shadow.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/atom_shadow.png .. related:: diff --git a/demonstrations/tutorial_classically_boosted_vqe.metadata.json b/demonstrations/tutorial_classically_boosted_vqe.metadata.json index 8592187187..e5be1d85d1 100644 --- a/demonstrations/tutorial_classically_boosted_vqe.metadata.json +++ b/demonstrations/tutorial_classically_boosted_vqe.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2022-10-31T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_classically-boosted_VQE.png" } ], "seoDescription": "Learn how to implement classically-boosted VQE in PennyLane.", diff --git a/demonstrations/tutorial_classically_boosted_vqe.py b/demonstrations/tutorial_classically_boosted_vqe.py index 1e18309052..a26d4de46e 100644 --- a/demonstrations/tutorial_classically_boosted_vqe.py +++ b/demonstrations/tutorial_classically_boosted_vqe.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to implement classically-boosted VQE in PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//CB_VQE.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/CB_VQE.png .. related:: diff --git a/demonstrations/tutorial_clifford_circuit_simulations.metadata.json b/demonstrations/tutorial_clifford_circuit_simulations.metadata.json index a296d0fe3a..ad7b21d2e5 100644 --- a/demonstrations/tutorial_clifford_circuit_simulations.metadata.json +++ b/demonstrations/tutorial_clifford_circuit_simulations.metadata.json @@ -2,11 +2,11 @@ "title": "Efficient Simulation of Clifford Circuits", "authors": [ { - "id": "utkarsh_azad" + "username": "whatsis" } ], "dateOfPublication": "2024-04-12T00:00:00+00:00", - "dateOfLastModification": "2024-04-12T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_clifford_circuit_simulations.png" } ], "seoDescription": "Perform efficient simulations for Clifford circuits.", diff --git a/demonstrations/tutorial_coherent_vqls.metadata.json b/demonstrations/tutorial_coherent_vqls.metadata.json index 128ac406df..655f8974b9 100644 --- a/demonstrations/tutorial_coherent_vqls.metadata.json +++ b/demonstrations/tutorial_coherent_vqls.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-11-06T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_coherent_variational_quantum_learner_solver.png" } ], "seoDescription": "This demonstration extends the variational quantum linear solver to solve linear equations defined by a probabilistic coherent operation.", diff --git a/demonstrations/tutorial_coherent_vqls.py b/demonstrations/tutorial_coherent_vqls.py index 07a1ef63cd..d3e6c74cae 100644 --- a/demonstrations/tutorial_coherent_vqls.py +++ b/demonstrations/tutorial_coherent_vqls.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": This demonstration extends the variational quantum linear solver to solve linear equations defined by a probabilistic coherent operation. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//cvqls_zoom.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/cvqls_zoom.png .. related:: diff --git a/demonstrations/tutorial_contextuality.metadata.json b/demonstrations/tutorial_contextuality.metadata.json index e0ad7e122f..2432fce583 100644 --- a/demonstrations/tutorial_contextuality.metadata.json +++ b/demonstrations/tutorial_contextuality.metadata.json @@ -2,11 +2,11 @@ "title": "Contextuality and inductive bias in QML", "authors": [ { - "id": "joseph_bowles" + "username": "josephbowles" } ], "dateOfPublication": "2023-09-06T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_Contextuality.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Contextuality.png" } ], "seoDescription": "Train a problem-inspired ansatz on a contextuality-inspired dataset.", diff --git a/demonstrations/tutorial_contextuality.py b/demonstrations/tutorial_contextuality.py index e0a998677e..c526c65dbc 100644 --- a/demonstrations/tutorial_contextuality.py +++ b/demonstrations/tutorial_contextuality.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Train a tailored quantum model on a contextuality-inspired dataset - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//contextuality_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/contextuality_thumbnail.png .. related:: tutorial_geometric_qml diff --git a/demonstrations/tutorial_data_reuploading_classifier.metadata.json b/demonstrations/tutorial_data_reuploading_classifier.metadata.json index bdcc475d08..7b53e58533 100644 --- a/demonstrations/tutorial_data_reuploading_classifier.metadata.json +++ b/demonstrations/tutorial_data_reuploading_classifier.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_data-reuploading_classified.png" } ], "seoDescription": "Implement a single-qubit universal quantum classifier using PennyLane.", diff --git a/demonstrations/tutorial_data_reuploading_classifier.py b/demonstrations/tutorial_data_reuploading_classifier.py index bc0ab39d54..46c2439ecb 100644 --- a/demonstrations/tutorial_data_reuploading_classifier.py +++ b/demonstrations/tutorial_data_reuploading_classifier.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Implement a single-qubit universal quantum classifier using PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//universal_dnn1.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/universal_dnn1.png .. related:: diff --git a/demonstrations/tutorial_diffable-mitigation.metadata.json b/demonstrations/tutorial_diffable-mitigation.metadata.json index 49ac2e5c8b..0476f6ba1c 100644 --- a/demonstrations/tutorial_diffable-mitigation.metadata.json +++ b/demonstrations/tutorial_diffable-mitigation.metadata.json @@ -2,11 +2,11 @@ "title": "Differentiating quantum error mitigation transforms", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2022-08-22T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiating_quantum_error_mitigation_transforms.png" } ], "seoDescription": "Differentiable error mitigation", diff --git a/demonstrations/tutorial_diffable-mitigation.py b/demonstrations/tutorial_diffable-mitigation.py index 71ff9c2ecc..1455a98ceb 100644 --- a/demonstrations/tutorial_diffable-mitigation.py +++ b/demonstrations/tutorial_diffable-mitigation.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Differentiable error mitigation - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//diffable_mitigation_thumb.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/diffable_mitigation_thumb.png .. related:: diff --git a/demonstrations/tutorial_diffable_shadows.metadata.json b/demonstrations/tutorial_diffable_shadows.metadata.json index 4a6d90475d..2fb2153897 100644 --- a/demonstrations/tutorial_diffable_shadows.metadata.json +++ b/demonstrations/tutorial_diffable_shadows.metadata.json @@ -2,11 +2,11 @@ "title": "Estimating observables with classical shadows in the Pauli basis", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2022-10-07T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_estimating_observables_classical_shadows_Pauli_Basis.png" } ], "seoDescription": "Classical shadows in the Pauli basis", diff --git a/demonstrations/tutorial_diffable_shadows.py b/demonstrations/tutorial_diffable_shadows.py index e4ad5e2bfb..338fd294f0 100644 --- a/demonstrations/tutorial_diffable_shadows.py +++ b/demonstrations/tutorial_diffable_shadows.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Classical shadows in the Pauli basis - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//pauli_shadows.jpg + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/pauli_shadows.jpg .. related:: diff --git a/demonstrations/tutorial_differentiable_HF.metadata.json b/demonstrations/tutorial_differentiable_HF.metadata.json index 68c58c88f6..b904496e72 100644 --- a/demonstrations/tutorial_differentiable_HF.metadata.json +++ b/demonstrations/tutorial_differentiable_HF.metadata.json @@ -2,11 +2,11 @@ "title": "Differentiable Hartree-Fock", "authors": [ { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2022-05-09T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_differentiable_Hartree-Fock.png" } ], "seoDescription": "Learn how to use the differentiable Hartree-Fock solver", diff --git a/demonstrations/tutorial_differentiable_HF.py b/demonstrations/tutorial_differentiable_HF.py index 47948a088b..ab2388756d 100644 --- a/demonstrations/tutorial_differentiable_HF.py +++ b/demonstrations/tutorial_differentiable_HF.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to use the differentiable Hartree-Fock solver - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//differentiable_HF.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/differentiable_HF.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_doubly_stochastic.metadata.json b/demonstrations/tutorial_doubly_stochastic.metadata.json index e8170bcdd0..cecbb7b58f 100644 --- a/demonstrations/tutorial_doubly_stochastic.metadata.json +++ b/demonstrations/tutorial_doubly_stochastic.metadata.json @@ -2,11 +2,11 @@ "title": "Doubly stochastic gradient descent", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-16T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_doubly_stochastic_gradient_descent.png" } ], "seoDescription": "Minimize a Hamiltonian via an adaptive shot optimization strategy with doubly stochastic gradient descent.", diff --git a/demonstrations/tutorial_doubly_stochastic.py b/demonstrations/tutorial_doubly_stochastic.py index 223c0bb52f..0c7a777fc8 100644 --- a/demonstrations/tutorial_doubly_stochastic.py +++ b/demonstrations/tutorial_doubly_stochastic.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Minimize a Hamiltonian via an adaptive shot optimization strategy with doubly stochastic gradient descent. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//single_shot.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/single_shot.png .. related:: diff --git a/demonstrations/tutorial_eqnn_force_field.metadata.json b/demonstrations/tutorial_eqnn_force_field.metadata.json index 958297a51c..44918530de 100644 --- a/demonstrations/tutorial_eqnn_force_field.metadata.json +++ b/demonstrations/tutorial_eqnn_force_field.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2024-03-12T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning", "Quantum Chemistry" @@ -22,7 +22,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_EQNNforceField_2024-03-07.png" } ], "seoDescription": "What is equivariant quantum machine learning for chemistry?", diff --git a/demonstrations/tutorial_equivariant_graph_embedding.metadata.json b/demonstrations/tutorial_equivariant_graph_embedding.metadata.json index ad3a5f9bd0..3d2ac4bbfb 100644 --- a/demonstrations/tutorial_equivariant_graph_embedding.metadata.json +++ b/demonstrations/tutorial_equivariant_graph_embedding.metadata.json @@ -2,11 +2,11 @@ "title": "An equivariant graph embedding", "authors": [ { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2023-07-13T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_equivariant_graph_embedding.png" } ], "seoDescription": "Find out more about how to embedd graphs into quantum states.", diff --git a/demonstrations/tutorial_equivariant_graph_embedding.py b/demonstrations/tutorial_equivariant_graph_embedding.py index 0d2df8e9ab..c511213421 100644 --- a/demonstrations/tutorial_equivariant_graph_embedding.py +++ b/demonstrations/tutorial_equivariant_graph_embedding.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Find out more about how to embedd graphs into quantum states. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_equivariant_graph_embedding.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_equivariant_graph_embedding.png .. related:: tutorial_geometric_qml Geometric quantum machine learning diff --git a/demonstrations/tutorial_error_mitigation.metadata.json b/demonstrations/tutorial_error_mitigation.metadata.json index 65f3d0a131..90b25af2a0 100644 --- a/demonstrations/tutorial_error_mitigation.metadata.json +++ b/demonstrations/tutorial_error_mitigation.metadata.json @@ -2,7 +2,7 @@ "title": "Error mitigation with Mitiq and PennyLane", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" }, { "id": "andrea_mari" @@ -18,7 +18,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_error_mitigation_Mitiq_PL.png" } ], "seoDescription": "Learn how to mitigate quantum circuits using Mitiq and PennyLane.", diff --git a/demonstrations/tutorial_error_mitigation.py b/demonstrations/tutorial_error_mitigation.py index 6e40795f35..6e3ee9d32e 100644 --- a/demonstrations/tutorial_error_mitigation.py +++ b/demonstrations/tutorial_error_mitigation.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to mitigate quantum circuits using Mitiq and PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//laptop.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/laptop.png .. related:: @@ -153,7 +153,9 @@ def circuit(w1, w2): extrapolate = RichardsonFactory.extrapolate scale_factors = [1, 2, 3] -mitigated_qnode = mitigate_with_zne(noisy_qnode, scale_factors, fold_global, extrapolate) +mitigated_qnode = mitigate_with_zne( + noisy_qnode, scale_factors, fold_global, extrapolate +) mitigated_qnode(w1, w2) ############################################################################## @@ -261,7 +263,9 @@ def executor(circuits, dev=dev_noisy): # Loop through circuits and add on measurement for c in circuits: - circuit_with_meas = qml.tape.QuantumTape(c.operations, [qml.expval(qml.PauliZ(0))]) + circuit_with_meas = qml.tape.QuantumTape( + c.operations, [qml.expval(qml.PauliZ(0))] + ) circuits_with_meas.append(circuit_with_meas) return qml.execute(circuits_with_meas, dev, gradient_fn=None) @@ -370,7 +374,11 @@ def executor(circuits, dev=dev_noisy): # circuits are all folded with a scale factor of :math:`s=1.1`: for _ in range(3): - print(qml.drawer.tape_text(folding(circuit, scale_factor=1.1), decimals=2, max_length=80)) + print( + qml.drawer.tape_text( + folding(circuit, scale_factor=1.1), decimals=2, max_length=80 + ) + ) ############################################################################## # To accommodate for this randomness, we can perform multiple repetitions of random folding for a diff --git a/demonstrations/tutorial_error_prop.metadata.json b/demonstrations/tutorial_error_prop.metadata.json index e55b8470d0..8241e2f545 100644 --- a/demonstrations/tutorial_error_prop.metadata.json +++ b/demonstrations/tutorial_error_prop.metadata.json @@ -2,14 +2,15 @@ "title": "How to track algorithmic error using PennyLane", "authors": [ { - "id": "jay_soni" + "username": "Jay" } ], "dateOfPublication": "2024-05-03T00:00:00+00:00", - "dateOfLastModification": "2024-05-03T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", - "Quantum Computing" + "Quantum Computing", + "How-to" ], "tags": [], "previewImages": [ @@ -19,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_error-prop_2024-05-01.png" } ], "seoDescription": "Learn how to propagate error through quantum circuits.", diff --git a/demonstrations/tutorial_error_prop.py b/demonstrations/tutorial_error_prop.py index 719fd5cf41..356654e992 100644 --- a/demonstrations/tutorial_error_prop.py +++ b/demonstrations/tutorial_error_prop.py @@ -16,7 +16,7 @@ hand due to the variety of error metrics and the specific handling of such errors for each subroutine. In this demo, we present the latest tools in PennyLane which **automatically** track algorithmic error. -.. figure:: ../_static/demonstration_assets/error_prop/OGthumbnail_large_error-prop_2024-05-01.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_error-prop_2024-05-01.png :align: center :width: 50% :target: javascript:void(0) diff --git a/demonstrations/tutorial_expressivity_fourier_series.metadata.json b/demonstrations/tutorial_expressivity_fourier_series.metadata.json index a80e3c6fbf..2e408c2f3f 100644 --- a/demonstrations/tutorial_expressivity_fourier_series.metadata.json +++ b/demonstrations/tutorial_expressivity_fourier_series.metadata.json @@ -2,14 +2,14 @@ "title": "Quantum models as Fourier series", "authors": [ { - "id": "maria_schuld" + "username": "mariaschuld" }, { "id": "johannes_jakob_meyer" } ], "dateOfPublication": "2020-08-24T00:00:00+00:00", - "dateOfLastModification": "2024-07-22T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_models_as_fourier_series.png" } ], "seoDescription": "The class of functions a quantum model can learn is characterized by the structure of its corresponding Fourier series.", diff --git a/demonstrations/tutorial_expressivity_fourier_series.py b/demonstrations/tutorial_expressivity_fourier_series.py index e03be6ca1f..0cf02b5e22 100644 --- a/demonstrations/tutorial_expressivity_fourier_series.py +++ b/demonstrations/tutorial_expressivity_fourier_series.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": The class of functions a quantum model can learn is characterized by the structure of its corresponding Fourier series. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//scheme.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/scheme.png .. related:: diff --git a/demonstrations/tutorial_falqon.metadata.json b/demonstrations/tutorial_falqon.metadata.json index 30afc30771..1f024c6549 100644 --- a/demonstrations/tutorial_falqon.metadata.json +++ b/demonstrations/tutorial_falqon.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2021-05-21T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_FALQON.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_FALQON.png" } ], "seoDescription": "Solve combinatorial optimization problems without a classical optimizer", diff --git a/demonstrations/tutorial_falqon.py b/demonstrations/tutorial_falqon.py index 43a14753b4..dd5bb2b93f 100644 --- a/demonstrations/tutorial_falqon.py +++ b/demonstrations/tutorial_falqon.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Solve combinatorial optimization problems without a classical optimizer - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//falqon_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/falqon_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_fermionic_operators.metadata.json b/demonstrations/tutorial_fermionic_operators.metadata.json index b8d002accf..8e2b777563 100644 --- a/demonstrations/tutorial_fermionic_operators.metadata.json +++ b/demonstrations/tutorial_fermionic_operators.metadata.json @@ -2,11 +2,11 @@ "title": "Fermionic operators", "authors": [ { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2023-06-27T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_fermionic_operators.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_fermionic_operators.png" }, { "type": "hero_image", diff --git a/demonstrations/tutorial_fermionic_operators.py b/demonstrations/tutorial_fermionic_operators.py index 1b61512482..ad4aff44eb 100644 --- a/demonstrations/tutorial_fermionic_operators.py +++ b/demonstrations/tutorial_fermionic_operators.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to work with fermionic operators - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_fermionic_operators.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_fermionic_operators.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_gaussian_transformation.metadata.json b/demonstrations/tutorial_gaussian_transformation.metadata.json index 975cbe8393..b5de2b3f3a 100644 --- a/demonstrations/tutorial_gaussian_transformation.metadata.json +++ b/demonstrations/tutorial_gaussian_transformation.metadata.json @@ -2,11 +2,11 @@ "title": "Gaussian transformation", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_gaussian_transformation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_gaussian_transformation.png" } ], "seoDescription": "Use quantum machine learning techniques to tune a beamsplitter.", diff --git a/demonstrations/tutorial_gaussian_transformation.py b/demonstrations/tutorial_gaussian_transformation.py index 39176862f9..4870d4a27f 100644 --- a/demonstrations/tutorial_gaussian_transformation.py +++ b/demonstrations/tutorial_gaussian_transformation.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Use quantum machine learning techniques to tune a beamsplitter. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//gauss-circuit.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/gauss-circuit.png .. related:: plugins_hybrid Plugins and Hybrid computation diff --git a/demonstrations/tutorial_general_parshift.metadata.json b/demonstrations/tutorial_general_parshift.metadata.json index ba0e971d16..a49f9761af 100644 --- a/demonstrations/tutorial_general_parshift.metadata.json +++ b/demonstrations/tutorial_general_parshift.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2021-08-23T00:00:00+00:00", - "dateOfLastModification": "2024-07-05T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalized_parametershift_rules.png" } ], "seoDescription": "Reconstruct quantum functions and compute their derivatives.", diff --git a/demonstrations/tutorial_general_parshift.py b/demonstrations/tutorial_general_parshift.py index 56d1651150..cfc8a46b32 100644 --- a/demonstrations/tutorial_general_parshift.py +++ b/demonstrations/tutorial_general_parshift.py @@ -8,7 +8,7 @@ .. meta:: :property="og:description": Reconstruct quantum functions and compute their derivatives. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_genpar.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_genpar.png .. related:: @@ -127,14 +127,12 @@ def random_observable(N, seed): # on the NumPy implementation of JAX. # To obtain precise results, we enable 64-bit ``float`` precision via the JAX config. - -from jax.config import config - -config.update("jax_enable_x64", True) import jax from jax import numpy as np import pennylane as qml +jax.config.update("jax_enable_x64", True) + def make_cost(N, seed): """Create a cost function on N qubits with N frequencies.""" dev = qml.device("default.qubit", wires=N) diff --git a/demonstrations/tutorial_geometric_qml.metadata.json b/demonstrations/tutorial_geometric_qml.metadata.json index df377052c2..db32cfd619 100644 --- a/demonstrations/tutorial_geometric_qml.metadata.json +++ b/demonstrations/tutorial_geometric_qml.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2022-10-18T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_geometric_QML.png" } ], "seoDescription": "Using the natural symmetries in a quantum learning problem can improve learning", diff --git a/demonstrations/tutorial_geometric_qml.py b/demonstrations/tutorial_geometric_qml.py index 587e6984eb..5e56e1d55d 100644 --- a/demonstrations/tutorial_geometric_qml.py +++ b/demonstrations/tutorial_geometric_qml.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Using the natural symmetries in a quantum learning problem can improve learning - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//equivariant_thumbnail.jpeg + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/equivariant_thumbnail.jpeg .. related:: tutorial_equivariant_graph_embedding A permutation equivariant graph embedding diff --git a/demonstrations/tutorial_givens_rotations.metadata.json b/demonstrations/tutorial_givens_rotations.metadata.json index 4e78b8d61f..2fff93a4ad 100644 --- a/demonstrations/tutorial_givens_rotations.metadata.json +++ b/demonstrations/tutorial_givens_rotations.metadata.json @@ -2,11 +2,11 @@ "title": "Givens rotations for quantum chemistry", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2021-06-30T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Givens_rotations_for_QChem.png" } ], "seoDescription": "Discover the building blocks of quantum circuits for quantum chemistry", diff --git a/demonstrations/tutorial_givens_rotations.py b/demonstrations/tutorial_givens_rotations.py index bdb13b513b..014e841611 100644 --- a/demonstrations/tutorial_givens_rotations.py +++ b/demonstrations/tutorial_givens_rotations.py @@ -7,7 +7,7 @@ :property="og:description": Discover the building blocks of quantum circuits for quantum chemistry - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//Givens_rotations.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/Givens_rotations.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_grovers_algorithm.metadata.json b/demonstrations/tutorial_grovers_algorithm.metadata.json index 79b6d7e56d..a6f4799044 100644 --- a/demonstrations/tutorial_grovers_algorithm.metadata.json +++ b/demonstrations/tutorial_grovers_algorithm.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-07-03T00:00:00+00:00", - "dateOfLastModification": "2024-06-24T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", "Algorithms", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_grovers_algorithm.png" } ], "seoDescription": "Learn how to find an entry in a list using Grover's Algorithm", diff --git a/demonstrations/tutorial_grovers_algorithm.py b/demonstrations/tutorial_grovers_algorithm.py index 934a0ae97d..2b599dbd0a 100644 --- a/demonstrations/tutorial_grovers_algorithm.py +++ b/demonstrations/tutorial_grovers_algorithm.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Learn how to find an entry in a list using Grover's algorithm - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_grovers_algorithm.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_grovers_algorithm.png .. related:: diff --git a/demonstrations/tutorial_guide_to_pennylane_knowing_qiskit.metadata.json b/demonstrations/tutorial_guide_to_pennylane_knowing_qiskit.metadata.json index 51246556ef..a99afb3178 100644 --- a/demonstrations/tutorial_guide_to_pennylane_knowing_qiskit.metadata.json +++ b/demonstrations/tutorial_guide_to_pennylane_knowing_qiskit.metadata.json @@ -2,11 +2,11 @@ "title": "Your guide to PennyLane if you know Qiskit", "authors": [ { - "id": "isaac_de_vlugt" + "username": "isaacdevlugt" } ], "dateOfPublication": "2024-07-22T00:00:00+00:00", - "dateOfLastModification": "2024-07-22T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing" ], diff --git a/demonstrations/tutorial_haar_measure.metadata.json b/demonstrations/tutorial_haar_measure.metadata.json index f53d0265a6..dbd36fe969 100644 --- a/demonstrations/tutorial_haar_measure.metadata.json +++ b/demonstrations/tutorial_haar_measure.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2021-03-22T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_understanding_Haar_measure.png" } ], "seoDescription": "Learn all about the Haar measure and how to randomly sample quantum states.", diff --git a/demonstrations/tutorial_haar_measure.py b/demonstrations/tutorial_haar_measure.py index 76fcb39a0b..c2dddfef96 100644 --- a/demonstrations/tutorial_haar_measure.py +++ b/demonstrations/tutorial_haar_measure.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Learn all about the Haar measure and how to randomly sample quantum states. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//spherical_int_dtheta.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/spherical_int_dtheta.png .. related:: diff --git a/demonstrations/tutorial_here_comes_the_sun.metadata.json b/demonstrations/tutorial_here_comes_the_sun.metadata.json index 355be3d504..3bda2c258f 100644 --- a/demonstrations/tutorial_here_comes_the_sun.metadata.json +++ b/demonstrations/tutorial_here_comes_the_sun.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-04-03T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_here_comes_the_sun.png" } ], "seoDescription": "Learn about multivariate quantum gates for optimization", diff --git a/demonstrations/tutorial_here_comes_the_sun.py b/demonstrations/tutorial_here_comes_the_sun.py index 43f55b0ef1..2f31a2f91e 100644 --- a/demonstrations/tutorial_here_comes_the_sun.py +++ b/demonstrations/tutorial_here_comes_the_sun.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn about multivariate quantum gates for optimization - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_here_comes_the_sun.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_here_comes_the_sun.png .. related:: diff --git a/demonstrations/tutorial_how_to_collect_mcm_stats.metadata.json b/demonstrations/tutorial_how_to_collect_mcm_stats.metadata.json index 022c8383a0..830ad87be9 100644 --- a/demonstrations/tutorial_how_to_collect_mcm_stats.metadata.json +++ b/demonstrations/tutorial_how_to_collect_mcm_stats.metadata.json @@ -6,20 +6,21 @@ } ], "dateOfPublication": "2024-04-26T00:00:00+00:00", - "dateOfLastModification": "2024-04-26T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", - "Quantum Computing" + "Quantum Computing", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_collect_mcm_stats.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_collect_mcm_stats.png" } ], "seoDescription": "Learn how to collect statistics about measurements performed during a quantum circuit.", diff --git a/demonstrations/tutorial_how_to_create_dynamic_mcm_circuits.metadata.json b/demonstrations/tutorial_how_to_create_dynamic_mcm_circuits.metadata.json index cc76c8237c..3ab47cb58c 100644 --- a/demonstrations/tutorial_how_to_create_dynamic_mcm_circuits.metadata.json +++ b/demonstrations/tutorial_how_to_create_dynamic_mcm_circuits.metadata.json @@ -6,20 +6,21 @@ } ], "dateOfPublication": "2024-05-03T00:00:00+00:00", - "dateOfLastModification": "2024-05-03T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", - "Quantum Computing" + "Quantum Computing", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how_to_create_dynamic_mcm_circuits.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how_to_create_dynamic_mcm_circuits.png" } ], "seoDescription": "Learn how to create dynamic circuits with control flow based on mid-circuit measurements.", diff --git a/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.metadata.json b/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.metadata.json index 7cdd4038f7..f7a0dc0041 100644 --- a/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.metadata.json +++ b/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.metadata.json @@ -2,28 +2,29 @@ "title": "How to quantum just-in-time compile VQE with Catalyst", "authors": [ { - "id": "ali_asadi" + "username": "maliasadi" }, { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2024-04-26T00:00:00+00:00", - "dateOfLastModification": "2024-04-26T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning", "Optimization", - "Quantum Chemistry" + "Quantum Chemistry", + "How-to" ], "tags": ["how to"], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_how-to-vqe-qjit.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_how-to-vqe-qjit.png" } ], "seoDescription": "Learn how to find the ground state of a molecule with VQE using PennyLane, Catalyst, and just-in-time compilation.", diff --git a/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.py b/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.py index 5681357ada..5deadbf810 100644 --- a/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.py +++ b/demonstrations/tutorial_how_to_quantum_just_in_time_compile_vqe_catalyst.py @@ -12,7 +12,7 @@ quantum just-in-time framework for PennyLane, that allows hybrid quantum-classical workflows to be compiled, optimized, and executed with a significant performance boost. -.. figure:: ../_static/demonstration_assets/how_to_vqe_qjit/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_how-to-vqe-qjit_2024-04-23.png :align: center :width: 60% :target: javascript:void(0) @@ -116,15 +116,14 @@ def cost(params): # When creating the cost function, we want to make sure that all parameters and arrays are created # using JAX. We can now decorate the cost function with :func:`~pennylane.qjit`: # - from jax import numpy as jnp -hf = jnp.array(dataset.hf_state) +hf = np.array(dataset.hf_state) @qml.qjit @qml.qnode(dev) def cost(params): - qml.BasisState(hf, wires=range(qubits)) + qml.BasisState.compute_decomposition(hf, wires=range(qubits)) qml.DoubleExcitation(params[0], wires=[0, 1, 2, 3]) qml.DoubleExcitation(params[1], wires=[0, 1, 4, 5]) return qml.expval(H) diff --git a/demonstrations/tutorial_implicit_diff_susceptibility.metadata.json b/demonstrations/tutorial_implicit_diff_susceptibility.metadata.json index 5b93bb2a63..f4f87789b0 100644 --- a/demonstrations/tutorial_implicit_diff_susceptibility.metadata.json +++ b/demonstrations/tutorial_implicit_diff_susceptibility.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2022-11-28T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_implicit_differentiation_variational_quantum_algo.png" } ], "seoDescription": "Implicitly differentiating the the solution of a VQA in PennyLane.", diff --git a/demonstrations/tutorial_implicit_diff_susceptibility.py b/demonstrations/tutorial_implicit_diff_susceptibility.py index 288e5c7708..bd2ea817eb 100644 --- a/demonstrations/tutorial_implicit_diff_susceptibility.py +++ b/demonstrations/tutorial_implicit_diff_susceptibility.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Implicitly differentiating the the solution of a VQA in PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//descartes.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/descartes.png .. related:: tutorial_backprop Quantum gradients with backpropagation @@ -264,7 +264,6 @@ import jax from jax import jit import jax.numpy as jnp -from jax.config import config import pennylane as qml import numpy as np @@ -276,7 +275,7 @@ jax.config.update("jax_platform_name", "cpu") # Use double precision numbers -config.update("jax_enable_x64", True) +jax.config.update("jax_enable_x64", True) ############################################################################## # Defining the Hamiltonian and measurement operator diff --git a/demonstrations/tutorial_initial_state_preparation.metadata.json b/demonstrations/tutorial_initial_state_preparation.metadata.json index ad9dc665e2..4e949fd9f7 100644 --- a/demonstrations/tutorial_initial_state_preparation.metadata.json +++ b/demonstrations/tutorial_initial_state_preparation.metadata.json @@ -2,11 +2,11 @@ "title": "Initial State Preparation for Quantum Chemistry", "authors": [ { - "id": "stepan_fomichev" + "username": "chiffa" } ], "dateOfPublication": "2023-10-20T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_initial_state_preparation.png" } ], "seoDescription": "Prepare initial states for quantum algorithms from output of traditional quantum chemistry methods.", diff --git a/demonstrations/tutorial_intro_amplitude_amplification.metadata.json b/demonstrations/tutorial_intro_amplitude_amplification.metadata.json index d4ecbfc96e..53feb9c966 100644 --- a/demonstrations/tutorial_intro_amplitude_amplification.metadata.json +++ b/demonstrations/tutorial_intro_amplitude_amplification.metadata.json @@ -2,14 +2,14 @@ "title": "Intro to Amplitude Amplification", "authors": [ { - "id": "guillermo_alonso" + "username": "KetPuntoG" }, { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2024-05-07T00:00:00+00:00", - "dateOfLastModification": "2024-05-07T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Algorithms" @@ -22,7 +22,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_AmplitudeAmplification_2024-04-29.png" } ], "seoDescription": "Learn Amplitude Amplification from scratch and how to use fixed-point quantum search", diff --git a/demonstrations/tutorial_intro_amplitude_amplification.py b/demonstrations/tutorial_intro_amplitude_amplification.py index 1941fa934c..79fcd36504 100644 --- a/demonstrations/tutorial_intro_amplitude_amplification.py +++ b/demonstrations/tutorial_intro_amplitude_amplification.py @@ -7,7 +7,7 @@ how to implement it in PennyLane using the new :class:`~.pennylane.AmplitudeAmplification` template. We also discuss a useful extension of the algorithm called fixed-point amplitude amplification. -.. figure:: ../_static/demonstration_assets/intro_amplitude_amplification/OGthumbnail_large_AmplitudeAmplification_2024-04-29.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_AmplitudeAmplification_2024-04-29.png :align: center :width: 50% :target: javascript:void(0) diff --git a/demonstrations/tutorial_intro_qsvt.metadata.json b/demonstrations/tutorial_intro_qsvt.metadata.json index 318ef15722..8011c8a7fa 100644 --- a/demonstrations/tutorial_intro_qsvt.metadata.json +++ b/demonstrations/tutorial_intro_qsvt.metadata.json @@ -2,11 +2,11 @@ "title": "Intro to QSVT", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2023-05-23T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_intro_qsvt.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_intro_qsvt.png" } ], "seoDescription": "Master the basics of the quantum singular value transformation", diff --git a/demonstrations/tutorial_intro_qsvt.py b/demonstrations/tutorial_intro_qsvt.py index 6db4e87b4e..4c2a979c72 100644 --- a/demonstrations/tutorial_intro_qsvt.py +++ b/demonstrations/tutorial_intro_qsvt.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Introduction to the Quantum Singular Value Transformation algorithm - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_intro_qsvt.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_intro_qsvt.png .. related:: diff --git a/demonstrations/tutorial_isingmodel_PyTorch.metadata.json b/demonstrations/tutorial_isingmodel_PyTorch.metadata.json index cf476435b9..e19aa2bc5a 100644 --- a/demonstrations/tutorial_isingmodel_PyTorch.metadata.json +++ b/demonstrations/tutorial_isingmodel_PyTorch.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-10-16T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_3qubit_Ising_model_PyTorch.png" } ], "seoDescription": "This demonstration uses the PyTorch interface of PennyLane to optimize a 3-qubit Ising model.", diff --git a/demonstrations/tutorial_isingmodel_PyTorch.py b/demonstrations/tutorial_isingmodel_PyTorch.py index 4a507f9287..f5e7005015 100644 --- a/demonstrations/tutorial_isingmodel_PyTorch.py +++ b/demonstrations/tutorial_isingmodel_PyTorch.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": This demonstration uses the PyTorch interface of PennyLane to optimize a 3-qubit Ising model. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//isingspins.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/isingspins.png .. related:: diff --git a/demonstrations/tutorial_jax_transformations.metadata.json b/demonstrations/tutorial_jax_transformations.metadata.json index e8da4900bd..711d187c92 100644 --- a/demonstrations/tutorial_jax_transformations.metadata.json +++ b/demonstrations/tutorial_jax_transformations.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2021-04-12T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_jax_with_pl.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_jax_with_pl.png" } ], "seoDescription": "Learn how to use JAX with PennyLane.", diff --git a/demonstrations/tutorial_jax_transformations.py b/demonstrations/tutorial_jax_transformations.py index 91dba6f564..c944f8a0c3 100644 --- a/demonstrations/tutorial_jax_transformations.py +++ b/demonstrations/tutorial_jax_transformations.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to use JAX with PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//jax.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/jax.png .. related:: @@ -43,15 +43,13 @@ # set up a two-qubit device for computations. We'll be using the ``default.qubit`` device # for the first part of this tutorial. -# Added to silence some warnings. -from jax.config import config - -config.update("jax_enable_x64", True) - import jax import jax.numpy as jnp import pennylane as qml +# Added to silence some warnings. +jax.config.update("jax_enable_x64", True) + dev = qml.device("default.qubit", wires=2) ############################################################################## diff --git a/demonstrations/tutorial_kernel_based_training.metadata.json b/demonstrations/tutorial_kernel_based_training.metadata.json index 1d8614380a..38ba9ee667 100644 --- a/demonstrations/tutorial_kernel_based_training.metadata.json +++ b/demonstrations/tutorial_kernel_based_training.metadata.json @@ -2,11 +2,11 @@ "title": "Kernel-based training of quantum models with scikit-learn", "authors": [ { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2021-02-03T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_kernal-based_training_of_quantum_models.png" } ], "seoDescription": "Train a quantum machine learning model based on the idea of quantum kernels.", diff --git a/demonstrations/tutorial_kernel_based_training.py b/demonstrations/tutorial_kernel_based_training.py index 1667ae13ff..0c297b40cd 100644 --- a/demonstrations/tutorial_kernel_based_training.py +++ b/demonstrations/tutorial_kernel_based_training.py @@ -9,7 +9,7 @@ .. meta:: :property="og:description": Train a quantum machine learning model based on the idea of quantum kernels. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//kernel_based_scaling.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/kernel_based_scaling.png .. related:: diff --git a/demonstrations/tutorial_kernels_module.metadata.json b/demonstrations/tutorial_kernels_module.metadata.json index 7b9a3a9302..71eb88b6e3 100644 --- a/demonstrations/tutorial_kernels_module.metadata.json +++ b/demonstrations/tutorial_kernels_module.metadata.json @@ -21,7 +21,7 @@ } ], "dateOfPublication": "2021-06-24T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -29,7 +29,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_training_and_evaluating_quantum_kernels.png" } ], "seoDescription": "Kernels and alignment training with Pennylane.", diff --git a/demonstrations/tutorial_kernels_module.py b/demonstrations/tutorial_kernels_module.py index 5d91ebcea0..5e68b196cb 100644 --- a/demonstrations/tutorial_kernels_module.py +++ b/demonstrations/tutorial_kernels_module.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Kernels and alignment training with Pennylane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//QEK_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/QEK_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_lcu_blockencoding.metadata.json b/demonstrations/tutorial_lcu_blockencoding.metadata.json index f7951b4d37..93154219d6 100644 --- a/demonstrations/tutorial_lcu_blockencoding.metadata.json +++ b/demonstrations/tutorial_lcu_blockencoding.metadata.json @@ -2,17 +2,17 @@ "title": "Linear combination of unitaries and block encodings", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" }, { - "id": "diego_guala" + "username": "Diego" }, { - "id": "jay_soni" + "username": "Jay" } ], "dateOfPublication": "2023-10-25T00:00:00+00:00", - "dateOfLastModification": "2024-05-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -25,7 +25,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_lcu_blockencoding.png" } ], "seoDescription": "Master the basics of LCUs and their applications", diff --git a/demonstrations/tutorial_learning_dynamics_incoherently.metadata.json b/demonstrations/tutorial_learning_dynamics_incoherently.metadata.json new file mode 100644 index 0000000000..2ebd647ce5 --- /dev/null +++ b/demonstrations/tutorial_learning_dynamics_incoherently.metadata.json @@ -0,0 +1,66 @@ +{ + "title": "Learning dynamics incoherently", + "authors": [ + { + "username": "Diego" + } + ], + "dateOfPublication": "2024-08-15T00:00:00+00:00", + "dateOfLastModification": "2024-08-15T00:00:00+00:00", + "categories": [ + "Quantum Machine Learning", + "How-to" + ], + "tags": [], + "previewImages": [ + { + "type": "thumbnail", + "uri": "_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_learning_dynamics_incoherently.png" + }, + { + "type": "large_thumbnail", + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learning_dynamics_incoherently.png" + } + ], + "seoDescription": "Learn how to reproduce an unknown quantum process with classical shadow measurements", + "doi": "", + "canonicalURL": "/qml/demos/tutorial_learning_dynamics_incoherently", + "references": [ + { + "id": "jerbi2023power", + "type": "article", + "title": "The power and limitations of learning quantum dynamics incoherently", + "authors": "Sofiene Jerbi, Joe Gibbs, Manuel S. Rudolph, Matthias C. Caro, Patrick J. Coles, Hsin-Yuan Huang, and Zoë Holmes", + "year": "2023", + "url": "https://arxiv.org/abs/2303.12834" + }, + { + "id": "Huang2022Quantum", + "type": "article", + "title": "Quantum advantage in learning from experiments", + "journal": "Science", + "authors": "Hsin-Yuan Huang, Michael Broughton, Jordan Cotler, Sitan Chen, Jerry Li, Masoud Mohseni, Hartmut Neven, Ryan Babbush, Richard Kueng, John Preskill, and Jarrod R. McClean", + "year": "2022", + "url": "http://dx.doi.org/10.1126/science.abn7293" + } + ], + "basedOnPapers": ["10.48550/arXiv.2303.12834"], + "referencedByPapers": [], + "relatedContent": [ + { + "type": "demonstration", + "id": "tutorial_haar_measure", + "weight": 1.0 + }, + { + "type": "demonstration", + "id": "tutorial_classical_shadows", + "weight": 1.0 + }, + { + "type": "demonstration", + "id": "tutorial_variational_classifier", + "weight": 1.0 + } + ] +} diff --git a/demonstrations/tutorial_learning_dynamics_incoherently.py b/demonstrations/tutorial_learning_dynamics_incoherently.py new file mode 100644 index 0000000000..c58f168a0a --- /dev/null +++ b/demonstrations/tutorial_learning_dynamics_incoherently.py @@ -0,0 +1,435 @@ +r"""Learning quantum dynamics incoherently: Variational learning using classical shadows +======================================================================================== + +How can we recreate and simulate an unknown quantum process with a quantum circuit? One approach is +to learn the dynamics of this process incoherently, as done by Jerbi et al. [#Jerbi]_. +Here, we'll reproduce the numerical simulations of [#Jerbi]_ using the authors' data, as provided +in the +`Learning Dynamics Incoherently PennyLane Dataset `__. + +This approach differs from learning the quantum process *coherently* [#Huang]_ because it does not +require the model circuit to be connected to the target quantum process. That is, the model circuit +does not receive quantum information from the target process directly. Instead, we train the model +circuit using classical information from the classical shadow measurements. This works well for +low-entangling processes but can require an exponential number of classical shadow measurements, +depending on the unknown quantum process [#Jerbi]_. This is useful because +it's not always possible to port the quantum output of a system directly to hardware without +first measuring it. + +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_LearningDynamicsIncoherently.png + :align: center + :width: 80% + +In simple terms, learning dynamics incoherently consists of two steps. First, we measure the output +of the unknown process for many different inputs. In this tutorial, we do this by measuring +:doc:`classical shadows ` of the target process output. + +Then, we adjust a variational quantum circuit +until it produces the same input-output combinations as the unknown process. +Here, we will +simulate the model circuit output and use the classical shadow measurements to estimate the +overlap between the model output states and the unknown process output states. +""" + +###################################################################### +# 1. Creating an unknown target quantum process +# ---------------------------------------------- +# +# For our unknown quantum process, we will use the +# time evolution of a Hamiltonian: +# +# .. math:: U(H, t) = e^{-i H t / \hbar} . +# +# For the Hamiltonian, :math:`H`, we choose a transverse-field Ising Hamiltonian (as in +# [#Jerbi]_): +# +# .. math:: H = \sum_{i=0}^{n-1} Z_iZ_{i+1} + \sum_{i=0}^{n}\alpha_iX_i, +# +# where :math:`n` is the number of qubits and :math:`\alpha` are randomly generated weights. +# +# More specifically, we will approximate :math:`U(H, t)` via +# `Trotterization `_. +# We first create the Hamiltonian and Trotterize later with :class:`~pennylane.TrotterProduct`. +# + +import pennylane as qml +from pennylane import numpy as pnp +import numpy as np +import matplotlib.pyplot as plt + +# number of qubits for the Hamiltonian +n_qubits = 2 + +# set random seed for reproducibility +pnp.random.seed(7) +np.random.seed(7) + +# generate random weights +alphas = np.random.normal(0, 0.5, size=n_qubits) + +# create the Hamiltonian +hamiltonian = qml.sum( + *[qml.PauliZ(wires=i) @ qml.PauliZ(wires=i + 1) for i in range(n_qubits - 1)] +) + qml.dot(alphas, [qml.PauliX(wires=i) for i in range(n_qubits)]) + +###################################################################### +# 2. Creating random initial states +# ----------------------------------- +# +# The next step is to prepare a set of initial states. We will then apply the +# unknown quantum process to each of these states and measure the output to create input-output +# pairs. Later, we will train a model circuit to generate the same input-output pairs, thus +# reproducing the unknown quantum process. +# +# Ideally, our input states should be uniformly distributed over the state space. If they are all +# clustered together, our model circuit will not learn to approximate the unknown quantum process +# behavior for states that are very different from our training set. +# +# For quantum systems, this means we want to sample +# :doc:`Haar-random states `, as done below. +# + +from scipy.stats import unitary_group + +n_random_states = 100 + +# Generate several random unitaries +random_unitaries = unitary_group.rvs(2**n_qubits, n_random_states) +# Take the first column of each unitary as a random state +random_states = [random_unitary[:, 0] for random_unitary in random_unitaries] + +###################################################################### +# .. note :: +# +# On a personal computer, this method becomes slow (>1 second) around 10 qubits. +# + + +###################################################################### +# 3. Time evolution and classical shadow measurements +# ---------------------------------------------------- +# +# Now we can evolve the initial states using a Trotterized version of the +# `Hamiltonian above <#creating-an-unknown-target-quantum-process>`_. This +# will approximate the time evolution of the transverse-field Ising system. +# + +dev = qml.device("default.qubit") + +@qml.qnode(dev) +def target_circuit(input_state): + # prepare training state + qml.StatePrep(input_state, wires=range(n_qubits)) + + # evolve the Hamiltonian for time=2 in n=1 steps with the order 1 formula + qml.TrotterProduct(hamiltonian, time=2, n=1, order=1) + return qml.classical_shadow(wires=range(n_qubits)) + + +qml.draw_mpl(target_circuit)(random_states[0]) +plt.show() + +###################################################################### +# +# Since ``target_circuit`` returns :func:`~pennylane.classical_shadow`, running the circuit with a +# ``shot`` value gives the desired number of classical shadow measurements. +# We use this to create a set of shadows for each initial state. +# + +n_measurements = 10000 + +shadows = [] +for random_state in random_states: + bits, recipes = target_circuit(random_state, shots=n_measurements) + shadow = qml.ClassicalShadow(bits, recipes) + shadows.append(shadow) + + +###################################################################### +# 4. Creating a model circuit that will learn the target process +# ---------------------------------------------------------------- +# +# Now that we have the classical shadow measurements, we need to create a model circuit that +# learns to produce the same output as the target circuit. +# +# As done in [#Jerbi]_, we create a model circuit with the same gate structure as the target +# circuit. If the target quantum process were truly unknown, then we would choose a general +# variational quantum circuit like in the +# :doc:`Variational classifier demo `. +# +# .. note :: +# +# We use *local* measurements to keep the computational complexity low and +# because classical shadows are well-suited to estimating local observables [#Jerbi]_. +# For this reason, the following circuit returns local density matrices for each qubit. In +# hardware, the density matrix is obtained via state tomography using Pauli measurements or classical shadows. + + +@qml.qnode(dev) +def model_circuit(params, random_state): + qml.StatePrep(random_state, wires=range(n_qubits)) + # parameterized quantum circuit with the same gate structure as the target + for i in range(n_qubits): + qml.RX(params[i], wires=i) + + for i in reversed(range(n_qubits - 1)): + qml.IsingZZ(params[n_qubits + i], wires=[i, i + 1]) + return [qml.density_matrix(i) for i in range(n_qubits)] + + +initial_params = pnp.random.random(size=n_qubits*2-1, requires_grad=True) + +qml.draw_mpl(model_circuit)(initial_params, random_states[0]) +plt.show() + +###################################################################### +# 5. Training using classical shadows in a cost function +# ------------------------------------------------------ +# +# We now have to find the optimal parameters for ``model_circuit`` to mirror the ``target_circuit``. +# We can estimate the similarity between the circuits according to this cost function (see +# Appendix B of [#Jerbi]_): +# +# .. math:: C^l_N(\theta) = 1 - \frac{1}{nN}\sum^N_{j=1}\sum^n_{i=1}Tr[U|\psi^{(j)}\rangle\langle\psi^{(j)}|U^\dagger O^{(j)}_i(\theta)], +# +# where :math:`n` is the number of qubits, :math:`N` is the number of initial states, :math:`\psi^{(j)}` +# are random states, :math:`U` is our target unitary operation, and :math:`O_i` is the local density +# matrix for qubit :math:`i` after applying the ``model_circuit``. That is, the local states +# :math:`\rho_{i}^{(j)}` are used as the observables: +# +# .. math:: O_{i}^{(j)}(\theta) := \rho_{i}^{(j)}. +# +# We can calculate this cost for our system by using the +# `shadow measurements <#time-evolution-and-classical-shadow-measurements>`_ to estimate +# the expectation value of :math:`O_i`. Roughly, this cost function measures the fidelity between +# the model circuit and the target circuit, by proxy of the single-qubit reduced states +# :math:`\rho_{i}^{(j)}` of the model over a variety of input-output pairs. + + +def cost(params): + cost = 0.0 + for idx, random_state in enumerate(random_states): + # obtain the density matrices for each qubit + observable_mats = model_circuit(params, random_state) + # convert to a PauliSentence + observable_pauli = [ + qml.pauli_decompose(observable_mat, wire_order=[qubit]) + for qubit, observable_mat in enumerate(observable_mats) + ] + # estimate the overlap for each qubit + cost = cost + qml.math.sum(shadows[idx].expval(observable_pauli)) + cost = 1 - cost / n_qubits / n_random_states + return cost + + +params = initial_params + +optimizer = qml.GradientDescentOptimizer(stepsize=5) +steps = 50 + +costs = [None]*(steps+1) +params_list = [None]*(steps+1) + +params_list[0]=initial_params +for i in range(steps): + params_list[i + 1], costs[i] = optimizer.step_and_cost(cost, params_list[i]) + +costs[-1] = cost(params_list[-1]) + +print("Initial cost:", costs[0]) +print("Final cost:", costs[-1]) + +###################################################################### +# +# We can plot the cost over the iterations and compare it to the ideal cost. +# + + +# find the ideal parameters from the original Trotterized Hamiltonian +ideal_parameters = [ + op.decomposition()[0].parameters[0] + for op in qml.TrotterProduct(hamiltonian, 2, 1, 1).decomposition() +] +ideal_parameters = ideal_parameters[:n_qubits][::-1] + ideal_parameters[n_qubits:] + +ideal_cost = cost(ideal_parameters) + +plt.plot(costs, label="Training") +plt.plot([0, steps], [ideal_cost, ideal_cost], "r--", label="Ideal parameters") +plt.ylabel("Cost") +plt.xlabel("Training iterations") +plt.legend() +plt.show() + +###################################################################### +# In this case, we see +# that the ideal cost is greater than 0. This is because for the ideal parameters, the model outputs +# and target outputs are equal: +# +# .. math:: \rho_{i}^{(j)} := O_i = U|\psi^{(j)}\rangle\langle\psi^{(j)}|U^\dagger. +# +# Since the single-qubit reduced states used in the +# cost function are mixed states, the trace of their square is less than one: +# +# .. math:: Tr[(\rho_{i}^{(j)})^2] < 1. +# +# The ideal cost :math:`C^l_N(\theta)` is therefore greater than 0. +# +# We can also look at the :func:`trace_distance ` between the unitary +# matrix of the target circuit and the model circuit. As the circuits become more similar with each +# training iteration, we should see the trace distance decrease and reach a low value. +# + +import scipy + +target_matrix = qml.matrix( + qml.TrotterProduct(hamiltonian, 2, 1, 1), + wire_order=range(n_qubits), +) + +zero_state = [1] + [0]*(2**n_qubits-1) + +# model matrix using the all-|0> state to negate state preparation effects +model_matrices = [qml.matrix(model_circuit, wire_order=range(n_qubits))(params, zero_state) for params in params_list] +trace_distances = [qml.math.trace_distance(target_matrix, model_matrix) for model_matrix in model_matrices] + +plt.plot(trace_distances) +plt.ylabel("Trace distance") +plt.xlabel("Training iterations") +plt.show() + +print("The final trace distance is: \n", trace_distances[-1]) + + +###################################################################### +# Using the Learning Dynamics Incoherently PennyLane Dataset +# ---------------------------------------------------------- +# +# In Jerbi et al. [#Jerbi]_, the authors perform this procedure to learn dynamics incoherently on a +# larger, 16-qubit transverse-field Ising +# Hamiltonian, and use classical shadow samples from quantum hardware to estimate the cost function. +# The corresponding `Learning Dynamics Incoherently PennyLane Dataset `__ +# can be downloaded via the :mod:`qml.data` module. + +[ds] = qml.data.load("other", name="learning-dynamics-incoherently") + +# print the available data +print(ds.list_attributes()) + +# print more information about the hamiltonian +print(ds.attr_info["hamiltonian"]["doc"]) + +###################################################################### +# +# The unknown target Hamiltonian, Haar-random initial states, and resulting classical shadow +# measurements are all available in the dataset. +# +# .. note :: +# +# We use few shadows to keep the computational time low and the dataset contains only two +# training states. + +random_states = ds.training_states + +n_measurements = 10000 +shadows = [qml.ClassicalShadow(shadow_meas[:n_measurements], shadow_bases[:n_measurements]) for shadow_meas, shadow_bases in zip(ds.shadow_meas,ds.shadow_bases)] + +###################################################################### +# +# We only need to create the model circuit, cost function, and train. +# For these we use the same model circuit as +# `above <#creating-a-model-circuit-that-will-learn-the-target-process>`_, updated to reflect +# the increased number of qubits. +# + +dev = qml.device("default.qubit") + +@qml.qnode(dev) +def model_circuit(params, random_state): + # this is a parameterized quantum circuit with the same gate structure as the target unitary + qml.StatePrep(random_state, wires=range(16)) + for i in range(16): + qml.RX(params[i], wires=i) + + for i in reversed(range(15)): + qml.IsingZZ(params[16 + i], wires=[i, i + 1]) + return [qml.density_matrix(i) for i in range(16)] + + +initial_params = pnp.random.random(size=31) + +qml.draw_mpl(model_circuit)(initial_params, random_states[0]) +plt.show() + +###################################################################### +# +# We can then minimize the cost to train the model to output the same states as the target circuit. +# For this, we can use the cost function from +# `before <#training-using-classical-shadows-in-a-cost-function>`_, +# as long as we update the number of qubits and the number of random states. +# + +n_qubits = 16 +n_random_states = len(ds.training_states) + +optimizer = qml.GradientDescentOptimizer(stepsize=5) +steps = 50 + +costs = [None]*(steps+1) +params_list = [None]*(steps+1) + +params_list[0]=initial_params +for i in range(steps): + params_list[i + 1], costs[i] = optimizer.step_and_cost(cost, params_list[i]) + +costs[-1] = cost(params_list[-1]) + +print("Initial cost:", cost(initial_params)) +print("Final cost:", costs[-1]) + +###################################################################### +# As a quick check, we can take a look at the density matrices +# to see whether the training was successful: +# + +original_matrices = model_circuit(initial_params, random_states[0]) +learned_matrices = model_circuit(params_list[-1], random_states[0]) +target_matrices_shadow = np.mean(shadows[0].local_snapshots(), axis=0) + +print("Untrained example output state\n", original_matrices[0]) +print("Trained example output state\n", learned_matrices[0]) +print("Target output state\n", target_matrices_shadow[0]) + +###################################################################### +# +# After training, the model outputs are closer to the target outputs, but not quite the same. +# This is due to the limitations of this learning method. Even for a simple circuit like the +# short-time evolution of a first order single Trotter step, it requires a large number of +# shadow measurements and training states to faithfully reproduce the underlying quantum process. +# The results can be improved by increasing the number of training states and +# :doc:`classical shadow measurements `. +# + + +############################################################################## +# +# References +# ------------ +# +# .. [#Jerbi] +# +# Sofiene Jerbi, Joe Gibbs, Manuel S. Rudolph, Matthias C. Caro, Patrick J. Coles, Hsin-Yuan Huang, Zoë Holmes +# "The power and limitations of learning quantum dynamics incoherently" +# `arXiv:2303.12834 `__, 2005. +# +# .. [#Huang] +# +# Hsin-Yuan Huang, Michael Broughton, Jordan Cotler, Sitan Chen, Jerry Li, Masoud Mohseni, Hartmut Neven, Ryan Babbush, Richard Kueng, John Preskill, and Jarrod R. McClean +# "Quantum advantage in learning from experiments" +# `Science `__, 2022 +# + +############################################################################## +# About the author +# ------------------ +# diff --git a/demonstrations/tutorial_learning_few_data.metadata.json b/demonstrations/tutorial_learning_few_data.metadata.json index 0d2475af6d..7fb254adfd 100644 --- a/demonstrations/tutorial_learning_few_data.metadata.json +++ b/demonstrations/tutorial_learning_few_data.metadata.json @@ -2,7 +2,7 @@ "title": "Generalization in QML from few training data", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" }, { "id": "luis_mantilla_calderon" @@ -12,7 +12,7 @@ } ], "dateOfPublication": "2022-08-29T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -20,7 +20,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_generalization_QML.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_generalization_QML.png" } ], "seoDescription": "Generalization of quantum machine learning models.", diff --git a/demonstrations/tutorial_learning_few_data.py b/demonstrations/tutorial_learning_few_data.py index 21b6e74a89..798f24c611 100644 --- a/demonstrations/tutorial_learning_few_data.py +++ b/demonstrations/tutorial_learning_few_data.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Generalization of quantum machine learning models. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//few_data_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/few_data_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_learning_from_experiments.metadata.json b/demonstrations/tutorial_learning_from_experiments.metadata.json index 9d7a4e9a5c..0c4563082e 100644 --- a/demonstrations/tutorial_learning_from_experiments.metadata.json +++ b/demonstrations/tutorial_learning_from_experiments.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum advantage in learning from experiments", "authors": [ { - "id": "joseph_bowles" + "username": "josephbowles" } ], "dateOfPublication": "2022-04-18T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_advantage_learning_from_experiments.png" } ], "seoDescription": "Learn how quantum memory can boost quantum machine learning algorithms", diff --git a/demonstrations/tutorial_learning_from_experiments.py b/demonstrations/tutorial_learning_from_experiments.py index 3d63cba860..bca1dda7bd 100644 --- a/demonstrations/tutorial_learning_from_experiments.py +++ b/demonstrations/tutorial_learning_from_experiments.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how quantum memory can boost quantum machine learning algorithms - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//learning_from_exp_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/learning_from_exp_thumbnail.png *Author: Joseph Bowles — Posted: 18 April 2022. Last updated: 30 June 2022.* diff --git a/demonstrations/tutorial_learningshallow.metadata.json b/demonstrations/tutorial_learningshallow.metadata.json index 6bbf4b4025..b7e58d889d 100644 --- a/demonstrations/tutorial_learningshallow.metadata.json +++ b/demonstrations/tutorial_learningshallow.metadata.json @@ -2,11 +2,11 @@ "title": "Learning shallow quantum circuits with local inversions and circuit sewing", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2024-01-24T00:00:00+00:00", - "dateOfLastModification": "2024-01-24T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization", "Quantum Computing", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_learningshallow.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_learningshallow.png" } ], "seoDescription": "Learn how to do circuit sewing with local inversions, which play a crucial role in learning shallow quantum circuits", diff --git a/demonstrations/tutorial_liealgebra.metadata.json b/demonstrations/tutorial_liealgebra.metadata.json index face3f4e54..5b7082dbde 100644 --- a/demonstrations/tutorial_liealgebra.metadata.json +++ b/demonstrations/tutorial_liealgebra.metadata.json @@ -2,11 +2,11 @@ "title": "Introducing (Dynamical) Lie Algebras for quantum practitioners", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2024-02-27T00:00:00+00:00", - "dateOfLastModification": "2024-04-25T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Getting Started" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_liealgebra.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liealgebra.png" } ], "seoDescription": "A gentle introduction to Lie theory covering the basics of Lie algebras and Lie groups in the context of quantum computing.", diff --git a/demonstrations/tutorial_liesim.metadata.json b/demonstrations/tutorial_liesim.metadata.json index 4a2704bf70..ab538c7aa8 100644 --- a/demonstrations/tutorial_liesim.metadata.json +++ b/demonstrations/tutorial_liesim.metadata.json @@ -2,11 +2,11 @@ "title": "g-sim: Lie-algebraic classical simulations for variational quantum computing", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2024-06-07T00:00:00+00:00", - "dateOfLastModification": "2024-06-18T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Getting Started" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_gsim.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_gsim.png" } ], "seoDescription": "A differentiable implementation of g-sim in PennyLane", diff --git a/demonstrations/tutorial_liesim.py b/demonstrations/tutorial_liesim.py index 0cb3ffabb2..6eebb7f1d0 100644 --- a/demonstrations/tutorial_liesim.py +++ b/demonstrations/tutorial_liesim.py @@ -66,7 +66,7 @@ Technically, the (dynamical) Lie algebra is formed by skew-Hermitian operators :math:`\{i h_i\}`. We avoid this distinction here since for all practical purposes one can also look at Hermitian operators and explicitly add imaginary units in the exponents where appropriate. - For more details, see the note in the "Lie algebras" section of our :doc:`Intro to (Dynamical) Lie Algebras for quantum practitioners `. + For more details, see the note in the "Lie algebras" section of our `Intro to (dynamical) Lie algebras for quantum practitioners `__. :math:`\mathfrak{g}`-sim theory ------------------------------- diff --git a/demonstrations/tutorial_liesim_extension.metadata.json b/demonstrations/tutorial_liesim_extension.metadata.json index 654f8394d8..b223f37577 100644 --- a/demonstrations/tutorial_liesim_extension.metadata.json +++ b/demonstrations/tutorial_liesim_extension.metadata.json @@ -2,11 +2,11 @@ "title": "(g + P)-sim: Extending g-sim by non-DLA observables and gates", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2024-06-18T00:00:00+00:00", - "dateOfLastModification": "2024-06-18T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing", "Quantum Machine Learning" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_liesim_extension.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_liesim_extension.png" } ], "seoDescription": "(g + P)-sim: Extending g-sim by non-DLA observables and gates", diff --git a/demonstrations/tutorial_local_cost_functions.metadata.json b/demonstrations/tutorial_local_cost_functions.metadata.json index cb7aa1adb2..91b2ec37d6 100644 --- a/demonstrations/tutorial_local_cost_functions.metadata.json +++ b/demonstrations/tutorial_local_cost_functions.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-09-09T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_alleviating_barren_plateaus.png" } ], "seoDescription": "Local cost functions are cost formulations for variational quantum circuits that are more robust to barren plateaus.", diff --git a/demonstrations/tutorial_magic_state_distillation.metadata.json b/demonstrations/tutorial_magic_state_distillation.metadata.json index 00843afaf3..6bd5a2e459 100644 --- a/demonstrations/tutorial_magic_state_distillation.metadata.json +++ b/demonstrations/tutorial_magic_state_distillation.metadata.json @@ -2,11 +2,11 @@ "title": "Magic state distillation", "authors": [ { - "id": "david_ittah" + "username": "david" } ], "dateOfPublication": "2024-04-26T00:00:00+00:00", - "dateOfLastModification": "2024-04-26T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -15,11 +15,11 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_magic-state-distillation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_magic-state-distillation.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_magic-state-distillation.png" } ], "seoDescription": "Use PennyLane, Catalyst, and QJIT to improve the fidelity of magic T-states.", diff --git a/demonstrations/tutorial_magic_state_distillation.py b/demonstrations/tutorial_magic_state_distillation.py index 9cf88a2a36..acae608125 100644 --- a/demonstrations/tutorial_magic_state_distillation.py +++ b/demonstrations/tutorial_magic_state_distillation.py @@ -16,7 +16,7 @@ tutorial, we will see how we can use Catalyst’s tight integration of quantum and classical code, both within the language and during execution, to develop a magic state distillation routine. -.. figure:: ../_static/demonstration_assets/magic_state_distillation/OGthumbnail_large_magic-state-distillation_2024-04-23.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_magic-state-distillation_2024-04-23.png :align: center :width: 60% :target: javascript:void(0) diff --git a/demonstrations/tutorial_mapping.metadata.json b/demonstrations/tutorial_mapping.metadata.json index 9b77001a2c..d4a607a0ba 100644 --- a/demonstrations/tutorial_mapping.metadata.json +++ b/demonstrations/tutorial_mapping.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2024-05-06T00:00:00+00:00", - "dateOfLastModification": "2024-06-19T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mapping_2024-06-20.png" } ], "seoDescription": "Learn how to map fermionic operators to qubit operators", diff --git a/demonstrations/tutorial_mbqc.metadata.json b/demonstrations/tutorial_mbqc.metadata.json index 5bc642cbd4..3af3885fab 100644 --- a/demonstrations/tutorial_mbqc.metadata.json +++ b/demonstrations/tutorial_mbqc.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2022-12-05T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -18,7 +18,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement-based_QC.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement-based_QC.png" } ], "seoDescription": "Learn about measurement-based quantum computation", diff --git a/demonstrations/tutorial_mbqc.py b/demonstrations/tutorial_mbqc.py index 530d42edda..8e17602079 100644 --- a/demonstrations/tutorial_mbqc.py +++ b/demonstrations/tutorial_mbqc.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn about measurement-based quantum computation - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_mbqc.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_mbqc.png .. related:: diff --git a/demonstrations/tutorial_mcm_introduction.metadata.json b/demonstrations/tutorial_mcm_introduction.metadata.json index fe0471e3f5..586633d57e 100644 --- a/demonstrations/tutorial_mcm_introduction.metadata.json +++ b/demonstrations/tutorial_mcm_introduction.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2024-05-10T00:00:00+00:00", - "dateOfLastModification": "2024-06-21T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", "Quantum Computing" @@ -15,11 +15,11 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_mcm_introduction.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_mcm_introduction.png" }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_mcm_introduction.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mcm_introduction.png" } ], "seoDescription": "Learn the basics of mid-circuit measurements and how to use them in PennyLane.", diff --git a/demonstrations/tutorial_measurement_optimize.metadata.json b/demonstrations/tutorial_measurement_optimize.metadata.json index 8367930d7f..5e6bfea7cc 100644 --- a/demonstrations/tutorial_measurement_optimize.metadata.json +++ b/demonstrations/tutorial_measurement_optimize.metadata.json @@ -2,11 +2,11 @@ "title": "Measurement optimization", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2021-01-18T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_measurement_optimization.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_measurement_optimization.png" } ], "seoDescription": "Optimize and reduce the number of measurements required to evaluate a variational algorithm cost function.", diff --git a/demonstrations/tutorial_measurement_optimize.py b/demonstrations/tutorial_measurement_optimize.py index 54f8f6ee46..13c703615b 100644 --- a/demonstrations/tutorial_measurement_optimize.py +++ b/demonstrations/tutorial_measurement_optimize.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Optimize and reduce the number of measurements required to evaluate a variational algorithm cost function. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//grouping.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/grouping.png .. related:: diff --git a/demonstrations/tutorial_mitigation_advantage.metadata.json b/demonstrations/tutorial_mitigation_advantage.metadata.json index 55889690b4..c094495483 100644 --- a/demonstrations/tutorial_mitigation_advantage.metadata.json +++ b/demonstrations/tutorial_mitigation_advantage.metadata.json @@ -2,11 +2,11 @@ "title": "Is quantum computing useful before fault tolerance?", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2023-06-16T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_mitigation_advantage.png" } ], "seoDescription": "Using IBM's 127-qubit quantum computer to simulate deep quantum circuits using Zero Noise Extrapolation", diff --git a/demonstrations/tutorial_mitigation_advantage.py b/demonstrations/tutorial_mitigation_advantage.py index a12afe6e17..cf73006c9a 100644 --- a/demonstrations/tutorial_mitigation_advantage.py +++ b/demonstrations/tutorial_mitigation_advantage.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Evidence for the utility of quantum computing before fault tolerance - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_mitigation_advantage.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_mitigation_advantage.png .. related:: diff --git a/demonstrations/tutorial_mol_geo_opt.metadata.json b/demonstrations/tutorial_mol_geo_opt.metadata.json index 33d2118d3d..f873efb255 100644 --- a/demonstrations/tutorial_mol_geo_opt.metadata.json +++ b/demonstrations/tutorial_mol_geo_opt.metadata.json @@ -2,11 +2,11 @@ "title": "Optimization of molecular geometries", "authors": [ { - "id": "alain_delgado" + "username": "adgran" } ], "dateOfPublication": "2021-06-30T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_of_molecular_geometrics.png" } ], "seoDescription": "Find the equilibrium geometry of a molecule", diff --git a/demonstrations/tutorial_mol_geo_opt.py b/demonstrations/tutorial_mol_geo_opt.py index 34c7981f9d..3808c2b973 100644 --- a/demonstrations/tutorial_mol_geo_opt.py +++ b/demonstrations/tutorial_mol_geo_opt.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Find the equilibrium geometry of a molecule - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//fig_pes.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/fig_pes.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_multiclass_classification.metadata.json b/demonstrations/tutorial_multiclass_classification.metadata.json index 9ef675330d..aef243c2a2 100644 --- a/demonstrations/tutorial_multiclass_classification.metadata.json +++ b/demonstrations/tutorial_multiclass_classification.metadata.json @@ -6,13 +6,13 @@ } ], "dateOfPublication": "2020-04-09T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": ["Algorithms"], "tags": [], "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_multiclass_margin_classifier.png" } ], "seoDescription": "Using PyTorch to implement a multiclass quantum variational classifier on MNIST data.", diff --git a/demonstrations/tutorial_multiclass_classification.py b/demonstrations/tutorial_multiclass_classification.py index 20c59b8779..fe61dfb045 100644 --- a/demonstrations/tutorial_multiclass_classification.py +++ b/demonstrations/tutorial_multiclass_classification.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Using PyTorch to implement a multiclass quantum variational classifier on MNIST data. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//margin_2.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/margin_2.png .. related:: diff --git a/demonstrations/tutorial_neutral_atoms.metadata.json b/demonstrations/tutorial_neutral_atoms.metadata.json index abbab6500d..f8736f87f1 100644 --- a/demonstrations/tutorial_neutral_atoms.metadata.json +++ b/demonstrations/tutorial_neutral_atoms.metadata.json @@ -2,11 +2,11 @@ "title": "Neutral-atom quantum computers", "authors": [ { - "id": "alvaro_ballon" + "username": "alvaro" } ], "dateOfPublication": "2023-05-30T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_neutral_atoms.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_neutral_atoms.png" } ], "seoDescription": "Learn how neutral atom quantum devices work using code.", diff --git a/demonstrations/tutorial_neutral_atoms.py b/demonstrations/tutorial_neutral_atoms.py index 9fa70a6fe0..f58a2dc362 100644 --- a/demonstrations/tutorial_neutral_atoms.py +++ b/demonstrations/tutorial_neutral_atoms.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how neutral atom quantum devices work using code - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_neutral_atoms.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_neutral_atoms.png .. related:: tutorial_pasqal Quantum computation with neutral atoms diff --git a/demonstrations/tutorial_noisy_circuit_optimization.metadata.json b/demonstrations/tutorial_noisy_circuit_optimization.metadata.json index 4eb81e8beb..f41fc2a747 100644 --- a/demonstrations/tutorial_noisy_circuit_optimization.metadata.json +++ b/demonstrations/tutorial_noisy_circuit_optimization.metadata.json @@ -2,11 +2,11 @@ "title": "Optimizing noisy circuits with Cirq", "authors": [ { - "id": "nathan_killoran" + "username": "co9olguy" } ], "dateOfPublication": "2020-06-01T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimizing_noisy_circuits_Cirq.png" } ], "seoDescription": "Learn how noise can affect the optimization and training of quantum computations.", diff --git a/demonstrations/tutorial_noisy_circuit_optimization.py b/demonstrations/tutorial_noisy_circuit_optimization.py index 349b6d9304..6bfd26b0dd 100644 --- a/demonstrations/tutorial_noisy_circuit_optimization.py +++ b/demonstrations/tutorial_noisy_circuit_optimization.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how noise can affect the optimization and training of quantum computations. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//noisy_circuit_optimization_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/noisy_circuit_optimization_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_noisy_circuits.metadata.json b/demonstrations/tutorial_noisy_circuits.metadata.json index 13425c58d7..8df6cd594d 100644 --- a/demonstrations/tutorial_noisy_circuits.metadata.json +++ b/demonstrations/tutorial_noisy_circuits.metadata.json @@ -2,11 +2,11 @@ "title": "Noisy circuits", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2021-02-22T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_noisy_circuits.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_noisy_circuits.png" } ], "seoDescription": "Learn how to simulate noisy quantum circuits", diff --git a/demonstrations/tutorial_noisy_circuits.py b/demonstrations/tutorial_noisy_circuits.py index ab4d6a11da..b831f5f93d 100644 --- a/demonstrations/tutorial_noisy_circuits.py +++ b/demonstrations/tutorial_noisy_circuits.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to simulate noisy quantum circuits - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//N-Nisq.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/N-Nisq.png .. related:: diff --git a/demonstrations/tutorial_odegen.metadata.json b/demonstrations/tutorial_odegen.metadata.json index 95f793e737..9ccfef9fa6 100644 --- a/demonstrations/tutorial_odegen.metadata.json +++ b/demonstrations/tutorial_odegen.metadata.json @@ -2,11 +2,11 @@ "title": "Evaluating analytic gradients of pulse programs on quantum computers", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2023-12-12T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization", "Quantum Computing", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_odegen.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_odegen.png" } ], "seoDescription": "Learn how to compute analytic gradients of pulse programs on quantum hardware", diff --git a/demonstrations/tutorial_optimal_control.metadata.json b/demonstrations/tutorial_optimal_control.metadata.json index 4b9889462c..9fba6cd1fd 100644 --- a/demonstrations/tutorial_optimal_control.metadata.json +++ b/demonstrations/tutorial_optimal_control.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-08-08T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization", "Quantum Computing", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_optimal_control.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_optimal_control.png" } ], "seoDescription": "Learn how to optimize pulse programs to obtain digital gates", diff --git a/demonstrations/tutorial_optimal_control.py b/demonstrations/tutorial_optimal_control.py index 3db08d2489..96df1b95ab 100644 --- a/demonstrations/tutorial_optimal_control.py +++ b/demonstrations/tutorial_optimal_control.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Optimize pulse programs to obtain digital gates. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_optimal_control.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_optimal_control.png .. related:: @@ -566,7 +566,6 @@ def run_adam(profit_fn, grad_fn, params, learning_rate, num_steps): colors = {0: "#70CEFF", 1: "#C756B2", 2: "#FDC357"} dashes = {"X": [10, 0], "Y": [2, 2, 10, 2], "Z": [6, 2]} - def plot_optimal_pulses(hist, pulse_fn, ops, T, target_name): _, profit_hist = list(zip(*hist)) fig, axs = plt.subplots(2, 1, figsize=(10, 9), gridspec_kw={"hspace": 0.0}, sharex=True) diff --git a/demonstrations/tutorial_pasqal.metadata.json b/demonstrations/tutorial_pasqal.metadata.json index 6eb2caa56c..6519606a8e 100644 --- a/demonstrations/tutorial_pasqal.metadata.json +++ b/demonstrations/tutorial_pasqal.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum computation with neutral atoms", "authors": [ { - "id": "nathan_killoran" + "username": "co9olguy" } ], "dateOfPublication": "2020-10-13T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_neutral_atoms.png" } ], "seoDescription": "Neutral atom quantum devices allow you to place qubits within interesting three-dimensional configurations.", diff --git a/demonstrations/tutorial_pasqal.py b/demonstrations/tutorial_pasqal.py index 17067e06bf..a2fff8eb61 100644 --- a/demonstrations/tutorial_pasqal.py +++ b/demonstrations/tutorial_pasqal.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Neutral atom quantum devices allow you to place qubits within interesting three-dimensional configurations. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//pasqal_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/pasqal_thumbnail.png .. related:: ahs_aquila Pulse programming on neutral atom hardware diff --git a/demonstrations/tutorial_phase_kickback.metadata.json b/demonstrations/tutorial_phase_kickback.metadata.json index a167b494e1..913a6cf881 100644 --- a/demonstrations/tutorial_phase_kickback.metadata.json +++ b/demonstrations/tutorial_phase_kickback.metadata.json @@ -2,11 +2,11 @@ "title": "Building a quantum lock using phase kickback", "authors": [ { - "id": "danial_motlagh" + "username": "Dan" } ], "dateOfPublication": "2023-08-01T00:00:00+00:00", - "dateOfLastModification": "2024-06-21T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started", "Algorithms", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_phase_kickback.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_phase_kickback.png" } ], "seoDescription": "Use phase kickback to create an unbreakable quantum lock", diff --git a/demonstrations/tutorial_phase_kickback.py b/demonstrations/tutorial_phase_kickback.py index 72895a2f21..a224111440 100644 --- a/demonstrations/tutorial_phase_kickback.py +++ b/demonstrations/tutorial_phase_kickback.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Use phase kickback to create an unbreakable quantum lock - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_phase_kickback.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_phase_kickback.png .. related:: tutorial_qubit_rotation Basic tutorial: qubit rotation diff --git a/demonstrations/tutorial_photonics.metadata.json b/demonstrations/tutorial_photonics.metadata.json index 83f63dc2a2..f5adf6a523 100644 --- a/demonstrations/tutorial_photonics.metadata.json +++ b/demonstrations/tutorial_photonics.metadata.json @@ -2,11 +2,11 @@ "title": "Photonic quantum computers", "authors": [ { - "id": "alvaro_ballon" + "username": "alvaro" } ], "dateOfPublication": "2022-05-31T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_photonic_QC.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_photonic_QC.png" } ], "seoDescription": "Learn how photonic quantum computers work through code", diff --git a/demonstrations/tutorial_photonics.py b/demonstrations/tutorial_photonics.py index b36d2dfacf..527948ac75 100644 --- a/demonstrations/tutorial_photonics.py +++ b/demonstrations/tutorial_photonics.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how photonic quantum computers work through code - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//photonics_tn.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/photonics_tn.png .. related:: tutorial_pasqal Quantum computation with neutral atoms diff --git a/demonstrations/tutorial_pulse_programming101.metadata.json b/demonstrations/tutorial_pulse_programming101.metadata.json index a0891615dc..288e9ee22d 100644 --- a/demonstrations/tutorial_pulse_programming101.metadata.json +++ b/demonstrations/tutorial_pulse_programming101.metadata.json @@ -2,11 +2,11 @@ "title": "Differentiable pulse programming with qubits in PennyLane", "authors": [ { - "id": "korbinian_kottmann" + "username": "Qottmann" } ], "dateOfPublication": "2023-03-08T00:00:00+00:00", - "dateOfLastModification": "2024-07-31T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_pulse_programming.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_pulse_programming.png" } ], "seoDescription": "Simulating differentialble pulse programs in PennyLane with qubits", diff --git a/demonstrations/tutorial_pulse_programming101.py b/demonstrations/tutorial_pulse_programming101.py index ff3f617446..0cc43ce912 100644 --- a/demonstrations/tutorial_pulse_programming101.py +++ b/demonstrations/tutorial_pulse_programming101.py @@ -3,7 +3,7 @@ .. meta:: :property="og:description": Simulating differentialble pulse programs in PennyLane with qubits - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_pulse_programming.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_pulse_programming.png .. related:: ahs_aquila Pulse programming on neutral atom hardware diff --git a/demonstrations/tutorial_qaoa_intro.metadata.json b/demonstrations/tutorial_qaoa_intro.metadata.json index 85c2a9e48c..d222bf4b82 100644 --- a/demonstrations/tutorial_qaoa_intro.metadata.json +++ b/demonstrations/tutorial_qaoa_intro.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-11-18T00:00:00+00:00", - "dateOfLastModification": "2024-08-12T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_intro_to_QAOA.png" } ], "seoDescription": "Learn how to implement QAOA with PennyLane", diff --git a/demonstrations/tutorial_qaoa_intro.py b/demonstrations/tutorial_qaoa_intro.py index c005c3449a..1f0b3dd51c 100644 --- a/demonstrations/tutorial_qaoa_intro.py +++ b/demonstrations/tutorial_qaoa_intro.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to implement QAOA with PennyLane - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qaoa_layer.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qaoa_layer.png .. related:: diff --git a/demonstrations/tutorial_qaoa_maxcut.metadata.json b/demonstrations/tutorial_qaoa_maxcut.metadata.json index d6489ad008..d5af72d47b 100644 --- a/demonstrations/tutorial_qaoa_maxcut.metadata.json +++ b/demonstrations/tutorial_qaoa_maxcut.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QAOA_for_MaxCut.png" } ], "seoDescription": "Implementing the quantum approximate optimization algorithm using PennyLane to solve the MaxCut problem.", diff --git a/demonstrations/tutorial_qaoa_maxcut.py b/demonstrations/tutorial_qaoa_maxcut.py index ab8eda9a00..f492cee5ba 100644 --- a/demonstrations/tutorial_qaoa_maxcut.py +++ b/demonstrations/tutorial_qaoa_maxcut.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Implementing the quantum approximate optimization algorithm using PennyLane to solve the MaxCut problem. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qaoa_maxcut_partition.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qaoa_maxcut_partition.png .. related:: tutorial_qaoa_intro Intro to QAOA diff --git a/demonstrations/tutorial_qcbm.metadata.json b/demonstrations/tutorial_qcbm.metadata.json index 36090ed4dd..4b94d8ac8d 100644 --- a/demonstrations/tutorial_qcbm.metadata.json +++ b/demonstrations/tutorial_qcbm.metadata.json @@ -17,7 +17,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumCircuitBornMachines_2024-05-13.png" } ], "seoDescription": "Learn how to use the Quantum Circuit Born Machines (QCBMs).", diff --git a/demonstrations/tutorial_qcbm.py b/demonstrations/tutorial_qcbm.py index 433fb866ee..7c6284feb4 100644 --- a/demonstrations/tutorial_qcbm.py +++ b/demonstrations/tutorial_qcbm.py @@ -7,7 +7,7 @@ model known as Quantum Circuit Born Machines (QCBMs) has shown impressive results in modelling distributions across various datasets, including both toy and real-world datasets, and you will learn about them in this demo. -.. figure:: ../_static/demonstration_assets/qcbm/OGthumbnail_large_QuantumCircuitBornMachines_2024-05-13.png +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_large_QuantumCircuitBornMachines_2024-05-13.png :align: center :width: 50% :target: javascript:void(0) @@ -468,7 +468,9 @@ def mixture_gaussian_pdf(x, mus, sigmas): @qml.qnode(dev) def circuit(weights): - qml.StronglyEntanglingLayers(weights=weights, ranges=[1] * n_layers, wires=range(n_qubits)) + qml.StronglyEntanglingLayers( + weights=weights, ranges=[1] * n_layers, wires=range(n_qubits) + ) return qml.probs() diff --git a/demonstrations/tutorial_qchem_external.metadata.json b/demonstrations/tutorial_qchem_external.metadata.json index 1766d3cf64..335a69ae99 100644 --- a/demonstrations/tutorial_qchem_external.metadata.json +++ b/demonstrations/tutorial_qchem_external.metadata.json @@ -2,11 +2,11 @@ "title": "Using PennyLane with PySCF and OpenFermion", "authors": [ { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2023-01-03T00:00:00+00:00", - "dateOfLastModification": "2024-06-20T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry", "Devices and Performance" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_external_libs.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_external_libs.png" } ], "seoDescription": "Learn how to integrate external quantum chemistry libraries with PennyLane.", diff --git a/demonstrations/tutorial_qchem_external.py b/demonstrations/tutorial_qchem_external.py index aef923506f..77dff37479 100644 --- a/demonstrations/tutorial_qchem_external.py +++ b/demonstrations/tutorial_qchem_external.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to integrate external quantum chemistry libraries with PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_external_libs.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_external_libs.png .. related:: diff --git a/demonstrations/tutorial_qft.metadata.json b/demonstrations/tutorial_qft.metadata.json index 8fab9179e1..7338af71bf 100644 --- a/demonstrations/tutorial_qft.metadata.json +++ b/demonstrations/tutorial_qft.metadata.json @@ -2,11 +2,11 @@ "title": "Intro to Quantum Fourier Transform", "authors": [ { - "id": "guillermo_alonso" + "username": "KetPuntoG" } ], "dateOfPublication": "2024-04-16T00:00:00+00:00", - "dateOfLastModification": "2024-04-16T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QFT_2024-04-04.png" } ], "seoDescription": "Master the basics of the quantum fourier transform", diff --git a/demonstrations/tutorial_qft_arithmetics.metadata.json b/demonstrations/tutorial_qft_arithmetics.metadata.json index e962de2de1..ec1ca35416 100644 --- a/demonstrations/tutorial_qft_arithmetics.metadata.json +++ b/demonstrations/tutorial_qft_arithmetics.metadata.json @@ -2,11 +2,11 @@ "title": "Basic arithmetic with the quantum Fourier transform (QFT)", "authors": [ { - "id": "guillermo_alonso" + "username": "KetPuntoG" } ], "dateOfPublication": "2022-11-07T00:00:00+00:00", - "dateOfLastModification": "2024-06-21T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started", "Algorithms", "Quantum Computing" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_arithmetic_QFT.png" } ], "seoDescription": "Learn how to use the quantum Fourier transform (QFT) to do basic arithmetic", diff --git a/demonstrations/tutorial_qft_arithmetics.py b/demonstrations/tutorial_qft_arithmetics.py index cfa4a47a4a..61fee357be 100644 --- a/demonstrations/tutorial_qft_arithmetics.py +++ b/demonstrations/tutorial_qft_arithmetics.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to use the quantum Fourier transform (QFT) to do basic arithmetic - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qft_arithmetics_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qft_arithmetics_thumbnail.png .. related:: tutorial_qubit_rotation Basis tutorial: qubit rotation diff --git a/demonstrations/tutorial_qgrnn.metadata.json b/demonstrations/tutorial_qgrnn.metadata.json index efbb19e495..db4d9f5f12 100644 --- a/demonstrations/tutorial_qgrnn.metadata.json +++ b/demonstrations/tutorial_qgrnn.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-07-27T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_graph_recurrent_neural.png" } ], "seoDescription": "Using a quantum graph recurrent neural network to learn quantum dynamics.", diff --git a/demonstrations/tutorial_qgrnn.py b/demonstrations/tutorial_qgrnn.py index 376c32b5d9..8b13db0fd7 100644 --- a/demonstrations/tutorial_qgrnn.py +++ b/demonstrations/tutorial_qgrnn.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Using a quantum graph recurrent neural network to learn quantum dynamics. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qgrnn_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qgrnn_thumbnail.png *Author: Jack Ceroni — Posted: 27 July 2020. Last updated: 25 March 2021.* diff --git a/demonstrations/tutorial_qnn_module_tf.metadata.json b/demonstrations/tutorial_qnn_module_tf.metadata.json index ab4675b004..cbc30864f2 100644 --- a/demonstrations/tutorial_qnn_module_tf.metadata.json +++ b/demonstrations/tutorial_qnn_module_tf.metadata.json @@ -2,11 +2,11 @@ "title": "Turning quantum nodes into Keras Layers", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" } ], "dateOfPublication": "2020-11-02T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-14T00:00:00+00:00", "categories": [ "Devices and Performance", "Quantum Machine Learning" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_keras.png" } ], "seoDescription": "Learn how to create hybrid ML models in PennyLane using Keras", diff --git a/demonstrations/tutorial_qnn_module_tf.py b/demonstrations/tutorial_qnn_module_tf.py index 6717ec4b06..a78ddae642 100644 --- a/demonstrations/tutorial_qnn_module_tf.py +++ b/demonstrations/tutorial_qnn_module_tf.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to create hybrid ML models in PennyLane using Keras - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//Keras_logo.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/Keras_logo.png .. related:: diff --git a/demonstrations/tutorial_qnn_module_torch.metadata.json b/demonstrations/tutorial_qnn_module_torch.metadata.json index 8d3d1ed6f4..c2e450df0d 100644 --- a/demonstrations/tutorial_qnn_module_torch.metadata.json +++ b/demonstrations/tutorial_qnn_module_torch.metadata.json @@ -2,11 +2,11 @@ "title": "Turning quantum nodes into Torch Layers", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" } ], "dateOfPublication": "2020-11-02T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-14T00:00:00+00:00", "categories": [ "Devices and Performance", "Quantum Machine Learning" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_nodes_into_touch.png" } ], "seoDescription": "Learn how to create hybrid ML models in PennyLane using Torch", diff --git a/demonstrations/tutorial_qnn_module_torch.py b/demonstrations/tutorial_qnn_module_torch.py index bee3a4c523..4a7eee615f 100644 --- a/demonstrations/tutorial_qnn_module_torch.py +++ b/demonstrations/tutorial_qnn_module_torch.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to create hybrid ML models in PennyLane using Torch - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//PyTorch_icon.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/PyTorch_icon.png .. related:: diff --git a/demonstrations/tutorial_qpe.metadata.json b/demonstrations/tutorial_qpe.metadata.json index 98a0b94fdf..6a18a1fa3e 100644 --- a/demonstrations/tutorial_qpe.metadata.json +++ b/demonstrations/tutorial_qpe.metadata.json @@ -2,14 +2,14 @@ "title": "Intro to Quantum Phase Estimation", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" }, { - "id": "guillermo_alonso" + "username": "KetPuntoG" } ], "dateOfPublication": "2024-01-30T00:00:00+00:00", - "dateOfLastModification": "2024-01-30T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -22,7 +22,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_Quantum_Phase_Estimation_2023-11-27.png" } ], "seoDescription": "Master the basics of the quantum phase estimation", diff --git a/demonstrations/tutorial_quantum_analytic_descent.metadata.json b/demonstrations/tutorial_quantum_analytic_descent.metadata.json index 54b72c2d7d..257f9ec7a9 100644 --- a/demonstrations/tutorial_quantum_analytic_descent.metadata.json +++ b/demonstrations/tutorial_quantum_analytic_descent.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2021-06-30T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_analytic_descent.png" } ], "seoDescription": "Implement the Quantum analytic descent algorithm for VQE.", diff --git a/demonstrations/tutorial_quantum_analytic_descent.py b/demonstrations/tutorial_quantum_analytic_descent.py index b96f52e18a..5894b0885f 100644 --- a/demonstrations/tutorial_quantum_analytic_descent.py +++ b/demonstrations/tutorial_quantum_analytic_descent.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Implement the Quantum analytic descent algorithm for VQE. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//flowchart.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/flowchart.png .. related:: diff --git a/demonstrations/tutorial_quantum_chemistry.metadata.json b/demonstrations/tutorial_quantum_chemistry.metadata.json index 23c33b991d..e580d0a2a2 100644 --- a/demonstrations/tutorial_quantum_chemistry.metadata.json +++ b/demonstrations/tutorial_quantum_chemistry.metadata.json @@ -2,11 +2,11 @@ "title": "Building molecular Hamiltonians", "authors": [ { - "id": "alain_delgado" + "username": "adgran" } ], "dateOfPublication": "2020-08-02T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_building_molecular_Hamiltonians.png" } ], "seoDescription": "Learn how to build electronic Hamiltonians of molecules.", diff --git a/demonstrations/tutorial_quantum_chemistry.py b/demonstrations/tutorial_quantum_chemistry.py index 30362414dc..ba55ced91f 100644 --- a/demonstrations/tutorial_quantum_chemistry.py +++ b/demonstrations/tutorial_quantum_chemistry.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Learn how to build electronic Hamiltonians of molecules. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//water_structure.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/water_structure.png .. related:: tutorial_vqe A brief overview of VQE @@ -255,7 +255,7 @@ ############################################################################## # In this case, since we have truncated the basis of molecular orbitals, the resulting # observable is an approximation of the Hamiltonian generated in the -# section :ref:`hamiltonian`. +# section `Building the Hamiltonian `__. # # OpenFermion-PySCF backend # ------------------------- diff --git a/demonstrations/tutorial_quantum_circuit_cutting.metadata.json b/demonstrations/tutorial_quantum_circuit_cutting.metadata.json index 8934f00d50..006603aad1 100644 --- a/demonstrations/tutorial_quantum_circuit_cutting.metadata.json +++ b/demonstrations/tutorial_quantum_circuit_cutting.metadata.json @@ -12,7 +12,7 @@ } ], "dateOfPublication": "2022-09-02T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" ], @@ -20,7 +20,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_cutting.png" } ], "seoDescription": "We dive into two algorithms for splitting a large quantum circuit into smaller ones.", diff --git a/demonstrations/tutorial_quantum_circuit_cutting.py b/demonstrations/tutorial_quantum_circuit_cutting.py index 1cd830fb77..c706b6cc31 100644 --- a/demonstrations/tutorial_quantum_circuit_cutting.py +++ b/demonstrations/tutorial_quantum_circuit_cutting.py @@ -713,7 +713,7 @@ def make_kraus_ops(num_wires: int): # simulator. Luckily, PennyLane has just what we need: # -device = qml.device("default.mixed", wires=tape.wires) +device = qml.device("default.mixed", wires=tape.wires, shots=n_shots) ###################################################################### # We only need a single run for each of the two generated tapes, ``tape0`` and @@ -738,11 +738,12 @@ def make_kraus_ops(num_wires: int): # Time to run the simulator! # -device.shots = channel_shots[0].item() +tape0 = QuantumTape(ops=ops_0, measurements=tape.measurements, shots=channel_shots[0].item()) +tape1 = QuantumTape(ops=ops_1, measurements=tape.measurements, shots=channel_shots[1].item()) + (shots0,) = qml.execute([tape0], device=device, cache=False, gradient_fn=None) samples[choices == 0] = shots0 -device.shots = channel_shots[1].item() (shots1,) = qml.execute([tape1], device=device, cache=False, gradient_fn=None) samples[choices == 1] = shots1 diff --git a/demonstrations/tutorial_quantum_dropout.metadata.json b/demonstrations/tutorial_quantum_dropout.metadata.json index 1d274e9983..00435ceb41 100644 --- a/demonstrations/tutorial_quantum_dropout.metadata.json +++ b/demonstrations/tutorial_quantum_dropout.metadata.json @@ -7,7 +7,7 @@ } ], "dateOfPublication": "2024-03-12T00:00:00+00:00", - "dateOfLastModification": "2024-03-12T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": ["Quantum Machine Learning"], "tags": ["QNN", "overfitting", "dropout", "regularization"], "previewImages": [ @@ -17,7 +17,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_QuantumDropout_2024-03-07.png" } ], "seoDescription": "Learn to avoid overfitting employing quantum dropout", diff --git a/demonstrations/tutorial_quantum_gans.metadata.json b/demonstrations/tutorial_quantum_gans.metadata.json index 2fabc23e3d..7ae99875e4 100644 --- a/demonstrations/tutorial_quantum_gans.metadata.json +++ b/demonstrations/tutorial_quantum_gans.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2022-02-01T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_GANs.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_GANs.png" } ], "seoDescription": "Explore quantum GANs to generate hand-written digits of zero", diff --git a/demonstrations/tutorial_quantum_gans.py b/demonstrations/tutorial_quantum_gans.py index 34f9d12b5e..d0c2db2e35 100644 --- a/demonstrations/tutorial_quantum_gans.py +++ b/demonstrations/tutorial_quantum_gans.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Explore quantum GANs to generate hand-written digits of zero - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//patch.jpeg + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/patch.jpeg .. related:: tutorial_QGAN Quantum generative adversarial networks with Cirq + TensorFlow diff --git a/demonstrations/tutorial_quantum_metrology.metadata.json b/demonstrations/tutorial_quantum_metrology.metadata.json index e7c27c7093..684fa8c6ec 100644 --- a/demonstrations/tutorial_quantum_metrology.metadata.json +++ b/demonstrations/tutorial_quantum_metrology.metadata.json @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_optimizing_measurement_protocols.png" } ], "seoDescription": "Using a variational quantum algorithm to optimize a quantum sensing protocol.", diff --git a/demonstrations/tutorial_quantum_metrology.py b/demonstrations/tutorial_quantum_metrology.py index e4fbee9511..04a8a06990 100644 --- a/demonstrations/tutorial_quantum_metrology.py +++ b/demonstrations/tutorial_quantum_metrology.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Using a variational quantum algorithm to optimize a quantum sensing protocol. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//illustration1.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/illustration1.png .. related:: diff --git a/demonstrations/tutorial_quantum_natural_gradient.metadata.json b/demonstrations/tutorial_quantum_natural_gradient.metadata.json index e720f2cf51..06dddee6aa 100644 --- a/demonstrations/tutorial_quantum_natural_gradient.metadata.json +++ b/demonstrations/tutorial_quantum_natural_gradient.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum natural gradient", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_natural_gradient.png" } ], "seoDescription": "The quantum natural gradient method can achieve faster convergence for quantum machine learning problems by taking into account the intrinsic geometry of qubits.", diff --git a/demonstrations/tutorial_quantum_natural_gradient.py b/demonstrations/tutorial_quantum_natural_gradient.py index d2e87d4f87..b336c01a75 100644 --- a/demonstrations/tutorial_quantum_natural_gradient.py +++ b/demonstrations/tutorial_quantum_natural_gradient.py @@ -8,7 +8,7 @@ .. meta:: :property="og:description": The quantum natural gradient method can achieve faster convergence for quantum machine learning problems by taking into account the intrinsic geometry of qubits. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qng_optimization.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qng_optimization.png .. related:: @@ -26,7 +26,7 @@ The most successful class of quantum algorithms for use on near-term noisy quantum hardware is the so-called variational quantum algorithm. As laid out in the -:ref:`Concepts section `, in variational quantum algorithms +`Concepts section `__, in variational quantum algorithms a low-depth parametrized quantum circuit ansatz is chosen, and a problem-specific observable measured. A classical optimization loop is then used to find the set of quantum parameters that *minimize* a particular measurement expectation value diff --git a/demonstrations/tutorial_quantum_transfer_learning.metadata.json b/demonstrations/tutorial_quantum_transfer_learning.metadata.json index 9406218635..b38f758c58 100644 --- a/demonstrations/tutorial_quantum_transfer_learning.metadata.json +++ b/demonstrations/tutorial_quantum_transfer_learning.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-12-19T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tutorial_quantum_transfer_learning.png" } ], "seoDescription": "Combine PyTorch and PennyLane to train a hybrid quantum-classical image classifier using transfer learning.", diff --git a/demonstrations/tutorial_quantum_transfer_learning.py b/demonstrations/tutorial_quantum_transfer_learning.py index 085f3026d2..042cd37a18 100644 --- a/demonstrations/tutorial_quantum_transfer_learning.py +++ b/demonstrations/tutorial_quantum_transfer_learning.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Combine PyTorch and PennyLane to train a hybrid quantum-classical image classifier using transfer learning. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//transfer_images.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/transfer_images.png *Author: Andrea Mari — Posted: 19 December 2019. Last updated: 28 January 2021.* diff --git a/demonstrations/tutorial_quanvolution.metadata.json b/demonstrations/tutorial_quanvolution.metadata.json index 7a9393e24b..f3cfc30781 100644 --- a/demonstrations/tutorial_quanvolution.metadata.json +++ b/demonstrations/tutorial_quanvolution.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-03-24T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quanvolutional_neural_networks.png" } ], "seoDescription": "Train a quantum convolutional neural network to classify MNIST images.", diff --git a/demonstrations/tutorial_quanvolution.py b/demonstrations/tutorial_quanvolution.py index 1df3b2787c..7596f5386a 100644 --- a/demonstrations/tutorial_quanvolution.py +++ b/demonstrations/tutorial_quanvolution.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Train a quantum convolutional neural network to classify MNIST images. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//circuit.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/circuit.png *Author: Andrea Mari — Posted: 24 March 2020. Last updated: 15 January 2021.* diff --git a/demonstrations/tutorial_qubit_rotation.metadata.json b/demonstrations/tutorial_qubit_rotation.metadata.json index 54e15ebe0a..85d69a1eb7 100644 --- a/demonstrations/tutorial_qubit_rotation.metadata.json +++ b/demonstrations/tutorial_qubit_rotation.metadata.json @@ -2,11 +2,11 @@ "title": "Basic tutorial: qubit rotation", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_basic_cubic_rotation.png" } ], "seoDescription": "To see how PennyLane allows the easy construction and optimization of quantum functions, let's consider the 'hello world' of QML: qubit rotation.", diff --git a/demonstrations/tutorial_qubit_rotation.py b/demonstrations/tutorial_qubit_rotation.py index feba97ddfe..59f930b6d1 100644 --- a/demonstrations/tutorial_qubit_rotation.py +++ b/demonstrations/tutorial_qubit_rotation.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": To see how PennyLane allows the easy construction and optimization of quantum functions, let's consider the 'hello world' of QML: qubit rotation. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//bloch.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/bloch.png .. related:: @@ -264,8 +264,8 @@ def circuit2(phi1, phi2): # the gradient for ``phi2``. To get the gradient with respect to both parameters, # we can use ``argnums=[0,1]``: -phi1 = np.array([0.54]) -phi2 = np.array([0.12]) +phi1 = np.array(0.54) +phi2 = np.array(0.12) dcircuit = jax.grad(circuit2, argnums=[0, 1]) print(dcircuit(phi1, phi2)) diff --git a/demonstrations/tutorial_qubit_tapering.metadata.json b/demonstrations/tutorial_qubit_tapering.metadata.json index 872e4bff5b..c25c20121f 100644 --- a/demonstrations/tutorial_qubit_tapering.metadata.json +++ b/demonstrations/tutorial_qubit_tapering.metadata.json @@ -2,14 +2,14 @@ "title": "Qubit tapering", "authors": [ { - "id": "utkarsh_azad" + "username": "whatsis" }, { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2022-05-16T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_Qubit_tapering.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_Qubit_tapering.png" } ], "seoDescription": "Learn how to taper off qubits", diff --git a/demonstrations/tutorial_qubit_tapering.py b/demonstrations/tutorial_qubit_tapering.py index 9bde9549e1..59bc2b530d 100644 --- a/demonstrations/tutorial_qubit_tapering.py +++ b/demonstrations/tutorial_qubit_tapering.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to taper off qubits - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qubit_tapering.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qubit_tapering.png .. related:: tutorial_quantum_chemistry Building molecular Hamiltonians diff --git a/demonstrations/tutorial_qutrits_bernstein_vazirani.metadata.json b/demonstrations/tutorial_qutrits_bernstein_vazirani.metadata.json index 85b456032e..6cfd5e67e6 100644 --- a/demonstrations/tutorial_qutrits_bernstein_vazirani.metadata.json +++ b/demonstrations/tutorial_qutrits_bernstein_vazirani.metadata.json @@ -2,11 +2,11 @@ "title": "Qutrits and quantum algorithms", "authors": [ { - "id": "guillermo_alonso" + "username": "KetPuntoG" } ], "dateOfPublication": "2023-05-09T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" ], diff --git a/demonstrations/tutorial_qutrits_bernstein_vazirani.py b/demonstrations/tutorial_qutrits_bernstein_vazirani.py index ffc02fa103..51db426c6c 100644 --- a/demonstrations/tutorial_qutrits_bernstein_vazirani.py +++ b/demonstrations/tutorial_qutrits_bernstein_vazirani.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn how to interpret the Bernstein-Vazirani algorithm with qutrits - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_qutrits_bernstein_vazirani.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_qutrits_bernstein_vazirani.png .. related:: diff --git a/demonstrations/tutorial_resource_estimation.metadata.json b/demonstrations/tutorial_resource_estimation.metadata.json index 7b2da77bde..3ba43a2135 100644 --- a/demonstrations/tutorial_resource_estimation.metadata.json +++ b/demonstrations/tutorial_resource_estimation.metadata.json @@ -2,11 +2,11 @@ "title": "Resource estimation for quantum chemistry", "authors": [ { - "id": "soran_jahangiri" + "username": "soran" } ], "dateOfPublication": "2022-11-21T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_resource_estimation_QChem.png" } ], "seoDescription": "Learn how to estimate the number of qubits and gates needed to implement quantum algorithms", diff --git a/demonstrations/tutorial_resource_estimation.py b/demonstrations/tutorial_resource_estimation.py index 718af3e8a7..f7acc96527 100644 --- a/demonstrations/tutorial_resource_estimation.py +++ b/demonstrations/tutorial_resource_estimation.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Learn how to estimate the number of qubits and gates needed to implement quantum algorithms - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//resource_estimation.jpeg + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/resource_estimation.jpeg .. related:: tutorial_quantum_chemistry Quantum chemistry with PennyLane diff --git a/demonstrations/tutorial_rl_pulse.metadata.json b/demonstrations/tutorial_rl_pulse.metadata.json index 100fb863d7..2e49d37dc4 100644 --- a/demonstrations/tutorial_rl_pulse.metadata.json +++ b/demonstrations/tutorial_rl_pulse.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2024-04-09T00:00:00+00:00", - "dateOfLastModification": "2024-04-09T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Getting Started", "Optimization", @@ -20,7 +20,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_RLpulse.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_RLpulse.png" } ], "seoDescription": "Learn how to calibrate quantum computers with reinforcement learning", diff --git a/demonstrations/tutorial_rl_pulse.py b/demonstrations/tutorial_rl_pulse.py index 9ddf50c807..7658e3273f 100644 --- a/demonstrations/tutorial_rl_pulse.py +++ b/demonstrations/tutorial_rl_pulse.py @@ -528,7 +528,7 @@ def score_function_and_action(params, state, subkey): @jax.jit def sum_pytrees(pytrees): """Sum a list of pytrees.""" - return jax.tree_map(lambda *x: sum(x), *pytrees) + return jax.tree_util.tree_map(lambda *x: sum(x), *pytrees) @jax.jit @@ -586,13 +586,13 @@ def reinforce_gradient_with_baseline(episodes): # b baseline = compute_baseline(episodes) # G - b - ret_minus_baseline = jax.tree_map(lambda b: adapt_shape(returns, b) - b, baseline) + ret_minus_baseline = jax.tree_util.tree_map(lambda b: adapt_shape(returns, b) - b, baseline) # sum((G - b) * sf) sf_sum = sum_pytrees( - [jax.tree_map(lambda r, s: r * s, ret_minus_baseline, sf) for sf in score_functions] + [jax.tree_util.tree_map(lambda r, s: r * s, ret_minus_baseline, sf) for sf in score_functions] ) # E[sum((G - b) * sf)] - return jax.tree_map(lambda x: x.sum(0) / ret_episodes, sf_sum) + return jax.tree_util.tree_map(lambda x: x.sum(0) / ret_episodes, sf_sum) @jax.jit @@ -603,19 +603,19 @@ def compute_baseline(episodes): n_segments = len(score_functions) total_actions = n_episodes * n_segments # Square of the score function: sf**2 - sq_sfs = jax.tree_map(lambda sf: sf**2, score_functions) + sq_sfs = jax.tree_util.tree_map(lambda sf: sf**2, score_functions) # Expected value: E[sf**2] - exp_sq_sfs = jax.tree_map( + exp_sq_sfs = jax.tree_util.tree_map( lambda sqsf: sqsf.sum(0, keepdims=True) / total_actions, sum_pytrees(sq_sfs) ) # Return times score function squared: G*sf**2 r_sq_sf = sum_pytrees( - [jax.tree_map(lambda sqsf: adapt_shape(returns, sqsf) * sqsf, sq_sf) for sq_sf in sq_sfs] + [jax.tree_util.tree_map(lambda sqsf: adapt_shape(returns, sqsf) * sqsf, sq_sf) for sq_sf in sq_sfs] ) # Expected product: E[G_t*sf**2] - exp_r_sq_sf = jax.tree_map(lambda rsqsf: rsqsf.sum(0, keepdims=True) / total_actions, r_sq_sf) + exp_r_sq_sf = jax.tree_util.tree_map(lambda rsqsf: rsqsf.sum(0, keepdims=True) / total_actions, r_sq_sf) # Ratio of espectation values: E[G_t*sf**2] / E[sf**2] (avoid dividing by zero) - return jax.tree_map(lambda ersq, esq: ersq / jnp.where(esq, esq, 1.0), exp_r_sq_sf, exp_sq_sfs) + return jax.tree_util.tree_map(lambda ersq, esq: ersq / jnp.where(esq, esq, 1.0), exp_r_sq_sf, exp_sq_sfs) ###################################################################### @@ -644,7 +644,7 @@ def get_optimizer(params, learning_rate): def update_params(params, gradients, optimizer, opt_state): """Update model parameters with gradient ascent.""" updates, opt_state = optimizer.update(gradients, opt_state, params) - new_params = jax.tree_map(lambda p, u: p - u, params, updates) # Negative update + new_params = jax.tree_util.tree_map(lambda p, u: p - u, params, updates) # Negative update return new_params, opt_state diff --git a/demonstrations/tutorial_rosalin.metadata.json b/demonstrations/tutorial_rosalin.metadata.json index bcc8ee668b..e2a10f8a0d 100644 --- a/demonstrations/tutorial_rosalin.metadata.json +++ b/demonstrations/tutorial_rosalin.metadata.json @@ -2,11 +2,11 @@ "title": "Frugal shot optimization with Rosalin", "authors": [ { - "id": "josh_izaac" + "username": "josh" } ], "dateOfPublication": "2020-05-19T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_frugal_shot_optimization_Rosalin.png" } ], "seoDescription": "The Rosalin optimizer uses a measurement-frugal optimization strategy to minimize the number of times a quantum computer is accessed.", diff --git a/demonstrations/tutorial_rosalin.py b/demonstrations/tutorial_rosalin.py index 42e1f463da..f7269662dd 100644 --- a/demonstrations/tutorial_rosalin.py +++ b/demonstrations/tutorial_rosalin.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": The Rosalin optimizer uses a measurement-frugal optimization strategy to minimize the number of times a quantum computer is accessed. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//sphx_glr_tutorial_rosalin_002.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/sphx_glr_tutorial_rosalin_002.png .. related:: diff --git a/demonstrations/tutorial_rotoselect.metadata.json b/demonstrations/tutorial_rotoselect.metadata.json index a4632ad8ac..e7708e2ebf 100644 --- a/demonstrations/tutorial_rotoselect.metadata.json +++ b/demonstrations/tutorial_rotoselect.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-10-16T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_quantum_circuit_structure_learning.png" } ], "seoDescription": "Applying the Rotoselect optimization algorithm to find the minimum in a variational quantum algorithm.", diff --git a/demonstrations/tutorial_rotoselect.py b/demonstrations/tutorial_rotoselect.py index 623eeb6d44..3e6fd87532 100644 --- a/demonstrations/tutorial_rotoselect.py +++ b/demonstrations/tutorial_rotoselect.py @@ -8,7 +8,7 @@ .. meta:: :property="og:description": Applying the Rotoselect optimization algorithm to find the minimum in a variational quantum algorithm. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//rotoselect_structure.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/rotoselect_structure.png .. related:: diff --git a/demonstrations/tutorial_sc_qubits.metadata.json b/demonstrations/tutorial_sc_qubits.metadata.json index 52ed34202c..96bd72975d 100644 --- a/demonstrations/tutorial_sc_qubits.metadata.json +++ b/demonstrations/tutorial_sc_qubits.metadata.json @@ -2,11 +2,11 @@ "title": "Quantum computing with superconducting qubits", "authors": [ { - "id": "alvaro_ballon" + "username": "alvaro" } ], "dateOfPublication": "2022-03-22T00:00:00+00:00", - "dateOfLastModification": "2024-03-04T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_QC_superconducting_qubits.png" } ], "seoDescription": "Learn about quantum computers based on superconducting qubits, developed by companies such as IBM and Google.", diff --git a/demonstrations/tutorial_sc_qubits.py b/demonstrations/tutorial_sc_qubits.py index 9d722f7d04..3cbde8ea11 100644 --- a/demonstrations/tutorial_sc_qubits.py +++ b/demonstrations/tutorial_sc_qubits.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn about quantum computers based on superconducting qubits, developed by companies such as IBM and Google. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//sc_qubits_tn.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/sc_qubits_tn.png .. related:: tutorial_pasqal Quantum computation with neutral atoms diff --git a/demonstrations/tutorial_shadow_hamiltonian_simulation.metadata.json b/demonstrations/tutorial_shadow_hamiltonian_simulation.metadata.json new file mode 100644 index 0000000000..9e540bc436 --- /dev/null +++ b/demonstrations/tutorial_shadow_hamiltonian_simulation.metadata.json @@ -0,0 +1,122 @@ +{ + "title": "Shadow Hamiltonian simulation", + "authors": [ + { + "username": "Qottmann" + } + ], + "dateOfPublication": "2024-08-06T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", + "categories": [ + "Quantum Computing", + "Algorithms" + ], + "tags": [], + "previewImages": [ + { + "type": "thumbnail", + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_shadow_hamiltonian_simulation.png" + }, + { + "type": "large_thumbnail", + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_shadow_hamiltonian_simulation.png" + } + ], + "seoDescription": "A user-friendly intro to the contents of shadow Hamiltonian simulation, a technique introduced by by Somma et al (arXiv:2407.21775), with a code implementation.", + "doi": "", + "canonicalURL": "/qml/demos/tutorial_shadow_hamiltonian_simulation", + "references": [ + { + "id": "Wiersema", + "type": "preprint", + "title": "Classification of dynamical Lie algebras for translation-invariant 2-local spin systems in one dimension", + "authors": "Roeland Wiersema, Efekan Kökcü, Alexander F. Kemper, Bojko N. Bakalov", + "year": "2023", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.2309.05690", + "url": "https://arxiv.org/abs/2309.05690" + }, + { + "id": "Goh", + "type": "preprint", + "title": "Lie-algebraic classical simulations for variational quantum computing", + "authors": "Matthew L. Goh, Martin Larocca, Lukasz Cincio, M. Cerezo, Frédéric Sauvage", + "year": "2023", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.2308.01432", + "url": "https://arxiv.org/abs/2308.01432" + }, + { + "id": "Somma", + "type": "preprint", + "title": "Quantum Computation, Complexity, and Many-Body Physics", + "authors": "Rolando D. Somma", + "year": "2005", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.quant-ph/0512209", + "url": "https://arxiv.org/abs/quant-ph/0512209" + }, + { + "id": "Somma2", + "type": "preprint", + "title": "Efficient solvability of Hamiltonians and limits on the power of some quantum computational models", + "authors": "Rolando Somma, Howard Barnum, Gerardo Ortiz, Emanuel Knill", + "year": "2006", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.quant-ph/0601030", + "url": "https://arxiv.org/abs/quant-ph/0601030" + }, + { + "id": "Galitski", + "type": "preprint", + "title": "Quantum-to-Classical Correspondence and Hubbard-Stratonovich Dynamical Systems, a Lie-Algebraic Approach", + "authors": "Victor Galitski", + "year": "2010", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.1012.2873", + "url": "https://arxiv.org/abs/1012.2873" + }, + { + "id": "Aguilar", + "type": "preprint", + "title": "Full classification of Pauli Lie algebras", + "authors": "Gerard Aguilar, Simon Cichy, Jens Eisert, Lennart Bittel", + "year": "2024", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.2408.00081", + "url": "https://arxiv.org/abs/2408.00081" + } + , + { + "id": "SommaShadow", + "type": "preprint", + "title": "Shadow Hamiltonian Simulation", + "authors": "olando D. Somma, Robbie King, Robin Kothari, Thomas O'Brien, Ryan Babbush", + "year": "2024", + "publisher": "", + "journal": "", + "doi": "10.48550/arXiv.2407.21775", + "url": "https://arxiv.org/abs/2407.21775" + } + ], + "basedOnPapers": ["10.48550/arXiv.2407.21775"], + "referencedByPapers": [], + "relatedContent": [ + { + "type": "demonstration", + "id": "tutorial_liealgebra", + "weight": 1.0 + }, + { + "type": "demonstration", + "id": "tutorial_liesim", + "weight": 1.0 + } + ] +} diff --git a/demonstrations/tutorial_shadow_hamiltonian_simulation.py b/demonstrations/tutorial_shadow_hamiltonian_simulation.py new file mode 100644 index 0000000000..29db00963d --- /dev/null +++ b/demonstrations/tutorial_shadow_hamiltonian_simulation.py @@ -0,0 +1,366 @@ +r"""Shadow Hamiltonian simulation +================================= + +Shadow Hamiltonian simulation is a new approach (published last week) to quantum simulation on quantum computers [#SommaShadow]_. +Despite its name, it has little to do with :doc:`classical shadows `. +In quantum simulation, the goal is typically to simulate the time evolution of expectation values +of :math:`M` observables :math:`O_m,` for :math:`m=1,\ldots ,M`. +The common approach is to evolve the wave function :math:`|\psi\rangle` and then measure the desired observables after the evolution. + +In shadow Hamiltonian simulation, we instead directly encode the expectation values in a proxy state — the **shadow state** — +and evolve that state accordingly. Specifically for time evolution, we can write a shadow Schrödinger equation that governs the +dynamics of the shadow state. + +.. figure:: ../_static/demo_thumbnails/opengraph_demo_thumbnails/OGthumbnail_shadow_hamiltonian_simulation.png + :align: center + :width: 70% + +This is fundamentally different to the common approach. Foremost, the dimensionality of the +shadow system no longer depends on the number of constituents, :math:`n`, of the system. +In fact, the underlying state can be mixed or even infinite-dimensional. +Instead, the shadow system's size is dependent on the number of observables :math:`M` that we want to measure. +Note that there are conditions of completeness on the observables for the shadow encoding to succeed, called `invariance property` in [#SommaShadow]_. +Further, since the +expectation values are encoded in the amplitudes of states, we cannot directly measure them anymore, but need to resort to some +form of state tomography. +On the other hand, this gives us entirely new possibilities by letting us sample from the probability distribution +:math:`p_m = |\langle O_m \rangle|^2` and measure the absolute value of all observables simultaneously in the standard Z basis. + +In this demo, we are going to introduce the basic concepts of shadow Hamiltonian simulation alongside some easy-to-follow code snippets. +We will also see later how shadow Hamiltonian simulation comes down to :doc:`g-sim `, +a Lie-algebraic classical simulation tool, but run on a quantum computer with some simplifications specifically due to considering Hamiltonian simulation. + +Shadow Hamiltonian simulation — Definition +------------------------------------------ + +In common quantum Hamiltonian simulation, we evolve a state vector :math:`|\psi(t)\rangle` according to the Schrödinger equation, + +.. math:: \frac{\text{d}}{\text{dt}} |\psi(t)\rangle = -i H |\psi(t)\rangle, + +by some Hamiltonian :math:`H`, and then compute expectation values of the evolved state through measurement. +In shadow Hamiltonian simulation, we encode a set of expectation values in the amplitudes of a quantum state, +and evolve those according to some shadow Schrödinger equation. + +For that, we first need to define the shadow state, + +.. math:: |\rho\rangle = \frac{1}{\sqrt{A}} \begin{pmatrix} \langle O_1 \rangle \\ \vdots \\ \langle O_M \rangle \end{pmatrix}, + +for a set of operators :math:`S = \{O_m\}` and normalization constant :math:`A = \sum_m |\langle O_m \rangle|^2`. +This means that we can encode these :math:`M` operator expectation values into :math:`n_S` qubits, as long as :math:`2^{n_S} \geq M`. +Note that :math:`\langle O_m \rangle = \text{tr}[O_m \rho]`, so we can have mixed or even infinite-dimensional states :math:`\rho`. + +The shadow state evolves according to its shadow Schrödinger equation, + +.. math:: \frac{\text{d}}{\text{dt}} |\rho\rangle = - i H_S |\rho\rangle. + +The Hamiltonian matrix :math:`H_S` is given by the commutation relations between the system Hamiltonian :math:`H` and +the operators in :math:`S = \{O_m\}`, + +.. math:: [H, O_m] = - \sum_{m'=1}^M \left( H_S \right)_{m m'} O_{m'}. + +Let us solve for the matrix elements :math:`(H_S)_{m m'}`. To do this, recall that a vector :math:`\boldsymbol{v}` can always be decomposed in an orthogonal basis :math:`\boldsymbol{e}_j` via +:math:`\boldsymbol{v} = \sum_j \frac{\langle \boldsymbol{e}_j, \boldsymbol{v}\rangle}{||\boldsymbol{e}_j||^2} \boldsymbol{e}_j`. +Since the operators under consideration are elements of the vector space of Hermitian operators, we can use this to compute :math:`H_S`. + +In particular, with the trace inner product, this amounts to + +.. math:: [H, O_m] = \sum_{m'=1}^M \frac{\text{tr}\left( O_{m'} [H, O_m] \right)}{|| O_{m'} ||^2} O_{m'}, + +from which we can read off the matrix elements of :math:`H_S`, i.e., + +.. math:: (H_S)_{m m'} = -\frac{\text{tr}\left( O_{m'} [H, O_m] \right)}{|| O_{m'} ||^2}. + +Now, we can see that the operators :math:`O_m` need to be chosen such that all potentially +new operators :math:`\mathcal{O} = [H, O_m]`, resulting from taking the commutator between :math:`H` and :math:`O_m`, are decomposable +in terms of :math:`O_m` again. In particular, the operators :math:`O_m` need to form a basis for :math:`\{\mathcal{O} | \mathcal{O} = [H, O_m] \}`. +Another way to say this is that :math:`\{O_m\}` need to contain all nested commutators :math:`[[[H, O_m], O_m'], .. ]`, which is similar to :func:`~pennylane.lie_closure` but weaker because it revolves around just :math:`H`. +In the paper this is called the **invariance property**. + +.. note:: + + Take for example :math:`H = X` and :math:`S = \{Y\}`. Then :math:`[H, Y] = iZ`, so there is no linear combination of elements in :math:`S` that can decompose :math:`[H, Y]`. + We need to extend the list such that we have :math:`S = \{Y, Z\}`. Now all results from commutation, :math:`[H, Y] = iZ` and :math:`[H, Z] = -iY`, are supported by :math:`S`. This is similar + to the Lie closure that we discuss in our :doc:`intro to Lie algebras for quantum practitioners `, but the requirements are not as strict because + we only need support with respect to commentators with :math:`H`, and not among all elements in :math:`S`. + +How this relates to g-sim +------------------------- + +In :doc:`g-sim ` +[#Somma]_ [#Somma2]_ [#Galitski]_ [#Goh]_, we have operators :math:`\{ g_i \}` that are generators or observables for a parametrized quantum circuit, +e.g. :math:`U(\theta) = \prod_\ell \exp(-i \theta_\ell g_\ell)` and :math:`\langle g_i \rangle`. +For that, we are looking at the so-called dynamical Lie algebra (DLA) of the circuit, +:math:`\mathfrak{g} = \langle \{ g_i \} \rangle_\text{Lie} = \{ g_1, .., g_{|\mathfrak{g}|} \}`, as well as +the adjoint representation +:math:`(-i \text{ad}_{g_\gamma})_{\alpha \beta} = f^\gamma_{\alpha \beta}`, where :math:`f^\gamma_{\alpha \beta}` are the +:func:`~pennylane.structure_constants` of the DLA. +They are computed via + +.. math:: f^\gamma_{\alpha \beta} = \frac{\text{tr}\left(g_\gamma [g_\alpha, g_\beta] \right)}{||g_\gamma||^2}. + +The operators in :math:`\frak{g}` can always be orthonormalized via the `Gram–Schmidt process `__, +in which case we can drop the denominator. Further, by means of the cyclic property of the trace, we can rewrite this expression to obtain + +.. math:: f^\gamma_{\alpha \beta} = \text{tr}\left(g_\beta [g_\gamma, g_\alpha] \right). + +From this, we see how :math:`H_S` corresponds to the adjoint representation :math:`i \text{ad}_H` (but we don't require the full Lie algebra here, see below). +For further details on the concept of the adjoint representation, see our +:doc:`demo on g-sim ` that makes extensive use of it. + +In g-sim, we also evolve expectation vectors :math:`(\vec{g})_i = \langle g_i \rangle`. +In particular, the circuit of evolving a state according to :math:`U(\theta)` and computing expectation values +:math:`\langle g_i \rangle` then corresponds to evolving :math:`\vec{g}` by :math:`\prod_\ell \exp(-i \theta_\ell \text{ad}_{g_\ell})`. + +Shadow Hamiltonian simulation can thus be viewed as g-sim +with a single, specific gate :math:`U(\theta) = e^{-i \theta H}` and parameter :math:`\theta = t`, and run on a quantum computer. + +One striking difference is that, because +we only have one specific "gate", we do not need the full Lie closure of the operators whose expectation values we want to compute. +Instead, here it is sufficient to choose :math:`O_m` such that they build up the full support for all :math:`[H, O_m]`. +This could potentially be a significant difference, as the Lie closure in most cases leads to an exponentially large DLA [#Wiersema]_ [#Aguilar]_, +though the scaling of the span of all :math:`[H, O_m]` is unclear at this point. + +A simple example +---------------- + +The abstract concepts of shadow Hamiltonian simulation are best illustrated with a simple and concrete example. +We are interested in simulating the Hamiltonian evolution of + +.. math:: H = X + Y + +after a time :math:`t = 1` and computing the expectation values of :math:`S = \{X, Y, Z, I \}`. +In the standard formulation, we simply evolve the initial quantum state :math:`|\psi(0)\rangle = |0\rangle` by :math:`H` in the +following way. + +""" + +import pennylane as qml +import numpy as np +from pennylane import X, Y, Z, I + +dev = qml.device("default.qubit") + +S = [X(0), Y(0), Z(0), I(0)] +H = X(0) + Y(0) + +@qml.qnode(dev) +def evolve(H, t): + qml.evolve(H, t) + return [qml.expval(Om) for Om in S] + +t = 1. +O_t_standard = np.array(evolve(H, t)) +O_t_standard + +############################################################################## +# We evolved a :math:`2^n = 2` dimensional quantum state and performed :math:`3` independent (non-commuting) measurements. +# +# In shadow Hamiltonian simulation, we encode :math:`4` expectation values in a :math:`2^2 = 4`-dimensional +# quantum state, i.e., :math:`n_S = 2`. +# +# For this specific example, the number of operators is larger than the number of qubits, leading to a shadow system that +# is larger than the original system. This may or may not be a clever choice, but the point here is just to illustrate +# the conceptual difference between both approaches. The authors in [#SommaShadow]_ show various examples where +# the resulting shadow system is significantly smaller than the original system. It should also be noted that having a smaller shadow system may not +# always be its sole purpose, as there are conceptually new avenues one can explore with shadow Hamiltonian simulation, such +# as sampling from the distribution :math:`p_m = |\langle O_m \rangle |^2`. +# +# Let us first construct the initial shadow state :math:`\boldsymbol{O}(t=0)` by computing +# :math:`\langle O_m \rangle_{t=0} = \text{tr}\left(O_m |\psi(0)\rangle \langle \psi(0)| \right)` +# with :math:`|\psi(0)\rangle = |0\rangle`. +# The ``pauli_rep`` attribute of PennyLane operators returns a :class:`~.pennylane.pauli.PauliSentence` instance and lets us efficiently +# compute the trace, where we use the trick that :math:`|0 \rangle \langle 0| = (I + Z)/2`. +# + +S_pauli = [op.pauli_rep for op in S] + +O_0 = np.zeros(len(S)) + +for m, Om in enumerate(S_pauli): + psi0 = (I(0) + Z(0)).pauli_rep + + O_0[m] = (psi0 @ Om).trace() + + +O_0 + +############################################################################## +# There are a variety of methods to encode this vector in a qubit basis, but we will just be using +# :class:`~.pennylane.StatePrep` later. +# +# We now go on to construct the shadow Hamiltonian :math:`H_S` by computing the elements +# :math:`(H_S)_{m m'} = \frac{\text{tr}\left( O_{m'} [H, O_m] \right)}{|| O_{m'} ||^2}`, and +# we again make use of the :meth:`~.pennylane.pauli.PauliSentence.trace` method. +# + +H_pauli = H.pauli_rep + +H_S = np.zeros((len(S), len(S)), dtype=complex) + +for m, Om in enumerate(S_pauli): + com = H_pauli.commutator(Om) + for mt, Omt in enumerate(S_pauli): + # v = ∑ (v · e_j / ||e_j||^2) * e_j + + value = (Omt @ com).trace() + value = value / (Omt @ Omt).trace() + H_S[m,mt] = value + +H_S = -H_S # definition eq. (2) in [1] + +############################################################################## +# In order for the shadow evolution to be unitary and implementable on a quantum computer, +# we need :math:`H_S` to be Hermitian. +# + +np.all(H_S == H_S.conj().T) + +############################################################################## +# Knowing that, we can write the formal solution to the shadow Schrödinger equation as +# +# .. math:: \boldsymbol{O}(t) = \exp\left(-i t H_S \right) \boldsymbol{O}(0). +# + +from scipy.linalg import expm + +O_t = expm(-1j * t * H_S) @ O_0 +O_t + +############################################################################## +# Up to this point, this is equivalent to :doc:`g-sim ` if we were doing classical simulation. +# Now, the main novelty for shadow Hamiltonian simulation is to perform this on a quantum computer by encoding the +# expectation values of :math:`\langle O_m \rangle` in the amplitude of a quantum state, and to translate :math:`H_S` +# accordingly. +# +# This can be done by decomposing the numerical matrix :math:`H_S` into Pauli operators, which can, in turn, +# be implemented on a quantum computer. +# + +H_S_qubit = qml.pauli_decompose(H_S) +H_S_qubit + +############################################################################## +# Using all these ingredients, we now are able to formulate the shadow Hamiltonian simulation as a quantum algorithm. +# For the amplitude encoding, we need to make sure that the state is normalized. We use that normalization factor to then +# later retrieve the correct result. +# + +A = np.linalg.norm(O_0) + +@qml.qnode(dev) +def shadow_evolve(H_S_qubit, O_0, t): + qml.StatePrep(O_0 / A, wires=range(2)) + qml.evolve(H_S_qubit, t) + return qml.state() + +O_t_shadow = shadow_evolve(H_S_qubit, O_0, t) * A + +print(O_t_standard) +print(O_t_shadow) + +############################################################################## +# We see that the results of both approaches match. +# +# The first result is coming from three independent measurements on a quantum computer after evolution with system Hamiltonian :math:`H`. +# This is conceptually very different from the second result where +# :math:`\boldsymbol{O}` is encoded in the state of the shadow system (note the ``qml.state()`` return), which we evolved according to :math:`H_S`. +# +# In the first case, the measurement is directly obtained, however, +# in the shadow Hamiltonian simulation, we need to access the amplitudes of the underlying state. +# This can be done naively with state tomography, but in instances where we know +# that :math:`\langle O_m \rangle \geq 0`, we can just sample bitstrings according to +# :math:`p_m = |\langle O_m\rangle|^2`. The ability to sample from such a distribution +# :math:`p_m = |\langle O_m\rangle|^2` is a unique and new feature to shadow Hamiltonian simulation. +# +# We should also note that we made use of the abstract quantum sub-routines :func:`~.pennylane.evolve` and :class:`~.pennylane.StatePrep`, which each warrant their +# specific implementation. For example, :class:`~.pennylane.StatePrep` can be realized by :class:`~MottonenStatePreparation` and :func:`~.pennylane.evolve` can be realized +# by :class:`TrotterProduct`, though that is not be the focus of this demo. + +############################################################################## +# +# Conclusion +# ---------- +# +# We introduced the basic concepts of shadow Hamiltonian simulation and learned how it fundamentally differs from the common approach to Hamiltonian simulation. +# +# We have seen how classical Hamiltonian simulation is tightly connected to g-sim, but run on a quantum computer. +# A significant difference comes from the fact that the authors in [#SommaShadow]_ specifically look at Hamiltonian simulation, :math:`\exp(-i t H)`, +# which allows us to just look at operators :math:`O_m` that support all commutators :math:`[H, O_m]`, instead of the full Lie closure. +# There may be some advantage to this feat, because Lie algebras in quantum computing typically scale exponentially [#Wiersema]_ [#Aguilar]_. +# However, the scaling of such sets of operators is unclear at this point and needs further investigation. +# +# Note that even in the case of an exponentially sized set of operators, we have — at least in principle — an exponentially large state vector to store the +# :math:`M \leq 2^{n_S}` values. In the absolute worst case we have :math:`\mathfrak{su}(2^n)` with a dimension of +# :math:`2^{2n}-1`, so :math:`n_S = 2n` and thus it is just doubling the number of qubits. +# +# The biggest potential to this new persepctive on Hamiltonian simulation most likely lies in finding interesting applications like [#Babbush]_ or [#Barthe]_ +# that naturally encode the problem and allow for efficient retrieval of all the relevant information. +# + + + +############################################################################## +# +# References +# ---------- +# +# .. [#SommaShadow] +# +# Rolando D. Somma, Robbie King, Robin Kothari, Thomas O'Brien, Ryan Babbush +# "Shadow Hamiltonian Simulation" +# `arXiv:2407.21775 `__, 2024. +# +# .. [#Somma] +# +# Rolando D. Somma +# "Quantum Computation, Complexity, and Many-Body Physics" +# `arXiv:quant-ph/0512209 `__, 2005. +# +# .. [#Somma2] +# +# Rolando Somma, Howard Barnum, Gerardo Ortiz, Emanuel Knill +# "Efficient solvability of Hamiltonians and limits on the power of some quantum computational models" +# `arXiv:quant-ph/0601030 `__, 2006. +# +# .. [#Galitski] +# +# Victor Galitski +# "Quantum-to-Classical Correspondence and Hubbard-Stratonovich Dynamical Systems, a Lie-Algebraic Approach" +# `arXiv:1012.2873 `__, 2010. +# +# .. [#Goh] +# +# Matthew L. Goh, Martin Larocca, Lukasz Cincio, M. Cerezo, Frédéric Sauvage +# "Lie-algebraic classical simulations for variational quantum computing" +# `arXiv:2308.01432 `__, 2023. +# +# .. [#Wiersema] +# +# Roeland Wiersema, Efekan Kökcü, Alexander F. Kemper, Bojko N. Bakalov +# "Classification of dynamical Lie algebras for translation-invariant 2-local spin systems in one dimension" +# `arXiv:2309.05690 `__, 2023. +# +# .. [#Aguilar] +# +# Gerard Aguilar, Simon Cichy, Jens Eisert, Lennart Bittel +# "Full classification of Pauli Lie algebras" +# `arXiv:2408.00081 `__, 2024. +# +# .. [#Babbush] +# +# Ryan Babbush, Dominic W. Berry, Robin Kothari, Rolando D. Somma, Nathan Wiebe +# "Exponential quantum speedup in simulating coupled classical oscillators" +# `arXiv:2303.13012 `__, 2023. +# +# .. [#Barthe] +# +# Alice Barthe, M. Cerezo, Andrew T. Sornborger, Martin Larocca, Diego García-Martín +# "Gate-based quantum simulation of Gaussian bosonic circuits on exponentially many modes" +# `arXiv:2407.06290 `__, 2024. +# + + +############################################################################## +# About the author +# ---------------- +# diff --git a/demonstrations/tutorial_spsa.metadata.json b/demonstrations/tutorial_spsa.metadata.json index 314a21f412..e50d7b5079 100644 --- a/demonstrations/tutorial_spsa.metadata.json +++ b/demonstrations/tutorial_spsa.metadata.json @@ -9,7 +9,7 @@ } ], "dateOfPublication": "2023-03-19T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -17,7 +17,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_optimization_SPSA.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_optimization_SPSA.png" } ], "seoDescription": "Use the simultaneous perturbation stochastic approximation algorithm to optimize variational circuits in PennyLane.", diff --git a/demonstrations/tutorial_spsa.py b/demonstrations/tutorial_spsa.py index 74fb6ae9e2..129d61978a 100644 --- a/demonstrations/tutorial_spsa.py +++ b/demonstrations/tutorial_spsa.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": Use the simultaneous perturbation stochastic approximation algorithm to optimize variational circuits in PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//spsa_mntn.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/spsa_mntn.png .. related:: diff --git a/demonstrations/tutorial_state_preparation.metadata.json b/demonstrations/tutorial_state_preparation.metadata.json index f6e8d22f23..dd2f188a56 100644 --- a/demonstrations/tutorial_state_preparation.metadata.json +++ b/demonstrations/tutorial_state_preparation.metadata.json @@ -2,11 +2,11 @@ "title": "Training a quantum circuit with PyTorch", "authors": [ { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Devices and Performance" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tarining_QC_with_PyTorch.png" } ], "seoDescription": "Build and optimize a circuit to prepare arbitrary single-qubit states, including mixed states, with PyTorch and PennyLane.", diff --git a/demonstrations/tutorial_state_preparation.py b/demonstrations/tutorial_state_preparation.py index af8de44903..3521d49d73 100644 --- a/demonstrations/tutorial_state_preparation.py +++ b/demonstrations/tutorial_state_preparation.py @@ -8,7 +8,7 @@ :property="og:description": Build and optimize a circuit to prepare arbitrary single-qubit states, including mixed states, with PyTorch and PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//NOON.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/NOON.png .. related:: diff --git a/demonstrations/tutorial_stochastic_parameter_shift.metadata.json b/demonstrations/tutorial_stochastic_parameter_shift.metadata.json index fbd16b98f8..9e36283dce 100644 --- a/demonstrations/tutorial_stochastic_parameter_shift.metadata.json +++ b/demonstrations/tutorial_stochastic_parameter_shift.metadata.json @@ -2,11 +2,11 @@ "title": "The stochastic parameter-shift rule", "authors": [ { - "id": "nathan_killoran" + "username": "co9olguy" } ], "dateOfPublication": "2020-05-25T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_stochastic_parametershift_rule.png" } ], "seoDescription": "Differentiate any qubit gate with the stochastic parameter-shift rule.", diff --git a/demonstrations/tutorial_stochastic_parameter_shift.py b/demonstrations/tutorial_stochastic_parameter_shift.py index c2d69fea46..cd6f66c071 100644 --- a/demonstrations/tutorial_stochastic_parameter_shift.py +++ b/demonstrations/tutorial_stochastic_parameter_shift.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Differentiate any qubit gate with the stochastic parameter-shift rule. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//stochastic_parameter_shift_thumbnail.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/stochastic_parameter_shift_thumbnail.png .. related:: diff --git a/demonstrations/tutorial_teleportation.metadata.json b/demonstrations/tutorial_teleportation.metadata.json index be5711da10..ae842bd4af 100644 --- a/demonstrations/tutorial_teleportation.metadata.json +++ b/demonstrations/tutorial_teleportation.metadata.json @@ -2,7 +2,7 @@ "title": "Quantum Teleportation", "authors": [ { - "id": "matthew_silverman" + "username": "timmysilv" } ], "dateOfPublication": "2023-10-20T00:00:00+00:00", @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_teleportation.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_teleportation.png" } ], "seoDescription": "Transmit arbitrary quantum states using quantum teleportation", diff --git a/demonstrations/tutorial_testing_symmetry.metadata.json b/demonstrations/tutorial_testing_symmetry.metadata.json index 54e8aa8271..ff0b8f24a0 100644 --- a/demonstrations/tutorial_testing_symmetry.metadata.json +++ b/demonstrations/tutorial_testing_symmetry.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2023-01-24T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" @@ -19,7 +19,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_testing_symmetry.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_testing_symmetry.png" } ], "seoDescription": "Test if a system possesses discrete symmetries", diff --git a/demonstrations/tutorial_testing_symmetry.py b/demonstrations/tutorial_testing_symmetry.py index a5b9f759e0..2213b68bbe 100644 --- a/demonstrations/tutorial_testing_symmetry.py +++ b/demonstrations/tutorial_testing_symmetry.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Test if a system possesses discrete symmetries - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_testing_symmetry.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_testing_symmetry.png .. related:: diff --git a/demonstrations/tutorial_tn_circuits.metadata.json b/demonstrations/tutorial_tn_circuits.metadata.json index 4b38942396..f0dde1deb3 100644 --- a/demonstrations/tutorial_tn_circuits.metadata.json +++ b/demonstrations/tutorial_tn_circuits.metadata.json @@ -2,7 +2,7 @@ "title": "Tensor-network quantum circuits", "authors": [ { - "id": "diego_guala" + "username": "Diego" }, { "id": "esther_cruz-rico" @@ -11,7 +11,7 @@ "id": "shaoming_zhang" }, { - "id": "juan_miguel_arrazola" + "username": "ixfoduap" } ], "dateOfPublication": "2022-03-29T00:00:00+00:00", @@ -23,7 +23,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tensor_network_quantum_circuits.png" } ], "seoDescription": "This demonstration explains how to simulate tensor-network quantum circuits.", diff --git a/demonstrations/tutorial_tn_circuits.py b/demonstrations/tutorial_tn_circuits.py index 6993c426e5..45dce62b3e 100644 --- a/demonstrations/tutorial_tn_circuits.py +++ b/demonstrations/tutorial_tn_circuits.py @@ -6,7 +6,7 @@ .. meta:: :property="og:description": This demonstration explains how to simulate tensor-network quantum circuits. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tn_circuits.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tn_circuits.png .. related:: @@ -233,7 +233,7 @@ def circuit(template_weights): shapes = qml.SimplifiedTwoDesign.shape(n_layers=1, n_wires=4) weights = [np.random.random(size=shape) for shape in shapes] -template_weights = [weights] * 3 +template_weights = qml._np.array([weights] * 3, dtype="object") fig, ax = qml.draw_mpl(circuit, level="device")(template_weights) ############################################################################## diff --git a/demonstrations/tutorial_toric_code.metadata.json b/demonstrations/tutorial_toric_code.metadata.json index 85e189a658..5d3fea9e50 100644 --- a/demonstrations/tutorial_toric_code.metadata.json +++ b/demonstrations/tutorial_toric_code.metadata.json @@ -2,11 +2,11 @@ "title": "Modeling the toric code on a quantum computer", "authors": [ { - "id": "christina_lee" + "username": "christina" } ], "dateOfPublication": "2022-08-08T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Algorithms", "Quantum Computing" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_modeling_toric_code_on_QC.png" } ], "seoDescription": "Investigation of the toric code degenerate ground state and anyon excitations", diff --git a/demonstrations/tutorial_toric_code.py b/demonstrations/tutorial_toric_code.py index f9b9169843..433c9bfaf0 100644 --- a/demonstrations/tutorial_toric_code.py +++ b/demonstrations/tutorial_toric_code.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Investigation of the toric code degenerate ground state and anyon excitations - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//types_of_loops.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/types_of_loops.png *Author: Christina Lee. Posted: 08 August 2022.* diff --git a/demonstrations/tutorial_trapped_ions.metadata.json b/demonstrations/tutorial_trapped_ions.metadata.json index ff583c40b9..977922539a 100644 --- a/demonstrations/tutorial_trapped_ions.metadata.json +++ b/demonstrations/tutorial_trapped_ions.metadata.json @@ -2,11 +2,11 @@ "title": "Trapped ion quantum computers", "authors": [ { - "id": "alvaro_ballon" + "username": "alvaro" } ], "dateOfPublication": "2021-11-10T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Hardware", "Quantum Computing" @@ -15,7 +15,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_tapped_ion_QC.png" } ], "seoDescription": "Learn all about trapped ion quantum computers, developed by companies such as IonQ and Honeywell.", diff --git a/demonstrations/tutorial_trapped_ions.py b/demonstrations/tutorial_trapped_ions.py index 88d2841b3b..1d13bf0fdf 100644 --- a/demonstrations/tutorial_trapped_ions.py +++ b/demonstrations/tutorial_trapped_ions.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Learn all about trapped ion quantum computers, developed by companies such as IonQ and Honeywell. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//trapped_ions_tn.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/trapped_ions_tn.png .. related:: tutorial_pasqal Quantum computation with neutral atoms diff --git a/demonstrations/tutorial_unitary_designs.metadata.json b/demonstrations/tutorial_unitary_designs.metadata.json index 874dbf8512..94a0cb4cbe 100644 --- a/demonstrations/tutorial_unitary_designs.metadata.json +++ b/demonstrations/tutorial_unitary_designs.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2021-09-07T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Quantum Machine Learning", "Quantum Computing" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_unitary_designs.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_unitary_designs.png" } ], "seoDescription": "Learn about designs and their uses in quantum computing.", diff --git a/demonstrations/tutorial_unitary_designs.py b/demonstrations/tutorial_unitary_designs.py index c0de485ce4..890120c2c0 100644 --- a/demonstrations/tutorial_unitary_designs.py +++ b/demonstrations/tutorial_unitary_designs.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Learn about designs and their uses in quantum computing. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//fano.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/fano.png .. related:: diff --git a/demonstrations/tutorial_univariate_qvr.metadata.json b/demonstrations/tutorial_univariate_qvr.metadata.json index 9f9520e2a2..5b4d90db7d 100644 --- a/demonstrations/tutorial_univariate_qvr.metadata.json +++ b/demonstrations/tutorial_univariate_qvr.metadata.json @@ -2,14 +2,14 @@ "title": "Quantum detection of time series anomalies", "authors": [ { - "id": "jack_stephen_baker" + "username": "jsbaker" }, { "id": "santosh_kumar_radha" } ], "dateOfPublication": "2023-02-07T00:00:00+00:00", - "dateOfLastModification": "2024-05-20T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning" ], @@ -21,7 +21,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_univariate_qvr.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_univariate_qvr.png" } ], "seoDescription": "Learn how to quantumly detect anomalous behaviour in time series data with the help of Covalent.", diff --git a/demonstrations/tutorial_univariate_qvr.py b/demonstrations/tutorial_univariate_qvr.py index a5e5830700..3a7804d51a 100644 --- a/demonstrations/tutorial_univariate_qvr.py +++ b/demonstrations/tutorial_univariate_qvr.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Learn how to quantumly detect anomalous behaviour in time series data with the help of Covalent. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_univariate_qvr.jpg + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_univariate_qvr.jpg .. related:: tutorial_qaoa_intro Intro to QAOA diff --git a/demonstrations/tutorial_variational_classifier.metadata.json b/demonstrations/tutorial_variational_classifier.metadata.json index 65223af6a8..73d6ac4205 100644 --- a/demonstrations/tutorial_variational_classifier.metadata.json +++ b/demonstrations/tutorial_variational_classifier.metadata.json @@ -2,11 +2,11 @@ "title": "Variational classifier", "authors": [ { - "id": "maria_schuld" + "username": "mariaschuld" } ], "dateOfPublication": "2019-10-11T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Machine Learning", "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variational_classifier.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variational_classifier.png" } ], "seoDescription": "Use PennyLane to implement quantum circuits that can be trained from labelled data to classify new data samples.", diff --git a/demonstrations/tutorial_variational_classifier.py b/demonstrations/tutorial_variational_classifier.py index a528bb148a..5af2347883 100644 --- a/demonstrations/tutorial_variational_classifier.py +++ b/demonstrations/tutorial_variational_classifier.py @@ -9,7 +9,7 @@ .. meta:: :property="og:description": Using PennyLane to implement quantum circuits that can be trained from labelled data to classify new data samples. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//classifier_output_59_0.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/classifier_output_59_0.png .. related:: diff --git a/demonstrations/tutorial_vqe.metadata.json b/demonstrations/tutorial_vqe.metadata.json index 5c337b9a10..eae8a3e24e 100644 --- a/demonstrations/tutorial_vqe.metadata.json +++ b/demonstrations/tutorial_vqe.metadata.json @@ -2,11 +2,11 @@ "title": "A brief overview of VQE", "authors": [ { - "id": "alain_delgado" + "username": "adgran" } ], "dateOfPublication": "2020-02-08T00:00:00+00:00", - "dateOfLastModification": "2024-07-10T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry", "Getting Started" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_brief_overview_of_VQE.png" } ], "seoDescription": "Find the ground state of a Hamiltonian using the variational quantum eigensolver algorithm.", diff --git a/demonstrations/tutorial_vqe.py b/demonstrations/tutorial_vqe.py index d88221d153..dd107f0cda 100644 --- a/demonstrations/tutorial_vqe.py +++ b/demonstrations/tutorial_vqe.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Find the ground state of a Hamiltonian using the variational quantum eigensolver algorithm. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//pes_h2.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/pes_h2.png .. related:: diff --git a/demonstrations/tutorial_vqe_qng.metadata.json b/demonstrations/tutorial_vqe_qng.metadata.json index 52d6148d5c..71f8fb6e6e 100644 --- a/demonstrations/tutorial_vqe_qng.metadata.json +++ b/demonstrations/tutorial_vqe_qng.metadata.json @@ -12,7 +12,7 @@ } ], "dateOfPublication": "2020-11-06T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -20,7 +20,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_accelerating_VQEs.png" } ], "seoDescription": "Accelerating variational quantum eigensolvers using quantum natural gradients in PennyLane.", diff --git a/demonstrations/tutorial_vqe_qng.py b/demonstrations/tutorial_vqe_qng.py index e51513d8eb..e751a10926 100644 --- a/demonstrations/tutorial_vqe_qng.py +++ b/demonstrations/tutorial_vqe_qng.py @@ -5,7 +5,7 @@ .. meta:: :property="og:description": Accelerating variational quantum eigensolvers using quantum natural gradients in PennyLane. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//qng_example.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/qng_example.png .. related:: diff --git a/demonstrations/tutorial_vqe_spin_sectors.metadata.json b/demonstrations/tutorial_vqe_spin_sectors.metadata.json index cd6849b2ea..d8f686b4b9 100644 --- a/demonstrations/tutorial_vqe_spin_sectors.metadata.json +++ b/demonstrations/tutorial_vqe_spin_sectors.metadata.json @@ -2,11 +2,11 @@ "title": "VQE in different spin sectors", "authors": [ { - "id": "alain_delgado" + "username": "adgran" } ], "dateOfPublication": "2020-10-13T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_different_spin_sectors.png" } ], "seoDescription": "Find the lowest-energy states of a Hamiltonian in different spin sectors", diff --git a/demonstrations/tutorial_vqe_spin_sectors.py b/demonstrations/tutorial_vqe_spin_sectors.py index 8b35bd1cf6..0883786090 100644 --- a/demonstrations/tutorial_vqe_spin_sectors.py +++ b/demonstrations/tutorial_vqe_spin_sectors.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Find the lowest-energy states of a Hamiltonian in different spin sectors - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_spectra_h2.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_spectra_h2.png .. related:: tutorial_vqe A brief overview of VQE diff --git a/demonstrations/tutorial_vqls.metadata.json b/demonstrations/tutorial_vqls.metadata.json index cc66d73a0d..496e8976b6 100644 --- a/demonstrations/tutorial_vqls.metadata.json +++ b/demonstrations/tutorial_vqls.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2019-11-04T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_linear_solver.png" } ], "seoDescription": "Implementing the variational quantum linear solver to solve a system of linear equation with a quantum device.", diff --git a/demonstrations/tutorial_vqls.py b/demonstrations/tutorial_vqls.py index cf89685ba4..1635a666e4 100644 --- a/demonstrations/tutorial_vqls.py +++ b/demonstrations/tutorial_vqls.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Implementing the variational quantum linear solver to solve a system of linear equation with a quantum device. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//vqls_zoom.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/vqls_zoom.png .. related:: diff --git a/demonstrations/tutorial_vqt.metadata.json b/demonstrations/tutorial_vqt.metadata.json index 1a9e621adc..7f5b69076d 100644 --- a/demonstrations/tutorial_vqt.metadata.json +++ b/demonstrations/tutorial_vqt.metadata.json @@ -6,7 +6,7 @@ } ], "dateOfPublication": "2020-07-07T00:00:00+00:00", - "dateOfLastModification": "2024-08-12T00:00:00+00:00", + "dateOfLastModification": "2024-08-05T00:00:00+00:00", "categories": [ "Optimization" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_variationally_quantum_thermalizer.png" } ], "seoDescription": "Using the Variational Quantum Thermalizer to prepare the thermal state of a Heisenberg model Hamiltonian.", diff --git a/demonstrations/tutorial_vqt.py b/demonstrations/tutorial_vqt.py index 4a1665cf15..29a536da03 100644 --- a/demonstrations/tutorial_vqt.py +++ b/demonstrations/tutorial_vqt.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Using the Variational Quantum Thermalizer to prepare the thermal state of a Heisenberg model Hamiltonian. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_vqt.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_vqt.png .. related:: diff --git a/demonstrations/tutorial_zx_calculus.metadata.json b/demonstrations/tutorial_zx_calculus.metadata.json index fdf8fede85..45583f260d 100644 --- a/demonstrations/tutorial_zx_calculus.metadata.json +++ b/demonstrations/tutorial_zx_calculus.metadata.json @@ -2,11 +2,11 @@ "title": "Introduction to the ZX-calculus", "authors": [ { - "id": "romain_moyard" + "username": "rmoyard" } ], "dateOfPublication": "2023-06-06T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-06T00:00:00+00:00", "categories": [ "Quantum Computing" ], @@ -18,7 +18,7 @@ }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_zx_calculus.png" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_zx_calculus.png" } ], "seoDescription": "Introduction to the ZX-calculus and use cases.", diff --git a/demonstrations/tutorial_zx_calculus.py b/demonstrations/tutorial_zx_calculus.py index bc2185fb1f..4ad0506892 100644 --- a/demonstrations/tutorial_zx_calculus.py +++ b/demonstrations/tutorial_zx_calculus.py @@ -4,7 +4,7 @@ .. meta:: :property="og:description": Investigation of the ZX-calculus and its applications to quantum computing - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//thumbnail_tutorial_zx_calculus.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/thumbnail_tutorial_zx_calculus.png .. related:: diff --git a/demonstrations/vqe_parallel.metadata.json b/demonstrations/vqe_parallel.metadata.json index dea9b4de3d..00ce53b7a0 100644 --- a/demonstrations/vqe_parallel.metadata.json +++ b/demonstrations/vqe_parallel.metadata.json @@ -2,11 +2,11 @@ "title": "VQE with parallel QPUs with Rigetti", "authors": [ { - "id": "thomas_bromley" + "username": "trbromley" } ], "dateOfPublication": "2020-02-14T00:00:00+00:00", - "dateOfLastModification": "2024-01-01T00:00:00+00:00", + "dateOfLastModification": "2024-08-14T00:00:00+00:00", "categories": [ "Quantum Chemistry" ], @@ -14,7 +14,7 @@ "previewImages": [ { "type": "thumbnail", - "uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png" + "uri": "/_static/demo_thumbnails/regular_demo_thumbnails/thumbnail_VQE_parallel_QPUs_Rigetti.png" } ], "seoDescription": "Using parallel QPUs to speed up the calculation of the potential energy surface of molecular Hamiltonian.", diff --git a/demonstrations/vqe_parallel.py b/demonstrations/vqe_parallel.py index a6ff7634ce..410611896a 100644 --- a/demonstrations/vqe_parallel.py +++ b/demonstrations/vqe_parallel.py @@ -7,7 +7,7 @@ .. meta:: :property="og:description": Using parallel QPUs to speed up the calculation of the potential energy surface of molecular Hamiltonian. - :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets//vqe_diagram.png + :property="og:image": https://pennylane.ai/qml/_static/demonstration_assets/vqe_diagram.png .. related:: diff --git a/demonstrations_metadata.md b/demonstrations_metadata.md index 11865a9f40..3f9f464f65 100644 --- a/demonstrations_metadata.md +++ b/demonstrations_metadata.md @@ -29,7 +29,7 @@ Below is given an example of a complete metadata file for a demonstration. }, { "type": "large_thumbnail", - "uri": "/_static/large_demo_thumbnails/thumbnail_large_tutorial_" + "uri": "/_static/demo_thumbnails/large_demo_thumbnails/thumbnail_large_tutorial_" }, { "type": "hero_image", diff --git a/metadata_schemas/demo.metadata.schema.0.1.1.json b/metadata_schemas/demo.metadata.schema.0.1.1.json index 14b6526918..7112a27a97 100644 --- a/metadata_schemas/demo.metadata.schema.0.1.1.json +++ b/metadata_schemas/demo.metadata.schema.0.1.1.json @@ -51,7 +51,8 @@ "Quantum Chemistry", "Devices and Performance", "Quantum Computing", - "Quantum Hardware" + "Quantum Hardware", + "How-to" ] }, "minItems": 0 diff --git a/module_resets.py b/module_resets.py new file mode 100644 index 0000000000..e4df797f09 --- /dev/null +++ b/module_resets.py @@ -0,0 +1,8 @@ +import importlib + + +def reset_jax(gallery_conf, fname): + import jax + importlib.reload(jax) + +__all__ = ["reset_jax"] diff --git a/poetry.lock b/poetry.lock index 41d0b945a4..05a0105d40 100644 --- a/poetry.lock +++ b/poetry.lock @@ -565,75 +565,74 @@ docs = ["furo (==2023.5.20)", "sphinx (<8)", "sphinx-issues (<4)"] [[package]] name = "chex" -version = "0.1.7" +version = "0.1.86" description = "Chex: Testing made fun, in JAX!" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "chex-0.1.7-py3-none-any.whl", hash = "sha256:9f583015303b1205443843c0b55849bb287f1dfdbd22d9907b1ebb04f964d93e"}, - {file = "chex-0.1.7.tar.gz", hash = "sha256:74ed49799ac4d229881456d468136f1b19a9f9839e3de72b058824e2a4f4dedd"}, + {file = "chex-0.1.86-py3-none-any.whl", hash = "sha256:251c20821092323a3d9c28e1cf80e4a58180978bec368f531949bd9847eee568"}, + {file = "chex-0.1.86.tar.gz", hash = "sha256:e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1"}, ] [package.dependencies] absl-py = ">=0.9.0" -dm-tree = ">=0.1.5" -jax = ">=0.4.6" +jax = ">=0.4.16" jaxlib = ">=0.1.37" -numpy = ">=1.18.0" +numpy = ">=1.24.1" toolz = ">=0.9.0" -typing-extensions = {version = ">=4.2.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=4.2.0" [[package]] name = "cirq" -version = "1.1.0" +version = "1.0.0" description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits." optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq-1.1.0-py3-none-any.whl", hash = "sha256:bc3fdcb04fa440ca259bef765d6f2bcb2e58533ac4ff34f6c53b34748048d29f"}, + {file = "cirq-1.0.0-py3-none-any.whl", hash = "sha256:8d61feba1c8d2a37d82a53e2500fb2430ad8e0ca7c3e2562fbd554bea0d9d7f7"}, ] [package.dependencies] -cirq-aqt = "1.1.0" -cirq-core = "1.1.0" -cirq-google = "1.1.0" -cirq-ionq = "1.1.0" -cirq-pasqal = "1.1.0" -cirq-rigetti = "1.1.0" -cirq-web = "1.1.0" +cirq-aqt = "1.0.0" +cirq-core = "1.0.0" +cirq-google = "1.0.0" +cirq-ionq = "1.0.0" +cirq-pasqal = "1.0.0" +cirq-rigetti = "1.0.0" +cirq-web = "1.0.0" [package.extras] -dev-env = ["asv", "black (==22.3.0)", "codeowners", "coverage (<=6.2)", "dill (==0.3.4)", "filelock (>=3.0.12,<3.1.0)", "flynt (>=0.60,<1.0)", "freezegun (>=0.3.15,<0.4.0)", "grpcio-tools (>=1.37.0,<1.38.0)", "importlib-metadata", "ipykernel (==5.3.4)", "ipython", "ipython (==7.31.1)", "mypy (==0.961.0)", "mypy-protobuf (==1.10)", "notebook (>=6.4.1,<=6.4.7)", "papermill (>=2.3.2,<2.4.0)", "pylint (>=2.13.0,<2.14.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-randomly", "pytest-xdist (>=2.2.0,<2.3.0)", "qiskit-aer (>=0.10.4,<0.11.0)", "rstcheck (>=3.3.1,<3.4.0)", "seaborn (>=0.11.1,<0.12.0)", "setuptools", "twine", "types-backports (==0.1.3)", "types-protobuf (==3.19.22)", "types-requests (==2.28.1)", "types-setuptools (==62.6.1)", "virtualenv", "virtualenv-clone", "wheel"] +dev-env = ["asv", "black (==22.3.0)", "codeowners", "coverage (<=6.2)", "dill (==0.3.4)", "filelock (>=3.0.12,<3.1.0)", "flynt (>=0.60,<1.0)", "freezegun (>=0.3.15,<0.4.0)", "grpcio-tools (>=1.37.0,<1.38.0)", "importlib-metadata", "ipykernel (==5.3.4)", "ipython", "ipython (==7.31.1)", "mypy (==0.961.0)", "mypy-protobuf (==1.10)", "notebook (>=6.4.1,<=6.4.7)", "papermill (>=2.3.2,<2.4.0)", "pylint (>=2.13.0,<2.14.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-xdist (>=2.2.0,<2.3.0)", "qiskit-aer (>=0.10.4,<0.11.0)", "rstcheck (>=3.3.1,<3.4.0)", "seaborn (>=0.11.1,<0.12.0)", "setuptools", "twine", "types-backports (==0.1.3)", "types-protobuf (==3.19.22)", "types-requests (==2.28.1)", "types-setuptools (==62.6.1)", "virtualenv", "virtualenv-clone", "wheel"] [[package]] name = "cirq-aqt" -version = "1.1.0" +version = "1.0.0" description = "A Cirq package to simulate and connect to Alpine Quantum Technologies quantum computers" optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_aqt-1.1.0-py3-none-any.whl", hash = "sha256:e08b213c23755e35707024768bf9167dc067f4dbb29b20f6a03098de5d991117"}, + {file = "cirq_aqt-1.0.0-py3-none-any.whl", hash = "sha256:db7af0b40ceded8a5951f74f36e2235a873df519078e069a6e4d00fda4acd82d"}, ] [package.dependencies] -cirq-core = "1.1.0" +cirq-core = "1.0.0" requests = ">=2.18,<3.0" [[package]] name = "cirq-core" -version = "1.1.0" +version = "1.0.0" description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits." optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_core-1.1.0-py3-none-any.whl", hash = "sha256:921c7e334d7b07ee84d2bbd259f46c0495661947314b517e57e81ffc3efd6119"}, + {file = "cirq_core-1.0.0-py3-none-any.whl", hash = "sha256:a1df552e99ab339121c40c7bf4d18ba542bba151dd8b5ac8c4c33b7b9d46ba10"}, ] [package.dependencies] duet = ">=0.2.7,<0.3.0" matplotlib = ">=3.0,<4.0" networkx = ">=2.4,<3.0" -numpy = ">=1.16,<1.24" +numpy = ">=1.16,<2.0" pandas = "*" scipy = "*" sortedcontainers = ">=2.0,<3.0" @@ -642,78 +641,78 @@ tqdm = "*" typing-extensions = "*" [package.extras] -contrib = ["autoray", "numba (>=0.53.0)", "opt-einsum", "ply (>=3.6)", "pylatex (>=1.3.0,<1.4.0)", "quimb"] +contrib = ["autoray", "numba (>=0.53.0)", "opt-einsum", "ply (>=3.4)", "pylatex (>=1.3.0,<1.4.0)", "quimb"] [[package]] name = "cirq-google" -version = "1.1.0" +version = "1.0.0" description = "The Cirq module that provides tools and access to the Google Quantum Computing Service" optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_google-1.1.0-py3-none-any.whl", hash = "sha256:4ddab3e274df78a5c816d1aebbd96248c187ef04a44d3499799d51fb3a85981f"}, + {file = "cirq_google-1.0.0-py3-none-any.whl", hash = "sha256:8fd1df0fd97d1ee076c01a2b2ab86aac966692890fb2793a45ef2393a6ccc4ab"}, ] [package.dependencies] -cirq-core = "1.1.0" +cirq-core = "1.0.0" google-api-core = {version = ">=1.14.0,<2.0.0dev", extras = ["grpc"]} proto-plus = ">=1.20.0" protobuf = ">=3.15.0,<4" [[package]] name = "cirq-ionq" -version = "1.1.0" +version = "1.0.0" description = "A Cirq package to simulate and connect to IonQ quantum computers" optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_ionq-1.1.0-py3-none-any.whl", hash = "sha256:251ac875f523c3ccc6e31bd6160cac7f77d6fcf33c54c8bc8fcef7142f459f2e"}, + {file = "cirq_ionq-1.0.0-py3-none-any.whl", hash = "sha256:31ff254a5b514736f79a92a186d473b3e40550c94ad36aeebddea1cb840fb065"}, ] [package.dependencies] -cirq-core = "1.1.0" +cirq-core = "1.0.0" requests = ">=2.18,<3.0" [[package]] name = "cirq-pasqal" -version = "1.1.0" +version = "1.0.0" description = "A Cirq package to simulate and connect to Pasqal quantum computers" optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_pasqal-1.1.0-py3-none-any.whl", hash = "sha256:3769141b856b256a8bd4c1459cf08ee414612395b2ea0e13821e5eea5a2b6f34"}, + {file = "cirq_pasqal-1.0.0-py3-none-any.whl", hash = "sha256:1243aae6514aadb6a5e2f729da3d99904d20631e7d2a7fbaef69c7377a9158b5"}, ] [package.dependencies] -cirq-core = "1.1.0" +cirq-core = "1.0.0" requests = ">=2.18,<3.0" [[package]] name = "cirq-rigetti" -version = "1.1.0" +version = "1.0.0" description = "A Cirq package to simulate and connect to Rigetti quantum computers and Quil QVM" optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_rigetti-1.1.0-py3-none-any.whl", hash = "sha256:436433aecce27915d206e2b674e9fb754afe91a94c3c01fb13fa7cdea2745220"}, + {file = "cirq_rigetti-1.0.0-py3-none-any.whl", hash = "sha256:a0ff2ac5dea2b175ced45ade23bd2bfc2f1d8d280b6a003b1dcdddfdd579c0bd"}, ] [package.dependencies] -cirq-core = "1.1.0" -pyquil = ">=3.2.0" +cirq-core = "1.0.0" +pyquil = ">=3.0.0" [[package]] name = "cirq-web" -version = "1.1.0" +version = "1.0.0" description = "Web-based 3D visualization tools for Cirq." optional = false python-versions = ">=3.7.0" files = [ - {file = "cirq_web-1.1.0-py3-none-any.whl", hash = "sha256:e304695ecb8bdbb545e3c1c4f35611b783ef9046d863cc36b5190b255f9d3887"}, + {file = "cirq_web-1.0.0-py3-none-any.whl", hash = "sha256:e3ebc6043b5a6a2a4ba57a71ea9ea5bc487732527b4512961e4c4ce90b2f5744"}, ] [package.dependencies] -cirq-core = "1.1.0" +cirq-core = "1.0.0" [[package]] name = "click" @@ -1135,22 +1134,6 @@ files = [ [package.dependencies] packaging = "*" -[[package]] -name = "diastatic-malt" -version = "2.15.1" -description = "A library for Python operator overloading" -optional = false -python-versions = ">=3.9" -files = [ - {file = "diastatic-malt-2.15.1.tar.gz", hash = "sha256:ad85f1b7f55e8607515aef9b33dc8326ee6d283e58096d8c5cac9e8568fc32a3"}, - {file = "diastatic_malt-2.15.1-py3-none-any.whl", hash = "sha256:26297cae71003aaed5873fd4436fb6deac3a32456d36f068c16acc39c06e043b"}, -] - -[package.dependencies] -astunparse = "*" -gast = "*" -termcolor = "*" - [[package]] name = "dill" version = "0.3.8" @@ -1720,7 +1703,7 @@ files = [ [package.dependencies] fsspec = {version = "*", optional = true, markers = "extra == \"epath\""} importlib_resources = {version = "*", optional = true, markers = "extra == \"epath\""} -typing_extensions = {version = "*", optional = true, markers = "extra == \"epy\""} +typing_extensions = {version = "*", optional = true, markers = "extra == \"epath\" or extra == \"epy\""} zipp = {version = "*", optional = true, markers = "extra == \"epath\""} [package.extras] @@ -1903,19 +1886,18 @@ files = [ [[package]] name = "flax" -version = "0.7.5" +version = "0.9.0" description = "Flax: A neural network library for JAX designed for flexibility" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "flax-0.7.5-py3-none-any.whl", hash = "sha256:bb8cf313e4935089e222fe676e09ea96e9b4d2f9ad355f8acff37c2ca5640d08"}, - {file = "flax-0.7.5.tar.gz", hash = "sha256:f51043efd60eb194dd4648c778ae3ea291ef3fd03ec975dce69d98de7ca47489"}, + {file = "flax-0.9.0-py3-none-any.whl", hash = "sha256:12cd8f7162165ddd56877fb1cd9a4fcb47a31569e4c5343eeb59a36369fa2cfe"}, + {file = "flax-0.9.0.tar.gz", hash = "sha256:8b7f361eed0f5324e81f9dc8d02ea53da5f993d7c2e37e7aa5b37d3f6331dd53"}, ] [package.dependencies] -jax = ">=0.4.19" +jax = ">=0.4.27" msgpack = "*" -numpy = ">=1.22" optax = "*" orbax-checkpoint = "*" PyYAML = ">=5.4.1" @@ -1925,7 +1907,9 @@ typing-extensions = ">=4.2" [package.extras] all = ["matplotlib"] -testing = ["black[jupyter] (==23.7.0)", "clu", "clu (<=0.0.9)", "einops", "gymnasium[accept-rom-license,atari]", "jaxlib", "jraph (>=0.0.6dev0)", "ml-collections", "mypy", "nbstripout", "opencv-python", "pytest", "pytest-cov", "pytest-custom-exit-code", "pytest-xdist (==1.34.0)", "pytype", "sentencepiece", "tensorflow", "tensorflow-datasets", "tensorflow-text (>=2.11.0)", "torch"] +dev = ["pre-commit (>=3.8.0)"] +docs = ["Pygments (>=2.6.1)", "dm-haiku", "docutils (==0.16)", "einops", "ipykernel", "ipython-genutils", "jupytext (==1.13.8)", "matplotlib", "ml-collections", "myst-nb", "nbstripout", "recommonmark", "scikit-learn", "sphinx (>=3.3.1)", "sphinx-book-theme", "sphinx-design"] +testing = ["clu", "clu (<=0.0.9)", "einops", "gymnasium[accept-rom-license,atari]", "jaxlib", "jaxtyping", "jraph (>=0.0.6dev0)", "ml-collections", "mypy", "opencv-python", "pytest", "pytest-cov", "pytest-custom-exit-code", "pytest-xdist", "pytype", "sentencepiece", "tensorflow (>=2.12.0)", "tensorflow-datasets", "tensorflow-text (>=2.11.0)", "torch", "treescope (>=0.1.1)"] [[package]] name = "fonttools" @@ -2758,13 +2742,13 @@ files = [ [[package]] name = "jax" -version = "0.4.23" +version = "0.4.28" description = "Differentiate, compile, and transform Numpy code." optional = false python-versions = ">=3.9" files = [ - {file = "jax-0.4.23-py3-none-any.whl", hash = "sha256:a7a07ccd1577111e3b82378c79a8ed0f9d6613b1e98fb6bf3c0b459198f73eaa"}, - {file = "jax-0.4.23.tar.gz", hash = "sha256:2a229a5a758d1b803891b2eaed329723f6b15b4258b14dc0ccb1498c84963685"}, + {file = "jax-0.4.28-py3-none-any.whl", hash = "sha256:6a181e6b5a5b1140e19cdd2d5c4aa779e4cb4ec627757b918be322d8e81035ba"}, + {file = "jax-0.4.28.tar.gz", hash = "sha256:dcf0a44aff2e1713f0a2b369281cd5b79d8c18fc1018905c4125897cb06b37e9"}, ] [package.dependencies] @@ -2775,45 +2759,43 @@ scipy = ">=1.9" [package.extras] australis = ["protobuf (>=3.13,<4)"] -ci = ["jaxlib (==0.4.22)"] -cpu = ["jaxlib (==0.4.23)"] -cuda = ["jaxlib (==0.4.23+cuda11.cudnn86)"] -cuda11-cudnn86 = ["jaxlib (==0.4.23+cuda11.cudnn86)"] -cuda11-local = ["jaxlib (==0.4.23+cuda11.cudnn86)"] -cuda11-pip = ["jaxlib (==0.4.23+cuda11.cudnn86)", "nvidia-cublas-cu11 (>=11.11)", "nvidia-cuda-cupti-cu11 (>=11.8)", "nvidia-cuda-nvcc-cu11 (>=11.8)", "nvidia-cuda-runtime-cu11 (>=11.8)", "nvidia-cudnn-cu11 (>=8.8)", "nvidia-cufft-cu11 (>=10.9)", "nvidia-cusolver-cu11 (>=11.4)", "nvidia-cusparse-cu11 (>=11.7)", "nvidia-nccl-cu11 (>=2.18.3)"] -cuda12 = ["jax-cuda12-plugin (==0.4.23)", "jaxlib (==0.4.23)", "nvidia-cublas-cu12 (>=12.2.5.6)", "nvidia-cuda-cupti-cu12 (>=12.2.142)", "nvidia-cuda-nvcc-cu12 (>=12.2.140)", "nvidia-cuda-runtime-cu12 (>=12.2.140)", "nvidia-cudnn-cu12 (>=8.9)", "nvidia-cufft-cu12 (>=11.0.8.103)", "nvidia-cusolver-cu12 (>=11.5.2)", "nvidia-cusparse-cu12 (>=12.1.2.141)", "nvidia-nccl-cu12 (>=2.18.3)", "nvidia-nvjitlink-cu12 (>=12.2)"] -cuda12-local = ["jaxlib (==0.4.23+cuda12.cudnn89)"] -cuda12-pip = ["jaxlib (==0.4.23+cuda12.cudnn89)", "nvidia-cublas-cu12 (>=12.2.5.6)", "nvidia-cuda-cupti-cu12 (>=12.2.142)", "nvidia-cuda-nvcc-cu12 (>=12.2.140)", "nvidia-cuda-runtime-cu12 (>=12.2.140)", "nvidia-cudnn-cu12 (>=8.9)", "nvidia-cufft-cu12 (>=11.0.8.103)", "nvidia-cusolver-cu12 (>=11.5.2)", "nvidia-cusparse-cu12 (>=12.1.2.141)", "nvidia-nccl-cu12 (>=2.18.3)", "nvidia-nvjitlink-cu12 (>=12.2)"] -minimum-jaxlib = ["jaxlib (==0.4.19)"] -tpu = ["jaxlib (==0.4.23)", "libtpu-nightly (==0.1.dev20231213)", "requests"] +ci = ["jaxlib (==0.4.27)"] +cpu = ["jaxlib (==0.4.28)"] +cuda = ["jaxlib (==0.4.28+cuda12.cudnn89)"] +cuda12 = ["jax-cuda12-plugin (==0.4.28)", "jaxlib (==0.4.28)", "nvidia-cublas-cu12 (>=12.1.3.1)", "nvidia-cuda-cupti-cu12 (>=12.1.105)", "nvidia-cuda-nvcc-cu12 (>=12.1.105)", "nvidia-cuda-runtime-cu12 (>=12.1.105)", "nvidia-cudnn-cu12 (>=8.9.2.26,<9.0)", "nvidia-cufft-cu12 (>=11.0.2.54)", "nvidia-cusolver-cu12 (>=11.4.5.107)", "nvidia-cusparse-cu12 (>=12.1.0.106)", "nvidia-nccl-cu12 (>=2.18.1)", "nvidia-nvjitlink-cu12 (>=12.1.105)"] +cuda12-cudnn89 = ["jaxlib (==0.4.28+cuda12.cudnn89)"] +cuda12-local = ["jaxlib (==0.4.28+cuda12.cudnn89)"] +cuda12-pip = ["jaxlib (==0.4.28+cuda12.cudnn89)", "nvidia-cublas-cu12 (>=12.1.3.1)", "nvidia-cuda-cupti-cu12 (>=12.1.105)", "nvidia-cuda-nvcc-cu12 (>=12.1.105)", "nvidia-cuda-runtime-cu12 (>=12.1.105)", "nvidia-cudnn-cu12 (>=8.9.2.26,<9.0)", "nvidia-cufft-cu12 (>=11.0.2.54)", "nvidia-cusolver-cu12 (>=11.4.5.107)", "nvidia-cusparse-cu12 (>=12.1.0.106)", "nvidia-nccl-cu12 (>=2.18.1)", "nvidia-nvjitlink-cu12 (>=12.1.105)"] +minimum-jaxlib = ["jaxlib (==0.4.27)"] +tpu = ["jaxlib (==0.4.28)", "libtpu-nightly (==0.1.dev20240508)", "requests"] [[package]] name = "jaxlib" -version = "0.4.23" +version = "0.4.28" description = "XLA library for JAX" optional = false python-versions = ">=3.9" files = [ - {file = "jaxlib-0.4.23-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:e3756e0601af7636ae58f42d24af70e46048ffef89bd5e05c303b899a2177c36"}, - {file = "jaxlib-0.4.23-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fdb1b791e3ee17cad44460b3f42c9a61a86910a877229d30bd3654f4463d5a0"}, - {file = "jaxlib-0.4.23-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a3de5e061a173f434fd1b88074f1610e4e881ff712ff3be61e655bae2fab8ea0"}, - {file = "jaxlib-0.4.23-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:7275fbe5a489c683c5502603d55e508323cda2f4bd9521aa8383c674fb0ab2f3"}, - {file = "jaxlib-0.4.23-cp310-cp310-win_amd64.whl", hash = "sha256:f774941542aa8fd866e4c860082aebdd17c34ea35c2a6a74e46631b6fb377a99"}, - {file = "jaxlib-0.4.23-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:8e12d7e29b3e12d535b24bbbdb6bf9d66cf64926a6a38fdd91d4565f7cc57111"}, - {file = "jaxlib-0.4.23-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d646ff9bc0ce0ebb573b676b21fa6db422c2ef6a0d56ccc00db483b29965415b"}, - {file = "jaxlib-0.4.23-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:22fb2c2b76276d396ddb1edfe41c6d943216f04fa8c00638b16d6c56cad403b8"}, - {file = "jaxlib-0.4.23-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:984766d309b21ca83846503babdfded4e3aef817c670f281092bcbc177c58492"}, - {file = "jaxlib-0.4.23-cp311-cp311-win_amd64.whl", hash = "sha256:99c345b9e58c158e5fe6c621084aa1fdf7eb9eb9172c27729918d20272124ea8"}, - {file = "jaxlib-0.4.23-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:505104fe6062b443955288a38547e9872cb6e107d63d9f8540fb10d1c8d8efd0"}, - {file = "jaxlib-0.4.23-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:278cda29cc7473406093bc3f9fa925a8396063d22a4cd20d7e0ea0d37dcb5039"}, - {file = "jaxlib-0.4.23-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:b33bc2f8a2163801941d4316fad095778fe32f5519d8d146e6e4504e6a82fe7d"}, - {file = "jaxlib-0.4.23-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:a229a2b90a2980dd682a16c373b4ac4493e703a262108f5489e8a4591daaa559"}, - {file = "jaxlib-0.4.23-cp312-cp312-win_amd64.whl", hash = "sha256:ce7dd9295ccdac6a4739b4a344caa1ea2e555e686216b74313ec7562b00695f0"}, - {file = "jaxlib-0.4.23-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:4dd538c04a2a121b03ab5f0cb8b12998aaa9539d7ec54629feb799a840c92b55"}, - {file = "jaxlib-0.4.23-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81d6f4edcd761c27cae555d3d82fbd958292888a4f803f2c366778786d8ce8ce"}, - {file = "jaxlib-0.4.23-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c78d2accacb34da96ccd7fd2a7e87ed3e93ba74af40c2b2b19e09289fe3381cf"}, - {file = "jaxlib-0.4.23-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:99a37d4732bafe1608b8f45df27f27e6a6bf1f23e001fe940fe9a5ab3675fd77"}, - {file = "jaxlib-0.4.23-cp39-cp39-win_amd64.whl", hash = "sha256:fdf8920a8b00d3e4574978e799c865615132df75f6579e4eec0c50e105df6c66"}, + {file = "jaxlib-0.4.28-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:a421d237f8c25d2850166d334603c673ddb9b6c26f52bc496704b8782297bd66"}, + {file = "jaxlib-0.4.28-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f038e68bd10d1a3554722b0bbe36e6a448384437a75aa9d283f696f0ed9f8c09"}, + {file = "jaxlib-0.4.28-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:fabe77c174e9e196e9373097cefbb67e00c7e5f9d864583a7cfcf9dabd2429b6"}, + {file = "jaxlib-0.4.28-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e3bcdc6f8e60f8554f415c14d930134e602e3ca33c38e546274fd545f875769b"}, + {file = "jaxlib-0.4.28-cp310-cp310-win_amd64.whl", hash = "sha256:a8b31c0e5eea36b7915696b9be40ea8646edc395a3e5437bf7ef26b7239a567a"}, + {file = "jaxlib-0.4.28-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:2ff8290edc7b92c7eae52517f65492633e267b2e9067bad3e4c323d213e77cf5"}, + {file = "jaxlib-0.4.28-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:793857faf37f371cafe752fea5fc811f435e43b8fb4b502058444a7f5eccf829"}, + {file = "jaxlib-0.4.28-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b41a6b0d506c09f86a18ecc05bd376f072b548af89c333107e49bb0c09c1a3f8"}, + {file = "jaxlib-0.4.28-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:45ce0f3c840cff8236cff26c37f26c9ff078695f93e0c162c320c281f5041275"}, + {file = "jaxlib-0.4.28-cp311-cp311-win_amd64.whl", hash = "sha256:d4d762c3971d74e610a0e85a7ee063cea81a004b365b2a7dc65133f08b04fac5"}, + {file = "jaxlib-0.4.28-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:d6c09a545329722461af056e735146d2c8c74c22ac7426a845eb69f326b4f7a0"}, + {file = "jaxlib-0.4.28-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8dd8bffe3853702f63cd924da0ee25734a4d19cd5c926be033d772ba7d1c175d"}, + {file = "jaxlib-0.4.28-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:de2e8521eb51e16e85093a42cb51a781773fa1040dcf9245d7ea160a14ee5a5b"}, + {file = "jaxlib-0.4.28-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:46a1aa857f4feee8a43fcba95c0e0ab62d40c26cc9730b6c69655908ba359f8d"}, + {file = "jaxlib-0.4.28-cp312-cp312-win_amd64.whl", hash = "sha256:eee428eac31697a070d655f1f24f6ab39ced76750d93b1de862377a52dcc2401"}, + {file = "jaxlib-0.4.28-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:4f98cc837b2b6c6dcfe0ab7ff9eb109314920946119aa3af9faa139718ff2787"}, + {file = "jaxlib-0.4.28-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b01562ec8ad75719b7d0389752489e97eb6b4dcb4c8c113be491634d5282ad3c"}, + {file = "jaxlib-0.4.28-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:aa77a9360a395ba9faf6932df637686fb0c14ddcf4fdc1d2febe04bc88a580a6"}, + {file = "jaxlib-0.4.28-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4a56ebf05b4a4c1791699d874e072f3f808f0986b4010b14fb549a69c90ca9dc"}, + {file = "jaxlib-0.4.28-cp39-cp39-win_amd64.whl", hash = "sha256:459a4ddcc3e120904b9f13a245430d7801d707bca48925981cbdc59628057dc8"}, ] [package.dependencies] @@ -2822,25 +2804,22 @@ numpy = ">=1.22" scipy = ">=1.9" [package.extras] -cuda11-pip = ["nvidia-cublas-cu11 (>=11.11)", "nvidia-cuda-cupti-cu11 (>=11.8)", "nvidia-cuda-nvcc-cu11 (>=11.8)", "nvidia-cuda-runtime-cu11 (>=11.8)", "nvidia-cudnn-cu11 (>=8.8)", "nvidia-cufft-cu11 (>=10.9)", "nvidia-cusolver-cu11 (>=11.4)", "nvidia-cusparse-cu11 (>=11.7)"] -cuda12-pip = ["nvidia-cublas-cu12", "nvidia-cuda-cupti-cu12", "nvidia-cuda-nvcc-cu12", "nvidia-cuda-runtime-cu12", "nvidia-cudnn-cu12 (>=8.9)", "nvidia-cufft-cu12", "nvidia-cusolver-cu12", "nvidia-cusparse-cu12"] +cuda12-pip = ["nvidia-cublas-cu12 (>=12.1.3.1)", "nvidia-cuda-cupti-cu12 (>=12.1.105)", "nvidia-cuda-nvcc-cu12 (>=12.1.105)", "nvidia-cuda-runtime-cu12 (>=12.1.105)", "nvidia-cudnn-cu12 (>=8.9.2.26,<9.0)", "nvidia-cufft-cu12 (>=11.0.2.54)", "nvidia-cusolver-cu12 (>=11.4.5.107)", "nvidia-cusparse-cu12 (>=12.1.0.106)", "nvidia-nccl-cu12 (>=2.18.1)", "nvidia-nvjitlink-cu12 (>=12.1.105)"] [[package]] name = "jaxopt" -version = "0.5.5" +version = "0.8.3" description = "Hardware accelerated, batchable and differentiable optimizers in JAX." optional = false python-versions = "*" files = [ - {file = "jaxopt-0.5.5-py3-none-any.whl", hash = "sha256:bf0265913f6ee55c7216f12dffeabd38a6f43fd186035a050863d0996b0506fe"}, - {file = "jaxopt-0.5.5.tar.gz", hash = "sha256:1131fdb8da6d4ee45e7224bc1e3bc84ad60db02cddfce40eda1be9aa9f6ab937"}, + {file = "jaxopt-0.8.3-py3-none-any.whl", hash = "sha256:4be2f82798393682529c9ca5046e5397ac6c8657b8acb6bf275e773b28df15b6"}, + {file = "jaxopt-0.8.3.tar.gz", hash = "sha256:4b06dfa6f915a4f3291699606245af6069371a48dc5c92d4c507840d62990646"}, ] [package.dependencies] -absl-py = ">=0.7.0" jax = ">=0.2.18" jaxlib = ">=0.1.69" -matplotlib = ">=2.0.1" numpy = ">=1.18.4" scipy = ">=1.0.0" @@ -3724,39 +3703,39 @@ numpy = ">=1.22,<2.1" [[package]] name = "numpy" -version = "1.23.5" -description = "NumPy is the fundamental package for array computing with Python." +version = "1.24.4" +description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.8" files = [ - {file = "numpy-1.23.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9c88793f78fca17da0145455f0d7826bcb9f37da4764af27ac945488116efe63"}, - {file = "numpy-1.23.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e9f4c4e51567b616be64e05d517c79a8a22f3606499941d97bb76f2ca59f982d"}, - {file = "numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7903ba8ab592b82014713c491f6c5d3a1cde5b4a3bf116404e08f5b52f6daf43"}, - {file = "numpy-1.23.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e05b1c973a9f858c74367553e236f287e749465f773328c8ef31abe18f691e1"}, - {file = "numpy-1.23.5-cp310-cp310-win32.whl", hash = "sha256:522e26bbf6377e4d76403826ed689c295b0b238f46c28a7251ab94716da0b280"}, - {file = "numpy-1.23.5-cp310-cp310-win_amd64.whl", hash = "sha256:dbee87b469018961d1ad79b1a5d50c0ae850000b639bcb1b694e9981083243b6"}, - {file = "numpy-1.23.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ce571367b6dfe60af04e04a1834ca2dc5f46004ac1cc756fb95319f64c095a96"}, - {file = "numpy-1.23.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56e454c7833e94ec9769fa0f86e6ff8e42ee38ce0ce1fa4cbb747ea7e06d56aa"}, - {file = "numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5039f55555e1eab31124a5768898c9e22c25a65c1e0037f4d7c495a45778c9f2"}, - {file = "numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58f545efd1108e647604a1b5aa809591ccd2540f468a880bedb97247e72db387"}, - {file = "numpy-1.23.5-cp311-cp311-win32.whl", hash = "sha256:b2a9ab7c279c91974f756c84c365a669a887efa287365a8e2c418f8b3ba73fb0"}, - {file = "numpy-1.23.5-cp311-cp311-win_amd64.whl", hash = "sha256:0cbe9848fad08baf71de1a39e12d1b6310f1d5b2d0ea4de051058e6e1076852d"}, - {file = "numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f063b69b090c9d918f9df0a12116029e274daf0181df392839661c4c7ec9018a"}, - {file = "numpy-1.23.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0aaee12d8883552fadfc41e96b4c82ee7d794949e2a7c3b3a7201e968c7ecab9"}, - {file = "numpy-1.23.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92c8c1e89a1f5028a4c6d9e3ccbe311b6ba53694811269b992c0b224269e2398"}, - {file = "numpy-1.23.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d208a0f8729f3fb790ed18a003f3a57895b989b40ea4dce4717e9cf4af62c6bb"}, - {file = "numpy-1.23.5-cp38-cp38-win32.whl", hash = "sha256:06005a2ef6014e9956c09ba07654f9837d9e26696a0470e42beedadb78c11b07"}, - {file = "numpy-1.23.5-cp38-cp38-win_amd64.whl", hash = "sha256:ca51fcfcc5f9354c45f400059e88bc09215fb71a48d3768fb80e357f3b457e1e"}, - {file = "numpy-1.23.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8969bfd28e85c81f3f94eb4a66bc2cf1dbdc5c18efc320af34bffc54d6b1e38f"}, - {file = "numpy-1.23.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7ac231a08bb37f852849bbb387a20a57574a97cfc7b6cabb488a4fc8be176de"}, - {file = "numpy-1.23.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf837dc63ba5c06dc8797c398db1e223a466c7ece27a1f7b5232ba3466aafe3d"}, - {file = "numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719"}, - {file = "numpy-1.23.5-cp39-cp39-win32.whl", hash = "sha256:af1da88f6bc3d2338ebbf0e22fe487821ea4d8e89053e25fa59d1d79786e7481"}, - {file = "numpy-1.23.5-cp39-cp39-win_amd64.whl", hash = "sha256:09b7847f7e83ca37c6e627682f145856de331049013853f344f37b0c9690e3df"}, - {file = "numpy-1.23.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:abdde9f795cf292fb9651ed48185503a2ff29be87770c3b8e2a14b0cd7aa16f8"}, - {file = "numpy-1.23.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9a909a8bae284d46bbfdefbdd4a262ba19d3bc9921b1e76126b1d21c3c34135"}, - {file = "numpy-1.23.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:01dd17cbb340bf0fc23981e52e1d18a9d4050792e8fb8363cecbf066a84b827d"}, - {file = "numpy-1.23.5.tar.gz", hash = "sha256:1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, ] [[package]] @@ -3866,27 +3845,28 @@ tests = ["pytest", "pytest-cov", "pytest-pep8"] [[package]] name = "optax" -version = "0.1.7" +version = "0.2.3" description = "A gradient processing and optimisation library in JAX." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "optax-0.1.7-py3-none-any.whl", hash = "sha256:2b85115f2ae7adafe5fd9abf4b275e53057765361511c8ccc868e70158458494"}, - {file = "optax-0.1.7.tar.gz", hash = "sha256:6a5a848bc5e55e619b187c749fdddc4a5443ea14be85cc769f995779865c110d"}, + {file = "optax-0.2.3-py3-none-any.whl", hash = "sha256:083e603dcd731d7e74d99f71c12f77937dd53f79001b4c09c290e4f47dd2e94f"}, + {file = "optax-0.2.3.tar.gz", hash = "sha256:ec7ab925440b0c5a512e1f24fba0fb3e7d760a7fd5d2496d7a691e9d37da01d9"}, ] [package.dependencies] absl-py = ">=0.7.1" -chex = ">=0.1.5" -jax = ">=0.1.55" -jaxlib = ">=0.1.37" +chex = ">=0.1.86" +etils = {version = "*", extras = ["epy"]} +jax = ">=0.4.27" +jaxlib = ">=0.4.27" numpy = ">=1.18.0" [package.extras] -docs = ["IPython (==7.16.3)", "dm-haiku (==0.0.8)", "docutils (==0.16)", "ipykernel (==5.3.4)", "matplotlib (==3.5.0)", "myst_nb (==0.13.1)", "pandoc (==1.0.2)", "sphinx (==4.5.0)", "sphinx-autodoc-typehints (==1.11.1)", "sphinx-book-theme (==0.3.3)", "sphinxcontrib-bibtex (==2.4.2)", "sphinxcontrib-katex (==0.9.0)"] +docs = ["flax", "ipython (>=8.8.0)", "matplotlib (>=3.5.0)", "myst-nb (>=1.0.0)", "sphinx (>=6.0.0)", "sphinx-autodoc-typehints", "sphinx-book-theme (>=1.0.1)", "sphinx-collections (>=0.0.1)", "sphinx-gallery (>=0.14.0)", "sphinx_contributors", "sphinxcontrib-katex", "tensorflow (>=2.4.0)", "tensorflow-datasets (>=4.2.0)"] dp-accounting = ["absl-py (>=1.0.0)", "attrs (>=21.4.0)", "mpmath (>=1.2.1)", "numpy (>=1.21.4)", "scipy (>=1.7.1)"] -examples = ["dm-haiku (>=0.0.3)", "tensorflow (>=2.4.0)", "tensorflow-datasets (>=4.2.0)"] -test = ["dm-haiku (>=0.0.3)", "dm-tree (>=0.1.7)", "flax (==0.5.3)"] +examples = ["dp_accounting (>=0.4)", "flax", "ipywidgets", "tensorflow (>=2.4.0)", "tensorflow-datasets (>=4.2.0)"] +test = ["dm-tree (>=0.1.7)", "flax (>=0.5.3)", "scikit-learn", "scipy (>=1.7.1)"] [[package]] name = "orbax-checkpoint" @@ -3966,6 +3946,8 @@ files = [ {file = "orjson-3.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:960db0e31c4e52fa0fc3ecbaea5b2d3b58f379e32a95ae6b0ebeaa25b93dfd34"}, {file = "orjson-3.10.6-cp312-none-win32.whl", hash = "sha256:a6ea7afb5b30b2317e0bee03c8d34c8181bc5a36f2afd4d0952f378972c4efd5"}, {file = "orjson-3.10.6-cp312-none-win_amd64.whl", hash = "sha256:874ce88264b7e655dde4aeaacdc8fd772a7962faadfb41abe63e2a4861abc3dc"}, + {file = "orjson-3.10.6-cp313-none-win32.whl", hash = "sha256:efdf2c5cde290ae6b83095f03119bdc00303d7a03b42b16c54517baa3c4ca3d0"}, + {file = "orjson-3.10.6-cp313-none-win_amd64.whl", hash = "sha256:8e190fe7888e2e4392f52cafb9626113ba135ef53aacc65cd13109eb9746c43e"}, {file = "orjson-3.10.6-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:66680eae4c4e7fc193d91cfc1353ad6d01b4801ae9b5314f17e11ba55e934183"}, {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caff75b425db5ef8e8f23af93c80f072f97b4fb3afd4af44482905c9f588da28"}, {file = "orjson-3.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3722fddb821b6036fd2a3c814f6bd9b57a89dc6337b9924ecd614ebce3271394"}, @@ -4160,41 +4142,6 @@ typing-extensions = "*" [package.extras] kernels = ["cvxopt", "cvxpy"] -[[package]] -name = "pennylane-catalyst" -version = "0.7.0" -description = "A JIT compiler for hybrid quantum programs in PennyLane" -optional = false -python-versions = ">=3.9" -files = [ - {file = "PennyLane_Catalyst-0.7.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:160b73aac1ede5fde74539a7896f13cade2f3bbb9353469d4d8f8095912eca01"}, - {file = "PennyLane_Catalyst-0.7.0-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:1779ea65c7bcce7ead3473dbb11eadb1fe29bff52368d0530ddb30cf09350f46"}, - {file = "PennyLane_Catalyst-0.7.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:dd5aedbc83d383f761979941cdb418a132dc7464f388764ce5ef9e52bc5d793d"}, - {file = "PennyLane_Catalyst-0.7.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1056a7e4d086f83da382e00f8bd9181dd4235f6a49935fed5a2ebe7d458398c6"}, - {file = "PennyLane_Catalyst-0.7.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:c647a24ebe51831d91d87cc07210a5fc80e5dd19c9be19101d9b5696d47b476a"}, - {file = "PennyLane_Catalyst-0.7.0-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:2a23f1a5be2605632f20e133aee7f97d0bca39467dd09f25633c3d613cb43f90"}, - {file = "PennyLane_Catalyst-0.7.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f38bbd0b538b2f0592f997290b7b60428b419fd0631ce656db7655cac9cc38a6"}, - {file = "PennyLane_Catalyst-0.7.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:dbb7a4ada6583b3a569e4920bbfc02f1aafe1fd5f9e3cb5035f27346315fce83"}, - {file = "PennyLane_Catalyst-0.7.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:38d38c8e1eacbeadb2f2f5a2767869ebfda4e31f39132883247d3e4e98c70224"}, - {file = "PennyLane_Catalyst-0.7.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:c6aded2aac52c6782a5b31e04af9c5e8b43816a7d71848eea063eeb21a03c29c"}, - {file = "PennyLane_Catalyst-0.7.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9002b9db2e6cf5246049b594417942b7667e1e4c0f2d4aa82a28285aa4be5564"}, - {file = "PennyLane_Catalyst-0.7.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:5e4d0b901e34a42306c8b843c98d4ca0b5d5ec1bffecf808a3ed5bbd7c8b7236"}, - {file = "PennyLane_Catalyst-0.7.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:6743f098777d6ae9aa77f4725d8c2f1e180df5275536af82aacec9fea1a3f211"}, - {file = "PennyLane_Catalyst-0.7.0-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:a3c667579eaeacc1e5128d2f7ac8e0e7faa09ee7cc6f38dd1bd75c53ad4f0ca8"}, - {file = "PennyLane_Catalyst-0.7.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:1161e2466b89e7334e4b3a58944d599c4a724ea9d64a0e58f7ed9b5bf9550dc0"}, - {file = "PennyLane_Catalyst-0.7.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c58382d40fbcfdafb5895a7989dd6a1d08ba24658ccc0db2f44d41c7bcc18b24"}, -] - -[package.dependencies] -diastatic-malt = ">=2.15.1" -jax = "0.4.23" -jaxlib = "0.4.23" -numpy = "<2" -pennylane = ">=0.37" -pennylane-lightning = ">=0.37" -scipy = "<1.13" -tomlkit = {version = "*", markers = "python_version < \"3.11\""} - [[package]] name = "pennylane-cirq" version = "0.36.0" @@ -6005,20 +5952,24 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo [[package]] name = "seaborn" -version = "0.10.1" -description = "seaborn: statistical data visualization" +version = "0.13.2" +description = "Statistical data visualization" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "seaborn-0.10.1-py3-none-any.whl", hash = "sha256:c901ce494541fb4714cfa7db79d0232dc3f4c4dfd3f273bacf17816084df5b53"}, - {file = "seaborn-0.10.1.tar.gz", hash = "sha256:2d1a0c9d6bd1bc3cadb0364b8f06540f51322a670cf8438d0fde1c1c7317adc0"}, + {file = "seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987"}, + {file = "seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7"}, ] [package.dependencies] -matplotlib = ">=2.1.2" -numpy = ">=1.13.3" -pandas = ">=0.22.0" -scipy = ">=1.0.1" +matplotlib = ">=3.4,<3.6.1 || >3.6.1" +numpy = ">=1.20,<1.24.0 || >1.24.0" +pandas = ">=1.2" + +[package.extras] +dev = ["flake8", "flit", "mypy", "pandas-stubs", "pre-commit", "pytest", "pytest-cov", "pytest-xdist"] +docs = ["ipykernel", "nbconvert", "numpydoc", "pydata_sphinx_theme (==0.10.0rc2)", "pyyaml", "sphinx (<6.0.0)", "sphinx-copybutton", "sphinx-design", "sphinx-issues"] +stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "semantic-version" @@ -6265,17 +6216,27 @@ test = ["cython", "html5lib", "pytest (>=4.6)", "typed_ast"] [[package]] name = "sphinx-gallery" -version = "0.12.2" -description = "A `Sphinx `_ extension that builds an HTML gallery of examples from any set of Python scripts." +version = "0.17.1" +description = "A Sphinx extension that builds an HTML gallery of examples from any set of Python scripts." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "sphinx-gallery-0.12.2.tar.gz", hash = "sha256:3aaffb3a9491e3380ee269e05eaa384b7ae9f47b1071a34d2610d4e5ceb34b8b"}, - {file = "sphinx_gallery-0.12.2-py3-none-any.whl", hash = "sha256:eb8afa1f3d0b1d53bb82829559adb2aa14455493d70b025569edb084a0d14ee5"}, + {file = "sphinx_gallery-0.17.1-py3-none-any.whl", hash = "sha256:0a1142a15a9d63169fe7b12167dc028891fb8db31bfc6d7de03ba0d68d591830"}, + {file = "sphinx_gallery-0.17.1.tar.gz", hash = "sha256:c9969abcc5ca8c24496014da8260833b8c3ccdb32c17716b5ba66f2e0a3cc183"}, ] [package.dependencies] -sphinx = ">=3" +pillow = "*" +sphinx = ">=5" + +[package.extras] +animations = ["sphinxcontrib-video"] +dev = ["absl-py", "graphviz", "intersphinx-registry", "ipython", "joblib", "jupyterlite-sphinx", "lxml", "matplotlib", "numpy", "packaging", "plotly", "pydata-sphinx-theme", "pytest", "pytest-coverage", "seaborn", "sphinxcontrib-video", "statsmodels"] +jupyterlite = ["jupyterlite-sphinx"] +parallel = ["joblib"] +recommender = ["numpy"] +show-api-usage = ["graphviz"] +show-memory = ["memory-profiler"] [[package]] name = "sphinxcontrib-applehelp" @@ -6990,17 +6951,6 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -[[package]] -name = "tomlkit" -version = "0.13.0" -description = "Style preserving TOML library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, - {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, -] - [[package]] name = "toolz" version = "0.12.1" @@ -8097,4 +8047,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "~3.10.0" -content-hash = "004b42b826844885918613e3a61a3d617b94f34af140845b0969903e31bfd128" +content-hash = "209e0caa4133a95640c9d7b44d7c9f5c99a51e32ab74c5a4d5a1edc2a8c87986" diff --git a/pyproject.toml b/pyproject.toml index 0890d38bc3..49261e6aa5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,10 +24,10 @@ python = "~3.10.0" # Base dependencies needed to build the website without any code execution (*-norun) [tool.poetry.group.base.dependencies] sphinx = ">=5.0.2" -sphinx_gallery = "0.12.2" +sphinx_gallery = "0.17.1" Jinja2 = "3.0.3" markupsafe = "2.1.1" -numpy = "~1.23" +numpy = "~1.24" pyyaml = "^6.0.1" pennylane-sphinx-theme = { git = "https://github.com/PennyLaneAI/pennylane-sphinx-theme.git", branch = "sphinx-update" } pypandoc = "1.5" @@ -42,15 +42,15 @@ pennylane = "0.37.0" pennylane-cirq = "0.36.0" pennylane-qiskit = "0.37.0" pennylane-qulacs = "0.36.0" -pennylane-catalyst = "0.7.0" +# pennylane-catalyst = "0.7.0" ########################################################## matplotlib = "3.7.2" -jax = "0.4.23" -jaxlib = "0.4.23" -jaxopt = "0.5.5" -seaborn = "0.10.1" +jax = "0.4.28" +jaxlib = "0.4.28" +jaxopt = "0.8.3" +seaborn = "0.13.2" kahypar = "1.1.7" openfermionpyscf = "0.5" covalent = "0.227.0rc0" @@ -61,17 +61,21 @@ neural-tangents = "0.6.2" plotly = ">=4.5.0" pydantic = "^2.8.2" ply = "3.11" -optax = "0.1.7" -flax = "0.7.5" +optax = "0.2.3" +flax = "0.9.0" qutip = "4.7.3" mitiq = "0.32.0" zstd = "*" dill = "*" stim = "*" quimb = "1.8.2" +aiohttp = "3.9.5" +fsspec = "2024.6.1" +h5py = "3.11.0" qiskit = ">=1.0.0" qiskit-aer = ">=0.14.0" sphinxcontrib-applehelp = "1.0.8" +sphinx-gallery = "0.17.1" # Install a difference version of torch from PyPI as the one from PyTorch repo is not compatible with MacOS