From 8d23555d22c2112afe7e6da018a5fcb671f78b69 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 23:26:45 +0000 Subject: automatic import of python-pyamg --- .gitignore | 1 + python-pyamg.spec | 550 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 552 insertions(+) create mode 100644 python-pyamg.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..35e62bc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pyamg-4.2.3.tar.gz diff --git a/python-pyamg.spec b/python-pyamg.spec new file mode 100644 index 0000000..79e08df --- /dev/null +++ b/python-pyamg.spec @@ -0,0 +1,550 @@ +%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 - 4.2.3-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..f9851c0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +3870f3a9c42fcfe02565afbdd24d2ec2 pyamg-4.2.3.tar.gz -- cgit v1.2.3