mandacaru 26.9.29__py3-none-any.whl

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 (182) hide show
  1. mandacaru/__init__.py +21 -0
  2. mandacaru/__main__.py +15 -0
  3. mandacaru/algorithms/__init__.py +111 -0
  4. mandacaru/algorithms/_hamiltonian_from_atoms.py +664 -0
  5. mandacaru/algorithms/_jax_energy.py +344 -0
  6. mandacaru/algorithms/adapt_vqe.py +1748 -0
  7. mandacaru/algorithms/base.py +1171 -0
  8. mandacaru/algorithms/bloch.py +321 -0
  9. mandacaru/algorithms/calculator.py +1236 -0
  10. mandacaru/algorithms/deflation.py +196 -0
  11. mandacaru/algorithms/dry_run.py +451 -0
  12. mandacaru/algorithms/expressivity.py +439 -0
  13. mandacaru/algorithms/forces.py +686 -0
  14. mandacaru/algorithms/hartree_fock.py +455 -0
  15. mandacaru/algorithms/interaction.py +218 -0
  16. mandacaru/algorithms/pseudo_forces.py +618 -0
  17. mandacaru/algorithms/qpe.py +577 -0
  18. mandacaru/algorithms/rdm.py +383 -0
  19. mandacaru/algorithms/subspace.py +570 -0
  20. mandacaru/algorithms/vqe.py +467 -0
  21. mandacaru/backends/__init__.py +36 -0
  22. mandacaru/backends/hardware.py +281 -0
  23. mandacaru/backends/measurement.py +176 -0
  24. mandacaru/backends/providers.py +926 -0
  25. mandacaru/basis/__init__.py +92 -0
  26. mandacaru/basis/_angular.py +44 -0
  27. mandacaru/basis/_config.py +131 -0
  28. mandacaru/basis/atomic_solver.py +301 -0
  29. mandacaru/basis/base.py +63 -0
  30. mandacaru/basis/factory.py +653 -0
  31. mandacaru/basis/fao.py +180 -0
  32. mandacaru/basis/gaussian.py +111 -0
  33. mandacaru/basis/gaussian_families.py +589 -0
  34. mandacaru/basis/multizeta.py +308 -0
  35. mandacaru/basis/nao.py +190 -0
  36. mandacaru/basis/nao_ae.py +471 -0
  37. mandacaru/basis/pople.py +113 -0
  38. mandacaru/basis/sto_ng.py +206 -0
  39. mandacaru/circuits/__init__.py +43 -0
  40. mandacaru/circuits/adapt_ansatz.py +203 -0
  41. mandacaru/circuits/ansatz.py +250 -0
  42. mandacaru/circuits/base.py +57 -0
  43. mandacaru/circuits/gates.py +42 -0
  44. mandacaru/circuits/pools.py +457 -0
  45. mandacaru/circuits/profiling.py +110 -0
  46. mandacaru/cli.py +508 -0
  47. mandacaru/core/__init__.py +47 -0
  48. mandacaru/core/checkpoint.py +459 -0
  49. mandacaru/core/ewald.py +168 -0
  50. mandacaru/core/hamiltonian.py +844 -0
  51. mandacaru/core/mapping.py +715 -0
  52. mandacaru/core/planewave.py +318 -0
  53. mandacaru/core/sector.py +332 -0
  54. mandacaru/core/serialization.py +642 -0
  55. mandacaru/experimental/VASQE_README.md +24 -0
  56. mandacaru/experimental/__init__.py +50 -0
  57. mandacaru/experimental/vasqe.py +267 -0
  58. mandacaru/integrals/__init__.py +36 -0
  59. mandacaru/integrals/_backend.py +728 -0
  60. mandacaru/integrals/csrc/CMakeLists.txt +73 -0
  61. mandacaru/integrals/csrc/mandacaru_integrals.c +300 -0
  62. mandacaru/integrals/csrc/mandacaru_integrals.h +135 -0
  63. mandacaru/integrals/engine.py +372 -0
  64. mandacaru/integrals/grid.py +268 -0
  65. mandacaru/integrals/poisson.py +283 -0
  66. mandacaru/integrals/potentials.py +111 -0
  67. mandacaru/optimizers/__init__.py +14 -0
  68. mandacaru/optimizers/optim.py +256 -0
  69. mandacaru/pseudopotentials/__init__.py +83 -0
  70. mandacaru/pseudopotentials/families.py +307 -0
  71. mandacaru/pseudopotentials/generation.py +521 -0
  72. mandacaru/pseudopotentials/io.py +586 -0
  73. mandacaru/pseudopotentials/library/ncpp/Ac.parquet +0 -0
  74. mandacaru/pseudopotentials/library/ncpp/Ag.parquet +0 -0
  75. mandacaru/pseudopotentials/library/ncpp/Al.parquet +0 -0
  76. mandacaru/pseudopotentials/library/ncpp/Ar.parquet +0 -0
  77. mandacaru/pseudopotentials/library/ncpp/As.parquet +0 -0
  78. mandacaru/pseudopotentials/library/ncpp/At.parquet +0 -0
  79. mandacaru/pseudopotentials/library/ncpp/Au.parquet +0 -0
  80. mandacaru/pseudopotentials/library/ncpp/B.parquet +0 -0
  81. mandacaru/pseudopotentials/library/ncpp/Ba.parquet +0 -0
  82. mandacaru/pseudopotentials/library/ncpp/Be.parquet +0 -0
  83. mandacaru/pseudopotentials/library/ncpp/Bi.parquet +0 -0
  84. mandacaru/pseudopotentials/library/ncpp/Br.parquet +0 -0
  85. mandacaru/pseudopotentials/library/ncpp/C.parquet +0 -0
  86. mandacaru/pseudopotentials/library/ncpp/Ca.parquet +0 -0
  87. mandacaru/pseudopotentials/library/ncpp/Cd.parquet +0 -0
  88. mandacaru/pseudopotentials/library/ncpp/Ce.parquet +0 -0
  89. mandacaru/pseudopotentials/library/ncpp/Cl.parquet +0 -0
  90. mandacaru/pseudopotentials/library/ncpp/Co.parquet +0 -0
  91. mandacaru/pseudopotentials/library/ncpp/Cr.parquet +0 -0
  92. mandacaru/pseudopotentials/library/ncpp/Cs.parquet +0 -0
  93. mandacaru/pseudopotentials/library/ncpp/Cu.parquet +0 -0
  94. mandacaru/pseudopotentials/library/ncpp/Dy.parquet +0 -0
  95. mandacaru/pseudopotentials/library/ncpp/Er.parquet +0 -0
  96. mandacaru/pseudopotentials/library/ncpp/Eu.parquet +0 -0
  97. mandacaru/pseudopotentials/library/ncpp/F.parquet +0 -0
  98. mandacaru/pseudopotentials/library/ncpp/Fe.parquet +0 -0
  99. mandacaru/pseudopotentials/library/ncpp/Fr.parquet +0 -0
  100. mandacaru/pseudopotentials/library/ncpp/Ga.parquet +0 -0
  101. mandacaru/pseudopotentials/library/ncpp/Gd.parquet +0 -0
  102. mandacaru/pseudopotentials/library/ncpp/Ge.parquet +0 -0
  103. mandacaru/pseudopotentials/library/ncpp/H.parquet +0 -0
  104. mandacaru/pseudopotentials/library/ncpp/He.parquet +0 -0
  105. mandacaru/pseudopotentials/library/ncpp/Hf.parquet +0 -0
  106. mandacaru/pseudopotentials/library/ncpp/Hg.parquet +0 -0
  107. mandacaru/pseudopotentials/library/ncpp/Ho.parquet +0 -0
  108. mandacaru/pseudopotentials/library/ncpp/I.parquet +0 -0
  109. mandacaru/pseudopotentials/library/ncpp/In.parquet +0 -0
  110. mandacaru/pseudopotentials/library/ncpp/Ir.parquet +0 -0
  111. mandacaru/pseudopotentials/library/ncpp/K.parquet +0 -0
  112. mandacaru/pseudopotentials/library/ncpp/Kr.parquet +0 -0
  113. mandacaru/pseudopotentials/library/ncpp/La.parquet +0 -0
  114. mandacaru/pseudopotentials/library/ncpp/Li.parquet +0 -0
  115. mandacaru/pseudopotentials/library/ncpp/Lu.parquet +0 -0
  116. mandacaru/pseudopotentials/library/ncpp/Mg.parquet +0 -0
  117. mandacaru/pseudopotentials/library/ncpp/Mn.parquet +0 -0
  118. mandacaru/pseudopotentials/library/ncpp/Mo.parquet +0 -0
  119. mandacaru/pseudopotentials/library/ncpp/N.parquet +0 -0
  120. mandacaru/pseudopotentials/library/ncpp/Na.parquet +0 -0
  121. mandacaru/pseudopotentials/library/ncpp/Nb.parquet +0 -0
  122. mandacaru/pseudopotentials/library/ncpp/Nd.parquet +0 -0
  123. mandacaru/pseudopotentials/library/ncpp/Ne.parquet +0 -0
  124. mandacaru/pseudopotentials/library/ncpp/Ni.parquet +0 -0
  125. mandacaru/pseudopotentials/library/ncpp/O.parquet +0 -0
  126. mandacaru/pseudopotentials/library/ncpp/Os.parquet +0 -0
  127. mandacaru/pseudopotentials/library/ncpp/P.parquet +0 -0
  128. mandacaru/pseudopotentials/library/ncpp/Pa.parquet +0 -0
  129. mandacaru/pseudopotentials/library/ncpp/Pb.parquet +0 -0
  130. mandacaru/pseudopotentials/library/ncpp/Pd.parquet +0 -0
  131. mandacaru/pseudopotentials/library/ncpp/Pm.parquet +0 -0
  132. mandacaru/pseudopotentials/library/ncpp/Po.parquet +0 -0
  133. mandacaru/pseudopotentials/library/ncpp/Pr.parquet +0 -0
  134. mandacaru/pseudopotentials/library/ncpp/Pt.parquet +0 -0
  135. mandacaru/pseudopotentials/library/ncpp/Ra.parquet +0 -0
  136. mandacaru/pseudopotentials/library/ncpp/Rb.parquet +0 -0
  137. mandacaru/pseudopotentials/library/ncpp/Re.parquet +0 -0
  138. mandacaru/pseudopotentials/library/ncpp/Rh.parquet +0 -0
  139. mandacaru/pseudopotentials/library/ncpp/Rn.parquet +0 -0
  140. mandacaru/pseudopotentials/library/ncpp/Ru.parquet +0 -0
  141. mandacaru/pseudopotentials/library/ncpp/S.parquet +0 -0
  142. mandacaru/pseudopotentials/library/ncpp/Sb.parquet +0 -0
  143. mandacaru/pseudopotentials/library/ncpp/Sc.parquet +0 -0
  144. mandacaru/pseudopotentials/library/ncpp/Se.parquet +0 -0
  145. mandacaru/pseudopotentials/library/ncpp/Si.parquet +0 -0
  146. mandacaru/pseudopotentials/library/ncpp/Sm.parquet +0 -0
  147. mandacaru/pseudopotentials/library/ncpp/Sn.parquet +0 -0
  148. mandacaru/pseudopotentials/library/ncpp/Sr.parquet +0 -0
  149. mandacaru/pseudopotentials/library/ncpp/Ta.parquet +0 -0
  150. mandacaru/pseudopotentials/library/ncpp/Tb.parquet +0 -0
  151. mandacaru/pseudopotentials/library/ncpp/Tc.parquet +0 -0
  152. mandacaru/pseudopotentials/library/ncpp/Te.parquet +0 -0
  153. mandacaru/pseudopotentials/library/ncpp/Th.parquet +0 -0
  154. mandacaru/pseudopotentials/library/ncpp/Ti.parquet +0 -0
  155. mandacaru/pseudopotentials/library/ncpp/Tl.parquet +0 -0
  156. mandacaru/pseudopotentials/library/ncpp/Tm.parquet +0 -0
  157. mandacaru/pseudopotentials/library/ncpp/U.parquet +0 -0
  158. mandacaru/pseudopotentials/library/ncpp/V.parquet +0 -0
  159. mandacaru/pseudopotentials/library/ncpp/W.parquet +0 -0
  160. mandacaru/pseudopotentials/library/ncpp/Xe.parquet +0 -0
  161. mandacaru/pseudopotentials/library/ncpp/Y.parquet +0 -0
  162. mandacaru/pseudopotentials/library/ncpp/Yb.parquet +0 -0
  163. mandacaru/pseudopotentials/library/ncpp/Zn.parquet +0 -0
  164. mandacaru/pseudopotentials/library/ncpp/Zr.parquet +0 -0
  165. mandacaru/pseudopotentials/link_library.py +194 -0
  166. mandacaru/pseudopotentials/multipoles.py +363 -0
  167. mandacaru/pseudopotentials/oncv.py +1408 -0
  168. mandacaru/pseudopotentials/onecenter.py +201 -0
  169. mandacaru/pseudopotentials/orbitals.py +277 -0
  170. mandacaru/pseudopotentials/paw.py +2011 -0
  171. mandacaru/units.py +94 -0
  172. mandacaru/utils/__init__.py +24 -0
  173. mandacaru/utils/banner.py +107 -0
  174. mandacaru/utils/dumps.py +185 -0
  175. mandacaru/utils/logging.py +1184 -0
  176. mandacaru/utils/profiling.py +181 -0
  177. mandacaru/version.py +9 -0
  178. mandacaru-26.9.29.dist-info/METADATA +176 -0
  179. mandacaru-26.9.29.dist-info/RECORD +182 -0
  180. mandacaru-26.9.29.dist-info/WHEEL +4 -0
  181. mandacaru-26.9.29.dist-info/entry_points.txt +2 -0
  182. mandacaru-26.9.29.dist-info/licenses/LICENSE +21 -0
mandacaru/__init__.py ADDED
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # file: __init__.py
3
+
4
+ # This code is part of Mandacaru.
5
+ # MIT License
6
+ #
7
+ # Copyright (c) 2026 Leandro Seixas Rocha <leandro.rocha@ilum.cnpem.br>
8
+
9
+ from .version import __version__
10
+
11
+
12
+ def __getattr__(name):
13
+ # Lazy so `import mandacaru` stays light; `from mandacaru import Mandacaru` is
14
+ # the recommended entry point.
15
+ if name in ("Mandacaru", "BlochCalculator"):
16
+ from . import algorithms
17
+ return getattr(algorithms, name)
18
+ raise AttributeError(f"module 'mandacaru' has no attribute {name!r}")
19
+
20
+
21
+ __all__ = ["__version__", "Mandacaru", "BlochCalculator"]
mandacaru/__main__.py ADDED
@@ -0,0 +1,15 @@
1
+ # -*- coding: utf-8 -*-
2
+ # file: __main__.py
3
+
4
+ # This code is part of Mandacaru.
5
+ # MIT License
6
+ #
7
+ # Copyright (c) 2026 Leandro Seixas Rocha <leandro.rocha@ilum.cnpem.br>
8
+
9
+ """``python -m mandacaru`` -- the same entry point as the ``mandacaru`` script."""
10
+
11
+ import sys
12
+
13
+ from .cli import main
14
+
15
+ sys.exit(main())
@@ -0,0 +1,111 @@
1
+ # -*- coding: utf-8 -*-
2
+ # file: __init__.py
3
+
4
+ # This code is part of Mandacaru.
5
+ # MIT License
6
+ #
7
+ # Copyright (c) 2026 Leandro Seixas Rocha <leandro.rocha@ilum.cnpem.br>
8
+
9
+ """Variational quantum algorithms.
10
+
11
+ The stable solvers: VQE, **ADAPT-VQE** (the default method everywhere), the
12
+ excited-state extensions and the periodic :class:`BlochCalculator`, all reached
13
+ through :class:`Mandacaru`. Solvers outside the stable API plug in through
14
+ :func:`register_method` and are not exported from here.
15
+ """
16
+
17
+ from .adapt_vqe import ADAPTVQE, ADAPTVQEResult, AdaptIteration
18
+ from .deflation import DeflationMixin, EnergyLevels
19
+ from .dry_run import QubitEstimate, count_basis_functions, estimate_qubits
20
+ from .bloch import BandStructure, BlochCalculator
21
+ from .expressivity import (
22
+ ADAPTExpressivityTracker,
23
+ ExpressibilityResult,
24
+ ExpressibilityStep,
25
+ active_space_dimension,
26
+ calculate_haar_distribution,
27
+ calculate_kl_divergence,
28
+ compute_expressibility,
29
+ estimate_effective_dimension,
30
+ plot_expressivity_growth,
31
+ plot_fidelity_distribution,
32
+ sample_pqc_fidelities,
33
+ track_adapt_expressivity,
34
+ )
35
+ from .hartree_fock import (RHF, RHFResult, UHF, UHFResult, natural_orbitals,
36
+ transform_integrals)
37
+ from .subspace import (
38
+ SubspaceADAPTVQE,
39
+ SubspaceADAPTVQEResult,
40
+ SubspaceVQE,
41
+ SubspaceVQEResult,
42
+ )
43
+ from .base import format_pauli_sum
44
+ from .calculator import (DEFAULT_METHOD, METHODS, STABLE_METHODS, Mandacaru,
45
+ available_methods, experimental_methods,
46
+ register_method, resolve_method)
47
+ from .forces import ForceResult, hellmann_feynman_gradient, nuclear_gradient
48
+ from .interaction import InteractionEnergy, interaction_energy
49
+ from .rdm import electronic_energy, one_rdm, particle_number, two_rdm
50
+ from .vqe import VQE, VQEResult
51
+ from .qpe import (QPEMemoryEstimate, QPEResult, QuantumPhaseEstimation,
52
+ phase_estimation, qpe_memory_estimate)
53
+
54
+ __all__ = [
55
+ "VQE",
56
+ "VQEResult",
57
+ "QuantumPhaseEstimation",
58
+ "QPEResult",
59
+ "QPEMemoryEstimate",
60
+ "phase_estimation",
61
+ "qpe_memory_estimate",
62
+ "RHF",
63
+ "RHFResult",
64
+ "UHF",
65
+ "UHFResult",
66
+ "natural_orbitals",
67
+ "transform_integrals",
68
+ "ADAPTVQE",
69
+ "ADAPTVQEResult",
70
+ "AdaptIteration",
71
+ "BlochCalculator",
72
+ "BandStructure",
73
+ "EnergyLevels",
74
+ "SubspaceVQE",
75
+ "SubspaceVQEResult",
76
+ "SubspaceADAPTVQE",
77
+ "SubspaceADAPTVQEResult",
78
+ "compute_expressibility",
79
+ "ExpressibilityResult",
80
+ "ExpressibilityStep",
81
+ "sample_pqc_fidelities",
82
+ "calculate_kl_divergence",
83
+ "calculate_haar_distribution",
84
+ "active_space_dimension",
85
+ "estimate_effective_dimension",
86
+ "ADAPTExpressivityTracker",
87
+ "track_adapt_expressivity",
88
+ "plot_fidelity_distribution",
89
+ "plot_expressivity_growth",
90
+ "Mandacaru",
91
+ "QubitEstimate",
92
+ "estimate_qubits",
93
+ "count_basis_functions",
94
+ "METHODS",
95
+ "STABLE_METHODS",
96
+ "DEFAULT_METHOD",
97
+ "available_methods",
98
+ "experimental_methods",
99
+ "register_method",
100
+ "resolve_method",
101
+ "format_pauli_sum",
102
+ "nuclear_gradient",
103
+ "interaction_energy",
104
+ "InteractionEnergy",
105
+ "hellmann_feynman_gradient",
106
+ "ForceResult",
107
+ "one_rdm",
108
+ "two_rdm",
109
+ "electronic_energy",
110
+ "particle_number",
111
+ ]