%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 ![github actions](https://github.com/oxfordcontrol/qdldl-python/workflows/Build/badge.svg?branch=master) 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 ![github actions](https://github.com/oxfordcontrol/qdldl-python/workflows/Build/badge.svg?branch=master) 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 ![github actions](https://github.com/oxfordcontrol/qdldl-python/workflows/Build/badge.svg?branch=master) 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 - 0.1.7-1 - Package Spec generated