From ac760f071d42bca6e961be3965c1afe2ed4bf719 Mon Sep 17 00:00:00 2001 From: Vova Sergeyev Date: Fri, 16 Feb 2024 13:59:24 +0200 Subject: [PATCH] Rivet logo added --- .github/workflows/documentation.yml | 9 --------- README.md | 12 +++++++++--- docs/source/_static/logos/rivet.png | Bin 0 -> 20136 bytes docs/source/index.rst | 4 ++-- 4 files changed, 11 insertions(+), 14 deletions(-) create mode 100644 docs/source/_static/logos/rivet.png diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 563182bc..bd55db8f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -3,7 +3,6 @@ name: documentation on: push: branches: - - docs_public - main permissions: @@ -42,11 +41,3 @@ jobs: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 - - # - name: Deploy to GitHub Pages - # uses: peaceiris/actions-gh-pages@v3 - # with: - # publish_branch: gh-pages - # github_token: ${{ secrets.GITHUB_TOKEN }} - # publish_dir: _build/ - # force_orphan: true diff --git a/README.md b/README.md index 5d62c5b4..6121be7b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ +

+ + + +

+ # Rivet Transpiler The package provides a family of functions for efficient transpilation of quantum circuits. @@ -6,7 +12,7 @@ The package provides a family of functions for efficient transpilation of quantu - Different transpilation stacks: * [Qiskit:](https://github.com/Qiskit/qiskit#readme) Quantum SDK * [BQSKit:](https://github.com/BQSKit/bqskit#readme) Berkeley Quantum Synthesis Toolkit - * [Pytket:](https://github.com/CQCL/pytket#readme) Python inteface for Quantinuum TKET compiler + * [Pytket:](https://github.com/CQCL/pytket#readme) Python interface for Quantinuum TKET compiler - Custom PassManager - Dynamical decoupling - Transpiler options @@ -123,7 +129,7 @@ ancilla_1 -> 4 ───────────────────── ## References -We would like to thanks a lot to the: +We would like to thank to: * [Qiskit](https://github.com/Qiskit/qiskit) Quantum SDK * [BQSKit](https://github.com/BQSKit/bqskit) Berkeley Quantum Synthesis Toolkit @@ -131,4 +137,4 @@ We would like to thanks a lot to the: ## Contacts -Haiqu Inc. [info@haiqu.ai](mailto:info@haiqu.ai), +1 650 788 6011 \ No newline at end of file +Haiqu Inc. [info@haiqu.ai](mailto:info@haiqu.ai) \ No newline at end of file diff --git a/docs/source/_static/logos/rivet.png b/docs/source/_static/logos/rivet.png new file mode 100644 index 0000000000000000000000000000000000000000..f9833eaabfd002b4869c16adb5485a677a1dfd1a GIT binary patch literal 20136 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