Skip to content

Commit 46f7461

Browse files
authored
Add BloqadeNoisy (#594)
* Add BloqadeNoisy * Update QuTiP_comparison for API changes * Small fix to QuTiP_comparison example * Update CI.yml Add lib/BloqadeNoisy to CI.yml * Remove YaoAPI import and expand testset * Add noise simulation to examples * Fix error in unit tests
1 parent c219ebf commit 46f7461

36 files changed

+1869
-0
lines changed

.github/workflows/CI.yml

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
- 'lib/BloqadeSchema'
5454
- 'lib/BloqadeWaveforms'
5555
- 'lib/YaoSubspaceArrayReg'
56+
- 'lib/BloqadeNoisy'
5657
steps:
5758
- uses: actions/checkout@v2
5859
- uses: julia-actions/setup-julia@v1
Loading
Loading
Loading
Loading
Loading
Loading
Loading
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[deps]
2+
Bloqade = "bd27d05e-4ce1-5e79-84dd-c5d7d508bbe1"
3+
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
4+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
5+
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
6+
LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
7+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
8+
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
9+
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
10+
ProgressBars = "49802e3a-d2f1-5c88-81d8-b72133a6f568"
11+
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
12+
Yao = "5872b779-8223-5990-8dd0-5abbb0748c8c"

examples/8.simulating noise/main.jl

+454
Large diffs are not rendered by default.

lib/BloqadeNoisy/.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/.vscode/
2+
Manifest.toml
3+
LocalPreferences.toml

lib/BloqadeNoisy/LICENSE

+180
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
The Bloqade.jl package is licensed under the Apache License, Version 2.0:
2+
3+
> Copyright (c) 2022 QuEra Computing Inc..
4+
>
5+
> Apache License
6+
> Version 2.0, January 2004
7+
> http://www.apache.org/licenses/
8+
>
9+
> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
10+
>
11+
> 1. Definitions.
12+
>
13+
> "License" shall mean the terms and conditions for use, reproduction,
14+
> and distribution as defined by Sections 1 through 9 of this document.
15+
>
16+
> "Licensor" shall mean the copyright owner or entity authorized by
17+
> the copyright owner that is granting the License.
18+
>
19+
> "Legal Entity" shall mean the union of the acting entity and all
20+
> other entities that control, are controlled by, or are under common
21+
> control with that entity. For the purposes of this definition,
22+
> "control" means (i) the power, direct or indirect, to cause the
23+
> direction or management of such entity, whether by contract or
24+
> otherwise, or (ii) ownership of fifty percent (50%) or more of the
25+
> outstanding shares, or (iii) beneficial ownership of such entity.
26+
>
27+
> "You" (or "Your") shall mean an individual or Legal Entity
28+
> exercising permissions granted by this License.
29+
>
30+
> "Source" form shall mean the preferred form for making modifications,
31+
> including but not limited to software source code, documentation
32+
> source, and configuration files.
33+
>
34+
> "Object" form shall mean any form resulting from mechanical
35+
> transformation or translation of a Source form, including but
36+
> not limited to compiled object code, generated documentation,
37+
> and conversions to other media types.
38+
>
39+
> "Work" shall mean the work of authorship, whether in Source or
40+
> Object form, made available under the License, as indicated by a
41+
> copyright notice that is included in or attached to the work
42+
> (an example is provided in the Appendix below).
43+
>
44+
> "Derivative Works" shall mean any work, whether in Source or Object
45+
> form, that is based on (or derived from) the Work and for which the
46+
> editorial revisions, annotations, elaborations, or other modifications
47+
> represent, as a whole, an original work of authorship. For the purposes
48+
> of this License, Derivative Works shall not include works that remain
49+
> separable from, or merely link (or bind by name) to the interfaces of,
50+
> the Work and Derivative Works thereof.
51+
>
52+
> "Contribution" shall mean any work of authorship, including
53+
> the original version of the Work and any modifications or additions
54+
> to that Work or Derivative Works thereof, that is intentionally
55+
> submitted to Licensor for inclusion in the Work by the copyright owner
56+
> or by an individual or Legal Entity authorized to submit on behalf of
57+
> the copyright owner. For the purposes of this definition, "submitted"
58+
> means any form of electronic, verbal, or written communication sent
59+
> to the Licensor or its representatives, including but not limited to
60+
> communication on electronic mailing lists, source code control systems,
61+
> and issue tracking systems that are managed by, or on behalf of, the
62+
> Licensor for the purpose of discussing and improving the Work, but
63+
> excluding communication that is conspicuously marked or otherwise
64+
> designated in writing by the copyright owner as "Not a Contribution."
65+
>
66+
> "Contributor" shall mean Licensor and any individual or Legal Entity
67+
> on behalf of whom a Contribution has been received by Licensor and
68+
> subsequently incorporated within the Work.
69+
>
70+
> 2. Grant of Copyright License. Subject to the terms and conditions of
71+
> this License, each Contributor hereby grants to You a perpetual,
72+
> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
73+
> copyright license to reproduce, prepare Derivative Works of,
74+
> publicly display, publicly perform, sublicense, and distribute the
75+
> Work and such Derivative Works in Source or Object form.
76+
>
77+
> 3. Grant of Patent License. Subject to the terms and conditions of
78+
> this License, each Contributor hereby grants to You a perpetual,
79+
> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
80+
> (except as stated in this section) patent license to make, have made,
81+
> use, offer to sell, sell, import, and otherwise transfer the Work,
82+
> where such license applies only to those patent claims licensable
83+
> by such Contributor that are necessarily infringed by their
84+
> Contribution(s) alone or by combination of their Contribution(s)
85+
> with the Work to which such Contribution(s) was submitted. If You
86+
> institute patent litigation against any entity (including a
87+
> cross-claim or counterclaim in a lawsuit) alleging that the Work
88+
> or a Contribution incorporated within the Work constitutes direct
89+
> or contributory patent infringement, then any patent licenses
90+
> granted to You under this License for that Work shall terminate
91+
> as of the date such litigation is filed.
92+
>
93+
> 4. Redistribution. You may reproduce and distribute copies of the
94+
> Work or Derivative Works thereof in any medium, with or without
95+
> modifications, and in Source or Object form, provided that You
96+
> meet the following conditions:
97+
>
98+
> (a) You must give any other recipients of the Work or
99+
> Derivative Works a copy of this License; and
100+
>
101+
> (b) You must cause any modified files to carry prominent notices
102+
> stating that You changed the files; and
103+
>
104+
> (c) You must retain, in the Source form of any Derivative Works
105+
> that You distribute, all copyright, patent, trademark, and
106+
> attribution notices from the Source form of the Work,
107+
> excluding those notices that do not pertain to any part of
108+
> the Derivative Works; and
109+
>
110+
> (d) If the Work includes a "NOTICE" text file as part of its
111+
> distribution, then any Derivative Works that You distribute must
112+
> include a readable copy of the attribution notices contained
113+
> within such NOTICE file, excluding those notices that do not
114+
> pertain to any part of the Derivative Works, in at least one
115+
> of the following places: within a NOTICE text file distributed
116+
> as part of the Derivative Works; within the Source form or
117+
> documentation, if provided along with the Derivative Works; or,
118+
> within a display generated by the Derivative Works, if and
119+
> wherever such third-party notices normally appear. The contents
120+
> of the NOTICE file are for informational purposes only and
121+
> do not modify the License. You may add Your own attribution
122+
> notices within Derivative Works that You distribute, alongside
123+
> or as an addendum to the NOTICE text from the Work, provided
124+
> that such additional attribution notices cannot be construed
125+
> as modifying the License.
126+
>
127+
> You may add Your own copyright statement to Your modifications and
128+
> may provide additional or different license terms and conditions
129+
> for use, reproduction, or distribution of Your modifications, or
130+
> for any such Derivative Works as a whole, provided Your use,
131+
> reproduction, and distribution of the Work otherwise complies with
132+
> the conditions stated in this License.
133+
>
134+
> 5. Submission of Contributions. Unless You explicitly state otherwise,
135+
> any Contribution intentionally submitted for inclusion in the Work
136+
> by You to the Licensor shall be under the terms and conditions of
137+
> this License, without any additional terms or conditions.
138+
> Notwithstanding the above, nothing herein shall supersede or modify
139+
> the terms of any separate license agreement you may have executed
140+
> with Licensor regarding such Contributions.
141+
>
142+
> 6. Trademarks. This License does not grant permission to use the trade
143+
> names, trademarks, service marks, or product names of the Licensor,
144+
> except as required for reasonable and customary use in describing the
145+
> origin of the Work and reproducing the content of the NOTICE file.
146+
>
147+
> 7. Disclaimer of Warranty. Unless required by applicable law or
148+
> agreed to in writing, Licensor provides the Work (and each
149+
> Contributor provides its Contributions) on an "AS IS" BASIS,
150+
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
151+
> implied, including, without limitation, any warranties or conditions
152+
> of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
153+
> PARTICULAR PURPOSE. You are solely responsible for determining the
154+
> appropriateness of using or redistributing the Work and assume any
155+
> risks associated with Your exercise of permissions under this License.
156+
>
157+
> 8. Limitation of Liability. In no event and under no legal theory,
158+
> whether in tort (including negligence), contract, or otherwise,
159+
> unless required by applicable law (such as deliberate and grossly
160+
> negligent acts) or agreed to in writing, shall any Contributor be
161+
> liable to You for damages, including any direct, indirect, special,
162+
> incidental, or consequential damages of any character arising as a
163+
> result of this License or out of the use or inability to use the
164+
> Work (including but not limited to damages for loss of goodwill,
165+
> work stoppage, computer failure or malfunction, or any and all
166+
> other commercial damages or losses), even if such Contributor
167+
> has been advised of the possibility of such damages.
168+
>
169+
> 9. Accepting Warranty or Additional Liability. While redistributing
170+
> the Work or Derivative Works thereof, You may choose to offer,
171+
> and charge a fee for, acceptance of support, warranty, indemnity,
172+
> or other liability obligations and/or rights consistent with this
173+
> License. However, in accepting such obligations, You may act only
174+
> on Your own behalf and on Your sole responsibility, not on behalf
175+
> of any other Contributor, and only if You agree to indemnify,
176+
> defend, and hold each Contributor harmless for any liability
177+
> incurred by, or claims asserted against, such Contributor by reason
178+
> of your accepting any such warranty or additional liability.
179+
>
180+
> END OF TERMS AND CONDITIONS

lib/BloqadeNoisy/Project.toml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name = "BloqadeNoisy"
2+
uuid = "7534646f-0cda-4b9e-a311-3a9166d831c9"
3+
authors = ["ben mcdonough"]
4+
version = "1.0.0-DEV"
5+
6+
[deps]
7+
BloqadeExpr = "bd27d05e-4ce1-5e79-84dd-c5d7d508abe2"
8+
BloqadeODE = "bd27d05e-4ce1-5e79-84dd-c5d7d508bbe5"
9+
BloqadeWaveforms = "bd27d05e-4ce1-5e79-84dd-c5d7d508bbe7"
10+
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
11+
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
12+
GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
13+
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
14+
Kronecker = "2c470bb0-bcc8-11e8-3dad-c9649493f05e"
15+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
16+
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
17+
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
18+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
19+
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
20+
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
21+
YaoArrayRegister = "e600142f-9330-5003-8abb-0ebd767abc51"
22+
YaoBlocks = "418bc28f-b43b-5e0b-a6e7-61bbc1a2c1df"
23+
YaoSubspaceArrayReg = "bd27d05e-4ce1-5e79-84dd-c5d7d508ade2"
24+
25+
[compat]
26+
julia = "1"
27+
28+
[extras]
29+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
30+
31+
[targets]
32+
test = ["Test"]

lib/BloqadeNoisy/README.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# BloqadeNoisy
2+
3+
Bloqade Noisy stochastic wave function-based noisy dynamics simulator.
4+
5+
## Installation
6+
7+
<p>
8+
BloqadeNoisy is a &nbsp;
9+
<a href="https://julialang.org">
10+
<img src="https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia.ico" width="16em">
11+
Julia Language
12+
</a>
13+
&nbsp; package. To install BloqadeNoisy,
14+
please <a href="https://docs.julialang.org/en/v1/manual/getting-started/">open
15+
Julia's interactive session (known as REPL)</a> and press <kbd>]</kbd> key in the REPL to use the package mode, and then type the following command:
16+
</p>
17+
18+
For stable release:
19+
20+
```julia
21+
pkg> add BloqadeNoisy
22+
```
23+
24+
For current master:
25+
26+
```julia
27+
pkg> add BloqadeNoisy#master
28+
```

0 commit comments

Comments
 (0)