summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 07:29:19 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 07:29:19 +0000
commitc64a691e1dedcd5b4ae5fccc2d6be03e9c00d541 (patch)
tree2a2726af6809889caf76261322aea870e3561a5e
parent57f61d2a0f5fcf60fd533d231e07891c4e91d95e (diff)
automatic import of python-qiskit-optimization
-rw-r--r--.gitignore1
-rw-r--r--python-qiskit-optimization.spec235
-rw-r--r--sources1
3 files changed, 237 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..e815e03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/qiskit-optimization-0.5.0.tar.gz
diff --git a/python-qiskit-optimization.spec b/python-qiskit-optimization.spec
new file mode 100644
index 0000000..166447c
--- /dev/null
+++ b/python-qiskit-optimization.spec
@@ -0,0 +1,235 @@
+%global _empty_manifest_terminate_build 0
+Name: python-qiskit-optimization
+Version: 0.5.0
+Release: 1
+Summary: Qiskit Optimization: A library of quantum computing optimizations
+License: Apache-2.0
+URL: https://github.com/Qiskit/qiskit-optimization
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c0/a3/9084490d4fbc79ef84e733ccdc706613f248f12252b574f083dacdd9032a/qiskit-optimization-0.5.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-qiskit-terra
+Requires: python3-scipy
+Requires: python3-numpy
+Requires: python3-docplex
+Requires: python3-setuptools
+Requires: python3-networkx
+Requires: python3-cplex
+Requires: python3-cvxpy
+Requires: python3-gurobipy
+Requires: python3-matplotlib
+
+%description
+### Optional Installs
+* **IBM CPLEX** may be installed using `pip install 'qiskit-optimization[cplex]'` to enable the reading of `LP` files and the usage of
+ the `CplexOptimizer`, wrapper for ``cplex.Cplex``. Currently there is no python 3.9 version of CPLEX. In this case, the CPLEX install
+ command will have no effect.
+* **CVXPY** may be installed using the command `pip install 'qiskit-optimization[cvx]'`.
+ CVXPY being installed will enable the usage of the Goemans-Williamson algorithm as an optimizer `GoemansWilliamsonOptimizer`.
+* **Matplotlib** may be installed using the command `pip install 'qiskit-optimization[matplotlib]'`.
+ Matplotlib being installed will enable the usage of the `draw` method in the graph optimization application classes.
+* **Gurobipy** may be installed using the command `pip install 'qiskit-optimization[gurobi]'`.
+ Gurobipy being installed will enable the usage of the GurobiOptimizer.
+### Creating Your First Optimization Programming Experiment in Qiskit
+Now that Qiskit Optimization is installed, it's time to begin working with the optimization module.
+Let's try an optimization experiment to compute the solution of a
+[Max-Cut](https://en.wikipedia.org/wiki/Maximum_cut). The Max-Cut problem can be formulated as
+quadratic program, which can be solved using many several different algorithms in Qiskit.
+In this example, the MinimumEigenOptimizer
+is employed in combination with the Quantum Approximate Optimization Algorithm (QAOA) as minimum
+eigensolver routine.
+```python
+from docplex.mp.model import Model
+from qiskit_optimization.algorithms import MinimumEigenOptimizer
+from qiskit_optimization.translators import from_docplex_mp
+from qiskit.utils import algorithm_globals
+from qiskit.primitives import Sampler
+from qiskit.algorithms.minimum_eigensolvers import QAOA
+from qiskit.algorithms.optimizers import SPSA
+# Generate a graph of 4 nodes
+n = 4
+edges = [(0, 1, 1.0), (0, 2, 1.0), (0, 3, 1.0), (1, 2, 1.0), (2, 3, 1.0)] # (node_i, node_j, weight)
+# Formulate the problem as a Docplex model
+model = Model()
+# Create n binary variables
+x = model.binary_var_list(n)
+# Define the objective function to be maximized
+model.maximize(model.sum(w * x[i] * (1 - x[j]) + w * (1 - x[i]) * x[j] for i, j, w in edges))
+# Fix node 0 to be 1 to break the symmetry of the max-cut solution
+model.add(x[0] == 1)
+# Convert the Docplex model into a `QuadraticProgram` object
+problem = from_docplex_mp(model)
+# Run quantum algorithm QAOA on qasm simulator
+seed = 1234
+algorithm_globals.random_seed = seed
+spsa = SPSA(maxiter=250)
+sampler = Sampler()
+qaoa = QAOA(sampler=sampler, optimizer=spsa, reps=5)
+algorithm = MinimumEigenOptimizer(qaoa)
+result = algorithm.solve(problem)
+print(result.prettyprint()) # prints solution, x=[1, 0, 1, 0], the cost, fval=4
+```
+### Further examples
+Learning path notebooks may be found in the
+[optimization tutorials](https://qiskit.org/documentation/optimization/tutorials/index.html) section
+
+%package -n python3-qiskit-optimization
+Summary: Qiskit Optimization: A library of quantum computing optimizations
+Provides: python-qiskit-optimization
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-qiskit-optimization
+### Optional Installs
+* **IBM CPLEX** may be installed using `pip install 'qiskit-optimization[cplex]'` to enable the reading of `LP` files and the usage of
+ the `CplexOptimizer`, wrapper for ``cplex.Cplex``. Currently there is no python 3.9 version of CPLEX. In this case, the CPLEX install
+ command will have no effect.
+* **CVXPY** may be installed using the command `pip install 'qiskit-optimization[cvx]'`.
+ CVXPY being installed will enable the usage of the Goemans-Williamson algorithm as an optimizer `GoemansWilliamsonOptimizer`.
+* **Matplotlib** may be installed using the command `pip install 'qiskit-optimization[matplotlib]'`.
+ Matplotlib being installed will enable the usage of the `draw` method in the graph optimization application classes.
+* **Gurobipy** may be installed using the command `pip install 'qiskit-optimization[gurobi]'`.
+ Gurobipy being installed will enable the usage of the GurobiOptimizer.
+### Creating Your First Optimization Programming Experiment in Qiskit
+Now that Qiskit Optimization is installed, it's time to begin working with the optimization module.
+Let's try an optimization experiment to compute the solution of a
+[Max-Cut](https://en.wikipedia.org/wiki/Maximum_cut). The Max-Cut problem can be formulated as
+quadratic program, which can be solved using many several different algorithms in Qiskit.
+In this example, the MinimumEigenOptimizer
+is employed in combination with the Quantum Approximate Optimization Algorithm (QAOA) as minimum
+eigensolver routine.
+```python
+from docplex.mp.model import Model
+from qiskit_optimization.algorithms import MinimumEigenOptimizer
+from qiskit_optimization.translators import from_docplex_mp
+from qiskit.utils import algorithm_globals
+from qiskit.primitives import Sampler
+from qiskit.algorithms.minimum_eigensolvers import QAOA
+from qiskit.algorithms.optimizers import SPSA
+# Generate a graph of 4 nodes
+n = 4
+edges = [(0, 1, 1.0), (0, 2, 1.0), (0, 3, 1.0), (1, 2, 1.0), (2, 3, 1.0)] # (node_i, node_j, weight)
+# Formulate the problem as a Docplex model
+model = Model()
+# Create n binary variables
+x = model.binary_var_list(n)
+# Define the objective function to be maximized
+model.maximize(model.sum(w * x[i] * (1 - x[j]) + w * (1 - x[i]) * x[j] for i, j, w in edges))
+# Fix node 0 to be 1 to break the symmetry of the max-cut solution
+model.add(x[0] == 1)
+# Convert the Docplex model into a `QuadraticProgram` object
+problem = from_docplex_mp(model)
+# Run quantum algorithm QAOA on qasm simulator
+seed = 1234
+algorithm_globals.random_seed = seed
+spsa = SPSA(maxiter=250)
+sampler = Sampler()
+qaoa = QAOA(sampler=sampler, optimizer=spsa, reps=5)
+algorithm = MinimumEigenOptimizer(qaoa)
+result = algorithm.solve(problem)
+print(result.prettyprint()) # prints solution, x=[1, 0, 1, 0], the cost, fval=4
+```
+### Further examples
+Learning path notebooks may be found in the
+[optimization tutorials](https://qiskit.org/documentation/optimization/tutorials/index.html) section
+
+%package help
+Summary: Development documents and examples for qiskit-optimization
+Provides: python3-qiskit-optimization-doc
+%description help
+### Optional Installs
+* **IBM CPLEX** may be installed using `pip install 'qiskit-optimization[cplex]'` to enable the reading of `LP` files and the usage of
+ the `CplexOptimizer`, wrapper for ``cplex.Cplex``. Currently there is no python 3.9 version of CPLEX. In this case, the CPLEX install
+ command will have no effect.
+* **CVXPY** may be installed using the command `pip install 'qiskit-optimization[cvx]'`.
+ CVXPY being installed will enable the usage of the Goemans-Williamson algorithm as an optimizer `GoemansWilliamsonOptimizer`.
+* **Matplotlib** may be installed using the command `pip install 'qiskit-optimization[matplotlib]'`.
+ Matplotlib being installed will enable the usage of the `draw` method in the graph optimization application classes.
+* **Gurobipy** may be installed using the command `pip install 'qiskit-optimization[gurobi]'`.
+ Gurobipy being installed will enable the usage of the GurobiOptimizer.
+### Creating Your First Optimization Programming Experiment in Qiskit
+Now that Qiskit Optimization is installed, it's time to begin working with the optimization module.
+Let's try an optimization experiment to compute the solution of a
+[Max-Cut](https://en.wikipedia.org/wiki/Maximum_cut). The Max-Cut problem can be formulated as
+quadratic program, which can be solved using many several different algorithms in Qiskit.
+In this example, the MinimumEigenOptimizer
+is employed in combination with the Quantum Approximate Optimization Algorithm (QAOA) as minimum
+eigensolver routine.
+```python
+from docplex.mp.model import Model
+from qiskit_optimization.algorithms import MinimumEigenOptimizer
+from qiskit_optimization.translators import from_docplex_mp
+from qiskit.utils import algorithm_globals
+from qiskit.primitives import Sampler
+from qiskit.algorithms.minimum_eigensolvers import QAOA
+from qiskit.algorithms.optimizers import SPSA
+# Generate a graph of 4 nodes
+n = 4
+edges = [(0, 1, 1.0), (0, 2, 1.0), (0, 3, 1.0), (1, 2, 1.0), (2, 3, 1.0)] # (node_i, node_j, weight)
+# Formulate the problem as a Docplex model
+model = Model()
+# Create n binary variables
+x = model.binary_var_list(n)
+# Define the objective function to be maximized
+model.maximize(model.sum(w * x[i] * (1 - x[j]) + w * (1 - x[i]) * x[j] for i, j, w in edges))
+# Fix node 0 to be 1 to break the symmetry of the max-cut solution
+model.add(x[0] == 1)
+# Convert the Docplex model into a `QuadraticProgram` object
+problem = from_docplex_mp(model)
+# Run quantum algorithm QAOA on qasm simulator
+seed = 1234
+algorithm_globals.random_seed = seed
+spsa = SPSA(maxiter=250)
+sampler = Sampler()
+qaoa = QAOA(sampler=sampler, optimizer=spsa, reps=5)
+algorithm = MinimumEigenOptimizer(qaoa)
+result = algorithm.solve(problem)
+print(result.prettyprint()) # prints solution, x=[1, 0, 1, 0], the cost, fval=4
+```
+### Further examples
+Learning path notebooks may be found in the
+[optimization tutorials](https://qiskit.org/documentation/optimization/tutorials/index.html) section
+
+%prep
+%autosetup -n qiskit-optimization-0.5.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-qiskit-optimization -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..dbc9cf7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+cbbc49519f9baf68ae1d5b29976bea88 qiskit-optimization-0.5.0.tar.gz