summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-penaltymodel.spec101
-rw-r--r--sources1
3 files changed, 103 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c955c33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/penaltymodel-1.0.2.tar.gz
diff --git a/python-penaltymodel.spec b/python-penaltymodel.spec
new file mode 100644
index 0000000..49a7201
--- /dev/null
+++ b/python-penaltymodel.spec
@@ -0,0 +1,101 @@
+%global _empty_manifest_terminate_build 0
+Name: python-penaltymodel
+Version: 1.0.2
+Release: 1
+Summary: Package for creating penalty models.
+License: Apache 2.0
+URL: https://github.com/dwavesystems/penaltymodel
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c9/bf/3bdd0c151f8d1a24d8a293a6ce03e2933099582abfe1bd177b2d05f0de89/penaltymodel-1.0.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-dimod
+Requires: python3-homebase
+Requires: python3-networkx
+Requires: python3-numpy
+Requires: python3-scipy
+
+%description
+One approach to solve a constraint satisfaction problem (`CSP <https://en.wikipedia.org/wiki/Constraint_satisfaction_problem>`_) using an `Ising model <https://en.wikipedia.org/wiki/Ising_model>`_ or a `QUBO <https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization>`_, is to map each individual constraint in the CSP to a 'small' Ising model or QUBO. This mapping is called a *penalty model*.
+Imagine that we want to map an AND clause to a QUBO. In other words, we want the solutions
+to the QUBO (the solutions that minimize the energy) to be exactly the valid configurations
+of an AND gate. Let ``z = AND(x_1, x_2)``.
+Before anything else, let's import that package we will need.
+ import penaltymodel
+ import dimod
+ import networkx as nx
+Next, we need to determine the feasible configurations that we wish to target (by making the energy of these configuration in the binary quadratic low).
+
+%package -n python3-penaltymodel
+Summary: Package for creating penalty models.
+Provides: python-penaltymodel
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-penaltymodel
+One approach to solve a constraint satisfaction problem (`CSP <https://en.wikipedia.org/wiki/Constraint_satisfaction_problem>`_) using an `Ising model <https://en.wikipedia.org/wiki/Ising_model>`_ or a `QUBO <https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization>`_, is to map each individual constraint in the CSP to a 'small' Ising model or QUBO. This mapping is called a *penalty model*.
+Imagine that we want to map an AND clause to a QUBO. In other words, we want the solutions
+to the QUBO (the solutions that minimize the energy) to be exactly the valid configurations
+of an AND gate. Let ``z = AND(x_1, x_2)``.
+Before anything else, let's import that package we will need.
+ import penaltymodel
+ import dimod
+ import networkx as nx
+Next, we need to determine the feasible configurations that we wish to target (by making the energy of these configuration in the binary quadratic low).
+
+%package help
+Summary: Development documents and examples for penaltymodel
+Provides: python3-penaltymodel-doc
+%description help
+One approach to solve a constraint satisfaction problem (`CSP <https://en.wikipedia.org/wiki/Constraint_satisfaction_problem>`_) using an `Ising model <https://en.wikipedia.org/wiki/Ising_model>`_ or a `QUBO <https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization>`_, is to map each individual constraint in the CSP to a 'small' Ising model or QUBO. This mapping is called a *penalty model*.
+Imagine that we want to map an AND clause to a QUBO. In other words, we want the solutions
+to the QUBO (the solutions that minimize the energy) to be exactly the valid configurations
+of an AND gate. Let ``z = AND(x_1, x_2)``.
+Before anything else, let's import that package we will need.
+ import penaltymodel
+ import dimod
+ import networkx as nx
+Next, we need to determine the feasible configurations that we wish to target (by making the energy of these configuration in the binary quadratic low).
+
+%prep
+%autosetup -n penaltymodel-1.0.2
+
+%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-penaltymodel -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..8ae32d1
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+68ccbd6d9f1d8d51252f5b2bedc992d8 penaltymodel-1.0.2.tar.gz