diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-penaltymodel.spec | 101 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 103 insertions, 0 deletions
@@ -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 @@ -0,0 +1 @@ +68ccbd6d9f1d8d51252f5b2bedc992d8 penaltymodel-1.0.2.tar.gz |