%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