diff options
Diffstat (limited to 'python-pyneqsys.spec')
| -rw-r--r-- | python-pyneqsys.spec | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/python-pyneqsys.spec b/python-pyneqsys.spec new file mode 100644 index 0000000..3a2094b --- /dev/null +++ b/python-pyneqsys.spec @@ -0,0 +1,141 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyneqsys +Version: 0.5.7 +Release: 1 +Summary: Package for numerically solving symbolically defined systems of non-linear equations. +License: BSD +URL: https://github.com/bjodah/pyneqsys +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/32/2e/e462e8565f1472cc46bebf7a0bca7dc8a452a29dc73c341e4b3f70eaea86/pyneqsys-0.5.7.tar.gz +BuildArch: noarch + + +%description +pyneqsys provides a convenience class for +representing and solving non-linear equation systems from symbolic expressions +(provided e.g. with the help of SymPy_). +The numerical root finding is perfomed using either: +- scipy: `scipy.optimize.root <http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html>`_ +- mpmath (arbitrary precision): `mpmath.calculus.optimization.MDNewton <http://mpmath.org/doc/1.0.0/calculus/optimization.html#mpmath.calculus.optimization.MDNewton>`_ +- kinsol (from SUNDIALS): `pykinsol.solve <http://bjodah.github.io/pykinsol/latest/pykinsol.html#pykinsol.solve>`_ +- nleq2 (ZIB library free for academic use): `pynleq2.solve <http://bjodah.github.io/pynleq2/pynleq2.html#pynleq2.solve>`_ +- levmar (Levenberg-Marquardt): `levmar.levmar <https://bjodah.github.io/levmar/latest/levmar.html#levmar.levmar>`_ +In addition to offering a unified interface to different solvers, pyneqsys +can also derive the Jacobian analytically (when using ``pyneqsys.SymbolicSys``). +This is useful since doing so manually is widely recognized as both tedious and error +prone. +The symbolic representation is usually in the form of SymPy_ expressions, +but the user may choose another symbolic back-end (see `sym <https://github.com/bjodah/sym>`_). +In addition to deriving the Jacobian analytically the symbolic representation can for +example apply row-reduce. This is usful for when you have a overdetermined system ( +formed from e.g. applying conservation laws) and want to solve the system by +root-finding rather than using a least-square optimization of e.g. Levenberg-Marquardt +style. +Last, but not the least having a symbolic representation of your system of equations +allows you to generate publication quality latex representations of your equations (through +SymPy's latex printer) from a **single** source‒no more error prone hand-rewriting of the same +equations in another format for presentation! + +%package -n python3-pyneqsys +Summary: Package for numerically solving symbolically defined systems of non-linear equations. +Provides: python-pyneqsys +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyneqsys +pyneqsys provides a convenience class for +representing and solving non-linear equation systems from symbolic expressions +(provided e.g. with the help of SymPy_). +The numerical root finding is perfomed using either: +- scipy: `scipy.optimize.root <http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html>`_ +- mpmath (arbitrary precision): `mpmath.calculus.optimization.MDNewton <http://mpmath.org/doc/1.0.0/calculus/optimization.html#mpmath.calculus.optimization.MDNewton>`_ +- kinsol (from SUNDIALS): `pykinsol.solve <http://bjodah.github.io/pykinsol/latest/pykinsol.html#pykinsol.solve>`_ +- nleq2 (ZIB library free for academic use): `pynleq2.solve <http://bjodah.github.io/pynleq2/pynleq2.html#pynleq2.solve>`_ +- levmar (Levenberg-Marquardt): `levmar.levmar <https://bjodah.github.io/levmar/latest/levmar.html#levmar.levmar>`_ +In addition to offering a unified interface to different solvers, pyneqsys +can also derive the Jacobian analytically (when using ``pyneqsys.SymbolicSys``). +This is useful since doing so manually is widely recognized as both tedious and error +prone. +The symbolic representation is usually in the form of SymPy_ expressions, +but the user may choose another symbolic back-end (see `sym <https://github.com/bjodah/sym>`_). +In addition to deriving the Jacobian analytically the symbolic representation can for +example apply row-reduce. This is usful for when you have a overdetermined system ( +formed from e.g. applying conservation laws) and want to solve the system by +root-finding rather than using a least-square optimization of e.g. Levenberg-Marquardt +style. +Last, but not the least having a symbolic representation of your system of equations +allows you to generate publication quality latex representations of your equations (through +SymPy's latex printer) from a **single** source‒no more error prone hand-rewriting of the same +equations in another format for presentation! + +%package help +Summary: Development documents and examples for pyneqsys +Provides: python3-pyneqsys-doc +%description help +pyneqsys provides a convenience class for +representing and solving non-linear equation systems from symbolic expressions +(provided e.g. with the help of SymPy_). +The numerical root finding is perfomed using either: +- scipy: `scipy.optimize.root <http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html>`_ +- mpmath (arbitrary precision): `mpmath.calculus.optimization.MDNewton <http://mpmath.org/doc/1.0.0/calculus/optimization.html#mpmath.calculus.optimization.MDNewton>`_ +- kinsol (from SUNDIALS): `pykinsol.solve <http://bjodah.github.io/pykinsol/latest/pykinsol.html#pykinsol.solve>`_ +- nleq2 (ZIB library free for academic use): `pynleq2.solve <http://bjodah.github.io/pynleq2/pynleq2.html#pynleq2.solve>`_ +- levmar (Levenberg-Marquardt): `levmar.levmar <https://bjodah.github.io/levmar/latest/levmar.html#levmar.levmar>`_ +In addition to offering a unified interface to different solvers, pyneqsys +can also derive the Jacobian analytically (when using ``pyneqsys.SymbolicSys``). +This is useful since doing so manually is widely recognized as both tedious and error +prone. +The symbolic representation is usually in the form of SymPy_ expressions, +but the user may choose another symbolic back-end (see `sym <https://github.com/bjodah/sym>`_). +In addition to deriving the Jacobian analytically the symbolic representation can for +example apply row-reduce. This is usful for when you have a overdetermined system ( +formed from e.g. applying conservation laws) and want to solve the system by +root-finding rather than using a least-square optimization of e.g. Levenberg-Marquardt +style. +Last, but not the least having a symbolic representation of your system of equations +allows you to generate publication quality latex representations of your equations (through +SymPy's latex printer) from a **single** source‒no more error prone hand-rewriting of the same +equations in another format for presentation! + +%prep +%autosetup -n pyneqsys-0.5.7 + +%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-pyneqsys -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.7-1 +- Package Spec generated |
