diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 12:01:53 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 12:01:53 +0000 |
commit | 883880c4d8eab8dedc7827e13d9f7c53d139c89f (patch) | |
tree | e4da3690b1aadeeacb785454bfd893ac51af0b71 | |
parent | b8451b82f8c74769775d4b6c9f3f7c54ffdfbd60 (diff) |
automatic import of python-qdldl
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-qdldl.spec | 214 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 216 insertions, 0 deletions
@@ -0,0 +1 @@ +/qdldl-0.1.7.tar.gz diff --git a/python-qdldl.spec b/python-qdldl.spec new file mode 100644 index 0000000..075fb5d --- /dev/null +++ b/python-qdldl.spec @@ -0,0 +1,214 @@ +%global _empty_manifest_terminate_build 0 +Name: python-qdldl +Version: 0.1.7 +Release: 1 +Summary: QDLDL, a free LDL factorization routine. +License: Apache 2.0 +URL: https://github.com/oxfordcontrol/qdldl-python/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/bf/26b48c697b9592b78b98a2bfc12f9f4a91876662c84b5feff58c88725438/qdldl-0.1.7.tar.gz + +Requires: python3-numpy +Requires: python3-scipy + +%description +# qdldl-python + + + +Python interface to the [QDLDL](https://github.com/oxfordcontrol/qdldl/) +free LDL factorization routine for quasi-definite linear systems: `Ax = +b`. + +## Installation + +This package can be directly installed via pip, + +``` +pip install qdldl +``` + +## Usage + +Initialize the factorization with + +``` +import qdldl +F = qdldl.Solver(A) +``` + +where `A` must be a square quasi-definite matrix in [scipy sparse CSC +format](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html). + +The algorithm internally converts the matrix into upper triangular format. If `A` is already upper-triangular, you can specify it with the argument `upper=True` to the `qdldl.Solver` constructor. + +To solve the linear system for a right-hand side `b`, just write + +``` +x = F.solve(b) +``` + +To update the factorization without changing the sparsity pattern of `A` you can run + +``` +F.update(A_new) +``` + +where `A_new` is a sparse matrix in CSR format with the same sparsity pattern as `A`. + +The algorithm internally converts `A_new` into upper triangular format. If `A_new` is already upper-triangular, you can specify it with the argument `upper=True` to the `F.update` function. + + + +%package -n python3-qdldl +Summary: QDLDL, a free LDL factorization routine. +Provides: python-qdldl +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-qdldl +# qdldl-python + + + +Python interface to the [QDLDL](https://github.com/oxfordcontrol/qdldl/) +free LDL factorization routine for quasi-definite linear systems: `Ax = +b`. + +## Installation + +This package can be directly installed via pip, + +``` +pip install qdldl +``` + +## Usage + +Initialize the factorization with + +``` +import qdldl +F = qdldl.Solver(A) +``` + +where `A` must be a square quasi-definite matrix in [scipy sparse CSC +format](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html). + +The algorithm internally converts the matrix into upper triangular format. If `A` is already upper-triangular, you can specify it with the argument `upper=True` to the `qdldl.Solver` constructor. + +To solve the linear system for a right-hand side `b`, just write + +``` +x = F.solve(b) +``` + +To update the factorization without changing the sparsity pattern of `A` you can run + +``` +F.update(A_new) +``` + +where `A_new` is a sparse matrix in CSR format with the same sparsity pattern as `A`. + +The algorithm internally converts `A_new` into upper triangular format. If `A_new` is already upper-triangular, you can specify it with the argument `upper=True` to the `F.update` function. + + + +%package help +Summary: Development documents and examples for qdldl +Provides: python3-qdldl-doc +%description help +# qdldl-python + + + +Python interface to the [QDLDL](https://github.com/oxfordcontrol/qdldl/) +free LDL factorization routine for quasi-definite linear systems: `Ax = +b`. + +## Installation + +This package can be directly installed via pip, + +``` +pip install qdldl +``` + +## Usage + +Initialize the factorization with + +``` +import qdldl +F = qdldl.Solver(A) +``` + +where `A` must be a square quasi-definite matrix in [scipy sparse CSC +format](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html). + +The algorithm internally converts the matrix into upper triangular format. If `A` is already upper-triangular, you can specify it with the argument `upper=True` to the `qdldl.Solver` constructor. + +To solve the linear system for a right-hand side `b`, just write + +``` +x = F.solve(b) +``` + +To update the factorization without changing the sparsity pattern of `A` you can run + +``` +F.update(A_new) +``` + +where `A_new` is a sparse matrix in CSR format with the same sparsity pattern as `A`. + +The algorithm internally converts `A_new` into upper triangular format. If `A_new` is already upper-triangular, you can specify it with the argument `upper=True` to the `F.update` function. + + + +%prep +%autosetup -n qdldl-0.1.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-qdldl -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.7-1 +- Package Spec generated @@ -0,0 +1 @@ +d406b6f0b0b152478b63dc6a54d8a0b8 qdldl-0.1.7.tar.gz |