From 793fa5418c389d63409c9377809b1c0506c90aef Mon Sep 17 00:00:00 2001 From: jamesETsmith Date: Sat, 5 Oct 2024 08:19:16 -0400 Subject: [PATCH 1/9] [docs/readme_update] Updating install instructions in the README.md and adding links for the dependencies --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 870ee19..78a3fff 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,6 @@ ## Installation ### Pre-built Binaries -:CONSTRUCTION: TODO SETUP PYPI ```bash pip install fast_pauli ``` @@ -47,9 +46,10 @@ There are two strategies for building `fast_pauli` from source. One is a quick a #### Requirements -- CMake >= 3.25 -- C++ compiler with OpenMP and C++20 support (LLVM recommended) -- Python >= 3.10 +- [CMake](https://pypi.org/project/cmake/) >= 3.25 +- [Ninja](https://pypi.org/project/ninja/) >= 1.11 +- C++ compiler with OpenMP and C++20 support ([LLVM](https://apt.llvm.org/) recommended) +- [Python](https://www.python.org/downloads/) >= 3.10 #### Quick Start (Users) ```bash @@ -59,7 +59,7 @@ pytest -v tests/fast_pauli #### Configurable Build (Developers) ```bash -cmake -B build # + other cmake flags +cmake -B build -G Ninja # + other cmake flags cmake --build build --target install --parallel ctest --test-dir build From 420f983defb939e8562417d71d6e095f56388613 Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 11:53:00 -0400 Subject: [PATCH 2/9] update index with more fleshed out introduction --- docs/index.rst | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index a95bb4b..1e76c34 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,7 +3,7 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -fast_pauli documentation +:code:`fast-pauli` documentation ======================== @@ -17,11 +17,18 @@ fast_pauli documentation python_api cpp_api +Introduction +============ +Welcome to :code:`fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings +based on `PauliComposer `_. +:code:`fast-pauli` aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings, +with a focus on performance and usability. +For example, :code:`fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. +See our :doc:`benchmarks` for more details about how :code:`fast-pauli` can speed up certain functions compared to Qiskit. Installation ============ -Welcome to ``fast_pauli``! This package provides fast and efficient implementations of pauli operators and strings, -with a focus on performance and usability. In order to get started, we'll need to install the package and its dependencies. +In order to get started, we'll need to install the package and its dependencies. Here are a few options for installing ``fast_pauli``: @@ -40,7 +47,7 @@ Build from Source (Default Config) python -m pip install -e ".[dev]" -Build From Source (Custom Config) +Build from Source (Custom Config) --------------------------------- .. code-block:: bash From 4ad8b6c52e4926877aa504172c96f3b1aa5883d7 Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 11:56:41 -0400 Subject: [PATCH 3/9] update readme with introduction --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 78a3fff..9cdcad8 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,16 @@ --- +## Introduction + +Welcome to `fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings +based on `PauliComposer `_. +`fast-pauli` aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings, +with a focus on performance and usability. +For example, `fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. +See our [benchmarks](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/benchmarks.html) for more details about how `fast-pauli` can speed up certain functions compared to Qiskit. + + ## Installation ### Pre-built Binaries From 6bfe4299e60ed50af5f7b05378d07bf337daca22 Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 11:57:28 -0400 Subject: [PATCH 4/9] Update links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9cdcad8..6d701fa 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,8 @@ --- ## Introduction -Welcome to `fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings -based on `PauliComposer `_. +Welcome to `fast-pauli` from [Qognitive](https://www.qognitive.io/), an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings +based on [PauliComposer](https://arxiv.org/abs/2301.00560). `fast-pauli` aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings, with a focus on performance and usability. For example, `fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. From a23c2dfd6a4b0047efea5954725663b743983857 Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 12:09:42 -0400 Subject: [PATCH 5/9] added link to getting started --- docs/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index 1e76c34..9fe528a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,6 +26,8 @@ with a focus on performance and usability. For example, :code:`fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. See our :doc:`benchmarks` for more details about how :code:`fast-pauli` can speed up certain functions compared to Qiskit. +Our :doc:`getting_started` guide offers an introduction to some of the core functionality in :code:`fast-pauli`. + Installation ============ In order to get started, we'll need to install the package and its dependencies. From 88bbeb0f6723c210c58e3780b4a2a7a58d506928 Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 12:11:19 -0400 Subject: [PATCH 6/9] link 2 getting started --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d701fa..7d5c7ab 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ with a focus on performance and usability. For example, `fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. See our [benchmarks](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/benchmarks.html) for more details about how `fast-pauli` can speed up certain functions compared to Qiskit. +Our [getting started guide](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/getting_started.html) offers an introduction to some of the core functionality in `fast-pauli`. ## Installation From 55c07521f73f192ff5dd195a349485ea4fed675e Mon Sep 17 00:00:00 2001 From: alexanderlerner Date: Mon, 7 Oct 2024 12:12:04 -0400 Subject: [PATCH 7/9] fix links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d5c7ab..3ebe9fa 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ with a focus on performance and usability. For example, `fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. See our [benchmarks](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/benchmarks.html) for more details about how `fast-pauli` can speed up certain functions compared to Qiskit. -Our [getting started guide](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/getting_started.html) offers an introduction to some of the core functionality in `fast-pauli`. +Our [Getting Started](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/getting_started.html) guideoffers an introduction to some of the core functionality in `fast-pauli`. ## Installation From 814d0e506b98fb23afa99c7eebe73fd58a60a14c Mon Sep 17 00:00:00 2001 From: Eugene Rublenko <16805621+stand-by@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:49:55 -0400 Subject: [PATCH 8/9] Add favicon for docs --- docs/conf.py | 1 + docs/logo/Sigma-logo-small.png | Bin 0 -> 2974 bytes 2 files changed, 1 insertion(+) create mode 100644 docs/logo/Sigma-logo-small.png diff --git a/docs/conf.py b/docs/conf.py index d2343e1..8be504d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,6 +23,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output html_theme = "furo" +html_favicon = "logo/Sigma-logo-small.png" html_static_path = [] # type: ignore diff --git a/docs/logo/Sigma-logo-small.png b/docs/logo/Sigma-logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..c9011967b4743bfc33c16ded24a8ea268bdd85eb GIT binary patch literal 2974 zcmbVO`9Bkm8y}Jn9U}LgNI7yv^l?r?vdP=v*f_9nn7;W7CR*@u|XL^#I*7G7ZLry^D_U z|H;e-othi*O6VsPgOY2{%N{_*DfT;!G!a_nXiU`lhj>n|r`529Y^!}NYov??w`!L! zgHjULtaY(rf_~Bo3ICLVgidm6$XY`nRH1??Xx2x1u*iDdPAb(b+Z;>s{#vJ`LO_kXSYL-5I=KL|BD47uW;!$`B$wpzRJlqS{lf?0 zq4%{mo0*D`bk9q1?a1ZqU1_+3P%W-6w5zQya}FW8L*3bIZe3-{L5T7lu%n@dOy|&i zRrnb)CiIR}DLszkz7|r4jeg5Awu8ePR_}(E;CTG_c1%QiZa@a?8FbUUVue*c^uvxl zhmR|S57Hy@lP4-hQ>d*GR?qdYMWu&Un}4<{{|;>;kmo`=&eIbd-c>?HTZ+grvjkb8 z9BiBy>%Deb0<-X~`7c}5IRdrU7syl)%SaTh62-pArbll+q7}67l#m;mOuC~heQsUX z3=qsG|G@EEsUPic%bAt$*`lA9M#ytqn=luEyh@PqduX6tWHuc^6?3FNde25zjcDIm zC{w;}<}8#WaYyPEovuA?(9S@Q{Mvr>#{{{ZU4EcjrCj{?6lu5@+$OW9Z7CRmim+)*=`hGwt$=x~f>b^fY3O zn76t)%!xA;#OqQ=&mL^kdAtsOFdN&k=EHhX&yZMGoeLsrnED?a>lhk{jrVl%_L?d= z7r!$SsTn1WqnR}-`NA@07mB=RgFEuqqB5ttxmqsGwvm>xu67-#`3hH~OS5pyu2N|2N`GFjM2d?cyr%=0z3|)wB!;`V^KB{0pXER{QfGkT-j#v-W z?9jQui`L*ohUvwo54;pPGq;fYZD;B8KcZ6pGZK9&4toT6S9kM`12m15Zu9AS` zb-+8vzgz10cqC1qoFbknJriami`{P|Gs31ORtu}0P*##2F=A1z z;T9ix2-SOvtSwps+dc!8*zH=2@Py*gTdY59t5I)D-xb1(iP=&bSTJ!K3(wL8+9 z8lsIe2o`!lnjvHTK}W`fGpiQ9C~zoYk*OCCtC0P{2H z{)-z~2s@k#JQqoEG31hbqU2 zC3)=Cf}9@3C7!D#5FZp(%cg&i)mo3SyQcBOa(~0vAe0U$ul<5>{TuwtrmG@VN9tr) z7bxk_@sRZXf8FQEsBx5-h+5CXG-b&vEY3AJyH!dp{uBQ@T3)wtQwTFv3dfTW-yh*) zx#FL|4nSv19T0iHiBe!!_C0lJbq-Q5eRh5uttVaPcPhRg70xs4AW9h&rsW&-j>$`U znUdw28dig)A7ZDEll1qdU;XT{*q>hTFl#&|B~{(9nvmz%P&s@}jcPI7}spaO02MZzz3laWVzLn)FG81CC&C|vtuBbLhIl|SA zTDIk>F4HB)$cla)p&GP0MBqMDn@4;t3Lm=V_EqZJn!UT$IG zZhyp8T-ds|rK~JkglqWOGaP+BB21q+AUzf4Db$Px_fKNR=zWKpG_wZr;4uBEu-Mjz zHg}i@kCyemzWQ+2EedDt2>(M&L#c=aKIs37>ltXS=~Pm99g!_~GYah{=$pE+mO5vn zS3Ym)%uqsAg@o)J)o!x9k3aq8>s9R`#rpM@ zn10*T Date: Mon, 7 Oct 2024 18:20:11 -0400 Subject: [PATCH 9/9] Cosmetic changes --- README.md | 6 +++--- docs/index.rst | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1af7f8e..9c5340f 100644 --- a/README.md +++ b/README.md @@ -38,14 +38,14 @@ --- ## Introduction -Welcome to `fast-pauli` from [Qognitive](https://www.qognitive.io/), an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings -based on [PauliComposer](https://arxiv.org/abs/2301.00560). +Welcome to `fast-pauli` from [Qognitive](https://www.qognitive.io/), an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings, +inspired by [PauliComposer](https://arxiv.org/abs/2301.00560) paper. `fast-pauli` aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings, with a focus on performance and usability. For example, `fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. See our [benchmarks](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/benchmarks.html) for more details about how `fast-pauli` can speed up certain functions compared to Qiskit. -Our [Getting Started](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/getting_started.html) guideoffers an introduction to some of the core functionality in `fast-pauli`. +Our [Getting Started](https://qognitive-fast-pauli.readthedocs-hosted.com/en/latest/getting_started.html) guide offers an introduction to some of the core functionality in `fast-pauli`. ## Installation diff --git a/docs/index.rst b/docs/index.rst index 7064b66..43be02c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,8 +17,8 @@ Introduction ============ -Welcome to :code:`fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings -based on `PauliComposer `_. +Welcome to :code:`fast-pauli` from `Qognitive `_, an open-source Python / C++ library for optimized operations on Pauli matrices and Pauli strings, +inspired by `PauliComposer `_ paper. :code:`fast-pauli` aims to provide a fast and efficient alternative to existing libraries for working with Pauli matrices and strings, with a focus on performance and usability. For example, :code:`fast-pauli` provides optimized functions to apply Pauli strings and operators to a batch of states rather than just a single state vector. @@ -30,7 +30,7 @@ Installation ============ In order to get started, we'll need to install the package and its dependencies. -Here are a few options for installing ``fast_pauli``: +In the following subsections, we describe several options for installing ``fast_pauli``. Install the Latest Release --------------------------