%global _empty_manifest_terminate_build 0 Name: python-pyamg Version: 4.2.3 Release: 1 Summary: PyAMG: Algebraic Multigrid Solvers in Python License: MIT URL: https://github.com/pyamg/pyamg Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6d/1a/c6602b4e25093563c9f7a9b79fd462b2db9076043471588c96e307255fc2/pyamg-4.2.3.tar.gz Requires: python3-numpy Requires: python3-scipy %description [![CI](https://github.com/pyamg/pyamg/workflows/CI/badge.svg)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI+branch%3Amain) [![PyPi](https://img.shields.io/pypi/pyversions/pyamg.svg?style=flat-square)](https://pypi.python.org/pypi/pyamg/) [![codecov](https://codecov.io/gh/pyamg/pyamg/branch/main/graph/badge.svg?token=JpRo1gdALC)](https://codecov.io/gh/pyamg/pyamg) # Installation PyAMG requires `numpy` and `scipy` ``` pip install pyamg ``` or from source: ``` pip install . ``` (`python setup.py install` will no longer work) or with conda (see details below) ``` conda config --add channels conda-forge conda install pyamg ``` # Introduction PyAMG is a library of **Algebraic Multigrid (AMG)** solvers with a convenient Python interface. ![](https://raw.githubusercontent.com/pyamg/pyamg/main/docs/logo/pyamg_logo_withtext.png) PyAMG is currently developed by [Luke Olson](http://lukeo.cs.illinois.edu), and [Jacob Schroder](http://people.llnl.gov/schroder2). # Citing
@MISC{OlSc2018, author = "Olson, L. N. and Schroder, J. B.", title = "{PyAMG}: Algebraic Multigrid Solvers in {Python} v4.0", year = "2018", url = "https://github.com/pyamg/pyamg", note = "Release 4.0" }# Getting Help - For documentation see [http://pyamg.readthedocs.io/en/latest/](http://pyamg.readthedocs.io/en/latest/). - Create an [issue](https://github.com/pyamg/pyamg/issues). - Look at the [Tutorial](https://github.com/pyamg/pyamg/wiki/Tutorial) or the [examples](https://github.com/pyamg/pyamg-examples) (for instance the [0_start_here](https://github.com/pyamg/pyamg-examples/blob/main/0_start_here/demo.py) example). - Run the unit tests (`pip install pytest`): - With PyAMG installed and from a non-source directory: ```python import pyamg pyamg.test() ``` - From the PyAMG source directory and installed (e.g. with `pip install -e .`): ```python pytest . ``` # What is AMG? AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency. Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix. This feature is especially important for problems discretized on unstructured meshes and irregular grids. # PyAMG Features PyAMG features implementations of: - **Ruge-Stuben (RS)** or *Classical AMG* - AMG based on **Smoothed Aggregation (SA)** and experimental support for: - **Adaptive Smoothed Aggregation (αSA)** - **Compatible Relaxation (CR)** The predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations. # Example Usage PyAMG is easy to use! The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG. ````python import pyamg import numpy as np A = pyamg.gallery.poisson((500,500), format='csr') # 2D Poisson problem on 500x500 grid ml = pyamg.ruge_stuben_solver(A) # construct the multigrid hierarchy print(ml) # print hierarchy information b = np.random.rand(A.shape[0]) # pick a random right hand side x = ml.solve(b, tol=1e-10) # solve Ax=b to a tolerance of 1e-10 print("residual: ", np.linalg.norm(b-A*x)) # compute norm of residual vector ```` Program output:
multilevel_solver Number of Levels: 9 Operator Complexity: 2.199 Grid Complexity: 1.667 Coarse Solver: 'pinv2' level unknowns nonzeros 0 250000 1248000 [45.47%] 1 125000 1121002 [40.84%] 2 31252 280662 [10.23%] 3 7825 70657 [ 2.57%] 4 1937 17971 [ 0.65%] 5 483 4725 [ 0.17%] 6 124 1352 [ 0.05%] 7 29 293 [ 0.01%] 8 7 41 [ 0.00%] residual: 1.24748994988e-08# Conda More information can be found at [conda-forge/pyamg-feedstock](https://github.com/conda-forge/pyamg-feedstock). *Linux:* [![Circle CI](https://circleci.com/gh/conda-forge/pyamg-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/pyamg-feedstock) *OSX:* [![TravisCI](https://travis-ci.org/conda-forge/pyamg-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/pyamg-feedstock) *Windows:* [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/pyamg-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/pyamg-feedstock/branch/master) *Version:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/version.svg)](https://anaconda.org/conda-forge/pyamg) *Downloads:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/downloads.svg)](https://anaconda.org/conda-forge/pyamg) Installing `pyamg` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: ``` conda config --add channels conda-forge ``` Once the `conda-forge` channel has been enabled, `pyamg` can be installed with: ``` conda install pyamg ``` It is possible to list all of the versions of `pyamg` available on your platform with: ``` conda search pyamg --channel conda-forge ``` %package -n python3-pyamg Summary: PyAMG: Algebraic Multigrid Solvers in Python Provides: python-pyamg BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-cffi BuildRequires: gcc BuildRequires: gdb %description -n python3-pyamg [![CI](https://github.com/pyamg/pyamg/workflows/CI/badge.svg)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI+branch%3Amain) [![PyPi](https://img.shields.io/pypi/pyversions/pyamg.svg?style=flat-square)](https://pypi.python.org/pypi/pyamg/) [![codecov](https://codecov.io/gh/pyamg/pyamg/branch/main/graph/badge.svg?token=JpRo1gdALC)](https://codecov.io/gh/pyamg/pyamg) # Installation PyAMG requires `numpy` and `scipy` ``` pip install pyamg ``` or from source: ``` pip install . ``` (`python setup.py install` will no longer work) or with conda (see details below) ``` conda config --add channels conda-forge conda install pyamg ``` # Introduction PyAMG is a library of **Algebraic Multigrid (AMG)** solvers with a convenient Python interface. ![](https://raw.githubusercontent.com/pyamg/pyamg/main/docs/logo/pyamg_logo_withtext.png) PyAMG is currently developed by [Luke Olson](http://lukeo.cs.illinois.edu), and [Jacob Schroder](http://people.llnl.gov/schroder2). # Citing
@MISC{OlSc2018, author = "Olson, L. N. and Schroder, J. B.", title = "{PyAMG}: Algebraic Multigrid Solvers in {Python} v4.0", year = "2018", url = "https://github.com/pyamg/pyamg", note = "Release 4.0" }# Getting Help - For documentation see [http://pyamg.readthedocs.io/en/latest/](http://pyamg.readthedocs.io/en/latest/). - Create an [issue](https://github.com/pyamg/pyamg/issues). - Look at the [Tutorial](https://github.com/pyamg/pyamg/wiki/Tutorial) or the [examples](https://github.com/pyamg/pyamg-examples) (for instance the [0_start_here](https://github.com/pyamg/pyamg-examples/blob/main/0_start_here/demo.py) example). - Run the unit tests (`pip install pytest`): - With PyAMG installed and from a non-source directory: ```python import pyamg pyamg.test() ``` - From the PyAMG source directory and installed (e.g. with `pip install -e .`): ```python pytest . ``` # What is AMG? AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency. Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix. This feature is especially important for problems discretized on unstructured meshes and irregular grids. # PyAMG Features PyAMG features implementations of: - **Ruge-Stuben (RS)** or *Classical AMG* - AMG based on **Smoothed Aggregation (SA)** and experimental support for: - **Adaptive Smoothed Aggregation (αSA)** - **Compatible Relaxation (CR)** The predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations. # Example Usage PyAMG is easy to use! The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG. ````python import pyamg import numpy as np A = pyamg.gallery.poisson((500,500), format='csr') # 2D Poisson problem on 500x500 grid ml = pyamg.ruge_stuben_solver(A) # construct the multigrid hierarchy print(ml) # print hierarchy information b = np.random.rand(A.shape[0]) # pick a random right hand side x = ml.solve(b, tol=1e-10) # solve Ax=b to a tolerance of 1e-10 print("residual: ", np.linalg.norm(b-A*x)) # compute norm of residual vector ```` Program output:
multilevel_solver Number of Levels: 9 Operator Complexity: 2.199 Grid Complexity: 1.667 Coarse Solver: 'pinv2' level unknowns nonzeros 0 250000 1248000 [45.47%] 1 125000 1121002 [40.84%] 2 31252 280662 [10.23%] 3 7825 70657 [ 2.57%] 4 1937 17971 [ 0.65%] 5 483 4725 [ 0.17%] 6 124 1352 [ 0.05%] 7 29 293 [ 0.01%] 8 7 41 [ 0.00%] residual: 1.24748994988e-08# Conda More information can be found at [conda-forge/pyamg-feedstock](https://github.com/conda-forge/pyamg-feedstock). *Linux:* [![Circle CI](https://circleci.com/gh/conda-forge/pyamg-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/pyamg-feedstock) *OSX:* [![TravisCI](https://travis-ci.org/conda-forge/pyamg-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/pyamg-feedstock) *Windows:* [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/pyamg-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/pyamg-feedstock/branch/master) *Version:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/version.svg)](https://anaconda.org/conda-forge/pyamg) *Downloads:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/downloads.svg)](https://anaconda.org/conda-forge/pyamg) Installing `pyamg` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: ``` conda config --add channels conda-forge ``` Once the `conda-forge` channel has been enabled, `pyamg` can be installed with: ``` conda install pyamg ``` It is possible to list all of the versions of `pyamg` available on your platform with: ``` conda search pyamg --channel conda-forge ``` %package help Summary: Development documents and examples for pyamg Provides: python3-pyamg-doc %description help [![CI](https://github.com/pyamg/pyamg/workflows/CI/badge.svg)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI+branch%3Amain) [![PyPi](https://img.shields.io/pypi/pyversions/pyamg.svg?style=flat-square)](https://pypi.python.org/pypi/pyamg/) [![codecov](https://codecov.io/gh/pyamg/pyamg/branch/main/graph/badge.svg?token=JpRo1gdALC)](https://codecov.io/gh/pyamg/pyamg) # Installation PyAMG requires `numpy` and `scipy` ``` pip install pyamg ``` or from source: ``` pip install . ``` (`python setup.py install` will no longer work) or with conda (see details below) ``` conda config --add channels conda-forge conda install pyamg ``` # Introduction PyAMG is a library of **Algebraic Multigrid (AMG)** solvers with a convenient Python interface. ![](https://raw.githubusercontent.com/pyamg/pyamg/main/docs/logo/pyamg_logo_withtext.png) PyAMG is currently developed by [Luke Olson](http://lukeo.cs.illinois.edu), and [Jacob Schroder](http://people.llnl.gov/schroder2). # Citing
@MISC{OlSc2018, author = "Olson, L. N. and Schroder, J. B.", title = "{PyAMG}: Algebraic Multigrid Solvers in {Python} v4.0", year = "2018", url = "https://github.com/pyamg/pyamg", note = "Release 4.0" }# Getting Help - For documentation see [http://pyamg.readthedocs.io/en/latest/](http://pyamg.readthedocs.io/en/latest/). - Create an [issue](https://github.com/pyamg/pyamg/issues). - Look at the [Tutorial](https://github.com/pyamg/pyamg/wiki/Tutorial) or the [examples](https://github.com/pyamg/pyamg-examples) (for instance the [0_start_here](https://github.com/pyamg/pyamg-examples/blob/main/0_start_here/demo.py) example). - Run the unit tests (`pip install pytest`): - With PyAMG installed and from a non-source directory: ```python import pyamg pyamg.test() ``` - From the PyAMG source directory and installed (e.g. with `pip install -e .`): ```python pytest . ``` # What is AMG? AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency. Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix. This feature is especially important for problems discretized on unstructured meshes and irregular grids. # PyAMG Features PyAMG features implementations of: - **Ruge-Stuben (RS)** or *Classical AMG* - AMG based on **Smoothed Aggregation (SA)** and experimental support for: - **Adaptive Smoothed Aggregation (αSA)** - **Compatible Relaxation (CR)** The predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations. # Example Usage PyAMG is easy to use! The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG. ````python import pyamg import numpy as np A = pyamg.gallery.poisson((500,500), format='csr') # 2D Poisson problem on 500x500 grid ml = pyamg.ruge_stuben_solver(A) # construct the multigrid hierarchy print(ml) # print hierarchy information b = np.random.rand(A.shape[0]) # pick a random right hand side x = ml.solve(b, tol=1e-10) # solve Ax=b to a tolerance of 1e-10 print("residual: ", np.linalg.norm(b-A*x)) # compute norm of residual vector ```` Program output:
multilevel_solver Number of Levels: 9 Operator Complexity: 2.199 Grid Complexity: 1.667 Coarse Solver: 'pinv2' level unknowns nonzeros 0 250000 1248000 [45.47%] 1 125000 1121002 [40.84%] 2 31252 280662 [10.23%] 3 7825 70657 [ 2.57%] 4 1937 17971 [ 0.65%] 5 483 4725 [ 0.17%] 6 124 1352 [ 0.05%] 7 29 293 [ 0.01%] 8 7 41 [ 0.00%] residual: 1.24748994988e-08# Conda More information can be found at [conda-forge/pyamg-feedstock](https://github.com/conda-forge/pyamg-feedstock). *Linux:* [![Circle CI](https://circleci.com/gh/conda-forge/pyamg-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/pyamg-feedstock) *OSX:* [![TravisCI](https://travis-ci.org/conda-forge/pyamg-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/pyamg-feedstock) *Windows:* [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/pyamg-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/pyamg-feedstock/branch/master) *Version:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/version.svg)](https://anaconda.org/conda-forge/pyamg) *Downloads:* [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/downloads.svg)](https://anaconda.org/conda-forge/pyamg) Installing `pyamg` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: ``` conda config --add channels conda-forge ``` Once the `conda-forge` channel has been enabled, `pyamg` can be installed with: ``` conda install pyamg ``` It is possible to list all of the versions of `pyamg` available on your platform with: ``` conda search pyamg --channel conda-forge ``` %prep %autosetup -n pyamg-4.2.3 %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-pyamg -f filelist.lst %dir %{python3_sitearch}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot