openqarp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1681) hide show
  1. openqarp-0.1.0/.claude/skills/plan/SKILL.md +49 -0
  2. openqarp-0.1.0/.claude/skills/plan-review/SKILL.md +61 -0
  3. openqarp-0.1.0/.gitattributes +3 -0
  4. openqarp-0.1.0/.github/ISSUE_TEMPLATE/bug.md +23 -0
  5. openqarp-0.1.0/.github/ISSUE_TEMPLATE/feature.md +21 -0
  6. openqarp-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +59 -0
  7. openqarp-0.1.0/.github/actions/build-wheel/action.yml +35 -0
  8. openqarp-0.1.0/.github/workflows/ci.yml +294 -0
  9. openqarp-0.1.0/.github/workflows/nightly.yml +123 -0
  10. openqarp-0.1.0/.github/workflows/wheels.yml +96 -0
  11. openqarp-0.1.0/.gitignore +68 -0
  12. openqarp-0.1.0/.pre-commit-config.yaml +56 -0
  13. openqarp-0.1.0/AGENTS.md +141 -0
  14. openqarp-0.1.0/CHANGELOG.md +16 -0
  15. openqarp-0.1.0/CITATION.cff +46 -0
  16. openqarp-0.1.0/CLAUDE.md +141 -0
  17. openqarp-0.1.0/CODEOWNERS +133 -0
  18. openqarp-0.1.0/CODE_OF_CONDUCT.md +84 -0
  19. openqarp-0.1.0/CONTRIBUTING.md +111 -0
  20. openqarp-0.1.0/LICENSE +202 -0
  21. openqarp-0.1.0/LICENSES_bundled.txt +1659 -0
  22. openqarp-0.1.0/NOTICE +30 -0
  23. openqarp-0.1.0/PKG-INFO +358 -0
  24. openqarp-0.1.0/README.rst +241 -0
  25. openqarp-0.1.0/SECURITY.md +19 -0
  26. openqarp-0.1.0/benchmarks/README.md +125 -0
  27. openqarp-0.1.0/benchmarks/__init__.py +7 -0
  28. openqarp-0.1.0/benchmarks/_child.py +91 -0
  29. openqarp-0.1.0/benchmarks/algorithms/__init__.py +1 -0
  30. openqarp-0.1.0/benchmarks/algorithms/_aer.py +59 -0
  31. openqarp-0.1.0/benchmarks/algorithms/_exact.py +26 -0
  32. openqarp-0.1.0/benchmarks/algorithms/_families.py +66 -0
  33. openqarp-0.1.0/benchmarks/algorithms/_ffsim.py +70 -0
  34. openqarp-0.1.0/benchmarks/algorithms/_lightning.py +44 -0
  35. openqarp-0.1.0/benchmarks/algorithms/_qsim.py +55 -0
  36. openqarp-0.1.0/benchmarks/algorithms/_qulacs.py +59 -0
  37. openqarp-0.1.0/benchmarks/algorithms/_qx.py +61 -0
  38. openqarp-0.1.0/benchmarks/algorithms/_shell.py +25 -0
  39. openqarp-0.1.0/benchmarks/algorithms/checks.py +42 -0
  40. openqarp-0.1.0/benchmarks/algorithms/inputs.py +152 -0
  41. openqarp-0.1.0/benchmarks/algorithms/spec.py +59 -0
  42. openqarp-0.1.0/benchmarks/algorithms/verify.py +79 -0
  43. openqarp-0.1.0/benchmarks/algorithms/workloads/__init__.py +5 -0
  44. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_aer.py +3 -0
  45. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_exact.py +3 -0
  46. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_lightning.py +3 -0
  47. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_qarpx.py +3 -0
  48. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_qsim.py +3 -0
  49. openqarp-0.1.0/benchmarks/algorithms/workloads/qaoa_qulacs.py +3 -0
  50. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_aer.py +3 -0
  51. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_exact.py +3 -0
  52. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_ffsim.py +3 -0
  53. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_lightning.py +3 -0
  54. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_qarpx.py +3 -0
  55. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_qsim.py +3 -0
  56. openqarp-0.1.0/benchmarks/algorithms/workloads/vqe_qulacs.py +3 -0
  57. openqarp-0.1.0/benchmarks/code_volume/README.md +362 -0
  58. openqarp-0.1.0/benchmarks/code_volume/capabilities.py +247 -0
  59. openqarp-0.1.0/benchmarks/code_volume/compare.ipynb +353 -0
  60. openqarp-0.1.0/benchmarks/code_volume/count_loc.py +77 -0
  61. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/adapt_vqe.py +72 -0
  62. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/common.py +170 -0
  63. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/qaoa.py +36 -0
  64. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/qpe.py +42 -0
  65. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/ssvqe.py +43 -0
  66. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/vqe.py +30 -0
  67. openqarp-0.1.0/benchmarks/code_volume/impl/cirq/vqe_shots.py +45 -0
  68. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/adapt_vqe.py +42 -0
  69. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/qaoa.py +32 -0
  70. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/qpe.py +33 -0
  71. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/ssvqe.py +41 -0
  72. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/vqe.py +42 -0
  73. openqarp-0.1.0/benchmarks/code_volume/impl/pennylane/vqe_shots.py +39 -0
  74. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/adapt_vqe.py +44 -0
  75. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/qaoa.py +34 -0
  76. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/qpe.py +39 -0
  77. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/ssvqe.py +41 -0
  78. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/vqe.py +39 -0
  79. openqarp-0.1.0/benchmarks/code_volume/impl/qarp/vqe_shots.py +39 -0
  80. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/adapt_vqe.py +39 -0
  81. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/qaoa.py +32 -0
  82. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/qpe.py +29 -0
  83. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/ssvqe.py +62 -0
  84. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/vqe.py +42 -0
  85. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_nature/vqe_shots.py +41 -0
  86. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/adapt_vqe.py +62 -0
  87. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/common.py +156 -0
  88. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/qaoa.py +35 -0
  89. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/qpe.py +35 -0
  90. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/ssvqe.py +41 -0
  91. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/vqe.py +28 -0
  92. openqarp-0.1.0/benchmarks/code_volume/impl/qiskit_raw/vqe_shots.py +43 -0
  93. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/adapt_vqe.py +62 -0
  94. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/common.py +197 -0
  95. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/qaoa.py +41 -0
  96. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/qpe.py +44 -0
  97. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/ssvqe.py +39 -0
  98. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/vqe.py +28 -0
  99. openqarp-0.1.0/benchmarks/code_volume/impl/qulacs/vqe_shots.py +43 -0
  100. openqarp-0.1.0/benchmarks/code_volume/run.py +317 -0
  101. openqarp-0.1.0/benchmarks/code_volume/run_2026-09-14.md +119 -0
  102. openqarp-0.1.0/benchmarks/common/__init__.py +119 -0
  103. openqarp-0.1.0/benchmarks/compilation/__init__.py +1 -0
  104. openqarp-0.1.0/benchmarks/compilation/_families.py +55 -0
  105. openqarp-0.1.0/benchmarks/compilation/_qk.py +59 -0
  106. openqarp-0.1.0/benchmarks/compilation/_qk1.py +16 -0
  107. openqarp-0.1.0/benchmarks/compilation/_qk2.py +16 -0
  108. openqarp-0.1.0/benchmarks/compilation/_qk3.py +16 -0
  109. openqarp-0.1.0/benchmarks/compilation/_qx.py +77 -0
  110. openqarp-0.1.0/benchmarks/compilation/_ref.py +28 -0
  111. openqarp-0.1.0/benchmarks/compilation/_tket.py +100 -0
  112. openqarp-0.1.0/benchmarks/compilation/architectures.py +62 -0
  113. openqarp-0.1.0/benchmarks/compilation/checks.py +85 -0
  114. openqarp-0.1.0/benchmarks/compilation/inputs.py +147 -0
  115. openqarp-0.1.0/benchmarks/compilation/spec.py +38 -0
  116. openqarp-0.1.0/benchmarks/compilation/verify.py +670 -0
  117. openqarp-0.1.0/benchmarks/compilation/workloads/__init__.py +5 -0
  118. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_qarpx.py +3 -0
  119. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_qiskit1.py +3 -0
  120. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_qiskit2.py +3 -0
  121. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_qiskit3.py +3 -0
  122. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_reference.py +3 -0
  123. openqarp-0.1.0/benchmarks/compilation/workloads/hea_grid_tket.py +3 -0
  124. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_qarpx.py +3 -0
  125. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_qiskit1.py +3 -0
  126. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_qiskit2.py +3 -0
  127. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_qiskit3.py +3 -0
  128. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_reference.py +3 -0
  129. openqarp-0.1.0/benchmarks/compilation/workloads/hea_line_tket.py +3 -0
  130. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_qarpx.py +3 -0
  131. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_qiskit1.py +3 -0
  132. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_qiskit2.py +3 -0
  133. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_qiskit3.py +3 -0
  134. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_reference.py +3 -0
  135. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_grid_tket.py +3 -0
  136. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_qarpx.py +3 -0
  137. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_qiskit1.py +3 -0
  138. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_qiskit2.py +3 -0
  139. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_qiskit3.py +3 -0
  140. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_reference.py +3 -0
  141. openqarp-0.1.0/benchmarks/compilation/workloads/mqt_line_tket.py +3 -0
  142. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_qarpx.py +3 -0
  143. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_qiskit1.py +3 -0
  144. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_qiskit2.py +3 -0
  145. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_qiskit3.py +3 -0
  146. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_reference.py +3 -0
  147. openqarp-0.1.0/benchmarks/compilation/workloads/qv_grid_tket.py +3 -0
  148. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_qarpx.py +3 -0
  149. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_qiskit1.py +3 -0
  150. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_qiskit2.py +3 -0
  151. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_qiskit3.py +3 -0
  152. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_reference.py +3 -0
  153. openqarp-0.1.0/benchmarks/compilation/workloads/qv_line_tket.py +3 -0
  154. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_qarpx.py +3 -0
  155. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_qiskit1.py +3 -0
  156. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_qiskit2.py +3 -0
  157. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_qiskit3.py +3 -0
  158. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_reference.py +3 -0
  159. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_grid_tket.py +3 -0
  160. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_qarpx.py +3 -0
  161. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_qiskit1.py +3 -0
  162. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_qiskit2.py +3 -0
  163. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_qiskit3.py +3 -0
  164. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_reference.py +3 -0
  165. openqarp-0.1.0/benchmarks/compilation/workloads/trotter_line_tket.py +3 -0
  166. openqarp-0.1.0/benchmarks/diagnose.py +97 -0
  167. openqarp-0.1.0/benchmarks/gen_shims.py +90 -0
  168. openqarp-0.1.0/benchmarks/make_tables.py +1007 -0
  169. openqarp-0.1.0/benchmarks/operators/__init__.py +1 -0
  170. openqarp-0.1.0/benchmarks/operators/_families.py +181 -0
  171. openqarp-0.1.0/benchmarks/operators/_of.py +110 -0
  172. openqarp-0.1.0/benchmarks/operators/_pl.py +86 -0
  173. openqarp-0.1.0/benchmarks/operators/_qk.py +69 -0
  174. openqarp-0.1.0/benchmarks/operators/_qx.py +88 -0
  175. openqarp-0.1.0/benchmarks/operators/checks.py +51 -0
  176. openqarp-0.1.0/benchmarks/operators/inputs.py +95 -0
  177. openqarp-0.1.0/benchmarks/operators/spec.py +33 -0
  178. openqarp-0.1.0/benchmarks/operators/workloads/__init__.py +1 -0
  179. openqarp-0.1.0/benchmarks/operators/workloads/accumulate_openfermion.py +6 -0
  180. openqarp-0.1.0/benchmarks/operators/workloads/accumulate_pennylane.py +6 -0
  181. openqarp-0.1.0/benchmarks/operators/workloads/accumulate_qarpx.py +6 -0
  182. openqarp-0.1.0/benchmarks/operators/workloads/accumulate_qiskit.py +6 -0
  183. openqarp-0.1.0/benchmarks/operators/workloads/bk_molecular_openfermion.py +6 -0
  184. openqarp-0.1.0/benchmarks/operators/workloads/bk_molecular_pennylane.py +6 -0
  185. openqarp-0.1.0/benchmarks/operators/workloads/bk_molecular_qarpx.py +6 -0
  186. openqarp-0.1.0/benchmarks/operators/workloads/commutator_openfermion.py +6 -0
  187. openqarp-0.1.0/benchmarks/operators/workloads/commutator_pennylane.py +6 -0
  188. openqarp-0.1.0/benchmarks/operators/workloads/commutator_qarpx.py +6 -0
  189. openqarp-0.1.0/benchmarks/operators/workloads/commutator_qiskit.py +6 -0
  190. openqarp-0.1.0/benchmarks/operators/workloads/construct_string_openfermion.py +6 -0
  191. openqarp-0.1.0/benchmarks/operators/workloads/construct_string_pennylane.py +6 -0
  192. openqarp-0.1.0/benchmarks/operators/workloads/construct_string_qarpx.py +6 -0
  193. openqarp-0.1.0/benchmarks/operators/workloads/construct_string_qiskit.py +6 -0
  194. openqarp-0.1.0/benchmarks/operators/workloads/hermitian_conjugated_openfermion.py +6 -0
  195. openqarp-0.1.0/benchmarks/operators/workloads/hermitian_conjugated_pennylane.py +6 -0
  196. openqarp-0.1.0/benchmarks/operators/workloads/hermitian_conjugated_qarpx.py +6 -0
  197. openqarp-0.1.0/benchmarks/operators/workloads/hermitian_conjugated_qiskit.py +6 -0
  198. openqarp-0.1.0/benchmarks/operators/workloads/jw_molecular_openfermion.py +6 -0
  199. openqarp-0.1.0/benchmarks/operators/workloads/jw_molecular_pennylane.py +6 -0
  200. openqarp-0.1.0/benchmarks/operators/workloads/jw_molecular_qarpx.py +6 -0
  201. openqarp-0.1.0/benchmarks/operators/workloads/memory_hold_openfermion.py +6 -0
  202. openqarp-0.1.0/benchmarks/operators/workloads/memory_hold_pennylane.py +6 -0
  203. openqarp-0.1.0/benchmarks/operators/workloads/memory_hold_qarpx.py +6 -0
  204. openqarp-0.1.0/benchmarks/operators/workloads/memory_hold_qiskit.py +6 -0
  205. openqarp-0.1.0/benchmarks/operators/workloads/op_product_openfermion.py +6 -0
  206. openqarp-0.1.0/benchmarks/operators/workloads/op_product_pennylane.py +6 -0
  207. openqarp-0.1.0/benchmarks/operators/workloads/op_product_qarpx.py +6 -0
  208. openqarp-0.1.0/benchmarks/operators/workloads/op_product_qiskit.py +6 -0
  209. openqarp-0.1.0/benchmarks/operators/workloads/parity_encode_openfermion.py +6 -0
  210. openqarp-0.1.0/benchmarks/operators/workloads/parity_encode_pennylane.py +6 -0
  211. openqarp-0.1.0/benchmarks/operators/workloads/parity_encode_qarpx.py +6 -0
  212. openqarp-0.1.0/benchmarks/operators/workloads/sparse_construct_openfermion.py +6 -0
  213. openqarp-0.1.0/benchmarks/operators/workloads/sparse_construct_pennylane.py +6 -0
  214. openqarp-0.1.0/benchmarks/operators/workloads/sparse_construct_qarpx.py +6 -0
  215. openqarp-0.1.0/benchmarks/operators/workloads/sparse_construct_qiskit.py +6 -0
  216. openqarp-0.1.0/benchmarks/operators/workloads/symbolic_algebra_openfermion.py +6 -0
  217. openqarp-0.1.0/benchmarks/operators/workloads/symbolic_algebra_qarpx.py +6 -0
  218. openqarp-0.1.0/benchmarks/run.py +214 -0
  219. openqarp-0.1.0/benchmarks/sampler/__init__.py +1 -0
  220. openqarp-0.1.0/benchmarks/sampler/_aer.py +28 -0
  221. openqarp-0.1.0/benchmarks/sampler/_exact.py +39 -0
  222. openqarp-0.1.0/benchmarks/sampler/_families.py +56 -0
  223. openqarp-0.1.0/benchmarks/sampler/_lightning.py +33 -0
  224. openqarp-0.1.0/benchmarks/sampler/_qsim.py +31 -0
  225. openqarp-0.1.0/benchmarks/sampler/_qulacs.py +29 -0
  226. openqarp-0.1.0/benchmarks/sampler/_qx.py +37 -0
  227. openqarp-0.1.0/benchmarks/sampler/checks.py +98 -0
  228. openqarp-0.1.0/benchmarks/sampler/inputs.py +27 -0
  229. openqarp-0.1.0/benchmarks/sampler/spec.py +58 -0
  230. openqarp-0.1.0/benchmarks/sampler/verify.py +93 -0
  231. openqarp-0.1.0/benchmarks/sampler/workloads/__init__.py +5 -0
  232. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_aer.py +3 -0
  233. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_exact.py +3 -0
  234. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_lightning.py +3 -0
  235. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_qarpx.py +3 -0
  236. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_qsim.py +3 -0
  237. openqarp-0.1.0/benchmarks/sampler/workloads/brickwork_sample_qulacs.py +3 -0
  238. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_aer.py +3 -0
  239. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_exact.py +3 -0
  240. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_lightning.py +3 -0
  241. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_qarpx.py +3 -0
  242. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_qsim.py +3 -0
  243. openqarp-0.1.0/benchmarks/sampler/workloads/qpe_sample_qulacs.py +3 -0
  244. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_aer.py +3 -0
  245. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_exact.py +3 -0
  246. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_lightning.py +3 -0
  247. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_qarpx.py +3 -0
  248. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_qsim.py +3 -0
  249. openqarp-0.1.0/benchmarks/sampler/workloads/shots_axis_qulacs.py +3 -0
  250. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_aer.py +3 -0
  251. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_exact.py +3 -0
  252. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_lightning.py +3 -0
  253. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_qarpx.py +3 -0
  254. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_qsim.py +3 -0
  255. openqarp-0.1.0/benchmarks/sampler/workloads/trotter_sample_qulacs.py +3 -0
  256. openqarp-0.1.0/benchmarks/smoke.py +98 -0
  257. openqarp-0.1.0/benchmarks/statevector/__init__.py +1 -0
  258. openqarp-0.1.0/benchmarks/statevector/_aer.py +96 -0
  259. openqarp-0.1.0/benchmarks/statevector/_families.py +232 -0
  260. openqarp-0.1.0/benchmarks/statevector/_lightning.py +106 -0
  261. openqarp-0.1.0/benchmarks/statevector/_np.py +123 -0
  262. openqarp-0.1.0/benchmarks/statevector/_qsim.py +93 -0
  263. openqarp-0.1.0/benchmarks/statevector/_qulacs.py +131 -0
  264. openqarp-0.1.0/benchmarks/statevector/_qx.py +82 -0
  265. openqarp-0.1.0/benchmarks/statevector/checks.py +108 -0
  266. openqarp-0.1.0/benchmarks/statevector/data/__init__.py +0 -0
  267. openqarp-0.1.0/benchmarks/statevector/data/generate_molecules.py +116 -0
  268. openqarp-0.1.0/benchmarks/statevector/data/h2.json +1 -0
  269. openqarp-0.1.0/benchmarks/statevector/data/h2o.json +1 -0
  270. openqarp-0.1.0/benchmarks/statevector/data/lih.json +1 -0
  271. openqarp-0.1.0/benchmarks/statevector/inputs.py +267 -0
  272. openqarp-0.1.0/benchmarks/statevector/spec.py +163 -0
  273. openqarp-0.1.0/benchmarks/statevector/tune.py +274 -0
  274. openqarp-0.1.0/benchmarks/statevector/verify.py +234 -0
  275. openqarp-0.1.0/benchmarks/statevector/workloads/__init__.py +5 -0
  276. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_aer.py +3 -0
  277. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_lightning.py +3 -0
  278. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_numpy.py +3 -0
  279. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_qarpx.py +3 -0
  280. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_qsim.py +3 -0
  281. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_qulacs.py +3 -0
  282. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_aer.py +3 -0
  283. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_lightning.py +3 -0
  284. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_numpy.py +3 -0
  285. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_qarpx.py +3 -0
  286. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_qsim.py +3 -0
  287. openqarp-0.1.0/benchmarks/statevector/workloads/brickwork_threads_qulacs.py +3 -0
  288. openqarp-0.1.0/benchmarks/statevector/workloads/qft_aer.py +3 -0
  289. openqarp-0.1.0/benchmarks/statevector/workloads/qft_lightning.py +3 -0
  290. openqarp-0.1.0/benchmarks/statevector/workloads/qft_numpy.py +3 -0
  291. openqarp-0.1.0/benchmarks/statevector/workloads/qft_qarpx.py +3 -0
  292. openqarp-0.1.0/benchmarks/statevector/workloads/qft_qsim.py +3 -0
  293. openqarp-0.1.0/benchmarks/statevector/workloads/qft_qulacs.py +3 -0
  294. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_aer.py +3 -0
  295. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_lightning.py +3 -0
  296. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_numpy.py +3 -0
  297. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_qarpx.py +3 -0
  298. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_qsim.py +3 -0
  299. openqarp-0.1.0/benchmarks/statevector/workloads/qpe_phase_qulacs.py +3 -0
  300. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_aer.py +3 -0
  301. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_lightning.py +3 -0
  302. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_numpy.py +3 -0
  303. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_qarpx.py +3 -0
  304. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_qsim.py +3 -0
  305. openqarp-0.1.0/benchmarks/statevector/workloads/trotter_step_qulacs.py +3 -0
  306. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_aer.py +3 -0
  307. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_lightning.py +3 -0
  308. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_numpy.py +3 -0
  309. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_qarpx.py +3 -0
  310. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_qsim.py +3 -0
  311. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_energy_qulacs.py +3 -0
  312. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_aer.py +3 -0
  313. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_lightning.py +3 -0
  314. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_numpy.py +3 -0
  315. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_qarpx.py +3 -0
  316. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_qsim.py +3 -0
  317. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_molecular_qulacs.py +3 -0
  318. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_aer.py +3 -0
  319. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_lightning.py +3 -0
  320. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_numpy.py +3 -0
  321. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_qarpx.py +3 -0
  322. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_qsim.py +3 -0
  323. openqarp-0.1.0/benchmarks/statevector/workloads/vqe_terms_qulacs.py +3 -0
  324. openqarp-0.1.0/benchmarks/tables/competitor_algorithms.md +65 -0
  325. openqarp-0.1.0/benchmarks/tables/competitor_compilation.md +182 -0
  326. openqarp-0.1.0/benchmarks/tables/competitor_operators.md +45 -0
  327. openqarp-0.1.0/benchmarks/tables/competitor_sampler.md +67 -0
  328. openqarp-0.1.0/benchmarks/tables/competitor_statevector.md +134 -0
  329. openqarp-0.1.0/build_docs.sh +21 -0
  330. openqarp-0.1.0/cpp/libqarpx/CMakeLists.txt +339 -0
  331. openqarp-0.1.0/cpp/libqarpx/include/qarpx/absorb/absorber.h +21 -0
  332. openqarp-0.1.0/cpp/libqarpx/include/qarpx/absorb/qasm2_absorber.h +60 -0
  333. openqarp-0.1.0/cpp/libqarpx/include/qarpx/absorb/qasm3_absorber.h +58 -0
  334. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/block.h +303 -0
  335. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/composite_block.h +81 -0
  336. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/conditional_block.h +66 -0
  337. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/controlled_block.h +58 -0
  338. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/measure_block.h +27 -0
  339. openqarp-0.1.0/cpp/libqarpx/include/qarpx/block/reset_block.h +25 -0
  340. openqarp-0.1.0/cpp/libqarpx/include/qarpx/compilation/compile_for_device.h +68 -0
  341. openqarp-0.1.0/cpp/libqarpx/include/qarpx/compilation/perfect_layout.h +52 -0
  342. openqarp-0.1.0/cpp/libqarpx/include/qarpx/compilation/router.h +105 -0
  343. openqarp-0.1.0/cpp/libqarpx/include/qarpx/compilation/sabre.h +41 -0
  344. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/canonical.h +46 -0
  345. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/command.h +201 -0
  346. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/errors.h +31 -0
  347. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/gates.h +257 -0
  348. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/param.h +121 -0
  349. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/pauli.h +39 -0
  350. openqarp-0.1.0/cpp/libqarpx/include/qarpx/core/small_vector.h +234 -0
  351. openqarp-0.1.0/cpp/libqarpx/include/qarpx/dag/circuit_dag.h +179 -0
  352. openqarp-0.1.0/cpp/libqarpx/include/qarpx/dag/commutation.h +30 -0
  353. openqarp-0.1.0/cpp/libqarpx/include/qarpx/dag/passes.h +41 -0
  354. openqarp-0.1.0/cpp/libqarpx/include/qarpx/device/architecture.h +78 -0
  355. openqarp-0.1.0/cpp/libqarpx/include/qarpx/device/device.h +41 -0
  356. openqarp-0.1.0/cpp/libqarpx/include/qarpx/device/noise_model.h +142 -0
  357. openqarp-0.1.0/cpp/libqarpx/include/qarpx/emit/emitter.h +151 -0
  358. openqarp-0.1.0/cpp/libqarpx/include/qarpx/emit/param_bridge.h +99 -0
  359. openqarp-0.1.0/cpp/libqarpx/include/qarpx/emit/qasm2_emitter.h +91 -0
  360. openqarp-0.1.0/cpp/libqarpx/include/qarpx/emit/qasm3_emitter.h +64 -0
  361. openqarp-0.1.0/cpp/libqarpx/include/qarpx/emit/qir_emitter.h +63 -0
  362. openqarp-0.1.0/cpp/libqarpx/include/qarpx/engine/engine.h +64 -0
  363. openqarp-0.1.0/cpp/libqarpx/include/qarpx/engine/primitive_algorithm.h +63 -0
  364. openqarp-0.1.0/cpp/libqarpx/include/qarpx/engine/qarp_engine.h +67 -0
  365. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/coeff.h +173 -0
  366. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/fermion_key.h +76 -0
  367. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/fermion_operator.h +194 -0
  368. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/packed_pauli.h +140 -0
  369. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/qubit_operator.h +234 -0
  370. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/sparse.h +43 -0
  371. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/term_map.h +237 -0
  372. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/term_operator.h +127 -0
  373. openqarp-0.1.0/cpp/libqarpx/include/qarpx/operators/transforms.h +219 -0
  374. openqarp-0.1.0/cpp/libqarpx/include/qarpx/parallel/mpi_utils.h +32 -0
  375. openqarp-0.1.0/cpp/libqarpx/include/qarpx/parallel/thread_pool.h +86 -0
  376. openqarp-0.1.0/cpp/libqarpx/include/qarpx/qarpx.h +60 -0
  377. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/cudaq_simulator.h +131 -0
  378. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/dense_kernel.h +31 -0
  379. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/fusion.h +46 -0
  380. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/pauli_expectation.h +49 -0
  381. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/qarp_simulator.h +311 -0
  382. openqarp-0.1.0/cpp/libqarpx/include/qarpx/simulator/sampling_result.h +40 -0
  383. openqarp-0.1.0/cpp/libqarpx/include/qarpx/synthesis/diagonal.h +30 -0
  384. openqarp-0.1.0/cpp/libqarpx/include/qarpx/synthesis/pauli_exponential.h +180 -0
  385. openqarp-0.1.0/cpp/libqarpx/include/qarpx/synthesis/state_preparation.h +29 -0
  386. openqarp-0.1.0/cpp/libqarpx/include/qarpx/synthesis/uniformly_controlled.h +36 -0
  387. openqarp-0.1.0/cpp/libqarpx/include/qarpx/synthesis/unitary.h +34 -0
  388. openqarp-0.1.0/cpp/libqarpx/include/qarpx/transpiler/decompositions.h +141 -0
  389. openqarp-0.1.0/cpp/libqarpx/include/qarpx/transpiler/fusion.h +46 -0
  390. openqarp-0.1.0/cpp/libqarpx/include/qarpx/transpiler/gateset.h +105 -0
  391. openqarp-0.1.0/cpp/libqarpx/include/qarpx/transpiler/identities.h +47 -0
  392. openqarp-0.1.0/cpp/libqarpx/include/qarpx/transpiler/transpiler.h +149 -0
  393. openqarp-0.1.0/cpp/libqarpx/python/CMakeLists.txt +50 -0
  394. openqarp-0.1.0/cpp/libqarpx/python/bindings.cpp +1265 -0
  395. openqarp-0.1.0/cpp/libqarpx/python/bindings_operators.cpp +660 -0
  396. openqarp-0.1.0/cpp/libqarpx/src/absorb/pennylane_absorber.cpp +336 -0
  397. openqarp-0.1.0/cpp/libqarpx/src/absorb/pytket_absorber.cpp +400 -0
  398. openqarp-0.1.0/cpp/libqarpx/src/absorb/qasm2_absorber.cpp +733 -0
  399. openqarp-0.1.0/cpp/libqarpx/src/absorb/qasm3_absorber.cpp +778 -0
  400. openqarp-0.1.0/cpp/libqarpx/src/absorb/qiskit_absorber.cpp +295 -0
  401. openqarp-0.1.0/cpp/libqarpx/src/absorb/qulacs_absorber.cpp +587 -0
  402. openqarp-0.1.0/cpp/libqarpx/src/block/block.cpp +673 -0
  403. openqarp-0.1.0/cpp/libqarpx/src/block/composite_block.cpp +189 -0
  404. openqarp-0.1.0/cpp/libqarpx/src/block/conditional_block.cpp +171 -0
  405. openqarp-0.1.0/cpp/libqarpx/src/block/controlled_block.cpp +639 -0
  406. openqarp-0.1.0/cpp/libqarpx/src/block/measure_block.cpp +25 -0
  407. openqarp-0.1.0/cpp/libqarpx/src/block/reset_block.cpp +22 -0
  408. openqarp-0.1.0/cpp/libqarpx/src/compilation/compile_for_device.cpp +144 -0
  409. openqarp-0.1.0/cpp/libqarpx/src/compilation/perfect_layout.cpp +267 -0
  410. openqarp-0.1.0/cpp/libqarpx/src/compilation/router.cpp +194 -0
  411. openqarp-0.1.0/cpp/libqarpx/src/compilation/routing_common.h +132 -0
  412. openqarp-0.1.0/cpp/libqarpx/src/compilation/sabre.cpp +628 -0
  413. openqarp-0.1.0/cpp/libqarpx/src/core/canonical.cpp +185 -0
  414. openqarp-0.1.0/cpp/libqarpx/src/core/command.cpp +297 -0
  415. openqarp-0.1.0/cpp/libqarpx/src/core/intrusive_counter.cpp +18 -0
  416. openqarp-0.1.0/cpp/libqarpx/src/core/param.cpp +499 -0
  417. openqarp-0.1.0/cpp/libqarpx/src/core/pauli.cpp +56 -0
  418. openqarp-0.1.0/cpp/libqarpx/src/dag/circuit_dag.cpp +409 -0
  419. openqarp-0.1.0/cpp/libqarpx/src/dag/commutation.cpp +90 -0
  420. openqarp-0.1.0/cpp/libqarpx/src/dag/passes.cpp +309 -0
  421. openqarp-0.1.0/cpp/libqarpx/src/device/architecture.cpp +116 -0
  422. openqarp-0.1.0/cpp/libqarpx/src/device/device.cpp +41 -0
  423. openqarp-0.1.0/cpp/libqarpx/src/device/noise_model.cpp +299 -0
  424. openqarp-0.1.0/cpp/libqarpx/src/emit/pennylane_emitter.cpp +489 -0
  425. openqarp-0.1.0/cpp/libqarpx/src/emit/pytket_emitter.cpp +450 -0
  426. openqarp-0.1.0/cpp/libqarpx/src/emit/qasm2_emitter.cpp +437 -0
  427. openqarp-0.1.0/cpp/libqarpx/src/emit/qasm3_emitter.cpp +348 -0
  428. openqarp-0.1.0/cpp/libqarpx/src/emit/qir_emitter.cpp +293 -0
  429. openqarp-0.1.0/cpp/libqarpx/src/emit/qiskit_emitter.cpp +682 -0
  430. openqarp-0.1.0/cpp/libqarpx/src/emit/qulacs_emitter.cpp +554 -0
  431. openqarp-0.1.0/cpp/libqarpx/src/operators/detail_facade.h +111 -0
  432. openqarp-0.1.0/cpp/libqarpx/src/operators/detail_parse.h +93 -0
  433. openqarp-0.1.0/cpp/libqarpx/src/operators/fermion_operator.cpp +303 -0
  434. openqarp-0.1.0/cpp/libqarpx/src/operators/packed_pauli.cpp +122 -0
  435. openqarp-0.1.0/cpp/libqarpx/src/operators/qubit_operator.cpp +330 -0
  436. openqarp-0.1.0/cpp/libqarpx/src/operators/sparse.cpp +121 -0
  437. openqarp-0.1.0/cpp/libqarpx/src/operators/symbolic.cpp +23 -0
  438. openqarp-0.1.0/cpp/libqarpx/src/operators/transforms.cpp +65 -0
  439. openqarp-0.1.0/cpp/libqarpx/src/parallel/mpi_utils.cpp +51 -0
  440. openqarp-0.1.0/cpp/libqarpx/src/parallel/thread_pool.cpp +101 -0
  441. openqarp-0.1.0/cpp/libqarpx/src/simulator/cudaq_simulator.cpp +412 -0
  442. openqarp-0.1.0/cpp/libqarpx/src/simulator/dense_kernel.cpp +123 -0
  443. openqarp-0.1.0/cpp/libqarpx/src/simulator/fusion.cpp +270 -0
  444. openqarp-0.1.0/cpp/libqarpx/src/simulator/pauli_expectation.cpp +169 -0
  445. openqarp-0.1.0/cpp/libqarpx/src/simulator/qarp_simulator.cpp +1719 -0
  446. openqarp-0.1.0/cpp/libqarpx/src/synthesis/diagonal.cpp +79 -0
  447. openqarp-0.1.0/cpp/libqarpx/src/synthesis/pauli_exponential.cpp +697 -0
  448. openqarp-0.1.0/cpp/libqarpx/src/synthesis/state_preparation.cpp +115 -0
  449. openqarp-0.1.0/cpp/libqarpx/src/synthesis/uniformly_controlled.cpp +89 -0
  450. openqarp-0.1.0/cpp/libqarpx/src/synthesis/unitary.cpp +605 -0
  451. openqarp-0.1.0/cpp/libqarpx/src/transpiler/decompositions.cpp +715 -0
  452. openqarp-0.1.0/cpp/libqarpx/src/transpiler/fusion.cpp +303 -0
  453. openqarp-0.1.0/cpp/libqarpx/src/transpiler/gateset.cpp +233 -0
  454. openqarp-0.1.0/cpp/libqarpx/src/transpiler/identities.cpp +120 -0
  455. openqarp-0.1.0/cpp/libqarpx/src/transpiler/transpiler.cpp +345 -0
  456. openqarp-0.1.0/cpp/libqarpx/tests/cpp/CMakeLists.txt +57 -0
  457. openqarp-0.1.0/cpp/libqarpx/tests/cpp/dag_test_helpers.h +364 -0
  458. openqarp-0.1.0/cpp/libqarpx/tests/cpp/gate_test_helpers.h +181 -0
  459. openqarp-0.1.0/cpp/libqarpx/tests/cpp/reference_unitary.h +258 -0
  460. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_architecture.cpp +236 -0
  461. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_blocks_mcm.cpp +418 -0
  462. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_canonical.cpp +225 -0
  463. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_cbit_register_width.cpp +96 -0
  464. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_circuit_dag.cpp +453 -0
  465. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_closure_and_native.cpp +294 -0
  466. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_controlled_block_unitaries.cpp +496 -0
  467. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_core.cpp +713 -0
  468. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_dag_commutation.cpp +297 -0
  469. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_dag_passes.cpp +480 -0
  470. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_dagger_round_trip.cpp +200 -0
  471. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_decomposition_table.cpp +433 -0
  472. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_device.cpp +174 -0
  473. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_expectation_kernel.cpp +177 -0
  474. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_functional_mcm.cpp +206 -0
  475. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_fusion_consistency.cpp +196 -0
  476. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_gate_counts.cpp +188 -0
  477. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_gate_unitaries.cpp +373 -0
  478. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_gradient_adjoint.cpp +208 -0
  479. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_identities.cpp +365 -0
  480. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_initial_state.cpp +140 -0
  481. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_noise_model.cpp +133 -0
  482. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_fermion_operator.cpp +171 -0
  483. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_packed_pauli.cpp +226 -0
  484. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_qubit_operator.cpp +323 -0
  485. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_sparse.cpp +242 -0
  486. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_symbolic.cpp +138 -0
  487. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_term_map.cpp +156 -0
  488. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_operators_transforms.cpp +273 -0
  489. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_pass_reference_equivalence.cpp +253 -0
  490. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_pass_relabel_equivariance.cpp +333 -0
  491. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_pauli_encoding.cpp +107 -0
  492. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_qasm2_emitter.cpp +425 -0
  493. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_qasm3_emitter.cpp +445 -0
  494. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_qir_emitter.cpp +139 -0
  495. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_router.cpp +380 -0
  496. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_sabre.cpp +531 -0
  497. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_simulation_fusion.cpp +494 -0
  498. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_diagonal.cpp +148 -0
  499. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_pauli_exp.cpp +343 -0
  500. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_pauli_exp_clifford.cpp +334 -0
  501. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_pauli_exp_diagonal_block.cpp +492 -0
  502. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_state_preparation.cpp +204 -0
  503. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_synthesis_unitary.cpp +398 -0
  504. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_trajectory.cpp +332 -0
  505. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_transpiler.cpp +251 -0
  506. openqarp-0.1.0/cpp/libqarpx/tests/cpp/test_transpiler_topology_cache.cpp +292 -0
  507. openqarp-0.1.0/cpp/libqarpx/tests/python/test_mcm_bindings.py +220 -0
  508. openqarp-0.1.0/cpp/libqarpx/third_party/csim/CMakeLists.txt +57 -0
  509. openqarp-0.1.0/cpp/libqarpx/third_party/csim/LICENSE +21 -0
  510. openqarp-0.1.0/cpp/libqarpx/third_party/csim/MPIutil.cpp +203 -0
  511. openqarp-0.1.0/cpp/libqarpx/third_party/csim/MPIutil.hpp +79 -0
  512. openqarp-0.1.0/cpp/libqarpx/third_party/csim/README.md +9 -0
  513. openqarp-0.1.0/cpp/libqarpx/third_party/csim/constant.cpp +37 -0
  514. openqarp-0.1.0/cpp/libqarpx/third_party/csim/constant.hpp +64 -0
  515. openqarp-0.1.0/cpp/libqarpx/third_party/csim/init_ops.hpp +31 -0
  516. openqarp-0.1.0/cpp/libqarpx/third_party/csim/init_ops_fill.cpp +41 -0
  517. openqarp-0.1.0/cpp/libqarpx/third_party/csim/init_ops_random.cpp +132 -0
  518. openqarp-0.1.0/cpp/libqarpx/third_party/csim/memory_ops.cpp +32 -0
  519. openqarp-0.1.0/cpp/libqarpx/third_party/csim/memory_ops.hpp +26 -0
  520. openqarp-0.1.0/cpp/libqarpx/third_party/csim/memory_ops_dm.cpp +56 -0
  521. openqarp-0.1.0/cpp/libqarpx/third_party/csim/memory_ops_dm.hpp +46 -0
  522. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops.cpp +158 -0
  523. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops.hpp +57 -0
  524. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops_dm.cpp +297 -0
  525. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops_dm.hpp +32 -0
  526. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops_expectation_value.cpp +824 -0
  527. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops_probability.cpp +100 -0
  528. openqarp-0.1.0/cpp/libqarpx/third_party/csim/stat_ops_transition_amplitude.cpp +128 -0
  529. openqarp-0.1.0/cpp/libqarpx/third_party/csim/type.hpp +54 -0
  530. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops.hpp +1549 -0
  531. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_control_multi_target_multi.cpp +205 -0
  532. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_control_multi_target_single.cpp +351 -0
  533. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_control_single_target_multi.cpp +156 -0
  534. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_control_single_target_single.cpp +479 -0
  535. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_cpp.hpp +63 -0
  536. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_dm.cpp +858 -0
  537. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_dm.hpp +70 -0
  538. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_dense_double.cpp +1766 -0
  539. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_dense_double_eigen.cpp +66 -0
  540. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_dense_multi.cpp +195 -0
  541. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_dense_multi_eigen.cpp +189 -0
  542. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_dense_single.cpp +459 -0
  543. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_diagonal_multi.cpp +112 -0
  544. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_diagonal_single.cpp +289 -0
  545. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_matrix_phase_single.cpp +118 -0
  546. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named.cpp +82 -0
  547. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_CNOT.cpp +330 -0
  548. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_CZ.cpp +197 -0
  549. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_FusedSWAP.cpp +333 -0
  550. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_H.cpp +262 -0
  551. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_SWAP.cpp +304 -0
  552. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_X.cpp +156 -0
  553. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_Y.cpp +261 -0
  554. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_Z.cpp +133 -0
  555. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_projection.cpp +116 -0
  556. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_named_state.cpp +98 -0
  557. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_pauli_multi.cpp +822 -0
  558. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_pauli_single.cpp +136 -0
  559. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_qft.cpp +94 -0
  560. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_reflection.cpp +27 -0
  561. openqarp-0.1.0/cpp/libqarpx/third_party/csim/update_ops_reversible_boolean.cpp +46 -0
  562. openqarp-0.1.0/cpp/libqarpx/third_party/csim/utility.cpp +147 -0
  563. openqarp-0.1.0/cpp/libqarpx/third_party/csim/utility.hpp +157 -0
  564. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.APACHE +203 -0
  565. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.BSD +26 -0
  566. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.GPL +674 -0
  567. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.LGPL +502 -0
  568. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.MINPACK +51 -0
  569. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.MPL2 +373 -0
  570. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/COPYING.README +18 -0
  571. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Cholesky +45 -0
  572. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/CholmodSupport +48 -0
  573. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Core +384 -0
  574. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Dense +7 -0
  575. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Eigen +2 -0
  576. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Eigenvalues +60 -0
  577. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Geometry +59 -0
  578. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Householder +29 -0
  579. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/IterativeLinearSolvers +48 -0
  580. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Jacobi +32 -0
  581. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/KLUSupport +41 -0
  582. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/LU +47 -0
  583. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/MetisSupport +35 -0
  584. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/OrderingMethods +70 -0
  585. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/PaStiXSupport +49 -0
  586. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/PardisoSupport +35 -0
  587. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/QR +50 -0
  588. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/QtAlignedMalloc +39 -0
  589. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SPQRSupport +34 -0
  590. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SVD +50 -0
  591. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/Sparse +34 -0
  592. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SparseCholesky +37 -0
  593. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SparseCore +69 -0
  594. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SparseLU +50 -0
  595. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SparseQR +36 -0
  596. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/StdDeque +27 -0
  597. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/StdList +26 -0
  598. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/StdVector +27 -0
  599. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/SuperLUSupport +64 -0
  600. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/UmfPackSupport +40 -0
  601. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Cholesky/LDLT.h +688 -0
  602. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Cholesky/LLT.h +558 -0
  603. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  604. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  605. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ArithmeticSequence.h +413 -0
  606. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Array.h +417 -0
  607. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ArrayBase.h +226 -0
  608. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ArrayWrapper.h +209 -0
  609. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Assign.h +90 -0
  610. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/AssignEvaluator.h +1010 -0
  611. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Assign_MKL.h +178 -0
  612. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/BandMatrix.h +353 -0
  613. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Block.h +448 -0
  614. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/BooleanRedux.h +162 -0
  615. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CommaInitializer.h +164 -0
  616. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ConditionEstimator.h +175 -0
  617. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CoreEvaluators.h +1741 -0
  618. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CoreIterators.h +132 -0
  619. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  620. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  621. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  622. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  623. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/CwiseUnaryView.h +132 -0
  624. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/DenseBase.h +701 -0
  625. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  626. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/DenseStorage.h +652 -0
  627. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Diagonal.h +258 -0
  628. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/DiagonalMatrix.h +391 -0
  629. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/DiagonalProduct.h +28 -0
  630. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Dot.h +318 -0
  631. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/EigenBase.h +160 -0
  632. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  633. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Fuzzy.h +155 -0
  634. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/GeneralProduct.h +465 -0
  635. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/GenericPacketMath.h +1040 -0
  636. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/GlobalFunctions.h +194 -0
  637. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/IO.h +258 -0
  638. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/IndexedView.h +237 -0
  639. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Inverse.h +117 -0
  640. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Map.h +171 -0
  641. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/MapBase.h +310 -0
  642. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/MathFunctions.h +2057 -0
  643. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  644. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Matrix.h +565 -0
  645. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/MatrixBase.h +547 -0
  646. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/NestByValue.h +85 -0
  647. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/NoAlias.h +109 -0
  648. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/NumTraits.h +335 -0
  649. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  650. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/PermutationMatrix.h +605 -0
  651. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/PlainObjectBase.h +1128 -0
  652. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Product.h +191 -0
  653. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ProductEvaluators.h +1179 -0
  654. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Random.h +218 -0
  655. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Redux.h +515 -0
  656. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Ref.h +381 -0
  657. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Replicate.h +142 -0
  658. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Reshaped.h +454 -0
  659. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/ReturnByValue.h +119 -0
  660. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Reverse.h +217 -0
  661. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Select.h +164 -0
  662. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/SelfAdjointView.h +365 -0
  663. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  664. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Solve.h +188 -0
  665. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/SolveTriangular.h +235 -0
  666. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/SolverBase.h +168 -0
  667. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/StableNorm.h +251 -0
  668. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/StlIterators.h +463 -0
  669. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Stride.h +116 -0
  670. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Swap.h +68 -0
  671. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Transpose.h +464 -0
  672. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Transpositions.h +386 -0
  673. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/TriangularMatrix.h +1001 -0
  674. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/VectorBlock.h +96 -0
  675. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/VectorwiseOp.h +784 -0
  676. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/Visitor.h +381 -0
  677. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  678. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  679. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  680. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  681. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  682. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  683. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  684. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  685. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  686. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  687. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  688. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  689. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  690. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  691. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  692. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  693. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  694. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  695. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  696. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/Half.h +942 -0
  697. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/Settings.h +49 -0
  698. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  699. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  700. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  701. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  702. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  703. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  704. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  705. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  706. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  707. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  708. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  709. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  710. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  711. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  712. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  713. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  714. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  715. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  716. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  717. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  718. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  719. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  720. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  721. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  722. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  723. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  724. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  725. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  726. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  727. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  728. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  729. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/StlFunctors.h +166 -0
  730. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  731. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  732. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  733. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  734. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  735. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  736. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  737. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  738. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  739. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/Parallelizer.h +180 -0
  740. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  741. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  742. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  743. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  744. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  745. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  746. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  747. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  748. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  749. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  750. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  751. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  752. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  753. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/BlasUtil.h +583 -0
  754. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  755. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/Constants.h +563 -0
  756. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  757. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  758. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  759. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/IntegralConstant.h +272 -0
  760. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/MKL_support.h +137 -0
  761. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/Macros.h +1464 -0
  762. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/Memory.h +1163 -0
  763. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/Meta.h +812 -0
  764. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/NonMPL2.h +3 -0
  765. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  766. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  767. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/StaticAssert.h +221 -0
  768. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  769. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Core/util/XprHelper.h +856 -0
  770. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  771. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  772. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  773. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  774. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  775. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  776. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  777. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  778. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  779. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  780. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  781. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  782. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  783. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  784. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/AlignedBox.h +486 -0
  785. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/AngleAxis.h +247 -0
  786. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/EulerAngles.h +114 -0
  787. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Homogeneous.h +501 -0
  788. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Hyperplane.h +282 -0
  789. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/OrthoMethods.h +235 -0
  790. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  791. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Quaternion.h +870 -0
  792. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Rotation2D.h +199 -0
  793. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/RotationBase.h +206 -0
  794. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Scaling.h +188 -0
  795. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Transform.h +1563 -0
  796. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Translation.h +202 -0
  797. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/Umeyama.h +166 -0
  798. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  799. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Householder/BlockHouseholder.h +110 -0
  800. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Householder/Householder.h +176 -0
  801. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Householder/HouseholderSequence.h +545 -0
  802. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  803. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  804. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  805. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  806. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  807. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  808. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  809. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  810. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/Jacobi/Jacobi.h +483 -0
  811. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  812. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/Determinant.h +117 -0
  813. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/FullPivLU.h +877 -0
  814. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/InverseImpl.h +432 -0
  815. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/PartialPivLU.h +624 -0
  816. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  817. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/LU/arch/InverseSize4.h +351 -0
  818. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  819. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/OrderingMethods/Amd.h +435 -0
  820. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  821. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/OrderingMethods/Ordering.h +153 -0
  822. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  823. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  824. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  825. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  826. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  827. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  828. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/HouseholderQR.h +434 -0
  829. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  830. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  831. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SVD/BDCSVD.h +1366 -0
  832. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SVD/JacobiSVD.h +812 -0
  833. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  834. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SVD/SVDBase.h +376 -0
  835. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  836. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  837. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  838. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/AmbiVector.h +378 -0
  839. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  840. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  841. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  842. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseAssign.h +270 -0
  843. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseBlock.h +571 -0
  844. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  845. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  846. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  847. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  848. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  849. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  850. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseDot.h +98 -0
  851. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  852. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseMap.h +305 -0
  853. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  854. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  855. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  856. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseProduct.h +181 -0
  857. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseRedux.h +49 -0
  858. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseRef.h +397 -0
  859. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  860. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  861. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  862. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  863. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  864. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseUtil.h +186 -0
  865. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseVector.h +478 -0
  866. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/SparseView.h +254 -0
  867. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  868. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU.h +923 -0
  869. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  870. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  871. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  872. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  873. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  874. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  875. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  876. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  877. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  878. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  879. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  880. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  881. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  882. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  883. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  884. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  885. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SparseQR/SparseQR.h +758 -0
  886. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/StlSupport/StdDeque.h +116 -0
  887. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/StlSupport/StdList.h +106 -0
  888. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/StlSupport/StdVector.h +131 -0
  889. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/StlSupport/details.h +84 -0
  890. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  891. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  892. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/Image.h +82 -0
  893. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/Kernel.h +79 -0
  894. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/RealSvd2x2.h +55 -0
  895. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/blas.h +440 -0
  896. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/lapack.h +152 -0
  897. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/lapacke.h +16292 -0
  898. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/misc/lapacke_mangling.h +17 -0
  899. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  900. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  901. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/BlockMethods.h +1442 -0
  902. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  903. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  904. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  905. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  906. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  907. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/Eigen/src/plugins/ReshapedMethods.h +149 -0
  908. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/README.md +53 -0
  909. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/MatrixFunctions +504 -0
  910. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  911. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  912. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  913. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  914. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  915. openqarp-0.1.0/cpp/libqarpx/third_party/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  916. openqarp-0.1.0/docs/Makefile +21 -0
  917. openqarp-0.1.0/docs/_static/custom.css +482 -0
  918. openqarp-0.1.0/docs/_static/theme-sync.js +15 -0
  919. openqarp-0.1.0/docs/_templates/base.html +18 -0
  920. openqarp-0.1.0/docs/_templates/sidebar/site-links.html +4 -0
  921. openqarp-0.1.0/docs/api/qarp.absorb.rst +7 -0
  922. openqarp-0.1.0/docs/api/qarp.algorithms.rst +7 -0
  923. openqarp-0.1.0/docs/api/qarp.blocks.rst +7 -0
  924. openqarp-0.1.0/docs/api/qarp.cutting.rst +7 -0
  925. openqarp-0.1.0/docs/api/qarp.devices.rst +7 -0
  926. openqarp-0.1.0/docs/api/qarp.emit.rst +7 -0
  927. openqarp-0.1.0/docs/api/qarp.endianness.rst +7 -0
  928. openqarp-0.1.0/docs/api/qarp.engines.rst +7 -0
  929. openqarp-0.1.0/docs/api/qarp.errors.rst +7 -0
  930. openqarp-0.1.0/docs/api/qarp.factories.rst +7 -0
  931. openqarp-0.1.0/docs/api/qarp.graphs.rst +7 -0
  932. openqarp-0.1.0/docs/api/qarp.operators.compat.rst +7 -0
  933. openqarp-0.1.0/docs/api/qarp.operators.functions.rst +14 -0
  934. openqarp-0.1.0/docs/api/qarp.operators.integrals.rst +7 -0
  935. openqarp-0.1.0/docs/api/qarp.operators.models.rst +7 -0
  936. openqarp-0.1.0/docs/api/qarp.operators.onv.rst +7 -0
  937. openqarp-0.1.0/docs/api/qarp.operators.pyscf.rst +7 -0
  938. openqarp-0.1.0/docs/api/qarp.operators.rst +7 -0
  939. openqarp-0.1.0/docs/api/qarp.operators.ucc.rst +7 -0
  940. openqarp-0.1.0/docs/api/qarp.optimizers.rst +7 -0
  941. openqarp-0.1.0/docs/api/qarp.plotting.rst +7 -0
  942. openqarp-0.1.0/docs/api/qarp.plotting.styles.rst +18 -0
  943. openqarp-0.1.0/docs/api/qarp.resources.rst +9 -0
  944. openqarp-0.1.0/docs/api/qarp.rst +11 -0
  945. openqarp-0.1.0/docs/api/qarp.utils.rst +7 -0
  946. openqarp-0.1.0/docs/conf.py +110 -0
  947. openqarp-0.1.0/docs/contracts/qarp_conventions.md +952 -0
  948. openqarp-0.1.0/docs/contributions/README.md +91 -0
  949. openqarp-0.1.0/docs/contributions/_template.md +64 -0
  950. openqarp-0.1.0/docs/contributions/example_plan.md +93 -0
  951. openqarp-0.1.0/docs/index.rst +52 -0
  952. openqarp-0.1.0/docs/make.bat +35 -0
  953. openqarp-0.1.0/docs/source/algorithms.rst +2810 -0
  954. openqarp-0.1.0/docs/source/api.rst +9 -0
  955. openqarp-0.1.0/docs/source/blocks.rst +3161 -0
  956. openqarp-0.1.0/docs/source/configuration.rst +224 -0
  957. openqarp-0.1.0/docs/source/cutting.rst +229 -0
  958. openqarp-0.1.0/docs/source/devices.rst +205 -0
  959. openqarp-0.1.0/docs/source/emit_absorb.rst +302 -0
  960. openqarp-0.1.0/docs/source/endianness.rst +102 -0
  961. openqarp-0.1.0/docs/source/engines.rst +210 -0
  962. openqarp-0.1.0/docs/source/errors.rst +265 -0
  963. openqarp-0.1.0/docs/source/factories.rst +83 -0
  964. openqarp-0.1.0/docs/source/getting_started.rst +241 -0
  965. openqarp-0.1.0/docs/source/gradients.rst +307 -0
  966. openqarp-0.1.0/docs/source/graphs.rst +255 -0
  967. openqarp-0.1.0/docs/source/images/.gitkeep +0 -0
  968. openqarp-0.1.0/docs/source/images/4q_GHZ_circuit.png +0 -0
  969. openqarp-0.1.0/docs/source/images/5q_nn_device_diagram.svg +3 -0
  970. openqarp-0.1.0/docs/source/images/a_gate_example.svg +649 -0
  971. openqarp-0.1.0/docs/source/images/amplitudeamplificationblock.svg +402 -0
  972. openqarp-0.1.0/docs/source/images/amplitudeestimationblock.svg +665 -0
  973. openqarp-0.1.0/docs/source/images/block_encoding_example.svg +880 -0
  974. openqarp-0.1.0/docs/source/images/blocks_givens_gate.svg +759 -0
  975. openqarp-0.1.0/docs/source/images/blocks_trotter.svg +1268 -0
  976. openqarp-0.1.0/docs/source/images/blocks_trotter_yoshida.svg +1313 -0
  977. openqarp-0.1.0/docs/source/images/blocks_ucc.svg +685 -0
  978. openqarp-0.1.0/docs/source/images/brickwork_entangling_example.svg +543 -0
  979. openqarp-0.1.0/docs/source/images/brickwork_pce_example.svg +1377 -0
  980. openqarp-0.1.0/docs/source/images/computational_basis_state_example.svg +401 -0
  981. openqarp-0.1.0/docs/source/images/cost_operator_example.svg +581 -0
  982. openqarp-0.1.0/docs/source/images/csf_state_example.svg +1343 -0
  983. openqarp-0.1.0/docs/source/images/custom_wfn_blocks_ancillas.png +0 -0
  984. openqarp-0.1.0/docs/source/images/custom_wfn_blocks_no_ancillas.png +0 -0
  985. openqarp-0.1.0/docs/source/images/cvoqram_example.svg +858 -0
  986. openqarp-0.1.0/docs/source/images/dicke_4_2.svg +1731 -0
  987. openqarp-0.1.0/docs/source/images/directed_nn_device_example.svg +3 -0
  988. openqarp-0.1.0/docs/source/images/dosqpe_distribution.svg +1431 -0
  989. openqarp-0.1.0/docs/source/images/dosqpe_distribution_vs_spectrum.svg +1661 -0
  990. openqarp-0.1.0/docs/source/images/dosqpe_example.svg +1927 -0
  991. openqarp-0.1.0/docs/source/images/dosqpe_optimization.svg +27084 -0
  992. openqarp-0.1.0/docs/source/images/fig_hist_mc.png +0 -0
  993. openqarp-0.1.0/docs/source/images/fig_mc_doc.png +0 -0
  994. openqarp-0.1.0/docs/source/images/ghz_like_state_example.svg +466 -0
  995. openqarp-0.1.0/docs/source/images/graph_example.svg +287 -0
  996. openqarp-0.1.0/docs/source/images/grover_block.svg +424 -0
  997. openqarp-0.1.0/docs/source/images/hadamardtest_block_example.svg +1021 -0
  998. openqarp-0.1.0/docs/source/images/hea_example.svg +662 -0
  999. openqarp-0.1.0/docs/source/images/hn_example.svg +423 -0
  1000. openqarp-0.1.0/docs/source/images/ht_ev_pretty_circuit.png +0 -0
  1001. openqarp-0.1.0/docs/source/images/ht_ovlp_pretty_circ_imag.png +0 -0
  1002. openqarp-0.1.0/docs/source/images/ht_ovlp_pretty_circuit_real.png +0 -0
  1003. openqarp-0.1.0/docs/source/images/hypergraph_example.svg +554 -0
  1004. openqarp-0.1.0/docs/source/images/hypergraph_state_example.svg +486 -0
  1005. openqarp-0.1.0/docs/source/images/interferometricmeasurementblock.svg +492 -0
  1006. openqarp-0.1.0/docs/source/images/interferometricstateblock.svg +413 -0
  1007. openqarp-0.1.0/docs/source/images/layer_block_example.svg +568 -0
  1008. openqarp-0.1.0/docs/source/images/layeredheablock_example.svg +802 -0
  1009. openqarp-0.1.0/docs/source/images/layeredspa_example.svg +802 -0
  1010. openqarp-0.1.0/docs/source/images/linear_entangling_example.svg +469 -0
  1011. openqarp-0.1.0/docs/source/images/low_rank_state_example.svg +1243 -0
  1012. openqarp-0.1.0/docs/source/images/mapped_onv_state_example.svg +401 -0
  1013. openqarp-0.1.0/docs/source/images/measurement_device_example_unrouted_ht.png +0 -0
  1014. openqarp-0.1.0/docs/source/images/measurement_structure.png +0 -0
  1015. openqarp-0.1.0/docs/source/images/measurementblock_example.svg +501 -0
  1016. openqarp-0.1.0/docs/source/images/mixed_operator_example.svg +604 -0
  1017. openqarp-0.1.0/docs/source/images/mps_state_example.svg +787 -0
  1018. openqarp-0.1.0/docs/source/images/multi_onv_state_example.svg +913 -0
  1019. openqarp-0.1.0/docs/source/images/orbitalrotationblock.svg +552 -0
  1020. openqarp-0.1.0/docs/source/images/particle_number_projector_block.svg +762 -0
  1021. openqarp-0.1.0/docs/source/images/pauli_block_example2.svg +443 -0
  1022. openqarp-0.1.0/docs/source/images/pauli_block_example3.svg +293 -0
  1023. openqarp-0.1.0/docs/source/images/pauli_block_example4.svg +318 -0
  1024. openqarp-0.1.0/docs/source/images/pauli_example.svg +461 -0
  1025. openqarp-0.1.0/docs/source/images/phase_shift_block.svg +342 -0
  1026. openqarp-0.1.0/docs/source/images/piecewise_linear_example.svg +1499 -0
  1027. openqarp-0.1.0/docs/source/images/plot_color_colorblind.svg +725 -0
  1028. openqarp-0.1.0/docs/source/images/plot_color_custom.svg +725 -0
  1029. openqarp-0.1.0/docs/source/images/plot_color_deuteranopia.svg +725 -0
  1030. openqarp-0.1.0/docs/source/images/plot_color_grayscale.svg +725 -0
  1031. openqarp-0.1.0/docs/source/images/plot_color_high_contrast.svg +725 -0
  1032. openqarp-0.1.0/docs/source/images/plot_color_protanopia.svg +725 -0
  1033. openqarp-0.1.0/docs/source/images/plot_color_tritanopia.svg +725 -0
  1034. openqarp-0.1.0/docs/source/images/plot_decompose_false.svg +914 -0
  1035. openqarp-0.1.0/docs/source/images/plot_decompose_true.svg +565 -0
  1036. openqarp-0.1.0/docs/source/images/plot_default.svg +718 -0
  1037. openqarp-0.1.0/docs/source/images/plot_figsize.svg +718 -0
  1038. openqarp-0.1.0/docs/source/images/plot_flatten_false.svg +718 -0
  1039. openqarp-0.1.0/docs/source/images/plot_invert_true.svg +718 -0
  1040. openqarp-0.1.0/docs/source/images/plot_label_full.svg +787 -0
  1041. openqarp-0.1.0/docs/source/images/plot_label_truncate.svg +660 -0
  1042. openqarp-0.1.0/docs/source/images/plot_latex.svg +665 -0
  1043. openqarp-0.1.0/docs/source/images/plot_spacing_tight.svg +718 -0
  1044. openqarp-0.1.0/docs/source/images/plot_spacing_wide.svg +718 -0
  1045. openqarp-0.1.0/docs/source/images/projectedcontrolphaseblock_example.svg +825 -0
  1046. openqarp-0.1.0/docs/source/images/qaoa_block.svg +1251 -0
  1047. openqarp-0.1.0/docs/source/images/qaoa_histogram.svg +999 -0
  1048. openqarp-0.1.0/docs/source/images/qft_example.svg +872 -0
  1049. openqarp-0.1.0/docs/source/images/qmegs_density.svg +2199 -0
  1050. openqarp-0.1.0/docs/source/images/qpe_distribution.svg +1728 -0
  1051. openqarp-0.1.0/docs/source/images/qpe_example.svg +1202 -0
  1052. openqarp-0.1.0/docs/source/images/qpe_example_blocks.svg +1357 -0
  1053. openqarp-0.1.0/docs/source/images/qrom_example.svg +693 -0
  1054. openqarp-0.1.0/docs/source/images/qsp.svg +574 -0
  1055. openqarp-0.1.0/docs/source/images/qsvtblock.svg +874 -0
  1056. openqarp-0.1.0/docs/source/images/qubitizationblock.svg +304 -0
  1057. openqarp-0.1.0/docs/source/images/reflectionblock.svg +414 -0
  1058. openqarp-0.1.0/docs/source/images/routed_directed_circuit_ht_ev_meas_example.png +0 -0
  1059. openqarp-0.1.0/docs/source/images/routed_undirected_circuit_ht_ev_meas_example.png +0 -0
  1060. openqarp-0.1.0/docs/source/images/rspblock.svg +589 -0
  1061. openqarp-0.1.0/docs/source/images/select_example.svg +481 -0
  1062. openqarp-0.1.0/docs/source/images/simplicial_complex_added.svg +226 -0
  1063. openqarp-0.1.0/docs/source/images/simplicial_complex_initial.svg +209 -0
  1064. openqarp-0.1.0/docs/source/images/simplicial_complex_removed.svg +207 -0
  1065. openqarp-0.1.0/docs/source/images/slater_determinant_example.svg +892 -0
  1066. openqarp-0.1.0/docs/source/images/sparse_state_example.svg +863 -0
  1067. openqarp-0.1.0/docs/source/images/spectrum_estimator.svg +1708 -0
  1068. openqarp-0.1.0/docs/source/images/swap_test_pretty_circuit.png +0 -0
  1069. openqarp-0.1.0/docs/source/images/swaptest_block_example.svg +1102 -0
  1070. openqarp-0.1.0/docs/source/images/synth_time_evolution_example.svg +1173 -0
  1071. openqarp-0.1.0/docs/source/images/synthblock.svg +1175 -0
  1072. openqarp-0.1.0/docs/source/images/synthesized_state_example.svg +638 -0
  1073. openqarp-0.1.0/docs/source/images/trotter_ansatz_example.svg +869 -0
  1074. openqarp-0.1.0/docs/source/images/trotter_error.png +0 -0
  1075. openqarp-0.1.0/docs/source/images/ucc_ansatz.svg +849 -0
  1076. openqarp-0.1.0/docs/source/images/uniform_superposition_example.svg +683 -0
  1077. openqarp-0.1.0/docs/source/images/upccd_block.svg +660 -0
  1078. openqarp-0.1.0/docs/source/images/vumpo_brickwork_example.svg +623 -0
  1079. openqarp-0.1.0/docs/source/images/xn_example.svg +423 -0
  1080. openqarp-0.1.0/docs/source/installation.rst +339 -0
  1081. openqarp-0.1.0/docs/source/operators.rst +731 -0
  1082. openqarp-0.1.0/docs/source/optimizers.rst +655 -0
  1083. openqarp-0.1.0/docs/source/plotting.rst +617 -0
  1084. openqarp-0.1.0/docs/source/postselection.rst +182 -0
  1085. openqarp-0.1.0/docs/source/qarp_philosophy.rst +481 -0
  1086. openqarp-0.1.0/docs/source/resources.rst +285 -0
  1087. openqarp-0.1.0/docs/source/tutorial.rst +764 -0
  1088. openqarp-0.1.0/docs/source/utils.rst +83 -0
  1089. openqarp-0.1.0/examples/algorithms/composite/MWE_amplitude_amplification.ipynb +110 -0
  1090. openqarp-0.1.0/examples/algorithms/composite/MWE_amplitude_estimation.ipynb +102 -0
  1091. openqarp-0.1.0/examples/algorithms/composite/MWE_grover.ipynb +101 -0
  1092. openqarp-0.1.0/examples/algorithms/composite/mwe_adapt_vqe_vqd.ipynb +121 -0
  1093. openqarp-0.1.0/examples/algorithms/composite/mwe_cpce_algo.ipynb +260 -0
  1094. openqarp-0.1.0/examples/algorithms/composite/mwe_dosqpe.ipynb +333 -0
  1095. openqarp-0.1.0/examples/algorithms/composite/mwe_iterative_pce.ipynb +199 -0
  1096. openqarp-0.1.0/examples/algorithms/composite/mwe_mmqcels.ipynb +221 -0
  1097. openqarp-0.1.0/examples/algorithms/composite/mwe_montecarlo.ipynb +1067 -0
  1098. openqarp-0.1.0/examples/algorithms/composite/mwe_montecarlo_vumpo.ipynb +706 -0
  1099. openqarp-0.1.0/examples/algorithms/composite/mwe_pce_algo.ipynb +349 -0
  1100. openqarp-0.1.0/examples/algorithms/composite/mwe_projected_vqe.ipynb +368 -0
  1101. openqarp-0.1.0/examples/algorithms/composite/mwe_qaoa_max_cut.ipynb +361 -0
  1102. openqarp-0.1.0/examples/algorithms/composite/mwe_qite.ipynb +140 -0
  1103. openqarp-0.1.0/examples/algorithms/composite/mwe_qmegs.ipynb +338 -0
  1104. openqarp-0.1.0/examples/algorithms/composite/mwe_qpe.ipynb +215 -0
  1105. openqarp-0.1.0/examples/algorithms/composite/mwe_qse.ipynb +193 -0
  1106. openqarp-0.1.0/examples/algorithms/composite/mwe_qubitization.ipynb +147 -0
  1107. openqarp-0.1.0/examples/algorithms/composite/mwe_shor.ipynb +142 -0
  1108. openqarp-0.1.0/examples/algorithms/composite/mwe_ssvqe.ipynb +142 -0
  1109. openqarp-0.1.0/examples/algorithms/composite/mwe_vff.ipynb +220 -0
  1110. openqarp-0.1.0/examples/algorithms/composite/mwe_vqd.ipynb +69 -0
  1111. openqarp-0.1.0/examples/algorithms/composite/mwe_vqe.ipynb +100 -0
  1112. openqarp-0.1.0/examples/algorithms/primitives/mwe_basis_rotation_averaging.ipynb +327 -0
  1113. openqarp-0.1.0/examples/algorithms/primitives/mwe_circuit_cutting.ipynb +218 -0
  1114. openqarp-0.1.0/examples/algorithms/primitives/mwe_classical_shadows.ipynb +253 -0
  1115. openqarp-0.1.0/examples/algorithms/primitives/mwe_primitive_algorithms.ipynb +466 -0
  1116. openqarp-0.1.0/examples/blocks/mwe_blocks.ipynb +1035 -0
  1117. openqarp-0.1.0/examples/blocks/mwe_projected_symmetry_states.ipynb +231 -0
  1118. openqarp-0.1.0/examples/blocks/mwe_qdrift.ipynb +266 -0
  1119. openqarp-0.1.0/examples/blocks/mwe_qsvt.ipynb +88 -0
  1120. openqarp-0.1.0/examples/blocks/mwe_state_preparation.ipynb +454 -0
  1121. openqarp-0.1.0/examples/blocks/mwe_trotter.ipynb +253 -0
  1122. openqarp-0.1.0/examples/devices/mwe_circuit_compilation.ipynb +375 -0
  1123. openqarp-0.1.0/examples/devices/mwe_devices.ipynb +129 -0
  1124. openqarp-0.1.0/examples/emit_absorb/mwe_emitters_absorbers.ipynb +518 -0
  1125. openqarp-0.1.0/examples/engines/mwe_engines.ipynb +269 -0
  1126. openqarp-0.1.0/examples/engines/mwe_gate_fusion.ipynb +120 -0
  1127. openqarp-0.1.0/examples/engines/mwe_gradients.ipynb +464 -0
  1128. openqarp-0.1.0/examples/engines/mwe_initial_state_injection.ipynb +132 -0
  1129. openqarp-0.1.0/examples/factories/mwe_factories.ipynb +71 -0
  1130. openqarp-0.1.0/examples/graphs/mwe_graphs.ipynb +290 -0
  1131. openqarp-0.1.0/examples/graphs/mwe_simplicial_complex.ipynb +291 -0
  1132. openqarp-0.1.0/examples/operators/mwe_grouping_strategy.ipynb +288 -0
  1133. openqarp-0.1.0/examples/operators/mwe_operators.ipynb +332 -0
  1134. openqarp-0.1.0/examples/operators/mwe_orbital_rotation.ipynb +249 -0
  1135. openqarp-0.1.0/examples/optimizers/mwe_optimizers.ipynb +329 -0
  1136. openqarp-0.1.0/examples/optimizers/mwe_parameter_optimization.ipynb +217 -0
  1137. openqarp-0.1.0/examples/plotting/mwe_plot.ipynb +228 -0
  1138. openqarp-0.1.0/examples/postselection/mwe_postselection.ipynb +213 -0
  1139. openqarp-0.1.0/examples/resources/mwe_counting.ipynb +653 -0
  1140. openqarp-0.1.0/examples/resources/mwe_resource_estimation.ipynb +242 -0
  1141. openqarp-0.1.0/examples/tutorial_00_hello_qarp.ipynb +198 -0
  1142. openqarp-0.1.0/examples/tutorial_01_blocks.ipynb +275 -0
  1143. openqarp-0.1.0/examples/tutorial_02_primitives.ipynb +210 -0
  1144. openqarp-0.1.0/examples/tutorial_03_engines.ipynb +184 -0
  1145. openqarp-0.1.0/examples/tutorial_04_variational_loop.ipynb +243 -0
  1146. openqarp-0.1.0/examples/tutorial_05_algorithm_tour.ipynb +150 -0
  1147. openqarp-0.1.0/examples/use_cases/biology_dna_search.ipynb +428 -0
  1148. openqarp-0.1.0/examples/use_cases/chemistry_ethylene_torsion.ipynb +540 -0
  1149. openqarp-0.1.0/examples/use_cases/finance_portfolio_diversification.ipynb +619 -0
  1150. openqarp-0.1.0/examples/use_cases/vision_image_classification.ipynb +358 -0
  1151. openqarp-0.1.0/mypy.ini +57 -0
  1152. openqarp-0.1.0/pyproject.toml +387 -0
  1153. openqarp-0.1.0/pytest.ini +13 -0
  1154. openqarp-0.1.0/qarp/__init__.py +66 -0
  1155. openqarp-0.1.0/qarp/_abi.py +47 -0
  1156. openqarp-0.1.0/qarp/_config.py +52 -0
  1157. openqarp-0.1.0/qarp/_lazy.py +55 -0
  1158. openqarp-0.1.0/qarp/_mpi_config.py +64 -0
  1159. openqarp-0.1.0/qarp/_postselection.py +242 -0
  1160. openqarp-0.1.0/qarp/_types.py +89 -0
  1161. openqarp-0.1.0/qarp/absorb/__init__.py +86 -0
  1162. openqarp-0.1.0/qarp/absorb/_qasm2_absorber.py +36 -0
  1163. openqarp-0.1.0/qarp/absorb/_qasm3_absorber.py +32 -0
  1164. openqarp-0.1.0/qarp/absorb/_reconstruct.py +28 -0
  1165. openqarp-0.1.0/qarp/algorithms/__init__.py +141 -0
  1166. openqarp-0.1.0/qarp/algorithms/_composite/__init__.py +25 -0
  1167. openqarp-0.1.0/qarp/algorithms/_composite/_params.py +43 -0
  1168. openqarp-0.1.0/qarp/algorithms/_composite/adapt_vqd.py +365 -0
  1169. openqarp-0.1.0/qarp/algorithms/_composite/adapt_vqe.py +289 -0
  1170. openqarp-0.1.0/qarp/algorithms/_composite/amplitude_amplification.py +140 -0
  1171. openqarp-0.1.0/qarp/algorithms/_composite/amplitude_estimation.py +110 -0
  1172. openqarp-0.1.0/qarp/algorithms/_composite/composite_algorithm.py +207 -0
  1173. openqarp-0.1.0/qarp/algorithms/_composite/dos_qpe.py +250 -0
  1174. openqarp-0.1.0/qarp/algorithms/_composite/grover.py +135 -0
  1175. openqarp-0.1.0/qarp/algorithms/_composite/mmqcels.py +625 -0
  1176. openqarp-0.1.0/qarp/algorithms/_composite/montecarlo.py +1219 -0
  1177. openqarp-0.1.0/qarp/algorithms/_composite/pce.py +1014 -0
  1178. openqarp-0.1.0/qarp/algorithms/_composite/projected_vqe.py +380 -0
  1179. openqarp-0.1.0/qarp/algorithms/_composite/qaoa.py +96 -0
  1180. openqarp-0.1.0/qarp/algorithms/_composite/qite.py +258 -0
  1181. openqarp-0.1.0/qarp/algorithms/_composite/qmegs.py +649 -0
  1182. openqarp-0.1.0/qarp/algorithms/_composite/qpe.py +219 -0
  1183. openqarp-0.1.0/qarp/algorithms/_composite/qse.py +321 -0
  1184. openqarp-0.1.0/qarp/algorithms/_composite/shor.py +386 -0
  1185. openqarp-0.1.0/qarp/algorithms/_composite/ssvqe.py +204 -0
  1186. openqarp-0.1.0/qarp/algorithms/_composite/vff.py +175 -0
  1187. openqarp-0.1.0/qarp/algorithms/_composite/vqa.py +205 -0
  1188. openqarp-0.1.0/qarp/algorithms/_composite/vqd.py +320 -0
  1189. openqarp-0.1.0/qarp/algorithms/_composite/vqe.py +64 -0
  1190. openqarp-0.1.0/qarp/algorithms/_primitives/__init__.py +49 -0
  1191. openqarp-0.1.0/qarp/algorithms/_primitives/basis_rotation_averaging.py +186 -0
  1192. openqarp-0.1.0/qarp/algorithms/_primitives/cutting_primitive.py +199 -0
  1193. openqarp-0.1.0/qarp/algorithms/_primitives/grouped_transition_hadamard_test.py +254 -0
  1194. openqarp-0.1.0/qarp/algorithms/_primitives/hadamard_test.py +160 -0
  1195. openqarp-0.1.0/qarp/algorithms/_primitives/interferometric_test.py +157 -0
  1196. openqarp-0.1.0/qarp/algorithms/_primitives/mirror_test.py +119 -0
  1197. openqarp-0.1.0/qarp/algorithms/_primitives/pauli_averaging.py +228 -0
  1198. openqarp-0.1.0/qarp/algorithms/_primitives/primitive_algorithm.py +212 -0
  1199. openqarp-0.1.0/qarp/algorithms/_primitives/sampler.py +95 -0
  1200. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/__init__.py +22 -0
  1201. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/_estimators.py +109 -0
  1202. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/base.py +166 -0
  1203. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/dataset.py +188 -0
  1204. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/estimator.py +184 -0
  1205. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/kernels.py +84 -0
  1206. openqarp-0.1.0/qarp/algorithms/_primitives/shadows/pauli.py +69 -0
  1207. openqarp-0.1.0/qarp/algorithms/_primitives/state_vector.py +414 -0
  1208. openqarp-0.1.0/qarp/algorithms/_primitives/swap_test.py +93 -0
  1209. openqarp-0.1.0/qarp/algorithms/_primitives/target.py +24 -0
  1210. openqarp-0.1.0/qarp/algorithms/_primitives/termwise_hadamard_test.py +189 -0
  1211. openqarp-0.1.0/qarp/algorithms/_primitives/termwise_swap_test.py +118 -0
  1212. openqarp-0.1.0/qarp/algorithms/_spectral_estimation.py +1586 -0
  1213. openqarp-0.1.0/qarp/algorithms/_utils.py +276 -0
  1214. openqarp-0.1.0/qarp/blocks/__init__.py +193 -0
  1215. openqarp-0.1.0/qarp/blocks/_block.py +1549 -0
  1216. openqarp-0.1.0/qarp/blocks/_composite_block.py +98 -0
  1217. openqarp-0.1.0/qarp/blocks/_prepares_known_state.py +219 -0
  1218. openqarp-0.1.0/qarp/blocks/_primitives/__init__.py +63 -0
  1219. openqarp-0.1.0/qarp/blocks/_primitives/a_gate_block.py +48 -0
  1220. openqarp-0.1.0/qarp/blocks/_primitives/amplitude_amplification_block.py +135 -0
  1221. openqarp-0.1.0/qarp/blocks/_primitives/amplitude_estimation_block.py +77 -0
  1222. openqarp-0.1.0/qarp/blocks/_primitives/block_encoding_block.py +220 -0
  1223. openqarp-0.1.0/qarp/blocks/_primitives/brickwork_entangling_block.py +56 -0
  1224. openqarp-0.1.0/qarp/blocks/_primitives/brickwork_pce_block.py +83 -0
  1225. openqarp-0.1.0/qarp/blocks/_primitives/cost_operator_block.py +62 -0
  1226. openqarp-0.1.0/qarp/blocks/_primitives/dos_qpe_block.py +113 -0
  1227. openqarp-0.1.0/qarp/blocks/_primitives/givens_block.py +58 -0
  1228. openqarp-0.1.0/qarp/blocks/_primitives/grover_block.py +95 -0
  1229. openqarp-0.1.0/qarp/blocks/_primitives/haar_random_block.py +248 -0
  1230. openqarp-0.1.0/qarp/blocks/_primitives/hadamard_test_block.py +257 -0
  1231. openqarp-0.1.0/qarp/blocks/_primitives/hea_block.py +85 -0
  1232. openqarp-0.1.0/qarp/blocks/_primitives/hn_block.py +24 -0
  1233. openqarp-0.1.0/qarp/blocks/_primitives/identity_block.py +26 -0
  1234. openqarp-0.1.0/qarp/blocks/_primitives/interferometric_state_block.py +154 -0
  1235. openqarp-0.1.0/qarp/blocks/_primitives/layer_block.py +237 -0
  1236. openqarp-0.1.0/qarp/blocks/_primitives/linear_entangling_block.py +47 -0
  1237. openqarp-0.1.0/qarp/blocks/_primitives/mixed_operator_block.py +36 -0
  1238. openqarp-0.1.0/qarp/blocks/_primitives/modular_multiplication_block.py +128 -0
  1239. openqarp-0.1.0/qarp/blocks/_primitives/orbital_rotation_block.py +139 -0
  1240. openqarp-0.1.0/qarp/blocks/_primitives/order_finding_block.py +133 -0
  1241. openqarp-0.1.0/qarp/blocks/_primitives/pauli_block.py +183 -0
  1242. openqarp-0.1.0/qarp/blocks/_primitives/phase_shift_block.py +29 -0
  1243. openqarp-0.1.0/qarp/blocks/_primitives/projected_control_phase_block.py +54 -0
  1244. openqarp-0.1.0/qarp/blocks/_primitives/projector_blocks.py +541 -0
  1245. openqarp-0.1.0/qarp/blocks/_primitives/qaoa_block.py +69 -0
  1246. openqarp-0.1.0/qarp/blocks/_primitives/qft_block.py +41 -0
  1247. openqarp-0.1.0/qarp/blocks/_primitives/qpe_block.py +91 -0
  1248. openqarp-0.1.0/qarp/blocks/_primitives/qrom_block.py +99 -0
  1249. openqarp-0.1.0/qarp/blocks/_primitives/qsp_block.py +107 -0
  1250. openqarp-0.1.0/qarp/blocks/_primitives/qsvt_block.py +146 -0
  1251. openqarp-0.1.0/qarp/blocks/_primitives/qubitization_block.py +73 -0
  1252. openqarp-0.1.0/qarp/blocks/_primitives/readout_block.py +80 -0
  1253. openqarp-0.1.0/qarp/blocks/_primitives/reflection_block.py +39 -0
  1254. openqarp-0.1.0/qarp/blocks/_primitives/rsp_block.py +42 -0
  1255. openqarp-0.1.0/qarp/blocks/_primitives/select_block.py +262 -0
  1256. openqarp-0.1.0/qarp/blocks/_primitives/spa_block.py +81 -0
  1257. openqarp-0.1.0/qarp/blocks/_primitives/swap_test_block.py +109 -0
  1258. openqarp-0.1.0/qarp/blocks/_primitives/synthesized_time_evolution_block.py +74 -0
  1259. openqarp-0.1.0/qarp/blocks/_primitives/synthesized_unitary_block.py +61 -0
  1260. openqarp-0.1.0/qarp/blocks/_primitives/trotter_block.py +619 -0
  1261. openqarp-0.1.0/qarp/blocks/_primitives/ucc_block.py +137 -0
  1262. openqarp-0.1.0/qarp/blocks/_primitives/upccd_block.py +100 -0
  1263. openqarp-0.1.0/qarp/blocks/_primitives/vumpo_brickwork_block.py +90 -0
  1264. openqarp-0.1.0/qarp/blocks/_primitives/xn_block.py +24 -0
  1265. openqarp-0.1.0/qarp/blocks/_state_preparation/__init__.py +20 -0
  1266. openqarp-0.1.0/qarp/blocks/_state_preparation/_linalg.py +23 -0
  1267. openqarp-0.1.0/qarp/blocks/_state_preparation/_multi_controlled.py +113 -0
  1268. openqarp-0.1.0/qarp/blocks/_state_preparation/computational_basis_state_block.py +47 -0
  1269. openqarp-0.1.0/qarp/blocks/_state_preparation/csf_state_block.py +225 -0
  1270. openqarp-0.1.0/qarp/blocks/_state_preparation/cv_qram_state_block.py +129 -0
  1271. openqarp-0.1.0/qarp/blocks/_state_preparation/cvo_qram_state_block.py +114 -0
  1272. openqarp-0.1.0/qarp/blocks/_state_preparation/dicke_state_block.py +129 -0
  1273. openqarp-0.1.0/qarp/blocks/_state_preparation/ghz_like_state_block.py +78 -0
  1274. openqarp-0.1.0/qarp/blocks/_state_preparation/hypergraph_state_block.py +113 -0
  1275. openqarp-0.1.0/qarp/blocks/_state_preparation/low_rank_state_block.py +160 -0
  1276. openqarp-0.1.0/qarp/blocks/_state_preparation/mapped_onv_state_block.py +54 -0
  1277. openqarp-0.1.0/qarp/blocks/_state_preparation/mps_state_block.py +172 -0
  1278. openqarp-0.1.0/qarp/blocks/_state_preparation/multi_onv_state_block.py +97 -0
  1279. openqarp-0.1.0/qarp/blocks/_state_preparation/piecewise_linear_state_block.py +192 -0
  1280. openqarp-0.1.0/qarp/blocks/_state_preparation/slater_determinant_block.py +187 -0
  1281. openqarp-0.1.0/qarp/blocks/_state_preparation/sparse_state_block.py +130 -0
  1282. openqarp-0.1.0/qarp/blocks/_state_preparation/synthesized_state_block.py +88 -0
  1283. openqarp-0.1.0/qarp/blocks/_state_preparation/uniform_superposition_block.py +89 -0
  1284. openqarp-0.1.0/qarp/cutting/__init__.py +37 -0
  1285. openqarp-0.1.0/qarp/cutting/_auto_cut_finder.py +137 -0
  1286. openqarp-0.1.0/qarp/cutting/_decompositions.py +158 -0
  1287. openqarp-0.1.0/qarp/cutting/_ea_partitioning.py +225 -0
  1288. openqarp-0.1.0/qarp/cutting/_internals.py +95 -0
  1289. openqarp-0.1.0/qarp/cutting/_post_processing.py +90 -0
  1290. openqarp-0.1.0/qarp/cutting/_qpd_decomposition.py +764 -0
  1291. openqarp-0.1.0/qarp/cutting/_reconstructer.py +171 -0
  1292. openqarp-0.1.0/qarp/devices/__init__.py +46 -0
  1293. openqarp-0.1.0/qarp/devices/_architecture.py +29 -0
  1294. openqarp-0.1.0/qarp/devices/_device.py +16 -0
  1295. openqarp-0.1.0/qarp/devices/_noise_model.py +152 -0
  1296. openqarp-0.1.0/qarp/devices/_utils.py +18 -0
  1297. openqarp-0.1.0/qarp/emit/__init__.py +37 -0
  1298. openqarp-0.1.0/qarp/endianness.py +97 -0
  1299. openqarp-0.1.0/qarp/engines/__init__.py +13 -0
  1300. openqarp-0.1.0/qarp/engines/_cudaq_engine.py +331 -0
  1301. openqarp-0.1.0/qarp/engines/_engine.py +691 -0
  1302. openqarp-0.1.0/qarp/engines/_gradients.py +546 -0
  1303. openqarp-0.1.0/qarp/engines/_qarp_engine.py +484 -0
  1304. openqarp-0.1.0/qarp/engines/_runnable.py +45 -0
  1305. openqarp-0.1.0/qarp/errors.py +23 -0
  1306. openqarp-0.1.0/qarp/factories/__init__.py +9 -0
  1307. openqarp-0.1.0/qarp/factories/_block_factory.py +17 -0
  1308. openqarp-0.1.0/qarp/factories/_pauli_block_factory.py +233 -0
  1309. openqarp-0.1.0/qarp/graphs/__init__.py +41 -0
  1310. openqarp-0.1.0/qarp/graphs/_graph.py +252 -0
  1311. openqarp-0.1.0/qarp/graphs/_hypergraph.py +79 -0
  1312. openqarp-0.1.0/qarp/graphs/_simplicial_complex.py +362 -0
  1313. openqarp-0.1.0/qarp/graphs/_utils.py +166 -0
  1314. openqarp-0.1.0/qarp/operators/__init__.py +81 -0
  1315. openqarp-0.1.0/qarp/operators/_basis_rotation_grouping.py +257 -0
  1316. openqarp-0.1.0/qarp/operators/_fermion_operator.py +37 -0
  1317. openqarp-0.1.0/qarp/operators/_grouping.py +224 -0
  1318. openqarp-0.1.0/qarp/operators/_linear_combination_unitaries.py +354 -0
  1319. openqarp-0.1.0/qarp/operators/_mappings.py +189 -0
  1320. openqarp-0.1.0/qarp/operators/_qdrift.py +195 -0
  1321. openqarp-0.1.0/qarp/operators/_qubit_operator.py +48 -0
  1322. openqarp-0.1.0/qarp/operators/_tensor_operators.py +176 -0
  1323. openqarp-0.1.0/qarp/operators/_vumpo.py +1070 -0
  1324. openqarp-0.1.0/qarp/operators/_vumpo_network.py +418 -0
  1325. openqarp-0.1.0/qarp/operators/compat.py +73 -0
  1326. openqarp-0.1.0/qarp/operators/functions.py +58 -0
  1327. openqarp-0.1.0/qarp/operators/integrals.py +330 -0
  1328. openqarp-0.1.0/qarp/operators/models.py +205 -0
  1329. openqarp-0.1.0/qarp/operators/onv.py +119 -0
  1330. openqarp-0.1.0/qarp/operators/pyscf.py +164 -0
  1331. openqarp-0.1.0/qarp/operators/ucc.py +317 -0
  1332. openqarp-0.1.0/qarp/optimizers/__init__.py +38 -0
  1333. openqarp-0.1.0/qarp/optimizers/_gradient_descent_optimizer.py +895 -0
  1334. openqarp-0.1.0/qarp/optimizers/_optimizer.py +29 -0
  1335. openqarp-0.1.0/qarp/optimizers/_rotosolve_optimizer.py +225 -0
  1336. openqarp-0.1.0/qarp/optimizers/_scipy_optimizer.py +72 -0
  1337. openqarp-0.1.0/qarp/plotting/__init__.py +22 -0
  1338. openqarp-0.1.0/qarp/plotting/_circuit_adapter.py +366 -0
  1339. openqarp-0.1.0/qarp/plotting/_circuit_plotter.py +513 -0
  1340. openqarp-0.1.0/qarp/plotting/_config.py +70 -0
  1341. openqarp-0.1.0/qarp/plotting/_interactive.py +118 -0
  1342. openqarp-0.1.0/qarp/plotting/_plot.py +160 -0
  1343. openqarp-0.1.0/qarp/plotting/_plot_histogram.py +112 -0
  1344. openqarp-0.1.0/qarp/plotting/_processors/__init__.py +10 -0
  1345. openqarp-0.1.0/qarp/plotting/_processors/circuit_processor.py +102 -0
  1346. openqarp-0.1.0/qarp/plotting/_processors/positioning.py +51 -0
  1347. openqarp-0.1.0/qarp/plotting/_renderers/__init__.py +22 -0
  1348. openqarp-0.1.0/qarp/plotting/_renderers/base.py +103 -0
  1349. openqarp-0.1.0/qarp/plotting/_renderers/boxed.py +99 -0
  1350. openqarp-0.1.0/qarp/plotting/_renderers/controlled.py +83 -0
  1351. openqarp-0.1.0/qarp/plotting/_renderers/controlled_block.py +115 -0
  1352. openqarp-0.1.0/qarp/plotting/_renderers/factory.py +72 -0
  1353. openqarp-0.1.0/qarp/plotting/_renderers/global_phase.py +26 -0
  1354. openqarp-0.1.0/qarp/plotting/_renderers/label_manager.py +333 -0
  1355. openqarp-0.1.0/qarp/plotting/_renderers/multi.py +55 -0
  1356. openqarp-0.1.0/qarp/plotting/_renderers/single.py +54 -0
  1357. openqarp-0.1.0/qarp/plotting/styles/__init__.py +35 -0
  1358. openqarp-0.1.0/qarp/plotting/styles/_colors.py +205 -0
  1359. openqarp-0.1.0/qarp/plotting/styles/_theme.py +119 -0
  1360. openqarp-0.1.0/qarp/plotting/styles/fonts/OFL.txt +93 -0
  1361. openqarp-0.1.0/qarp/plotting/styles/fonts/SplineSansMono-Medium.ttf +0 -0
  1362. openqarp-0.1.0/qarp/plotting/styles/fonts/SplineSansMono-Regular.ttf +0 -0
  1363. openqarp-0.1.0/qarp/plotting/styles/fonts/SplineSansMono-SemiBold.ttf +0 -0
  1364. openqarp-0.1.0/qarp/resources/__init__.py +31 -0
  1365. openqarp-0.1.0/qarp/resources/_counting.py +110 -0
  1366. openqarp-0.1.0/qarp/resources/_estimator.py +231 -0
  1367. openqarp-0.1.0/qarp/resources/_modelers.py +30 -0
  1368. openqarp-0.1.0/qarp/resources/_synthesis.py +147 -0
  1369. openqarp-0.1.0/qarp/resources/_vector.py +114 -0
  1370. openqarp-0.1.0/qarp/utils/__init__.py +12 -0
  1371. openqarp-0.1.0/qarp/utils/_random_instances.py +99 -0
  1372. openqarp-0.1.0/qarp/utils/_toy_models.py +66 -0
  1373. openqarp-0.1.0/scripts/__init__.py +0 -0
  1374. openqarp-0.1.0/scripts/bootstrap_qarpx.py +349 -0
  1375. openqarp-0.1.0/scripts/bootstrap_qarpx_cudaq.py +321 -0
  1376. openqarp-0.1.0/scripts/ci/__init__.py +0 -0
  1377. openqarp-0.1.0/scripts/ci/check_api_inventory.py +82 -0
  1378. openqarp-0.1.0/scripts/ci/check_docs_code.py +376 -0
  1379. openqarp-0.1.0/scripts/ci/synthesis_smoke.py +52 -0
  1380. openqarp-0.1.0/scripts/run_cpp_tests.py +188 -0
  1381. openqarp-0.1.0/tests/__init__.py +0 -0
  1382. openqarp-0.1.0/tests/assets/molecules/generate.py +48 -0
  1383. openqarp-0.1.0/tests/assets/molecules/h2_0.635_sto3g.npz +0 -0
  1384. openqarp-0.1.0/tests/assets/molecules/h2_0.735_sto3g.npz +0 -0
  1385. openqarp-0.1.0/tests/assets/molecules/h2_3.000_sto3g.npz +0 -0
  1386. openqarp-0.1.0/tests/assets/molecules/h4_1.000_sto3g.npz +0 -0
  1387. openqarp-0.1.0/tests/assets/molecules/lih_1.30_sto3g.npz +0 -0
  1388. openqarp-0.1.0/tests/assets/molecules/lih_1.59_sto3g.npz +0 -0
  1389. openqarp-0.1.0/tests/conftest.py +226 -0
  1390. openqarp-0.1.0/tests/leakdiag.py +137 -0
  1391. openqarp-0.1.0/tests/molecular_assets.py +69 -0
  1392. openqarp-0.1.0/tests/operator_test_utils.py +89 -0
  1393. openqarp-0.1.0/tests/pccd_reference_energies.py +33 -0
  1394. openqarp-0.1.0/tests/pyscf_recipes.py +35 -0
  1395. openqarp-0.1.0/tests/strategies.py +580 -0
  1396. openqarp-0.1.0/tests/test_abi_stamp.py +92 -0
  1397. openqarp-0.1.0/tests/test_absorb/__init__.py +0 -0
  1398. openqarp-0.1.0/tests/test_absorb/conftest.py +32 -0
  1399. openqarp-0.1.0/tests/test_absorb/test_pennylane_absorber.py +207 -0
  1400. openqarp-0.1.0/tests/test_absorb/test_pytket_absorber.py +358 -0
  1401. openqarp-0.1.0/tests/test_absorb/test_qasm2_absorber.py +370 -0
  1402. openqarp-0.1.0/tests/test_absorb/test_qasm3_absorber.py +281 -0
  1403. openqarp-0.1.0/tests/test_absorb/test_qiskit_absorber.py +378 -0
  1404. openqarp-0.1.0/tests/test_absorb/test_qulacs_absorber.py +315 -0
  1405. openqarp-0.1.0/tests/test_absorb/test_wrong_sdk_object.py +69 -0
  1406. openqarp-0.1.0/tests/test_algorithms/__init__.py +0 -0
  1407. openqarp-0.1.0/tests/test_algorithms/test_composite/__init__.py +0 -0
  1408. openqarp-0.1.0/tests/test_algorithms/test_composite/test_adapt_unit.py +330 -0
  1409. openqarp-0.1.0/tests/test_algorithms/test_composite/test_adapt_vqd.py +145 -0
  1410. openqarp-0.1.0/tests/test_algorithms/test_composite/test_adapt_vqe.py +268 -0
  1411. openqarp-0.1.0/tests/test_algorithms/test_composite/test_amplitude_amplification.py +282 -0
  1412. openqarp-0.1.0/tests/test_algorithms/test_composite/test_amplitude_estimation.py +241 -0
  1413. openqarp-0.1.0/tests/test_algorithms/test_composite/test_amplitude_gate.py +196 -0
  1414. openqarp-0.1.0/tests/test_algorithms/test_composite/test_composite_algorithm.py +289 -0
  1415. openqarp-0.1.0/tests/test_algorithms/test_composite/test_dos_qpe.py +220 -0
  1416. openqarp-0.1.0/tests/test_algorithms/test_composite/test_grover.py +172 -0
  1417. openqarp-0.1.0/tests/test_algorithms/test_composite/test_mmqcels.py +664 -0
  1418. openqarp-0.1.0/tests/test_algorithms/test_composite/test_montecarlo.py +508 -0
  1419. openqarp-0.1.0/tests/test_algorithms/test_composite/test_montecarlo_unit.py +369 -0
  1420. openqarp-0.1.0/tests/test_algorithms/test_composite/test_params.py +46 -0
  1421. openqarp-0.1.0/tests/test_algorithms/test_composite/test_pce.py +756 -0
  1422. openqarp-0.1.0/tests/test_algorithms/test_composite/test_primitive_isolation.py +43 -0
  1423. openqarp-0.1.0/tests/test_algorithms/test_composite/test_projected_vqe.py +193 -0
  1424. openqarp-0.1.0/tests/test_algorithms/test_composite/test_qaoa.py +224 -0
  1425. openqarp-0.1.0/tests/test_algorithms/test_composite/test_qite.py +366 -0
  1426. openqarp-0.1.0/tests/test_algorithms/test_composite/test_qmegs.py +760 -0
  1427. openqarp-0.1.0/tests/test_algorithms/test_composite/test_qpe.py +348 -0
  1428. openqarp-0.1.0/tests/test_algorithms/test_composite/test_qse.py +234 -0
  1429. openqarp-0.1.0/tests/test_algorithms/test_composite/test_shor.py +301 -0
  1430. openqarp-0.1.0/tests/test_algorithms/test_composite/test_ssvqe.py +169 -0
  1431. openqarp-0.1.0/tests/test_algorithms/test_composite/test_ssvqe_analytic.py +128 -0
  1432. openqarp-0.1.0/tests/test_algorithms/test_composite/test_vff.py +183 -0
  1433. openqarp-0.1.0/tests/test_algorithms/test_composite/test_vqa.py +172 -0
  1434. openqarp-0.1.0/tests/test_algorithms/test_composite/test_vqd.py +122 -0
  1435. openqarp-0.1.0/tests/test_algorithms/test_composite/test_vqd_analytic.py +393 -0
  1436. openqarp-0.1.0/tests/test_algorithms/test_composite/test_vqe.py +287 -0
  1437. openqarp-0.1.0/tests/test_algorithms/test_primitives/__init__.py +0 -0
  1438. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_basis_rotation_averaging.py +193 -0
  1439. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_cutting_primitive.py +291 -0
  1440. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_grouped_transition_hadamard_test.py +146 -0
  1441. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_hadamard_test.py +261 -0
  1442. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_interferometric_test.py +199 -0
  1443. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_mirror_test.py +201 -0
  1444. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_pauli_averaging.py +434 -0
  1445. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_primitive_algorithm.py +148 -0
  1446. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_sampler.py +122 -0
  1447. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/__init__.py +0 -0
  1448. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/test_base.py +229 -0
  1449. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/test_dataset.py +109 -0
  1450. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/test_estimators.py +179 -0
  1451. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/test_integration.py +50 -0
  1452. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_shadows/test_pauli.py +223 -0
  1453. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_state_vector.py +470 -0
  1454. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_swap_test.py +192 -0
  1455. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_termwise_hadamard_test.py +387 -0
  1456. openqarp-0.1.0/tests/test_algorithms/test_primitives/test_termwise_swap_test.py +246 -0
  1457. openqarp-0.1.0/tests/test_algorithms/test_spectral_estimation.py +901 -0
  1458. openqarp-0.1.0/tests/test_algorithms/test_utils.py +242 -0
  1459. openqarp-0.1.0/tests/test_benchmarks/__init__.py +0 -0
  1460. openqarp-0.1.0/tests/test_benchmarks/test_tune.py +44 -0
  1461. openqarp-0.1.0/tests/test_blocks/__init__.py +0 -0
  1462. openqarp-0.1.0/tests/test_blocks/_block_test_helpers.py +53 -0
  1463. openqarp-0.1.0/tests/test_blocks/test_block.py +793 -0
  1464. openqarp-0.1.0/tests/test_blocks/test_block_arithmetic.py +146 -0
  1465. openqarp-0.1.0/tests/test_blocks/test_block_equality.py +75 -0
  1466. openqarp-0.1.0/tests/test_blocks/test_block_refactor.py +381 -0
  1467. openqarp-0.1.0/tests/test_blocks/test_block_residuals.py +282 -0
  1468. openqarp-0.1.0/tests/test_blocks/test_bridge_cleanup.py +90 -0
  1469. openqarp-0.1.0/tests/test_blocks/test_cbit_register_width.py +283 -0
  1470. openqarp-0.1.0/tests/test_blocks/test_composite_add_child.py +55 -0
  1471. openqarp-0.1.0/tests/test_blocks/test_composite_block.py +145 -0
  1472. openqarp-0.1.0/tests/test_blocks/test_custom_rebase.py +165 -0
  1473. openqarp-0.1.0/tests/test_blocks/test_gateset_expansion.py +130 -0
  1474. openqarp-0.1.0/tests/test_blocks/test_initial_state_injection.py +208 -0
  1475. openqarp-0.1.0/tests/test_blocks/test_interop_methods.py +61 -0
  1476. openqarp-0.1.0/tests/test_blocks/test_mcm_execution.py +283 -0
  1477. openqarp-0.1.0/tests/test_blocks/test_pauli_exp_builder.py +269 -0
  1478. openqarp-0.1.0/tests/test_blocks/test_pending_ops_through_containers.py +190 -0
  1479. openqarp-0.1.0/tests/test_blocks/test_primitives/__init__.py +0 -0
  1480. openqarp-0.1.0/tests/test_blocks/test_primitives/test_a_gate_block.py +69 -0
  1481. openqarp-0.1.0/tests/test_blocks/test_primitives/test_amplitude_amplification_block.py +320 -0
  1482. openqarp-0.1.0/tests/test_blocks/test_primitives/test_amplitude_estimation_block.py +200 -0
  1483. openqarp-0.1.0/tests/test_blocks/test_primitives/test_block_encoding_block.py +324 -0
  1484. openqarp-0.1.0/tests/test_blocks/test_primitives/test_block_phase_under_control.py +145 -0
  1485. openqarp-0.1.0/tests/test_blocks/test_primitives/test_brickwork_entangling_block.py +131 -0
  1486. openqarp-0.1.0/tests/test_blocks/test_primitives/test_brickwork_pce_block.py +166 -0
  1487. openqarp-0.1.0/tests/test_blocks/test_primitives/test_cost_operator_block.py +76 -0
  1488. openqarp-0.1.0/tests/test_blocks/test_primitives/test_dos_qpe_block.py +158 -0
  1489. openqarp-0.1.0/tests/test_blocks/test_primitives/test_givens_block.py +53 -0
  1490. openqarp-0.1.0/tests/test_blocks/test_primitives/test_grover_block.py +182 -0
  1491. openqarp-0.1.0/tests/test_blocks/test_primitives/test_haar_random_block.py +463 -0
  1492. openqarp-0.1.0/tests/test_blocks/test_primitives/test_hadamard_test_block.py +275 -0
  1493. openqarp-0.1.0/tests/test_blocks/test_primitives/test_hea_block.py +186 -0
  1494. openqarp-0.1.0/tests/test_blocks/test_primitives/test_hn_block.py +31 -0
  1495. openqarp-0.1.0/tests/test_blocks/test_primitives/test_identity_block.py +24 -0
  1496. openqarp-0.1.0/tests/test_blocks/test_primitives/test_layer_block.py +201 -0
  1497. openqarp-0.1.0/tests/test_blocks/test_primitives/test_linear_entangling_block.py +45 -0
  1498. openqarp-0.1.0/tests/test_blocks/test_primitives/test_mixed_operator_block.py +32 -0
  1499. openqarp-0.1.0/tests/test_blocks/test_primitives/test_modular_multiplication_block.py +144 -0
  1500. openqarp-0.1.0/tests/test_blocks/test_primitives/test_orbital_rotation_block.py +227 -0
  1501. openqarp-0.1.0/tests/test_blocks/test_primitives/test_order_finding_block.py +149 -0
  1502. openqarp-0.1.0/tests/test_blocks/test_primitives/test_param_units.py +70 -0
  1503. openqarp-0.1.0/tests/test_blocks/test_primitives/test_pauli_block.py +323 -0
  1504. openqarp-0.1.0/tests/test_blocks/test_primitives/test_phase_shift_block.py +19 -0
  1505. openqarp-0.1.0/tests/test_blocks/test_primitives/test_projected_control_phase_block.py +81 -0
  1506. openqarp-0.1.0/tests/test_blocks/test_primitives/test_projector_blocks.py +675 -0
  1507. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qaoa_block.py +96 -0
  1508. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qft_block.py +51 -0
  1509. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qpe_block.py +178 -0
  1510. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qrom_block.py +109 -0
  1511. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qsp_block.py +21 -0
  1512. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qsvt_block.py +236 -0
  1513. openqarp-0.1.0/tests/test_blocks/test_primitives/test_qubitization_block.py +199 -0
  1514. openqarp-0.1.0/tests/test_blocks/test_primitives/test_readout_block.py +57 -0
  1515. openqarp-0.1.0/tests/test_blocks/test_primitives/test_reflection_block.py +47 -0
  1516. openqarp-0.1.0/tests/test_blocks/test_primitives/test_rsp_block.py +113 -0
  1517. openqarp-0.1.0/tests/test_blocks/test_primitives/test_select_block.py +386 -0
  1518. openqarp-0.1.0/tests/test_blocks/test_primitives/test_spa_block.py +105 -0
  1519. openqarp-0.1.0/tests/test_blocks/test_primitives/test_swap_test_block.py +188 -0
  1520. openqarp-0.1.0/tests/test_blocks/test_primitives/test_synthesized_blocks.py +265 -0
  1521. openqarp-0.1.0/tests/test_blocks/test_primitives/test_synthesized_time_evolution_block.py +317 -0
  1522. openqarp-0.1.0/tests/test_blocks/test_primitives/test_synthesized_unitary_block.py +170 -0
  1523. openqarp-0.1.0/tests/test_blocks/test_primitives/test_trotter_ansatz.py +640 -0
  1524. openqarp-0.1.0/tests/test_blocks/test_primitives/test_trotter_block.py +983 -0
  1525. openqarp-0.1.0/tests/test_blocks/test_primitives/test_ucc_block.py +464 -0
  1526. openqarp-0.1.0/tests/test_blocks/test_primitives/test_upccd_block.py +212 -0
  1527. openqarp-0.1.0/tests/test_blocks/test_primitives/test_vumpo_brickwork_block.py +256 -0
  1528. openqarp-0.1.0/tests/test_blocks/test_primitives/test_xn_block.py +25 -0
  1529. openqarp-0.1.0/tests/test_blocks/test_set_symbols_rebind.py +67 -0
  1530. openqarp-0.1.0/tests/test_blocks/test_state_preparation/__init__.py +0 -0
  1531. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_computational_basis_state_block.py +40 -0
  1532. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_csf_state_block.py +301 -0
  1533. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_cv_qram_state_block.py +71 -0
  1534. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_cvo_qram_state_block.py +86 -0
  1535. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_dicke_state_block.py +57 -0
  1536. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_ghz_like_state_block.py +303 -0
  1537. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_hypergraph_state_block.py +221 -0
  1538. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_low_rank_state_block.py +121 -0
  1539. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_mapped_onv_state_block.py +8 -0
  1540. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_mps_state_block.py +158 -0
  1541. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_multi_onv_state_block.py +169 -0
  1542. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_piecewise_linear_state_block.py +174 -0
  1543. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_prepares_known_state.py +368 -0
  1544. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_slater_determinant_block.py +153 -0
  1545. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_sparse_state_block.py +107 -0
  1546. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_state_prep_cost.py +211 -0
  1547. openqarp-0.1.0/tests/test_blocks/test_state_preparation/test_uniform_superposition_block.py +95 -0
  1548. openqarp-0.1.0/tests/test_blocks/test_symbols_contract.py +436 -0
  1549. openqarp-0.1.0/tests/test_blocks/test_variadic_builders.py +144 -0
  1550. openqarp-0.1.0/tests/test_conventions_exports.py +235 -0
  1551. openqarp-0.1.0/tests/test_conventions_gates.py +445 -0
  1552. openqarp-0.1.0/tests/test_cutting/__init__.py +0 -0
  1553. openqarp-0.1.0/tests/test_cutting/test_cut_budget.py +54 -0
  1554. openqarp-0.1.0/tests/test_cutting/test_decompositions.py +155 -0
  1555. openqarp-0.1.0/tests/test_cutting/test_ea_partitioning.py +86 -0
  1556. openqarp-0.1.0/tests/test_cutting/test_qpd_decomposition.py +550 -0
  1557. openqarp-0.1.0/tests/test_cutting/test_reconstructer.py +116 -0
  1558. openqarp-0.1.0/tests/test_devices/__init__.py +0 -0
  1559. openqarp-0.1.0/tests/test_devices/test_device.py +674 -0
  1560. openqarp-0.1.0/tests/test_devices/test_noise_model.py +107 -0
  1561. openqarp-0.1.0/tests/test_devices/test_utils.py +19 -0
  1562. openqarp-0.1.0/tests/test_docs/__init__.py +0 -0
  1563. openqarp-0.1.0/tests/test_docs/fixtures/extraction.rst +37 -0
  1564. openqarp-0.1.0/tests/test_docs/fixtures/imports.rst +14 -0
  1565. openqarp-0.1.0/tests/test_docs/fixtures/skip_bare.rst +8 -0
  1566. openqarp-0.1.0/tests/test_docs/fixtures/skip_valid.rst +16 -0
  1567. openqarp-0.1.0/tests/test_docs/fixtures/undefined_name.rst +7 -0
  1568. openqarp-0.1.0/tests/test_docs/test_docs_code_blocks.py +113 -0
  1569. openqarp-0.1.0/tests/test_docs/test_extractor.py +60 -0
  1570. openqarp-0.1.0/tests/test_docs/test_xref_targets.py +48 -0
  1571. openqarp-0.1.0/tests/test_emit/__init__.py +0 -0
  1572. openqarp-0.1.0/tests/test_emit/conftest.py +92 -0
  1573. openqarp-0.1.0/tests/test_emit/test_capability_contract.py +429 -0
  1574. openqarp-0.1.0/tests/test_emit/test_pennylane_emitter.py +335 -0
  1575. openqarp-0.1.0/tests/test_emit/test_pytket_emitter.py +373 -0
  1576. openqarp-0.1.0/tests/test_emit/test_qasm2_external_parse.py +364 -0
  1577. openqarp-0.1.0/tests/test_emit/test_qasm3_external_parse.py +198 -0
  1578. openqarp-0.1.0/tests/test_emit/test_qiskit_emitter.py +468 -0
  1579. openqarp-0.1.0/tests/test_emit/test_qulacs_emitter.py +412 -0
  1580. openqarp-0.1.0/tests/test_endianness.py +101 -0
  1581. openqarp-0.1.0/tests/test_engines/__init__.py +0 -0
  1582. openqarp-0.1.0/tests/test_engines/test_capability_validation.py +267 -0
  1583. openqarp-0.1.0/tests/test_engines/test_cudaq_engine.py +511 -0
  1584. openqarp-0.1.0/tests/test_engines/test_exact_readout.py +407 -0
  1585. openqarp-0.1.0/tests/test_engines/test_expectation_kernel.py +453 -0
  1586. openqarp-0.1.0/tests/test_engines/test_gradient_order.py +165 -0
  1587. openqarp-0.1.0/tests/test_engines/test_gradient_registry.py +391 -0
  1588. openqarp-0.1.0/tests/test_engines/test_gradient_shift_rules.py +432 -0
  1589. openqarp-0.1.0/tests/test_engines/test_initial_state_engine.py +288 -0
  1590. openqarp-0.1.0/tests/test_engines/test_layering.py +38 -0
  1591. openqarp-0.1.0/tests/test_engines/test_qarp_engine.py +89 -0
  1592. openqarp-0.1.0/tests/test_engines/test_seed_decorrelation.py +45 -0
  1593. openqarp-0.1.0/tests/test_engines/test_simulation_fusion.py +318 -0
  1594. openqarp-0.1.0/tests/test_engines/test_threading.py +283 -0
  1595. openqarp-0.1.0/tests/test_factories/__init__.py +0 -0
  1596. openqarp-0.1.0/tests/test_factories/test_pauli_block_factory.py +101 -0
  1597. openqarp-0.1.0/tests/test_functional/__init__.py +0 -0
  1598. openqarp-0.1.0/tests/test_functional/test_excited_states_workflow.py +53 -0
  1599. openqarp-0.1.0/tests/test_functional/test_vqe_workflow.py +66 -0
  1600. openqarp-0.1.0/tests/test_graphs/__init__.py +0 -0
  1601. openqarp-0.1.0/tests/test_graphs/test_graph.py +283 -0
  1602. openqarp-0.1.0/tests/test_graphs/test_hypergraph.py +80 -0
  1603. openqarp-0.1.0/tests/test_graphs/test_simplicial_complex.py +572 -0
  1604. openqarp-0.1.0/tests/test_graphs/test_utils.py +99 -0
  1605. openqarp-0.1.0/tests/test_import_time.py +122 -0
  1606. openqarp-0.1.0/tests/test_integrations/__init__.py +0 -0
  1607. openqarp-0.1.0/tests/test_integrations/test_gradient_jax_recipe.py +93 -0
  1608. openqarp-0.1.0/tests/test_integrations/test_gradient_pennylane_crosscheck.py +70 -0
  1609. openqarp-0.1.0/tests/test_mpi_config.py +50 -0
  1610. openqarp-0.1.0/tests/test_operators/__init__.py +0 -0
  1611. openqarp-0.1.0/tests/test_operators/test_active_space.py +199 -0
  1612. openqarp-0.1.0/tests/test_operators/test_basis_rotation_grouping.py +284 -0
  1613. openqarp-0.1.0/tests/test_operators/test_compat.py +189 -0
  1614. openqarp-0.1.0/tests/test_operators/test_exact_physics.py +264 -0
  1615. openqarp-0.1.0/tests/test_operators/test_exact_physics_molecules.py +193 -0
  1616. openqarp-0.1.0/tests/test_operators/test_fermion_operator.py +197 -0
  1617. openqarp-0.1.0/tests/test_operators/test_functions.py +146 -0
  1618. openqarp-0.1.0/tests/test_operators/test_grouping.py +191 -0
  1619. openqarp-0.1.0/tests/test_operators/test_integrals.py +225 -0
  1620. openqarp-0.1.0/tests/test_operators/test_linear_combination_unitaries.py +243 -0
  1621. openqarp-0.1.0/tests/test_operators/test_mappings.py +538 -0
  1622. openqarp-0.1.0/tests/test_operators/test_mappings_vs_openfermion.py +170 -0
  1623. openqarp-0.1.0/tests/test_operators/test_models.py +290 -0
  1624. openqarp-0.1.0/tests/test_operators/test_molecular_assets.py +52 -0
  1625. openqarp-0.1.0/tests/test_operators/test_onv.py +104 -0
  1626. openqarp-0.1.0/tests/test_operators/test_pyscf_helpers.py +331 -0
  1627. openqarp-0.1.0/tests/test_operators/test_qdrift.py +193 -0
  1628. openqarp-0.1.0/tests/test_operators/test_qubit_operator.py +375 -0
  1629. openqarp-0.1.0/tests/test_operators/test_sparse_matrix.py +213 -0
  1630. openqarp-0.1.0/tests/test_operators/test_symbolic_coefficients.py +172 -0
  1631. openqarp-0.1.0/tests/test_operators/test_tensor_operators.py +256 -0
  1632. openqarp-0.1.0/tests/test_operators/test_ucc.py +261 -0
  1633. openqarp-0.1.0/tests/test_operators/test_vumpo.py +638 -0
  1634. openqarp-0.1.0/tests/test_operators/test_vumpo_network.py +585 -0
  1635. openqarp-0.1.0/tests/test_operators/test_vumpo_paper.py +100 -0
  1636. openqarp-0.1.0/tests/test_operators/test_vumpo_unit.py +223 -0
  1637. openqarp-0.1.0/tests/test_optimizers/__init__.py +0 -0
  1638. openqarp-0.1.0/tests/test_optimizers/test_gradient_descent_optimizer.py +594 -0
  1639. openqarp-0.1.0/tests/test_optimizers/test_rotosolve_optimizer.py +97 -0
  1640. openqarp-0.1.0/tests/test_optimizers/test_scipy_optimizer.py +50 -0
  1641. openqarp-0.1.0/tests/test_pipeline/__init__.py +0 -0
  1642. openqarp-0.1.0/tests/test_pipeline/conftest.py +68 -0
  1643. openqarp-0.1.0/tests/test_pipeline/test_capability_contract.py +123 -0
  1644. openqarp-0.1.0/tests/test_pipeline/test_dense_reference.py +166 -0
  1645. openqarp-0.1.0/tests/test_pipeline/test_emit_absorb_roundtrip.py +66 -0
  1646. openqarp-0.1.0/tests/test_pipeline/test_engine_agreement.py +134 -0
  1647. openqarp-0.1.0/tests/test_pipeline/test_gradient_consistency.py +124 -0
  1648. openqarp-0.1.0/tests/test_pipeline/test_harness.py +33 -0
  1649. openqarp-0.1.0/tests/test_pipeline/test_optimization_preserves_semantics.py +60 -0
  1650. openqarp-0.1.0/tests/test_pipeline/test_optimizer_agreement.py +107 -0
  1651. openqarp-0.1.0/tests/test_pipeline/test_primitive_agreement.py +136 -0
  1652. openqarp-0.1.0/tests/test_pipeline/test_routing_preserves_semantics.py +177 -0
  1653. openqarp-0.1.0/tests/test_pipeline/test_sabre_output_pins.py +96 -0
  1654. openqarp-0.1.0/tests/test_plotting/__init__.py +1 -0
  1655. openqarp-0.1.0/tests/test_plotting/test_circuit_adapter_residuals.py +138 -0
  1656. openqarp-0.1.0/tests/test_plotting/test_circuit_plotter.py +521 -0
  1657. openqarp-0.1.0/tests/test_plotting/test_config.py +67 -0
  1658. openqarp-0.1.0/tests/test_plotting/test_interactive.py +54 -0
  1659. openqarp-0.1.0/tests/test_plotting/test_plot_api.py +152 -0
  1660. openqarp-0.1.0/tests/test_plotting/test_plot_histogram.py +95 -0
  1661. openqarp-0.1.0/tests/test_plotting/test_processors/__init__.py +0 -0
  1662. openqarp-0.1.0/tests/test_plotting/test_processors/test_circuit_processor.py +91 -0
  1663. openqarp-0.1.0/tests/test_plotting/test_processors/test_positioning.py +66 -0
  1664. openqarp-0.1.0/tests/test_plotting/test_renderers/__init__.py +0 -0
  1665. openqarp-0.1.0/tests/test_plotting/test_renderers/test_base_and_global_phase.py +164 -0
  1666. openqarp-0.1.0/tests/test_plotting/test_renderers/test_label_manager.py +295 -0
  1667. openqarp-0.1.0/tests/test_plotting/test_renderers/test_renderers.py +516 -0
  1668. openqarp-0.1.0/tests/test_plotting/test_styles/__init__.py +0 -0
  1669. openqarp-0.1.0/tests/test_plotting/test_styles/test_theme.py +45 -0
  1670. openqarp-0.1.0/tests/test_postselection.py +208 -0
  1671. openqarp-0.1.0/tests/test_resources/__init__.py +0 -0
  1672. openqarp-0.1.0/tests/test_resources/test_counting.py +160 -0
  1673. openqarp-0.1.0/tests/test_resources/test_estimator.py +162 -0
  1674. openqarp-0.1.0/tests/test_resources/test_modelers.py +57 -0
  1675. openqarp-0.1.0/tests/test_resources/test_synthesis.py +193 -0
  1676. openqarp-0.1.0/tests/test_resources/test_vector.py +113 -0
  1677. openqarp-0.1.0/tests/test_transpiler/__init__.py +0 -0
  1678. openqarp-0.1.0/tests/test_transpiler/test_target_rules.py +166 -0
  1679. openqarp-0.1.0/tests/test_utils/__init__.py +0 -0
  1680. openqarp-0.1.0/tests/test_utils/test_random_instances.py +32 -0
  1681. openqarp-0.1.0/tests/test_utils/test_toy_models.py +19 -0
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: plan
3
+ description: Scaffold a OpenQARP contribution plan in the house format under docs/contributions/. Use at the start of any standard- or structural-tier contribution, ideally during the contributor+reviewer sit-down.
4
+ ---
5
+
6
+ # /plan — scaffold a contribution plan
7
+
8
+ You are helping draft a plan that a reviewer will green-light in a Draft PR
9
+ before implementation starts. Plan and implementation share one PR, so the
10
+ green-lit plan is the contract the rest of that same PR gets diffed against
11
+ — precision here saves review time later.
12
+
13
+ ## Before writing anything
14
+
15
+ 1. Read `docs/contributions/README.md` (tiers, loop, oracle rule).
16
+ 2. Read `docs/contracts/qarp_conventions.md` — at minimum
17
+ §13 (blocks), §14 (engines/devices), §15 (repo), §17 (symbols), plus any
18
+ section the topic touches. The plan must FIT these conventions; if it
19
+ needs to change one, that is a deliberate edit to the conventions doc,
20
+ named explicitly in the plan's Design section.
21
+ 3. Skim the open rows (🚧, 📋) of the index in `docs/contributions/README.md`
22
+ for adjacent work the plan should not collide with.
23
+
24
+ ## Then
25
+
26
+ 4. Copy `docs/contributions/_template.md` to
27
+ `docs/contributions/<topic>_plan.md` (short snake_case topic).
28
+ 5. Fill every section with what was agreed in the discussion — do not
29
+ invent scope. Rules that matter most:
30
+ - **Scope** is an explicit file list. The conformance review checks the
31
+ implementation commits touch nothing outside it without a declared
32
+ deviation.
33
+ - **API sketch** concrete enough to diff an implementation against.
34
+ - **Test plan**: one row per behaviour, and the oracle column is
35
+ mandatory — an independent reference (analytic value, published
36
+ number, openfermion/scipy), never the implementation's own output.
37
+ Naming oracles now, before code exists, is the point.
38
+ - **Phases** individually landable; date items as they complete.
39
+ 6. Add the plan's row to the index table in `docs/contributions/README.md`
40
+ (status 📋 Planned).
41
+ 7. Remind the author: branch, then open a **Draft** PR whose first commit is
42
+ the plan, using the default PR template (fill the *Plan* section, leave
43
+ the *Implementation* section for later). The reviewer's green-light in
44
+ that Draft PR is the design approval — do not start implementing before
45
+ it, and do not open a second PR.
46
+
47
+ Ask the user for any decision the discussion has not settled rather than
48
+ choosing silently — unresolved decisions belong in the plan as explicit
49
+ open items, not as your guesses.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: plan-review
3
+ description: Conformance-review a OpenQARP implementation against the green-lit plan in docs/contributions/ (same PR — the plan is its first commit). Reviewer tool — produces a report for the human reviewer, never a merge decision.
4
+ ---
5
+
6
+ # /plan-review — diff an implementation against its plan
7
+
8
+ Input: a plan file in `docs/contributions/` and the implementation branch
9
+ (or PR diff). If either is not given, ask. Your output is INPUT to the
10
+ human reviewer — you never approve or block; write findings, not verdicts.
11
+
12
+ ## Procedure
13
+
14
+ 1. Read the plan fully: Scope, Design, API sketch, Test plan (oracle
15
+ column), Phases, Deviations log.
16
+ 2. Get the change set: `git diff <target>...<branch> --stat` and then the
17
+ full diff of the files that matter. Target is `develop` unless told
18
+ otherwise. The plan file is part of this diff by design (it is the
19
+ branch's first commit) — never report it as out-of-scope.
20
+ 3. **Check the plan was not rewritten to match the code.** Plan and
21
+ implementation share a branch, so the plan file is editable after the
22
+ green-light — an easy way to make deviations disappear. Diff the plan
23
+ file across its own history on the branch
24
+ (`git log -p <target>..<branch> -- <plan file>`). Post-green-light edits
25
+ to Scope, Design, API sketch or the Test plan's oracle column are a
26
+ finding unless the PR's "Deviations from plan" section declares them.
27
+ Later phase-box dates, folded-back deviations and status flips are
28
+ expected and fine.
29
+ 4. Check, in order:
30
+ - **Scope**: every touched file is in the plan's Scope list, or the
31
+ deviation is declared in the PR's "Deviations from plan" section.
32
+ Undeclared out-of-scope changes are the highest-priority finding.
33
+ - **Design & API**: implementation matches the sketch — names,
34
+ signatures, ownership/layering. Note drift even when it is an
35
+ improvement; declared-and-folded-back is the rule, not silence.
36
+ - **Test plan**: each row of the plan's test table exists in the diff,
37
+ and each named oracle actually appears in the assertions. Flag any
38
+ test that asserts the implementation against itself (round-trip
39
+ posing as an oracle) — per conventions, round-trips are additional,
40
+ never the oracle. Ask of each test: would it fail if the feature were
41
+ wrong?
42
+ - **Conventions**: `qarp_conventions.md` §13–§17 compliance for the
43
+ touched areas — LSB endianness, radians, SimpleBlock/CompositeBlock
44
+ inheritance (never `Block` internally), sorted-tuple `.symbols` and
45
+ `parameter_map` usage, SDK imports only in adapters, `zip(strict=)` justified.
46
+ - **Plan hygiene**: deviations folded back into the plan file; phase
47
+ checkboxes dated; status/index row updated if this PR completes the
48
+ plan.
49
+ 5. Do not relitigate the design itself — the Draft-PR green-light approved
50
+ it. If the design looks wrong in hindsight, flag it as exactly that: a
51
+ question for the humans, separate from conformance findings.
52
+
53
+ ## Report format
54
+
55
+ - **Verdict-free summary** (2–3 sentences: what the PR does, overall
56
+ conformance impression).
57
+ - **Findings**, most severe first, each with file:line, what the plan says,
58
+ what the code does.
59
+ - **Unverifiable items** — anything you could not check (e.g. behaviour
60
+ needing a run) listed explicitly, never silently skipped.
61
+ - **Suggested reviewer focus** — the 2–3 places human judgment matters most.
@@ -0,0 +1,3 @@
1
+ # Vendored upstream sources: keep them out of language stats and diffs.
2
+ cpp/libqarpx/third_party/csim/** linguist-vendored
3
+ cpp/libqarpx/third_party/eigen/** linguist-vendored
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Bug
3
+ about: Something is wrong, including a plausible-but-wrong number
4
+ ---
5
+
6
+ ## What is the bug about?
7
+
8
+ <!-- Observed vs expected behaviour. Plausible-but-wrong numbers count as
9
+ bugs — include the reference value you expected and its source. -->
10
+
11
+ ## OpenQARP version / commit
12
+
13
+ <!-- `qarp.__version__` or commit hash; note if qarpx was rebuilt locally. -->
14
+
15
+ ## Minimal example to reproduce
16
+
17
+ ```python
18
+ ```
19
+
20
+ ## Stacktrace / output
21
+
22
+ ```
23
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Feature
3
+ about: Propose a new block, algorithm, engine or capability
4
+ ---
5
+
6
+ ## What does it do?
7
+
8
+ <!-- Describe the feature. -->
9
+
10
+ ## Why do we need it in OpenQARP?
11
+
12
+ <!-- Use case, physics/algorithmic motivation. -->
13
+
14
+ ## References
15
+
16
+ <!-- Research articles, other packages, benchmarks. -->
17
+
18
+ ## Expected tier
19
+
20
+ <!-- trivial / standard / structural — see docs/contributions/README.md.
21
+ Standard/structural features start with a plan before implementation. -->
@@ -0,0 +1,59 @@
1
+ <!-- One PR per contribution, two gates inside it: green-light the plan while
2
+ this PR is a Draft, then mark it ready for implementation review.
3
+ The loop: docs/contributions/README.md -->
4
+
5
+ ## Summary
6
+
7
+ <!-- What and why, 2–4 sentences. -->
8
+
9
+ ## Plan
10
+
11
+ <!-- One of the two lines below; delete the other.
12
+ Tier definitions: docs/contributions/README.md -->
13
+ Plan: docs/contributions/<topic>_plan.md
14
+ Tier: trivial — <!-- one-line justification -->
15
+
16
+ Reviewer: @
17
+ Sit-down held: <!-- yes / no — structural tier requires yes -->
18
+
19
+ ### Design summary
20
+
21
+ <!-- 3–5 sentences: the problem, the chosen approach, what it deliberately
22
+ does NOT do. Details live in the plan file — don't duplicate. -->
23
+
24
+ ### Gate 1 — green-light checklist (while Draft)
25
+
26
+ <!-- Trivial tier: delete this whole section. -->
27
+
28
+ - [ ] House-format header complete (Status / Author / Reviewer / Date /
29
+ Tier / Scope / Branch)
30
+ - [ ] Scope is an explicit file list
31
+ - [ ] Test plan table has the oracle column filled (independent references
32
+ named BEFORE implementation exists)
33
+ - [ ] Conventions checked (`qarp_conventions.md` §13–§17); any convention
34
+ change named explicitly in the Design section
35
+ - [ ] Index row added in `docs/contributions/README.md` (📋 Planned)
36
+ - [ ] **Green-lit by the reviewer** — implementation starts only after this;
37
+ flip the index row to 🚧 In progress
38
+
39
+ ## Deviations from plan
40
+
41
+ <!-- Measured against the plan AS GREEN-LIT, not as later edited.
42
+ Leave EMPTY to claim "implemented exactly as green-lit" (reviewers check
43
+ this claim). Otherwise list each deviation; fold them back into the
44
+ plan file before merge — declared drift is fine, silent drift is not. -->
45
+
46
+ ## Gate 2 — implementation checklist (before marking ready)
47
+
48
+ - [ ] Tests added/updated; every numerical assertion has an independent
49
+ oracle (analytic / published / openfermion / scipy — round-trips are
50
+ additional, never the oracle)
51
+ - [ ] Example in `examples/` (standard/structural features)
52
+ - [ ] Plan file updated: deviations folded back, phase boxes dated,
53
+ status + index row in `docs/contributions/README.md` (standard/structural)
54
+ - [ ] `ruff check .`, `ruff format --check .`, mypy, `pytest` green locally
55
+
56
+ <!-- Default expectation is untouched: a convention change is a deliberate act,
57
+ green-lit in the plan — never a side effect of implementation. -->
58
+ - [ ] `qarp_conventions.md` **has not been edited** — or, if it has, the change
59
+ was named in the plan and green-lit
@@ -0,0 +1,35 @@
1
+ name: Build the qarpx wheel
2
+ description: >-
3
+ The pipeline's only qarpx compile. Every Python job installs this wheel
4
+ instead of rebuilding. ccache is keyed per commit with a prefix fallback, so
5
+ a C++-free change restores the newest cache and collapses to packaging.
6
+ runs:
7
+ using: composite
8
+ steps:
9
+ - name: System build deps
10
+ shell: bash
11
+ run: sudo apt-get update && sudo apt-get install -y --no-install-recommends cmake ccache
12
+ - name: Restore ccache
13
+ uses: actions/cache@v5
14
+ with:
15
+ path: .ccache
16
+ key: ccache-wheel-${{ runner.os }}-${{ github.sha }}
17
+ restore-keys: ccache-wheel-${{ runner.os }}-
18
+ - name: Build wheel
19
+ shell: bash
20
+ env:
21
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
22
+ CCACHE_MAXSIZE: 1G
23
+ run: |
24
+ ccache --zero-stats
25
+ python -m pip wheel . --no-deps --wheel-dir dist \
26
+ --config-settings=cmake.define.CMAKE_C_COMPILER_LAUNCHER=ccache \
27
+ --config-settings=cmake.define.CMAKE_CXX_COMPILER_LAUNCHER=ccache
28
+ # 0% on a C++-free change means the cache is not surviving between runs.
29
+ ccache --show-stats
30
+ - name: Upload wheel
31
+ uses: actions/upload-artifact@v6
32
+ with:
33
+ name: wheel
34
+ path: dist/*.whl
35
+ retention-days: 1
@@ -0,0 +1,294 @@
1
+ # The per-change gate. Order mirrors the legacy pipeline: lint first so a ruff
2
+ # failure never costs a 17-minute compile; one wheel build feeds mypy, pytest
3
+ # and docs; ctest builds its own tree (tests ON, which the wheel omits). The
4
+ # Pages deploy sits behind every test job, so docs never publish for a commit
5
+ # whose tests did not pass; it also carries the coverage badge endpoint, so the
6
+ # README badge shows the number this gate measured. Tags run the full battery:
7
+ # a release tag revalidates the exact tagged commit.
8
+ name: ci
9
+
10
+ on:
11
+ push:
12
+ branches: [develop, main, "release/**"]
13
+ tags: ["v*"]
14
+ pull_request:
15
+ workflow_dispatch:
16
+
17
+ concurrency:
18
+ group: ci-${{ github.ref }}
19
+ cancel-in-progress: true
20
+
21
+ permissions:
22
+ contents: read
23
+
24
+ env:
25
+ PYTHON_VERSION: "3.12"
26
+
27
+ jobs:
28
+ lint:
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 15
31
+ steps:
32
+ - uses: actions/checkout@v5
33
+ with:
34
+ fetch-depth: 0 # the large-files check diffs against the base commit
35
+ - uses: actions/setup-python@v6
36
+ with:
37
+ python-version: ${{ env.PYTHON_VERSION }}
38
+ - name: ruff (check + format)
39
+ run: |
40
+ # Pin must match pyproject [dev] and .pre-commit-config.yaml.
41
+ python -m pip install ruff==0.15.22
42
+ ruff --version
43
+ ruff check .
44
+ ruff format --check .
45
+ - name: README mirror is byte-identical
46
+ run: |
47
+ diff -u README.rst docs/source/getting_started.rst || {
48
+ echo "docs/source/getting_started.rst has drifted from README.rst — edit README, then copy it over the mirror."
49
+ exit 1
50
+ }
51
+ - name: Narrative-docs static gate
52
+ run: python scripts/ci/check_docs_code.py --static docs/source
53
+ - name: Notebook outputs are stripped
54
+ run: |
55
+ failed=""
56
+ while IFS= read -r nb; do
57
+ python3 -c "import json,sys;d=json.load(open('$nb'));sys.exit(1 if any(c.get('outputs') or c.get('execution_count') for c in d.get('cells',[])) else 0)" || failed="$failed\n $nb"
58
+ done < <(git ls-files '*.ipynb')
59
+ if [ -n "$failed" ]; then
60
+ echo "ERROR: The following notebooks have outputs. Clear them before pushing:"
61
+ echo -e "$failed"
62
+ echo "Run: jupyter nbconvert --clear-output --inplace <notebook>"
63
+ exit 1
64
+ fi
65
+ - name: No large or forbidden files in the change
66
+ env:
67
+ # PR: the merge base GitHub computed. Push: the previous tip, all
68
+ # zeros on a new branch or tag — then there is nothing to diff.
69
+ BASE: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
70
+ run: |
71
+ FORBIDDEN_EXTENSIONS="pkl npy npz data csv json log"
72
+ MAX_SIZE_KB=500
73
+ if [ -z "$BASE" ] || echo "$BASE" | grep -qE '^0+$'; then
74
+ echo "No base commit (new branch, tag or manual run) — nothing to diff, skipping."
75
+ exit 0
76
+ fi
77
+ git cat-file -e "${BASE}^{commit}" 2>/dev/null || git fetch --depth=50 origin "$BASE" 2>/dev/null || true
78
+ git cat-file -e "${BASE}^{commit}" 2>/dev/null || { echo "ERROR: base commit $BASE is not present and could not be fetched."; exit 1; }
79
+ failed=""
80
+ for file in $(git diff --name-only --diff-filter=AM "$BASE" HEAD); do
81
+ [ ! -f "$file" ] && continue
82
+ # tests/assets/ holds provenance-scripted test data: the extension
83
+ # ban is waived there, the size cap is not.
84
+ case "$file" in
85
+ tests/assets/*) ;;
86
+ *)
87
+ ext="${file##*.}"
88
+ for forbidden in $FORBIDDEN_EXTENSIONS; do
89
+ [ "$ext" = "$forbidden" ] && { failed="$failed\n $file (forbidden type: .$ext)"; break; }
90
+ done
91
+ ;;
92
+ esac
93
+ size_kb=$(du -k "$file" | cut -f1)
94
+ [ "$size_kb" -gt "$MAX_SIZE_KB" ] && failed="$failed\n $file (${size_kb}KB exceeds ${MAX_SIZE_KB}KB limit)"
95
+ done
96
+ if [ -n "$failed" ]; then
97
+ echo "ERROR: The following files violate repository policies:"
98
+ echo -e "$failed"
99
+ echo "Forbidden types: ${FORBIDDEN_EXTENSIONS}; max file size: ${MAX_SIZE_KB}KB"
100
+ exit 1
101
+ fi
102
+
103
+ wheel:
104
+ needs: [lint]
105
+ runs-on: ubuntu-latest
106
+ timeout-minutes: 60
107
+ steps:
108
+ - uses: actions/checkout@v5
109
+ - uses: actions/setup-python@v6
110
+ with:
111
+ python-version: ${{ env.PYTHON_VERSION }}
112
+ - uses: ./.github/actions/build-wheel
113
+
114
+ mypy:
115
+ needs: [wheel]
116
+ runs-on: ubuntu-latest
117
+ timeout-minutes: 30
118
+ steps:
119
+ - uses: actions/checkout@v5
120
+ - uses: actions/setup-python@v6
121
+ with:
122
+ python-version: ${{ env.PYTHON_VERSION }}
123
+ - uses: actions/download-artifact@v7
124
+ with:
125
+ name: wheel
126
+ path: dist
127
+ - run: python -m pip install "$(ls dist/*.whl)[full-dev]"
128
+ - run: |
129
+ mypy --version
130
+ mypy qarp/ tests/ --disable-error-code=import-untyped --disable-error-code=method-assign
131
+
132
+ pytest:
133
+ needs: [wheel]
134
+ runs-on: ubuntu-latest
135
+ timeout-minutes: 60
136
+ steps:
137
+ - uses: actions/checkout@v5
138
+ - uses: actions/setup-python@v6
139
+ with:
140
+ python-version: ${{ env.PYTHON_VERSION }}
141
+ - uses: actions/download-artifact@v7
142
+ with:
143
+ name: wheel
144
+ path: dist
145
+ - run: python -m pip install "$(ls dist/*.whl)[full-dev]"
146
+ # No --cov-fail-under here: this job answers "did the tests pass"; the
147
+ # coverage job reads the artefacts and answers "did coverage regress".
148
+ - run: pytest tests/ --cov --cov-report=term --cov-report=xml:coverage.xml
149
+ - uses: actions/upload-artifact@v6
150
+ if: always()
151
+ with:
152
+ name: coverage
153
+ path: |
154
+ coverage.xml
155
+ .coverage
156
+ include-hidden-files: true # .coverage is the raw data file the ratchet needs
157
+ retention-days: 7
158
+
159
+ coverage:
160
+ needs: [pytest]
161
+ runs-on: ubuntu-latest
162
+ timeout-minutes: 15
163
+ env:
164
+ # RATCHET FLOOR — only ever rises (qarp_conventions.md §15). Lowering it
165
+ # to make a run pass is the violation the gate exists to prevent.
166
+ COVERAGE_FLOOR: "94.0"
167
+ # Patch gate: lines THIS change touched; PR-only, since off a PR there
168
+ # is no base and "the lines this change touched" has no meaning.
169
+ PATCH_COVERAGE_FLOOR: "80"
170
+ steps:
171
+ - uses: actions/checkout@v5
172
+ with:
173
+ fetch-depth: 0 # diff-cover needs the merge base with the target branch
174
+ - uses: actions/setup-python@v6
175
+ with:
176
+ python-version: ${{ env.PYTHON_VERSION }}
177
+ - uses: actions/download-artifact@v7
178
+ with:
179
+ name: coverage
180
+ path: .
181
+ - run: python -m pip install "diff-cover==10.5.0" "coverage==7.15.4"
182
+ - name: Artefacts arrived
183
+ # A missing coverage.xml makes diff-cover report "no lines with coverage
184
+ # information" and exit 0 — indistinguishable from a non-Python change.
185
+ run: |
186
+ test -s coverage.xml || { echo "coverage.xml missing/empty — pytest artefact did not arrive"; exit 1; }
187
+ test -s .coverage || { echo ".coverage missing/empty — cannot enforce the ratchet floor"; exit 1; }
188
+ - name: Ratchet floor
189
+ run: coverage report --fail-under="$COVERAGE_FLOOR"
190
+ - name: Badge endpoint (shields.io JSON, published with the docs)
191
+ # Colour follows the floor, so badge and gate can never disagree.
192
+ run: |
193
+ total=$(coverage report --format=total)
194
+ if python -c "import sys; sys.exit(0 if float('$total') >= float('$COVERAGE_FLOOR') else 1)"; then color=brightgreen; else color=red; fi
195
+ mkdir -p badges
196
+ printf '{"schemaVersion":1,"label":"coverage","message":"%s%%","color":"%s"}\n' "$total" "$color" > badges/coverage.json
197
+ cat badges/coverage.json
198
+ - uses: actions/upload-artifact@v6
199
+ with:
200
+ name: coverage-badge
201
+ path: badges/coverage.json
202
+ retention-days: 7
203
+ - name: Patch gate (PRs only)
204
+ if: github.event_name == 'pull_request'
205
+ run: |
206
+ git fetch origin "${{ github.base_ref }}"
207
+ diff-cover coverage.xml --compare-branch="origin/${{ github.base_ref }}" --fail-under="$PATCH_COVERAGE_FLOOR"
208
+
209
+ docs:
210
+ needs: [wheel]
211
+ runs-on: ubuntu-latest
212
+ timeout-minutes: 30
213
+ steps:
214
+ - uses: actions/checkout@v5
215
+ - uses: actions/setup-python@v6
216
+ with:
217
+ python-version: ${{ env.PYTHON_VERSION }}
218
+ - uses: actions/download-artifact@v7
219
+ with:
220
+ name: wheel
221
+ path: dist
222
+ - run: python -m pip install "$(ls dist/*.whl)[docs]"
223
+ - run: |
224
+ chmod +x build_docs.sh
225
+ ./build_docs.sh
226
+ - name: Keep the site for the Pages deploy
227
+ if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
228
+ uses: actions/upload-artifact@v6
229
+ with:
230
+ name: docs-html
231
+ path: docs/_build/html
232
+ retention-days: 1
233
+
234
+ ctest:
235
+ needs: [lint]
236
+ runs-on: ubuntu-latest
237
+ timeout-minutes: 60
238
+ env:
239
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
240
+ CCACHE_MAXSIZE: 1G
241
+ steps:
242
+ - uses: actions/checkout@v5
243
+ - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends cmake ccache
244
+ - uses: actions/cache@v5
245
+ with:
246
+ path: .ccache
247
+ # Own key: tests ON shares few objects with the wheel build.
248
+ key: ccache-ctest-${{ runner.os }}-${{ github.sha }}
249
+ restore-keys: ccache-ctest-${{ runner.os }}-
250
+ - name: Build and run the C++ suite (shipping pure-Eigen CSD)
251
+ run: |
252
+ ccache --zero-stats
253
+ cmake -S cpp/libqarpx -B cpp/libqarpx/build-ci -DQARP_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release \
254
+ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
255
+ cmake --build cpp/libqarpx/build-ci --target qarpx_tests --parallel "$(nproc)"
256
+ ctest --test-dir cpp/libqarpx/build-ci --output-on-failure -j "$(nproc)"
257
+ ccache --show-stats
258
+
259
+ pages:
260
+ # Only develop publishes, and only once every test job is green.
261
+ if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
262
+ needs: [docs, mypy, pytest, coverage, ctest]
263
+ runs-on: ubuntu-latest
264
+ timeout-minutes: 10
265
+ permissions:
266
+ pages: write
267
+ id-token: write
268
+ environment:
269
+ name: github-pages
270
+ url: ${{ steps.deployment.outputs.page_url }}
271
+ concurrency:
272
+ group: pages
273
+ cancel-in-progress: false
274
+ steps:
275
+ - uses: actions/download-artifact@v7
276
+ with:
277
+ name: docs-html
278
+ path: site
279
+ - uses: actions/download-artifact@v7
280
+ with:
281
+ name: coverage-badge
282
+ path: site/badges
283
+ - run: touch site/.nojekyll
284
+ # Inlined upload-pages-artifact: the composite still wraps a Node 20
285
+ # upload-artifact. Same tar flags, same artifact name deploy-pages expects.
286
+ - name: Archive the site
287
+ run: tar --dereference --hard-dereference --directory site -cf "$RUNNER_TEMP/artifact.tar" --exclude=.git --exclude=.github .
288
+ - uses: actions/upload-artifact@v6
289
+ with:
290
+ name: github-pages
291
+ path: ${{ runner.temp }}/artifact.tar
292
+ retention-days: 1
293
+ - id: deployment
294
+ uses: actions/deploy-pages@v5
@@ -0,0 +1,123 @@
1
+ # The tiers the per-change gate deliberately excludes: slow-marked tests, the
2
+ # randomised hypothesis profile, the executed notebooks, the benchmark smoke
3
+ # run and the LAPACK build of the C++ suite. Nightly matches what they catch
4
+ # (upstream bumps, invariant drift), and workflow_dispatch is the on-demand
5
+ # button for a branch that touches one of them. Schedules run on the default
6
+ # branch only.
7
+ name: nightly
8
+
9
+ on:
10
+ schedule:
11
+ - cron: "0 3 * * *"
12
+ workflow_dispatch:
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ env:
18
+ PYTHON_VERSION: "3.12"
19
+
20
+ jobs:
21
+ wheel:
22
+ runs-on: ubuntu-latest
23
+ timeout-minutes: 60
24
+ steps:
25
+ - uses: actions/checkout@v5
26
+ - uses: actions/setup-python@v6
27
+ with:
28
+ python-version: ${{ env.PYTHON_VERSION }}
29
+ - uses: ./.github/actions/build-wheel
30
+
31
+ pytest-nightly:
32
+ needs: [wheel]
33
+ runs-on: ubuntu-latest
34
+ timeout-minutes: 120
35
+ steps:
36
+ - uses: actions/checkout@v5
37
+ - uses: actions/setup-python@v6
38
+ with:
39
+ python-version: ${{ env.PYTHON_VERSION }}
40
+ - uses: actions/download-artifact@v7
41
+ with:
42
+ name: wheel
43
+ path: dist
44
+ - run: python -m pip install "$(ls dist/*.whl)[full-dev]"
45
+ # CLI -m overrides pytest.ini's `-m "not slow and not bench"`. Exit 5
46
+ # (nothing collected) is a real failure: the marker tier emptied out.
47
+ - run: pytest tests/ -m slow
48
+ - run: HYPOTHESIS_PROFILE=nightly pytest tests/ -m property
49
+
50
+ notebooks:
51
+ needs: [wheel]
52
+ runs-on: ubuntu-latest
53
+ timeout-minutes: 180
54
+ env:
55
+ TQDM_DISABLE: "1" # a progress bar in a kernel is one output line per tick
56
+ OMP_NUM_THREADS: "2" # pools sized from the host's core count oversubscribe a shared runner
57
+ OPENBLAS_NUM_THREADS: "2"
58
+ steps:
59
+ - uses: actions/checkout@v5
60
+ - uses: actions/setup-python@v6
61
+ with:
62
+ python-version: ${{ env.PYTHON_VERSION }}
63
+ - uses: actions/download-artifact@v7
64
+ with:
65
+ name: wheel
66
+ path: dist
67
+ # [full] not [full-dev]: [notebooks] stays out of the install the coverage
68
+ # floor is measured from; [integrations] carries the emit/absorb SDKs.
69
+ - run: python -m pip install "$(ls dist/*.whl)[full,notebooks,integrations]"
70
+ # The only job with the [integrations] SDKs installed, so the emit/absorb
71
+ # adapter suites run un-skipped here and nowhere else.
72
+ - run: pytest tests/test_emit tests/test_absorb -p no:cacheprovider
73
+ - run: pytest --nbmake --nbmake-timeout=1800 examples/ --junitxml=nbmake.xml
74
+ - uses: actions/upload-artifact@v6
75
+ if: always()
76
+ with:
77
+ name: nbmake-junit
78
+ path: nbmake.xml
79
+ retention-days: 7
80
+
81
+ bench-smoke:
82
+ needs: [wheel]
83
+ runs-on: ubuntu-latest
84
+ timeout-minutes: 60
85
+ env:
86
+ OMP_NUM_THREADS: "2"
87
+ OPENBLAS_NUM_THREADS: "2"
88
+ steps:
89
+ - uses: actions/checkout@v5
90
+ - uses: actions/setup-python@v6
91
+ with:
92
+ python-version: ${{ env.PYTHON_VERSION }}
93
+ - uses: actions/download-artifact@v7
94
+ with:
95
+ name: wheel
96
+ path: dist
97
+ - run: python -m pip install "$(ls dist/*.whl)[full,integrations,bench]"
98
+ # Correctness only — timings on a shared runner are noise, never a gate.
99
+ - run: python -m benchmarks.smoke --require-all
100
+
101
+ ctest-lapack:
102
+ runs-on: ubuntu-latest
103
+ timeout-minutes: 60
104
+ env:
105
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
106
+ CCACHE_MAXSIZE: 1G
107
+ steps:
108
+ - uses: actions/checkout@v5
109
+ - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends cmake ccache libopenblas-dev liblapack-dev
110
+ - uses: actions/cache@v5
111
+ with:
112
+ path: .ccache
113
+ # Own key: QARP_USE_LAPACK is a PUBLIC compile definition, no object is shared.
114
+ key: ccache-ctest-lapack-${{ runner.os }}-${{ github.sha }}
115
+ restore-keys: ccache-ctest-lapack-${{ runner.os }}-
116
+ - name: Build and run the C++ suite on the LAPACK zuncsd CSD
117
+ run: |
118
+ ccache --zero-stats
119
+ cmake -S cpp/libqarpx -B cpp/libqarpx/build-ci-lapack -DQARP_BUILD_TESTS=ON -DQARP_USE_LAPACK=ON -DCMAKE_BUILD_TYPE=Release \
120
+ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
121
+ cmake --build cpp/libqarpx/build-ci-lapack --target qarpx_tests --parallel "$(nproc)"
122
+ ctest --test-dir cpp/libqarpx/build-ci-lapack --output-on-failure -j "$(nproc)"
123
+ ccache --show-stats