quantum-mind 2.0.0__tar.gz → 3.0.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 (144) hide show
  1. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/NOTICE +1 -1
  2. quantum_mind-3.0.0/PKG-INFO +478 -0
  3. quantum_mind-3.0.0/README.md +390 -0
  4. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/pyproject.toml +12 -10
  5. quantum_mind-3.0.0/src/quantum_mind/__init__.py +24 -0
  6. quantum_mind-3.0.0/src/quantum_mind/applications/allocation.py +138 -0
  7. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/calibration.py +115 -3
  8. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/personalisation.py +69 -3
  9. quantum_mind-3.0.0/src/quantum_mind/belief/README.md +67 -0
  10. quantum_mind-3.0.0/src/quantum_mind/belief/__init__.py +13 -0
  11. quantum_mind-3.0.0/src/quantum_mind/belief/cobra.py +409 -0
  12. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/core/__init__.py +3 -0
  13. quantum_mind-3.0.0/src/quantum_mind/core/design.py +126 -0
  14. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/core/fit.py +12 -6
  15. quantum_mind-3.0.0/src/quantum_mind/core/online.py +219 -0
  16. quantum_mind-3.0.0/src/quantum_mind/core/uncertainty.py +154 -0
  17. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/envs/__init__.py +5 -4
  18. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/envs/hri.py +61 -47
  19. quantum_mind-3.0.0/src/quantum_mind/evaluation/__init__.py +13 -0
  20. quantum_mind-3.0.0/src/quantum_mind/evaluation/manifest.py +42 -0
  21. quantum_mind-3.0.0/src/quantum_mind/evaluation/metrics.py +55 -0
  22. quantum_mind-3.0.0/src/quantum_mind/evaluation/provenance.py +33 -0
  23. quantum_mind-3.0.0/src/quantum_mind/evaluation/statistics.py +137 -0
  24. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/__init__.py +1 -1
  25. quantum_mind-3.0.0/src/quantum_mind/problems/README.md +13 -0
  26. quantum_mind-3.0.0/src/quantum_mind/problems/__init__.py +128 -0
  27. quantum_mind-3.0.0/src/quantum_mind/quantum/README.md +30 -0
  28. quantum_mind-3.0.0/src/quantum_mind/quantum/__init__.py +11 -0
  29. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/quantum/statevector.py +2 -2
  30. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/__init__.py +3 -2
  31. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/themes.py +26 -0
  32. quantum_mind-3.0.0/src/quantum_mind.egg-info/PKG-INFO +478 -0
  33. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind.egg-info/SOURCES.txt +18 -20
  34. quantum_mind-3.0.0/tests/test_docs_coverage.py +102 -0
  35. quantum_mind-3.0.0/tests/test_evaluation.py +72 -0
  36. quantum_mind-3.0.0/tests/test_extensions.py +159 -0
  37. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_gaps.py +1 -25
  38. quantum_mind-3.0.0/tests/test_learning.py +42 -0
  39. quantum_mind-3.0.0/tests/test_math_docs.py +313 -0
  40. quantum_mind-3.0.0/tests/test_problems.py +12 -0
  41. quantum_mind-3.0.0/tests/test_quantum.py +29 -0
  42. quantum_mind-3.0.0/tests/test_robotics_extensions.py +126 -0
  43. quantum_mind-3.0.0/tests/test_robustness.py +51 -0
  44. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_site.py +2 -2
  45. quantum_mind-3.0.0/tests/test_site_results.py +81 -0
  46. quantum_mind-3.0.0/tests/test_v14.py +34 -0
  47. quantum_mind-2.0.0/PKG-INFO +0 -600
  48. quantum_mind-2.0.0/README.md +0 -512
  49. quantum_mind-2.0.0/src/quantum_mind/__init__.py +0 -25
  50. quantum_mind-2.0.0/src/quantum_mind/families/game_theory/README.md +0 -24
  51. quantum_mind-2.0.0/src/quantum_mind/families/game_theory/__init__.py +0 -2
  52. quantum_mind-2.0.0/src/quantum_mind/families/game_theory/models.py +0 -225
  53. quantum_mind-2.0.0/src/quantum_mind/inspired/README.md +0 -38
  54. quantum_mind-2.0.0/src/quantum_mind/inspired/__init__.py +0 -27
  55. quantum_mind-2.0.0/src/quantum_mind/inspired/exploration.py +0 -347
  56. quantum_mind-2.0.0/src/quantum_mind/inspired/optimisers.py +0 -300
  57. quantum_mind-2.0.0/src/quantum_mind/inspired/rl.py +0 -306
  58. quantum_mind-2.0.0/src/quantum_mind/inspired/tensor.py +0 -299
  59. quantum_mind-2.0.0/src/quantum_mind/inspired/tensor_layers.py +0 -270
  60. quantum_mind-2.0.0/src/quantum_mind/inspired/text.py +0 -233
  61. quantum_mind-2.0.0/src/quantum_mind/problems/README.md +0 -20
  62. quantum_mind-2.0.0/src/quantum_mind/problems/__init__.py +0 -288
  63. quantum_mind-2.0.0/src/quantum_mind/quantum/README.md +0 -62
  64. quantum_mind-2.0.0/src/quantum_mind/quantum/__init__.py +0 -41
  65. quantum_mind-2.0.0/src/quantum_mind/quantum/algorithms.py +0 -493
  66. quantum_mind-2.0.0/src/quantum_mind/quantum/ansatz.py +0 -208
  67. quantum_mind-2.0.0/src/quantum_mind/quantum/classifiers.py +0 -692
  68. quantum_mind-2.0.0/src/quantum_mind/quantum/estimation.py +0 -224
  69. quantum_mind-2.0.0/src/quantum_mind/quantum/fourier.py +0 -145
  70. quantum_mind-2.0.0/src/quantum_mind/quantum/policy.py +0 -210
  71. quantum_mind-2.0.0/src/quantum_mind/quantum/quanvolution.py +0 -173
  72. quantum_mind-2.0.0/src/quantum_mind/quantum/walks.py +0 -170
  73. quantum_mind-2.0.0/src/quantum_mind.egg-info/PKG-INFO +0 -600
  74. quantum_mind-2.0.0/tests/test_inspired.py +0 -33
  75. quantum_mind-2.0.0/tests/test_learning.py +0 -112
  76. quantum_mind-2.0.0/tests/test_problems.py +0 -23
  77. quantum_mind-2.0.0/tests/test_quantum.py +0 -81
  78. quantum_mind-2.0.0/tests/test_robustness.py +0 -97
  79. quantum_mind-2.0.0/tests/test_v14.py +0 -126
  80. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/LICENSE +0 -0
  81. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/setup.cfg +0 -0
  82. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/_optional.py +0 -0
  83. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/README.md +0 -0
  84. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/__init__.py +0 -0
  85. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/fusion.py +0 -0
  86. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/handover.py +0 -0
  87. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/intent.py +0 -0
  88. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/orchestration.py +0 -0
  89. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/questioning.py +0 -0
  90. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/applications/robotics.py +0 -0
  91. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/circuits/README.md +0 -0
  92. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/circuits/__init__.py +0 -0
  93. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/circuits/backends.py +0 -0
  94. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/circuits/builders.py +0 -0
  95. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/core/linalg.py +0 -0
  96. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/core/model.py +0 -0
  97. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/data/__init__.py +0 -0
  98. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/concepts/README.md +0 -0
  99. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/concepts/__init__.py +0 -0
  100. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/concepts/models.py +0 -0
  101. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/conjunction/README.md +0 -0
  102. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/conjunction/__init__.py +0 -0
  103. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/conjunction/models.py +0 -0
  104. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/contextuality/README.md +0 -0
  105. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/contextuality/__init__.py +0 -0
  106. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/contextuality/models.py +0 -0
  107. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/decision/README.md +0 -0
  108. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/decision/__init__.py +0 -0
  109. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/decision/models.py +0 -0
  110. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/dynamics/README.md +0 -0
  111. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/dynamics/__init__.py +0 -0
  112. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/dynamics/models.py +0 -0
  113. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/interference/README.md +0 -0
  114. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/interference/__init__.py +0 -0
  115. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/interference/models.py +0 -0
  116. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/memory/README.md +0 -0
  117. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/memory/__init__.py +0 -0
  118. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/memory/models.py +0 -0
  119. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/order_effects/README.md +0 -0
  120. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/order_effects/__init__.py +0 -0
  121. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/order_effects/models.py +0 -0
  122. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/perception/README.md +0 -0
  123. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/perception/__init__.py +0 -0
  124. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/perception/models.py +0 -0
  125. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/qlbn/README.md +0 -0
  126. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/qlbn/__init__.py +0 -0
  127. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/qlbn/models.py +0 -0
  128. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/similarity/README.md +0 -0
  129. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/similarity/__init__.py +0 -0
  130. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/families/similarity/models.py +0 -0
  131. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/README.md +0 -0
  132. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/interactive.py +0 -0
  133. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/mpl.py +0 -0
  134. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind/viz/states.py +0 -0
  135. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind.egg-info/dependency_links.txt +0 -0
  136. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind.egg-info/requires.txt +0 -0
  137. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/src/quantum_mind.egg-info/top_level.txt +0 -0
  138. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_circuits.py +0 -0
  139. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_core.py +0 -0
  140. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_decision_layer.py +0 -0
  141. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_families.py +0 -0
  142. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_perception_fusion.py +0 -0
  143. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_ros2_node.py +0 -0
  144. {quantum_mind-2.0.0 → quantum_mind-3.0.0}/tests/test_viz.py +0 -0
@@ -1,4 +1,4 @@
1
- Quantum Mind (repository quantum-mind; install name quantum-mind; import name quantum_mind)
1
+ Quantum Mind (repository Quantum-mind; install name quantum-mind; import name quantum_mind)
2
2
  Copyright 2026 Yeshwanth Guru
3
3
 
4
4
  This product is licensed under the Apache License, Version 2.0 (see LICENSE).
@@ -0,0 +1,478 @@
1
+ Metadata-Version: 2.4
2
+ Name: quantum-mind
3
+ Version: 3.0.0
4
+ Summary: Quantum-probability cognition for robots that work with people: quantum-like human models, the COBRA context-rotated belief filter and a cost-aware decision layer, each against classical baselines
5
+ Author-email: Yeshwanth Guru <yeshwanth445@gmail.com>
6
+ Maintainer-email: Yeshwanth Guru <yeshwanth445@gmail.com>
7
+ License-Expression: Apache-2.0
8
+ Project-URL: Homepage, https://yeshwanthguru.github.io/Quantum-mind/
9
+ Project-URL: Source, https://github.com/yeshwanthguru/Quantum-mind
10
+ Project-URL: Issues, https://github.com/yeshwanthguru/Quantum-mind/issues
11
+ Project-URL: Documentation, https://yeshwanthguru.github.io/Quantum-mind/docs/
12
+ Project-URL: Changelog, https://yeshwanthguru.github.io/Quantum-mind/docs/about/changelog.html
13
+ Keywords: quantum cognition,quantum-like models,quantum probability,density matrix,belief filter,robotics,human-robot interaction,trust,decision making,order effects,qiskit,Bloch sphere,visualization,cognitive modelling
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Classifier: Topic :: Scientific/Engineering :: Physics
21
+ Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
22
+ Classifier: Topic :: Scientific/Engineering :: Visualization
23
+ Classifier: Intended Audience :: Science/Research
24
+ Classifier: Intended Audience :: Education
25
+ Classifier: Development Status :: 4 - Beta
26
+ Requires-Python: >=3.10
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ License-File: NOTICE
30
+ Requires-Dist: numpy>=1.24
31
+ Requires-Dist: scipy>=1.10
32
+ Provides-Extra: qiskit
33
+ Requires-Dist: qiskit>=2.0; extra == "qiskit"
34
+ Requires-Dist: qiskit-aer>=0.17; extra == "qiskit"
35
+ Requires-Dist: qiskit-ibm-runtime>=0.40; extra == "qiskit"
36
+ Provides-Extra: cloud
37
+ Requires-Dist: qiskit-ibm-runtime>=0.40; extra == "cloud"
38
+ Requires-Dist: amazon-braket-sdk>=1.80; extra == "cloud"
39
+ Provides-Extra: viz
40
+ Requires-Dist: matplotlib>=3.7; extra == "viz"
41
+ Requires-Dist: plotly>=5.18; extra == "viz"
42
+ Requires-Dist: ipywidgets>=8; extra == "viz"
43
+ Requires-Dist: anywidget>=0.9; extra == "viz"
44
+ Requires-Dist: seaborn>=0.12; extra == "viz"
45
+ Provides-Extra: rl
46
+ Requires-Dist: gymnasium>=0.29; extra == "rl"
47
+ Provides-Extra: robotics
48
+ Requires-Dist: gymnasium>=0.29; extra == "robotics"
49
+ Requires-Dist: py_trees>=2.2; extra == "robotics"
50
+ Provides-Extra: all
51
+ Requires-Dist: qiskit>=2.0; extra == "all"
52
+ Requires-Dist: qiskit-aer>=0.17; extra == "all"
53
+ Requires-Dist: qiskit-ibm-runtime>=0.40; extra == "all"
54
+ Requires-Dist: amazon-braket-sdk>=1.80; extra == "all"
55
+ Requires-Dist: matplotlib>=3.7; extra == "all"
56
+ Requires-Dist: plotly>=5.18; extra == "all"
57
+ Requires-Dist: ipywidgets>=8; extra == "all"
58
+ Requires-Dist: anywidget>=0.9; extra == "all"
59
+ Requires-Dist: seaborn>=0.12; extra == "all"
60
+ Requires-Dist: gymnasium>=0.29; extra == "all"
61
+ Requires-Dist: py_trees>=2.2; extra == "all"
62
+ Requires-Dist: scikit-learn>=1.3; extra == "all"
63
+ Provides-Extra: docs
64
+ Requires-Dist: sphinx>=7.2; extra == "docs"
65
+ Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
66
+ Requires-Dist: sphinx-design>=0.5; extra == "docs"
67
+ Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
68
+ Requires-Dist: sphinx-gallery>=0.17; extra == "docs"
69
+ Requires-Dist: myst-nb>=1.1; extra == "docs"
70
+ Requires-Dist: sphinxcontrib-mermaid>=0.9; extra == "docs"
71
+ Requires-Dist: nbformat>=5.9; extra == "docs"
72
+ Requires-Dist: nbclient>=0.10; extra == "docs"
73
+ Requires-Dist: ipykernel>=6; extra == "docs"
74
+ Requires-Dist: gymnasium>=0.29; extra == "docs"
75
+ Requires-Dist: scikit-learn>=1.3; extra == "docs"
76
+ Provides-Extra: dev
77
+ Requires-Dist: pytest>=8; extra == "dev"
78
+ Requires-Dist: pytest-cov>=5; extra == "dev"
79
+ Requires-Dist: ruff>=0.5; extra == "dev"
80
+ Requires-Dist: nbformat>=5.9; extra == "dev"
81
+ Requires-Dist: nbclient>=0.10; extra == "dev"
82
+ Requires-Dist: ipykernel>=6; extra == "dev"
83
+ Requires-Dist: build>=1; extra == "dev"
84
+ Requires-Dist: twine>=5; extra == "dev"
85
+ Requires-Dist: gymnasium>=0.29; extra == "dev"
86
+ Requires-Dist: scikit-learn>=1.3; extra == "dev"
87
+ Dynamic: license-file
88
+
89
+ <p align="center">
90
+ <img src="https://raw.githubusercontent.com/yeshwanthguru/Quantum-mind/main/docs/assets/banner.svg" alt="quantum-mind: quantum-probability cognition for robots that work with people" width="100%">
91
+ </p>
92
+
93
+ <p align="center">
94
+ <a href="https://pypi.org/project/quantum-mind/"><img src="https://img.shields.io/pypi/v/quantum-mind?label=PyPI" alt="PyPI version"></a>
95
+ <a href="https://pypistats.org/packages/quantum-mind"><img src="https://img.shields.io/pypi/dm/quantum-mind?label=downloads%2Fmonth" alt="PyPI downloads per month"></a>
96
+ <a href="https://pepy.tech/projects/quantum-mind"><img src="https://static.pepy.tech/badge/quantum-mind" alt="Total PyPI downloads"></a>
97
+ <a href="https://github.com/yeshwanthguru/Quantum-mind/actions/workflows/tests.yml"><img src="https://github.com/yeshwanthguru/Quantum-mind/actions/workflows/tests.yml/badge.svg" alt="tests"></a>
98
+ <a href="https://github.com/yeshwanthguru/Quantum-mind/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
99
+ <img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-3776AB?logo=python&logoColor=white" alt="Python 3.10-3.12">
100
+ <a href="https://yeshwanthguru.github.io/Quantum-mind/docs/"><img src="https://img.shields.io/badge/docs-Sphinx-0969da" alt="Documentation"></a>
101
+ </p>
102
+
103
+ <p align="center"><b><a href="https://yeshwanthguru.github.io/Quantum-mind/">Website and live Bloch-sphere playground</a> · <a href="https://yeshwanthguru.github.io/Quantum-mind/docs/">Documentation</a> (user guide, example gallery, API reference)</b></p>
104
+
105
+ <p align="center">
106
+ <b><a href="#idea">The idea</a></b> ·
107
+ <b><a href="#cobra">COBRA</a></b> ·
108
+ <b><a href="#layers">Three layers</a></b> ·
109
+ <b><a href="#quick-start">Quick start</a></b> ·
110
+ <b><a href="#viewer">Bloch viewer</a></b> ·
111
+ <b><a href="#validation">Validation</a></b> ·
112
+ <b><a href="#status">Status</a></b> ·
113
+ <b><a href="https://yeshwanthguru.github.io/Quantum-mind/docs/tutorials/index.html">Tutorials</a></b> ·
114
+ <b><a href="https://yeshwanthguru.github.io/Quantum-mind/docs/atlas/index.html">Model atlas</a></b> ·
115
+ <b><a href="https://yeshwanthguru.github.io/Quantum-mind/docs/math/index.html">Mathematics</a></b>
116
+ </p>
117
+
118
+ ---
119
+
120
+ **Quantum Mind** (`pip install quantum-mind`, `import quantum_mind`) is a Python library for **quantum-probability
121
+ cognition in robotics**: it models how people judge, decide and trust, and how a robot should read them, with the
122
+ mathematics of quantum probability (projections, interference, density matrices, generalised measurements), and
123
+ it turns every belief into a cost-aware decision: hand over, wait, or ask.
124
+
125
+ > It runs on ordinary computers and makes **no claim of quantum computational advantage**. "Quantum-like" means
126
+ > the probability rules are borrowed; nothing in the brain or the robot is assumed to be quantum. Every model is
127
+ > reported next to the classical model it has to beat, with the ablation that isolates what is new.
128
+
129
+ <a id="idea"></a>
130
+
131
+ ## The idea
132
+
133
+ Classical filters treat evidence as arriving in neutral, independent pieces. People and robots do not live in that
134
+ world:
135
+
136
+ * a **look** changes what the next **hand movement** means;
137
+ * a **question** changes the answer to the next question (order effects);
138
+ * **asking** a person whether they trust the robot changes their trust.
139
+
140
+ Quantum probability represents exactly this: beliefs are vectors or density matrices, evidence is a measurement,
141
+ and measurements need not commute. Quantum Mind turns that into tested code in three layers: quantum-like models of
142
+ people, a belief filter for the robot (COBRA), and a decision layer that never reports a belief without a cost, a
143
+ calibration check and a classical baseline.
144
+
145
+ <a id="cobra"></a>
146
+
147
+ ## COBRA: a context-rotated belief filter
148
+
149
+ COBRA keeps the robot's belief about a person as a **density matrix** over hypotheses (for example the person's
150
+ intent). Each sensor frame updates it with a generalised measurement whose basis is **rotated by the previous
151
+ frame**, followed by partial dephasing:
152
+
153
+ ```
154
+ M_t = U(x_{t-1}) · diag(exp((W x_t + b)/2)) · U(x_{t-1})† ρ ← M_t ρ M_t / tr(·) ρ ← (1−g) ρ + g · diag(ρ)
155
+ ```
156
+
157
+ The probability of hypothesis *z* is the diagonal entry ρ_zz (Born rule). It has two built-in classical limits, so
158
+ the effect of context and the effect of coherence can be separated: with no rotation it **is** a Bayes filter, and
159
+ with full dephasing it is a classical *incoherent* context filter (the tests check both exactly).
160
+
161
+ ```python
162
+ import numpy as np
163
+ from quantum_mind.belief import COBRA, GaussianBayesFilter, min_cost_action
164
+
165
+ model = COBRA(n_hyp=3, n_features=3).fit(frames, intent) # frames (N, T, 3), intent in {0, 1, 2}
166
+ belief = model.start() # online, one frame at a time
167
+ for frame in sensor_stream:
168
+ p = belief.update(frame) # P(handover, retrieve, withdraw)
169
+
170
+ cost = np.array([[0, 6, 10], [1.5, 0, 0], [0.8, 0.8, 0.8]]) # hand over, wait, ask
171
+ action = min_cost_action(p, cost)[0]
172
+ ```
173
+
174
+ <p align="center"><img src="https://raw.githubusercontent.com/yeshwanthguru/Quantum-mind/main/docs/assets/cobra_context_effect.png" alt="The same hand cue after opposite previous looks: the Bayes filter shifts by zero, COBRA flips sign like the oracle" width="62%"><br>
175
+ <sub>The same hand cue after opposite previous looks. A Bayes filter adds the same evidence either way; this trained COBRA flips its evidence like the oracle that knows the generator (simulated task).</sub></p>
176
+
177
+ ### What the benchmark says
178
+
179
+ `benchmarks/context_intent_benchmark.py` compares COBRA with the oracle, a Gaussian Bayes filter, logistic
180
+ regression and an MLP on a **synthetic** intent task with a context effect, and on a **control** task with none. It
181
+ adds an ablation without coherence, noise and dropout stress tests, and a paired sign-flip test. Mean ± std over 5
182
+ seeds, 3000 test sequences per cell:
183
+
184
+ | Context task, expected decision cost (lower is better) | 60 training sequences | 250 | 1000 |
185
+ |---|---|---|---|
186
+ | Oracle (knows the generator) | 0.147 | 0.147 | 0.147 |
187
+ | **COBRA** | 0.347 ± 0.061 | **0.221 ± 0.005** | **0.221 ± 0.028** |
188
+ | COBRA without coherence (ablation) | 0.345 ± 0.028 | 0.265 ± 0.014 | 0.249 ± 0.010 |
189
+ | Gaussian Bayes filter | **0.280 ± 0.035** | 0.247 ± 0.006 | 0.239 ± 0.014 |
190
+ | Logistic regression | 0.323 ± 0.036 | 0.276 ± 0.019 | 0.255 ± 0.009 |
191
+ | MLP (515 parameters) | 0.358 ± 0.083 | 0.291 ± 0.036 | 0.233 ± 0.014 |
192
+ | *Control task (no context effect), COBRA / Bayes filter* | *0.288 / 0.227* | *0.209 / 0.199* | *0.204 / 0.189* |
193
+
194
+
195
+ <p align="center"><img src="https://raw.githubusercontent.com/yeshwanthguru/Quantum-mind/main/docs/assets/cobra_benchmark.png" alt="Expected decision cost against training size for COBRA and the baselines" width="100%"></p>
196
+
197
+ The honest reading is in [`benchmarks/results/context_intent/`](https://github.com/yeshwanthguru/Quantum-mind/tree/main/benchmarks/results/context_intent)
198
+ and on the [COBRA page](https://yeshwanthguru.github.io/Quantum-mind/docs/user_guide/belief.html):
199
+
200
+ * With 250 to 1000 training sequences COBRA has the lowest cost of the learned models on the context task (about 0.02 below the Bayes filter). A paired sign-flip test on per-sequence cost is significant in only 2 of 5 seeds at each size, because training varies from seed to seed.
201
+ * With 60 training sequences COBRA is **worse** than the Bayes filter (0.347 against 0.280).
202
+ * On the **control** task, where context does not matter, COBRA is slightly **worse** than the Bayes filter (0.204 against 0.189 at 1000 sequences).
203
+ * Removing coherence (the ablation) loses about 0.03 to 0.04 in cost at 250 and 1000 sequences, a hint that phase interference helps; five seeds are too few to be sure.
204
+ * Under 1.5x test noise COBRA is the best calibrated model (cost 0.481 against 0.608 for the Bayes filter at 1000 sequences).
205
+ * Its l1 coherence flags its own errors barely better than chance (AUROC about 0.53); belief entropy (about 0.81) is far better.
206
+
207
+
208
+ <a id="layers"></a>
209
+
210
+ ## Three layers
211
+
212
+ <table>
213
+ <tr>
214
+ <th width="33%">1 · Quantum-like human models</th>
215
+ <th width="33%">2 · COBRA belief filter</th>
216
+ <th width="33%">3 · Robot decision layer</th>
217
+ </tr>
218
+ <tr valign="top">
219
+ <td>
220
+
221
+ How **people** judge, decide and trust, in quantum probability, each with classical baselines.
222
+
223
+ - order effects · conjunction · interference
224
+ - trust as an open quantum system
225
+ - quantum-like Bayesian networks
226
+ - decision theory · contextuality · similarity
227
+ - memory · concepts · bistable perception
228
+ - per-person fitting, comparison, recovery
229
+
230
+ `quantum_mind.families`, `quantum_mind.core`
231
+
232
+ </td>
233
+ <td>
234
+
235
+ A robot's belief as a **density matrix** read in a context-dependent basis.
236
+
237
+ - context-rotated generalised measurement
238
+ - learned dephasing, coherence diagnostic
239
+ - online streaming filter for robots
240
+ - Bayes filter and incoherent filter as limits
241
+ - minimum-cost action with an "ask" row
242
+
243
+ `quantum_mind.belief`
244
+
245
+ </td>
246
+ <td>
247
+
248
+ From belief to action under cost, with calibrated uncertainty.
249
+
250
+ - ask or act, with hazard levels
251
+ - question planner (value of information)
252
+ - trust-aware hand-over and task allocation
253
+ - calibration, conformal sets, fusion, orchestration
254
+ - Gymnasium environments with simulated people
255
+ - ROS 2 node
256
+
257
+ `quantum_mind.applications`, `quantum_mind.envs`
258
+
259
+ </td>
260
+ </tr>
261
+ </table>
262
+
263
+ Around them: `quantum_mind.circuits` (Qiskit circuits of the families, `run()` on Aer, IBM Quantum and Amazon
264
+ Braket), `quantum_mind.quantum` (the exact state-vector simulator) and `quantum_mind.viz` (the Bloch-sphere viewer).
265
+
266
+ **What is deliberately not here.** General-purpose quantum algorithms (VQE, QAOA, Grover, quantum kernels,
267
+ variational classifiers) and quantum-inspired optimisers are provided and maintained far better by Qiskit,
268
+ PennyLane and optimisation libraries. Version 3.0 removed the copies this library used to carry, so that it
269
+ contains only what is specific to quantum cognition in robotics.
270
+
271
+ <a id="quick-start"></a>
272
+
273
+ ## Quick start
274
+
275
+ ```bash
276
+ pip install quantum-mind # core: numpy, scipy
277
+ pip install "quantum-mind[all]" # everything (Qiskit, cloud back ends, viewer)
278
+ ```
279
+
280
+ Is there a question-order effect, and which model explains it?
281
+
282
+ ```python
283
+ import numpy as np
284
+ from quantum_mind import compare
285
+ from quantum_mind.families.order_effects import QuantumOrderModel4D, BayesOrderModel, AnchoringOrderModel, qq_test
286
+
287
+ counts = {'AB': np.array([212, 48, 61, 179]), # A asked first: yes-yes, yes-no, no-yes, no-no
288
+ 'BA': np.array([240, 33, 52, 175])} # B asked first
289
+ print(qq_test(counts)) # parameter-free test of the quantum-like prediction
290
+ for r in compare([QuantumOrderModel4D, BayesOrderModel, AnchoringOrderModel], counts):
291
+ print(type(r.model).__name__, round(r.bic, 1))
292
+ ```
293
+
294
+ A human model with uncertainty, for a planner or a ROS 2 system:
295
+
296
+ ```python
297
+ from quantum_mind.applications.robotics import HumanModelService
298
+
299
+ svc = HumanModelService()
300
+ svc.add_answer({'order': 'AB', 'answers': [1, 0]}) # one person's two answers (1 = yes)
301
+ svc.query({'order': 'AB', 'ask_cost': 1.0, 'error_cost': 3.0})
302
+ # -> prediction, uncertainty (entropy, model disagreement in bits), ensemble weights, 'ask' or 'act'
303
+ ```
304
+
305
+ <a id="viewer"></a>
306
+
307
+ ## See the qubits
308
+
309
+ <table>
310
+ <tr>
311
+ <td align="center" width="62%"><img src="https://raw.githubusercontent.com/yeshwanthguru/Quantum-mind/main/docs/assets/entanglement.gif" alt="Two qubits entangled and disentangled by a circuit" width="100%"><br>
312
+ <sub>A Qiskit circuit, gate by gate. While the qubits are entangled, their vectors leave the sphere.<br><code>circuit_trajectory(qc)</code> → <code>animate_trajectory</code> / <code>animate_bloch</code></sub></td>
313
+ <td align="center" width="38%"><img src="https://raw.githubusercontent.com/yeshwanthguru/Quantum-mind/main/docs/assets/trust_belief.gif" alt="Trust belief of a simulated person on the Bloch sphere" width="100%"><br>
314
+ <sub>Trust in a robot as a qubit, over successes and failures, with dephasing.<br><code>belief_trajectory(OpenSystemBelief(), events)</code></sub></td>
315
+ </tr>
316
+ </table>
317
+
318
+ ```python
319
+ from qiskit import QuantumCircuit
320
+ from quantum_mind.viz import circuit_trajectory, animate_bloch, save_html, LiveBloch, bloch_tomography
321
+
322
+ qc = QuantumCircuit(2); qc.h(0); qc.cx(0, 1); qc.ry(0.6, 1)
323
+ traj = circuit_trajectory(qc, steps=15)
324
+ save_html(animate_bloch(traj), 'bell.html') # interactive: rotate, zoom, play, slider
325
+ LiveBloch(2).show().play(traj) # real time in Jupyter or a Matplotlib window
326
+ bloch_tomography(qc, 'aer:FakeTorino') # Bloch vectors measured under IBM device noise
327
+ ```
328
+
329
+ The same views draw a person's trust belief, and the density matrix of a COBRA belief
330
+ (`docs/assets/cobra_density_matrix.png`). The [viewer README](https://github.com/yeshwanthguru/Quantum-mind/blob/main/src/quantum_mind/viz/README.md)
331
+ covers everything else.
332
+
333
+ <a id="validation"></a>
334
+
335
+ ## Validation, as measured
336
+
337
+ Quantum Mind is a **research platform, not a claim of quantum advantage**. Its strongest scientific use is
338
+ evaluating quantum-like models of human judgement against classical alternatives and connecting calibrated
339
+ uncertainty to robot questioning, trust and ask-or-act decisions.
340
+
341
+ * **Evaluation layer.** Log loss, Brier score, expected calibration error, decision cost, bootstrap intervals,
342
+ paired bootstrap and randomisation tests, effect sizes, Holm correction, dataset hashes, experiment manifests and
343
+ model-provenance records (`quantum_mind.evaluation`), plus a reproducible HRI decision benchmark
344
+ (`benchmarks/hri_decision_benchmark.py`) and the COBRA benchmark above.
345
+ * **Every new idea gets** a classical baseline, an ablation that isolates it, a control task where it should not
346
+ help, and a paired test. Where the classical method wins the documentation says so.
347
+ * **What is not validated.** All robotics results use simulated people or published survey aggregates. No study
348
+ with real people and a robot has been run; [`docs/help/validation.md`](docs/help/validation.md) lists the gaps
349
+ and gives a pilot-study protocol. In several comparisons the simulated people follow the model the robot uses,
350
+ which favours the order-aware method by construction; the tutorials say where.
351
+
352
+ For the workflow see [`docs/research_validation.md`](docs/research_validation.md) and
353
+ [`docs/research_claims.md`](docs/research_claims.md).
354
+
355
+ ## Model catalogue
356
+
357
+ The [model atlas](https://yeshwanthguru.github.io/Quantum-mind/docs/atlas/index.html) gives a block diagram, the
358
+ API object, the classical baselines and the reference for every model, and labels each by origin:
359
+
360
+ | Label | Entries | Meaning |
361
+ |---|---|---|
362
+ | Unique to Quantum Mind | 15 | designed in this library, building on the cited methods: COBRA and its online mode, the robot decision layer (ensemble, ask or act, question planner, trust-aware hand-over and allocation), the environments, the circuits for the quantum-like families |
363
+ | Published model, extended | 16 | implemented as published, with capabilities the papers do not have (bootstrap intervals, a per-person posterior updated after every answer, informative-question design) |
364
+ | Published method | 11 | implemented as published (Lüders rule, Lindblad evolution, fitting, calibration, the Bayes filter, ...) |
365
+ | Software tool | 6 | infrastructure |
366
+
367
+ The extensions that apply to every people model are `bootstrap`, `OnlinePersonModel` and
368
+ `rank_conditions` / `model_posterior`. For robots: `AdaptiveConformalSets` (sets for a person's next answer that
369
+ keep their long-run coverage), online personalisation, `trust_aware_allocation` and `sample_people` (training
370
+ against populations of simulated people).
371
+
372
+ ## Architecture
373
+
374
+ ```
375
+ src/quantum_mind/
376
+ ├── core/ Lüders rule, density matrices, Lindblad · Model/Param · fit, compare, recovery · bootstrap, online, design
377
+ ├── families/ order_effects · conjunction · interference · qlbn · dynamics · decision · contextuality · similarity · memory · concepts · perception
378
+ ├── belief/ COBRA · OnlineBelief · GaussianBayesFilter · min_cost_action
379
+ ├── applications/ robotics: question domains, trust, intent resolution, ensemble, ask_or_act · calibration · orchestration · questioning · handover · allocation · fusion
380
+ ├── envs/ Gymnasium environments with simulated people
381
+ ├── circuits/ Qiskit circuits of the families · run() on Aer, IBM Quantum, Amazon Braket
382
+ ├── quantum/ exact state-vector simulator (used by the viewer and the circuit exports)
383
+ ├── problems/ the QUBO container used by trust-aware allocation
384
+ ├── viz/ Bloch vectors, trajectories, tomography · Matplotlib and Plotly viewers · LiveBloch
385
+ ├── evaluation/ metrics, paired statistics, manifests, provenance
386
+ └── data/ published aggregate data sets
387
+ benchmarks/ COBRA context-intent benchmark · HRI decision benchmark
388
+ examples/ 21 scripts tutorials/ 15 tutorials + a packaged hand-over use case
389
+ docs/ Sphinx documentation, atlas, mathematics notebooks/ 2 Jupyter notebooks
390
+ integrations/ros2/ ROS 2 node (quantum_mind_ros) site/ project website (built by CI)
391
+ ```
392
+
393
+ ## Running on quantum hardware
394
+
395
+ The circuits of the quantum-like families run on simulators and, with credentials, on hardware:
396
+
397
+ ```bash
398
+ python3 examples/09_cloud_run.py --dry-run # local, no account
399
+ python3 examples/09_cloud_run.py --backend ibm:least_busy --shots 4000 # IBM Quantum
400
+ python3 examples/09_cloud_run.py --backend braket:arn:aws:braket:us-east-1::device/qpu/ionq/Forte-1 --shots 1000
401
+ ```
402
+
403
+ `run(circuit, backend)` accepts `aer`, `aer:<FakeBackend>`, `braket_local`, `braket_dm:<p>`, `ibm:<device>` and
404
+ `braket:<ARN>`. Aer (ideal and with IBM noise models) and the Braket simulators are tested in CI; the IBM and
405
+ Braket **submission code is tested against local stand-ins and has not been run on hardware**. Report hardware
406
+ results exactly as measured, with backend, date and job identifier.
407
+
408
+ ## A packaged use case: trust-aware hand-over
409
+
410
+ [`tutorials/trust_handover_package`](https://github.com/yeshwanthguru/Quantum-mind/tree/main/tutorials/trust_handover_package)
411
+ turns one robotics model into an installable package (`quantum-handover`): a robot arm decides before each
412
+ hand-over whether to hand over, hand over slowly, ask or wait, using the quantum-like trust model. It has a
413
+ benchmark against two populations of simulated people, a PyBullet simulation recorded as a GIF, a ROS 2 node, its
414
+ own tests and a `requirements.txt`; tutorial 15 walks through it. Results are for simulated people only.
415
+
416
+ <a id="status"></a>
417
+
418
+ ## Status and scope
419
+
420
+ | Area | What exists | What does not (yet) |
421
+ |---|---|---|
422
+ | Quantum-like models | 11 families with classical baselines, fitting, BIC/AIC, recovery studies, per-person fitting and comparison, partial pooling; published aggregate data | full hierarchical Bayesian inference (only MAP partial pooling) |
423
+ | COBRA belief filter | context-rotated density-matrix filter, online mode, Bayes and incoherent limits, benchmark with ablations and paired tests, figures | real-person data; reliable training (the context mechanism is found on some restarts only); analytic gradients |
424
+ | Robotics | simulated populations for three question domains, questioning designs, trust protocol, intent resolution, `HumanModelEnsemble`, `ask_or_act`, risk-aware decisions, calibration and conformal sets, orchestration gates, question planner, trust-aware hand-over and allocation, fusion, environments, `HumanModelService`, a ROS 2 node | a run of the ROS 2 node inside a ROS 2 installation (its callbacks are tested with stand-in modules); data from human-robot studies |
425
+ | Simulator, circuits, viewer | exact simulator with adjoint gradients and Qiskit export, circuits of the families, trajectories, animations, interactive HTML, live widget, tomography, concurrence, Q-sphere | runs on hardware |
426
+
427
+ ## Installation
428
+
429
+ | Extra | Adds | For |
430
+ |---|---|---|
431
+ | (core) | numpy, scipy | quantum-like families, COBRA, decision layer, simulator |
432
+ | `[qiskit]` | qiskit, qiskit-aer, qiskit-ibm-runtime | circuits, Aer, IBM fake-backend noise, `circuit_trajectory` |
433
+ | `[cloud]` | qiskit-ibm-runtime, amazon-braket-sdk | IBM Quantum and Amazon Braket hardware |
434
+ | `[viz]` | matplotlib, plotly, ipywidgets, anywidget, seaborn | Bloch-sphere viewer, animations, live widget |
435
+ | `[all]` | all of the above | |
436
+ | `[dev]` | pytest, pytest-cov, ruff, nbclient, build, twine | tests, coverage, linting, notebooks, packaging |
437
+
438
+ From a clone: `pip install -e ".[all,dev]"`. Python 3.10 or later.
439
+
440
+ ```bash
441
+ python3 -m pytest -q --cov=quantum_mind # 139 tests (CI requires at least 80% line coverage)
442
+ python3 benchmarks/context_intent_benchmark.py # the COBRA benchmark, about 10 to 20 minutes on 4 cores
443
+ python3 docs/make_cobra_figures.py # redraw the COBRA figures
444
+ ```
445
+
446
+ ## Limitations
447
+
448
+ - Fitting aggregate counts assumes a homogeneous population. Individual differences can hide or mimic
449
+ quantum-like structure: in example 14 a pooled fit picks the quantum-like model for a population that is half
450
+ anchoring, and per-person comparison needs about 3,000 answers per person to tell the models apart.
451
+ - Several quantum-like models have been challenged by further tests, for example the Grand Reciprocity equations
452
+ and conjunction-fallacy tests. The family READMEs list these.
453
+ - COBRA's advantage is shown on **synthetic data built to contain a context effect**. With little training data it
454
+ loses to the Bayes filter, training can miss the mechanism, and its coherence is a weak error signal.
455
+ - Hardware noise distorts circuits by a few percent of total variation for small circuits, and more for deep ones.
456
+
457
+ ## Data
458
+
459
+ `quantum_mind.data` contains the only human data in the package, all of it published aggregates: the Clinton–Gore
460
+ order effect (Moore, 2002), the Prisoner's Dilemma disjunction effect (Shafir and Tversky, 1992), the two-stage
461
+ gamble (Tversky and Shafir, 1992) and the Linda problem (Tversky and Kahneman, 1983). Every other data set in the
462
+ examples is simulated and labelled as such.
463
+
464
+ ## Citing and licence
465
+
466
+ To cite Quantum Mind, use `CITATION.cff` (GitHub's "Cite this repository" button), together with the original paper
467
+ of every model you use, listed on the
468
+ [references by model](https://yeshwanthguru.github.io/Quantum-mind/docs/atlas/references.html) page and in
469
+ [`references.bib`](https://github.com/yeshwanthguru/Quantum-mind/blob/main/references.bib) (entries without a
470
+ matching Crossref record hold the text as cited and are marked `UNVERIFIED`). The package is released under the
471
+ [Apache License 2.0](https://github.com/yeshwanthguru/Quantum-mind/blob/main/LICENSE) (see also
472
+ [NOTICE](https://github.com/yeshwanthguru/Quantum-mind/blob/main/NOTICE)). For contributing see
473
+ [CONTRIBUTING.md](https://github.com/yeshwanthguru/Quantum-mind/blob/main/CONTRIBUTING.md); for release history see
474
+ [CHANGELOG.md](https://github.com/yeshwanthguru/Quantum-mind/blob/main/CHANGELOG.md).
475
+
476
+ **Author and maintainer:** Yeshwanth Guru (yeshwanth445@gmail.com; ORCID
477
+ [0009-0007-6353-4033](https://orcid.org/0009-0007-6353-4033)). Security reports: see
478
+ [SECURITY.md](https://github.com/yeshwanthguru/Quantum-mind/blob/main/SECURITY.md).