Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37851111
en ru br
ALT Linux repos
S:3.2-alt9
5.0: 3.2-alt0.M50.1

Group :: Sciences/Mathematics
RPM: spai

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: spai
Version: 3.2
Release: alt0.M50.1
Summary: SParse Approximate Inverse Preconditioner
License: GPL v2
Group: Sciences/Mathematics
Url: http://www.computational.unibas.ch/software/spai/
Packager: Eugeny A. Rostovtsev (REAL) <real at altlinux.org>

Source: http://www.computational.unibas.ch/software/spai/spai-3.2.tar.gz

BuildRequires(pre): rpm-build-compat
BuildPreReq: gcc-fortran openmpi-devel-static libatlas-devel-static
BuildPreReq: liblapack-devel-static

%description
Given a sparse matrix A the SPAI Algorithm computes a sparse approximate inverse
M by minimizing || AM - I || in the Frobenius norm. The approximate inverse is
computed explicitly and can then be applied as a preconditioner to an iterative
method. The sparsity pattern of the approximate inverse is either fixed a priori
or captured automatically:

* Fixed sparsity: The sparsity pattern of M is either banded or a subset of
the sparsity pattern of A.
* Adaptive sparsity: The algorithm proceeds until the 2-norm of each column of
AM-I is less than eps. By varying eps the user controls the quality and the
cost of computing the preconditioner. Usually the optimal eps lies between 0.5
and 0.7.

A very sparse preconditioner is very cheap to compute but may not lead to much
improvement, while if M becomes rather dense it becomes too expensive to
compute. The optimal preconditioner lies between these two extremes and is
problem and computer architecture dependent.

The approximate inverse M can also be used as a robust (parallel) smoother for
(algebraic) multi-grid methods.

%package -n lib%name-devel
Summary: Static development files of SPAI
Group: Development/Other
Requires: %name = %version-%release

%description -n lib%name-devel
Given a sparse matrix A the SPAI Algorithm computes a sparse approximate inverse
M by minimizing || AM - I || in the Frobenius norm. The approximate inverse is
computed explicitly and can then be applied as a preconditioner to an iterative
method.

This package contains static development files of SPAI.

%package -n lib%name-devel-doc
Summary: Documentation for SPAI
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-doc
Given a sparse matrix A the SPAI Algorithm computes a sparse approximate inverse
M by minimizing || AM - I || in the Frobenius norm. The approximate inverse is
computed explicitly and can then be applied as a preconditioner to an iterative
method.

This package contains development documentation for SPAI.

%prep
%setup

%build
%autoreconf
%configure \
--with-blas="-lblas -lcblas -lf77blas -latlas -llapack_atlas" \
--with-lapack="-llapack" \
--with-mpi
%make_build

%install
%make_install_std

mv %buildroot%_bindir/convert %buildroot%_bindir/%name-convert

install -d %buildroot%_datadir/%name
install -p -m644 data/*.mm %buildroot%_datadir/%name

install -d %buildroot%_includedir/%name
install -p -m644 src/*.h *.h %buildroot%_includedir/%name

%files
%doc AUTHORS ChangeLog COPYING README
%_bindir/*
%_datadir/%name

%files -n lib%name-devel
%_includedir/*
%_libdir/*

%files -n lib%name-devel-doc
%_docdir/%name

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin