eqc-models 0.9.9__py3-none-any.whl → 0.10.0__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 (68) hide show
  1. eqc_models-0.10.0.data/platlib/compile_extensions.py +67 -0
  2. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/polyeval.c +127 -123
  3. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/polyeval.cpython-310-darwin.so +0 -0
  4. eqc_models-0.10.0.data/platlib/eqc_models/base.py +115 -0
  5. eqc_models-0.10.0.data/platlib/eqc_models/combinatorics/setcover.py +93 -0
  6. eqc_models-0.10.0.data/platlib/eqc_models/communitydetection.py +25 -0
  7. eqc_models-0.10.0.data/platlib/eqc_models/eqcdirectsolver.py +61 -0
  8. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/graph/base.py +28 -17
  9. eqc_models-0.10.0.data/platlib/eqc_models/graph/partition.py +148 -0
  10. eqc_models-0.10.0.data/platlib/eqc_models/graphs.py +28 -0
  11. eqc_models-0.10.0.data/platlib/eqc_models/maxcut.py +113 -0
  12. eqc_models-0.10.0.data/platlib/eqc_models/maxkcut.py +185 -0
  13. eqc_models-0.10.0.data/platlib/eqc_models/ml/classifierqboost.py +628 -0
  14. eqc_models-0.10.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx +83 -0
  15. eqc_models-0.10.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c +68 -0
  16. eqc_models-0.10.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h +14 -0
  17. eqc_models-0.10.0.data/platlib/eqc_models/quadraticmodel.py +131 -0
  18. eqc_models-0.10.0.data/platlib/eqc_models/solvers/eqcdirect.py +160 -0
  19. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/utilities/polynomial.py +11 -0
  20. {eqc_models-0.9.9.dist-info → eqc_models-0.10.0.dist-info}/METADATA +2 -1
  21. eqc_models-0.10.0.dist-info/RECORD +65 -0
  22. eqc_models-0.9.9.data/platlib/compile_extensions.py +0 -23
  23. eqc_models-0.9.9.data/platlib/eqc_models/ml/classifierqboost.py +0 -423
  24. eqc_models-0.9.9.dist-info/RECORD +0 -52
  25. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/__init__.py +0 -0
  26. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/algorithms/__init__.py +0 -0
  27. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/algorithms/base.py +0 -0
  28. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/algorithms/penaltymultiplier.py +0 -0
  29. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/allocation/__init__.py +0 -0
  30. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/allocation/allocation.py +0 -0
  31. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/allocation/portbase.py +0 -0
  32. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/allocation/portmomentum.py +0 -0
  33. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/assignment/__init__.py +0 -0
  34. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/assignment/qap.py +0 -0
  35. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/assignment/setpartition.py +0 -0
  36. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/__init__.py +0 -0
  37. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/base.py +0 -0
  38. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/constraints.py +0 -0
  39. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/operators.py +0 -0
  40. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/polyeval.pyx +0 -0
  41. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/polynomial.py +0 -0
  42. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/base/quadratic.py +0 -0
  43. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/decoding.py +0 -0
  44. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/graph/__init__.py +0 -0
  45. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/graph/hypergraph.py +0 -0
  46. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/graph/maxcut.py +0 -0
  47. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/graph/maxkcut.py +0 -0
  48. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/__init__.py +0 -0
  49. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/classifierbase.py +0 -0
  50. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/classifierqsvm.py +0 -0
  51. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/clustering.py +0 -0
  52. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/clusteringbase.py +0 -0
  53. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/decomposition.py +0 -0
  54. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/forecast.py +0 -0
  55. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/forecastbase.py +0 -0
  56. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/regressor.py +0 -0
  57. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/regressorbase.py +0 -0
  58. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/ml/reservoir.py +0 -0
  59. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/sequence/__init__.py +0 -0
  60. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/sequence/tsp.py +0 -0
  61. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/solvers/__init__.py +0 -0
  62. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/solvers/qciclient.py +0 -0
  63. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/utilities/__init__.py +0 -0
  64. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/utilities/fileio.py +0 -0
  65. {eqc_models-0.9.9.data → eqc_models-0.10.0.data}/platlib/eqc_models/utilities/qplib.py +0 -0
  66. {eqc_models-0.9.9.dist-info → eqc_models-0.10.0.dist-info}/LICENSE.txt +0 -0
  67. {eqc_models-0.9.9.dist-info → eqc_models-0.10.0.dist-info}/WHEEL +0 -0
  68. {eqc_models-0.9.9.dist-info → eqc_models-0.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,67 @@
1
+ import os
2
+ import sys
3
+ from setuptools import Extension
4
+ from setuptools.command.build_py import build_py as _build_py
5
+ import numpy
6
+
7
+ # # Set cvqboost compile args
8
+ # if sys.platform == "darwin":
9
+ # openmp_prefix = os.environ.get(
10
+ # "LIBOMP_PREFIX", "/opt/homebrew/opt/libomp"
11
+ # )
12
+ # openmp_include = os.path.join(openmp_prefix, "include")
13
+ # openmp_lib = os.path.join(openmp_prefix, "lib", "libomp.a")
14
+ # extra_compile_args_cvq = [
15
+ # "-Xpreprocessor",
16
+ # "-fopenmp",
17
+ # "-O3",
18
+ # "-ffast-math",
19
+ # "-march=native",
20
+ # ]
21
+ # extra_link_args_cvq = [openmp_lib, "-O3", "-march=native"]
22
+ # elif sys.platform.startswith("linux"):
23
+ # extra_compile_args_cvq = [
24
+ # "-static-libgcc",
25
+ # "-fopenmp",
26
+ # "-O3",
27
+ # "-ffast-math",
28
+ # ]
29
+ # extra_link_args_cvq = [
30
+ # "-static-libgcc",
31
+ # "-static-libstdc++",
32
+ # "-fopenmp",
33
+ # "-O3",
34
+ # ]
35
+ # elif sys.platform == "win32":
36
+ # extra_compile_args_cvq = ["/openmp"]
37
+ # extra_link_args_cvq = []
38
+
39
+ # Modules to be compiled and include_dirs when necessary
40
+ extensions = [
41
+ Extension(
42
+ "eqc_models.base.polyeval",
43
+ ["eqc_models/base/polyeval.pyx"],
44
+ include_dirs=[numpy.get_include()],
45
+ extra_compile_args=["-O3", "-ffast-math"],
46
+ ),
47
+ # Extension(
48
+ # "eqc_models.ml.cvqboost_hamiltonian",
49
+ # ["eqc_models/ml/cvqboost_hamiltonian.pyx"],
50
+ # include_dirs=[numpy.get_include()],
51
+ # extra_compile_args=extra_compile_args_cvq,
52
+ # extra_link_args=extra_link_args_cvq,
53
+ # ),
54
+ ]
55
+
56
+
57
+ class build_py(_build_py):
58
+ def run(self):
59
+ self.run_command("build_ext")
60
+ return super().run()
61
+
62
+ def initialize_options(self):
63
+ super().initialize_options()
64
+ if self.distribution.ext_modules == None:
65
+ self.distribution.ext_modules = []
66
+
67
+ self.distribution.ext_modules.extend(extensions)