slepc4py-3.15.1/ 0000755 0001751 0001751 00000000000 14054125756 014155 5 ustar jroman jroman 0000000 0000000 slepc4py-3.15.1/PKG-INFO 0000644 0001751 0001751 00000004513 14054125756 015255 0 ustar jroman jroman 0000000 0000000 Metadata-Version: 1.2
Name: slepc4py
Version: 3.15.1
Summary: SLEPc for Python
Home-page: https://gitlab.com/slepc/slepc
Author: Lisandro Dalcin
Author-email: dalcinl@gmail.com
Maintainer: Lisandro Dalcin
Maintainer-email: dalcinl@gmail.com
License: BSD
Download-URL: https://pypi.io/packages/source/s/slepc4py/slepc4py-3.15.1.tar.gz
Description: SLEPc for Python
================
Python bindings for SLEPc.
Install
-------
If you have a working MPI implementation and the ``mpicc`` compiler
wrapper is on your search path, it highly recommended to install
``mpi4py`` first::
$ pip install mpi4py
Ensure you have NumPy installed::
$ pip install numpy
and finally::
$ pip install petsc petsc4py slepc slepc4py
Citations
---------
If SLEPc for Python been significant to a project that leads to an
academic publication, please acknowledge that fact by citing the
project.
* L. Dalcin, P. Kler, R. Paz, and A. Cosimo,
*Parallel Distributed Computing using Python*,
Advances in Water Resources, 34(9):1124-1139, 2011.
https://doi.org/10.1016/j.advwatres.2011.04.013
* V. Hernandez, J.E. Roman and V. Vidal.
*SLEPc: A Scalable and Flexible Toolkit for the
Solution of Eigenvalue Problems*,
ACM Transactions on Mathematical Software, 31(3):351-362, 2005.
https://doi.org/10.1145/1089014.1089019
Keywords: scientific computing,parallel computing,SLEPc,PETSc,MPI
Platform: POSIX
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: C
Classifier: Programming Language :: C++
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 5 - Production/Stable
Requires: petsc4py
Provides: slepc4py
slepc4py-3.15.1/README.rst 0000644 0001751 0001751 00000001773 14054125637 015652 0 ustar jroman jroman 0000000 0000000 ================
SLEPc for Python
================
Overview
--------
Welcome to SLEPc for Python. This package provides Python bindings for
SLEPc_, the * Scalable Library for Eigenvalue Problem Computations*.
Dependencies
------------
* Python_ 2.7, 3.3 or above.
* A recent NumPy_ release.
* A matching version of SLEPc_ built with *shared/dynamic libraries*.
* A matching version of PETSc_ built with *shared/dynamic libraries*.
* A matching version of petsc4py_.
* To work with the in-development version, you need to install Cython_.
.. _Python: https://www.python.org
.. _NumPy: https://www.numpy.org
.. _SLEPc: https://slepc.upv.es
.. _PETSc: https://www.mcs.anl.gov/petsc/
.. _petsc4py: https://gitlab.com/petsc/petsc4py
.. _Cython: https://cython.org
Documentation
-------------
* https://slepc4py.readthedocs.org/, This does not contain the epydoc-generated API reference.
* https://slepc.upv.es/slepc4py-current/docs/, This is for the last release, not the in-development version.
slepc4py-3.15.1/docs/ 0000755 0001751 0001751 00000000000 14054125756 015105 5 ustar jroman jroman 0000000 0000000 slepc4py-3.15.1/docs/LICENSE.html 0000644 0001751 0001751 00000022720 14054125727 017056 0 ustar jroman jroman 0000000 0000000
LICENSE: SLEPc for Python
LICENSE: SLEPc for Python
Copyright (c) 2021, Lisandro Dalcin.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
slepc4py-3.15.1/docs/slepc4py.info 0000644 0001751 0001751 00000066464 14054125755 017544 0 ustar jroman jroman 0000000 0000000 This is slepc4py.info, produced by makeinfo version 6.5 from
slepc4py.texi.
SLEPc for Python 3.15.1, May 28, 2021
Lisandro Dalcin
Copyright © 2021, Lisandro Dalcin
INFO-DIR-SECTION Miscellaneous
START-INFO-DIR-ENTRY
* slepc4py: (slepc4py.info). SLEPc for Python.
END-INFO-DIR-ENTRY
Generated by Sphinx 1.6.7.
File: slepc4py.info, Node: Top, Next: Contents, Up: (dir)
SLEPc for Python
****************
SLEPc for Python 3.15.1, May 28, 2021
Lisandro Dalcin
Copyright © 2021, Lisandro Dalcin
Authors: Lisandro Dalcin, Jose E. Roman
Contact: ,
Web Site: ‘https://gitlab.com/slepc/slepc’
Date: May 28, 2021
Abstract
========
This document describes slepc4py(1), a Python(2) port to the SLEPc(3)
libraries.
SLEPc(4) is a software package for the parallel solution of large-scale
eigenvalue problems. It can be used for computing eigenvalues and
eigenvectors of large, sparse matrices, or matrix pairs, and also for
computing singular values and vectors of a rectangular matrix.
SLEPc(5) relies on PETSc(6) for basic functionality such as the
representation of matrices and vectors, and the solution of linear
systems of equations. Thus, slepc4py(7) must be used together with its
companion petsc4py(8).
* Menu:
* Contents::
* Index::
— The Detailed Node Listing —
Contents
* Overview::
* Tutorial::
* Installation::
* Citations::
Overview
* Features::
* Components::
Tutorial
* Commented source of a simple example::
* Example of command-line usage::
Installation
* Using pip or easy_install::
* Using distutils::
Using distutils
* Requirements::
* Downloading::
* Building::
* Installing::
---------- Footnotes ----------
(1) https://gitlab.com/slepc/slepc
(2) https://www.python.org
(3) https://slepc.upv.es
(4) https://slepc.upv.es
(5) https://slepc.upv.es
(6) https://www.mcs.anl.gov/petsc/
(7) https://gitlab.com/slepc/slepc
(8) https://gitlab.com/petsc/petsc
File: slepc4py.info, Node: Contents, Next: Index, Prev: Top, Up: Top
1 Contents
**********
* Menu:
* Overview::
* Tutorial::
* Installation::
* Citations::
File: slepc4py.info, Node: Overview, Next: Tutorial, Up: Contents
1.1 Overview
============
`SLEPc for Python' (slepc4py) is a Python package that provides
convenient access to the functionality of SLEPc.
SLEPc (1), (2) implements algorithms and tools for the numerical
solution of large, sparse eigenvalue problems on parallel computers. It
can be used for linear eigenvalue problems in either standard or
generalized form, with real or complex arithmetic. It can also be used
for computing a partial SVD of a large, sparse, rectangular matrix, and
to solve nonlinear eigenvalue problems (polynomial or general).
Additionally, SLEPc provides solvers for the computation of the action
of a matrix function on a vector.
SLEPc is intended for computing a subset of the spectrum of a matrix (or
matrix pair). One can for instance approximate the largest magnitude
eigenvalues, or the smallest ones, or even those eigenvalues located
near a given region of the complex plane. Interior eigenvalues are
harder to compute, so SLEPc provides different methodologies. One such
method is to use a spectral transformation. Cheaper alternatives are
also available.
* Menu:
* Features::
* Components::
---------- Footnotes ----------
(1) J. E. Roman, C. Campos, L. Dalcin, E. Romero, A. Tomas. SLEPc
Users Manual. DSIC-II/24/02 - Revision 3.15 D. Sistemas Informaticos y
Computacion, Universitat Politecnica de Valencia. 2021.
(2) Vicente Hernandez, Jose E. Roman and Vicente Vidal. SLEPc: A
Scalable and Flexible Toolkit for the Solution of Eigenvalue Problems,
ACM Trans. Math. Softw. 31(3), pp. 351-362, 2005.
File: slepc4py.info, Node: Features, Next: Components, Up: Overview
1.1.1 Features
--------------
Currently, the following types of eigenproblems can be addressed:
* Standard eigenvalue problem, `Ax=kx', either for Hermitian or
non-Hermitian matrices.
* Generalized eigenvalue problem, `Ax=kBx', either Hermitian
positive-definite or not.
* Partial singular value decomposition of a rectangular matrix,
`Au=sv'.
* Polynomial eigenvalue problem, `P(k)x=0'.
* Nonlinear eigenvalue problem, `T(k)x=0'.
* Computing the action of a matrix function on a vector, `w=f(alpha
A)v'.
For the linear eigenvalue problem, the following methods are available:
* Krylov eigensolvers, particularly Krylov-Schur, Arnoldi, and
Lanczos.
* Davidson-type eigensolvers, including Generalized Davidson and
Jacobi-Davidson.
* Subspace iteration and single vector iterations (inverse iteration,
RQI).
* Conjugate gradient for the minimization of the Rayleigh quotient.
* A contour integral solver.
For singular value computations, the following alternatives can be used:
* Use an eigensolver via the cross-product matrix `A’A' or the cyclic
matrix `[0 A; A’ 0]'.
* Explicitly restarted Lanczos bidiagonalization.
* Implicitly restarted Lanczos bidiagonalization (thick-restart
Lanczos).
For polynomial eigenvalue problems, the following methods are available:
* Use an eigensolver to solve the generalized eigenvalue problem
obtained after linearization.
* TOAR and Q-Arnoldi, memory efficient variants of Arnoldi for
polynomial eigenproblems.
For general nonlinear eigenvalue problems, the following methods can be
used:
* Solve a polynomial eigenproblem obtained via polynomial
interpolation.
* Rational interpolation and linearization (NLEIGS).
* Newton-type methods such as SLP or RII.
Computation of interior eigenvalues is supported by means of the
following methodologies:
* Spectral transformations, such as shift-and-invert. This technique
implicitly uses the inverse of the shifted matrix `(A-tI)' in order
to compute eigenvalues closest to a given target value, `t'.
* Harmonic extraction, a cheap alternative to shift-and-invert that
also tries to approximate eigenvalues closest to a target, `t', but
without requiring a matrix inversion.
Other remarkable features include:
* High computational efficiency, by using NumPy and SLEPc under the
hood.
* Data-structure neutral implementation, by using efficient sparse
matrix storage provided by PETSc. Implicit matrix representation
is also available by providing basic operations such as
matrix-vector products as user-defined Python functions.
* Run-time flexibility, by specifying numerous setting at the command
line.
* Ability to do the computation in parallel.
File: slepc4py.info, Node: Components, Prev: Features, Up: Overview
1.1.2 Components
----------------
SLEPc provides the following components, which are mirrored by slepc4py
for its use from Python. The first five components are solvers for
different classes of problems, while the rest can be considered
auxiliary object.
EPS: The Eigenvalue Problem Solver is the component that provides all
the functionality necessary to define and solve an eigenproblem. It
provides mechanisms for completely specifying the problem: the problem
type (e.g. standard symmetric), number of eigenvalues to compute, part
of the spectrum of interest. Once the problem has been defined, a
collection of solvers can be used to compute the required solutions.
The behaviour of the solvers can be tuned by means of a few parameters,
such as the maximum dimension of the subspace to be used during the
computation.
SVD: This component is the analog of EPS for the case of Singular Value
Decompositions. The user provides a rectangular matrix and specifies
how many singular values and vectors are to be computed, whether the
largest or smallest ones, as well as some other parameters for fine
tuning the computation. Different solvers are available, as in the case
of EPS.
PEP: This component is the analog of EPS for the case of Polynomial
Eigenvalue Problems. The user provides the coefficient matrices of the
polynomial. Several parameters can be specified, as in the case of EPS.
It is also possible to indicate whether the problem belongs to a special
type, e.g., symmetric or gyroscopic.
NEP: This component covers the case of general nonlinear eigenproblems,
T(lambda)x=0. The user provides the parameter-dependent matrix T via
the split form or by means of callback functions.
MFN: This component provides the functionality for computing the action
of a matrix function on a vector. Given a matrix A and a vector b, the
call MFNSolve(mfn,b,x) computes x=f(A)b, where f is a function such as
the exponential.
ST: The Spectral Transformation is a component that provides convenient
implementations of common spectral transformations. These are simple
transformations that map eigenvalues to different positions, in such a
way that convergence to wanted eigenvalues is enhanced. The most common
spectral transformation is shift-and-invert, that allows for the
computation of eigenvalues closest to a given target value.
BV: This component encapsulates the concept of a set of Basis Vectors
spanning a vector space. This component provides convenient access to
common operations such as orthogonalization of vectors. The BV
component is usually not required by end-users.
DS: The Dense System (or Direct Solver) component, used internally to
solve dense eigenproblems of small size that appear in the course of
iterative eigensolvers.
FN: A component used to define mathematical functions. This is required
by the end-user for instance to define function T(.) when solving
nonlinear eigenproblems with NEP in split form.
File: slepc4py.info, Node: Tutorial, Next: Installation, Prev: Overview, Up: Contents
1.2 Tutorial
============
This tutorial is intended for basic use of slepc4py. For more advanced
use, the reader is referred to SLEPc tutorials as well as to slepc4py
reference documentation.
* Menu:
* Commented source of a simple example::
* Example of command-line usage::
File: slepc4py.info, Node: Commented source of a simple example, Next: Example of command-line usage, Up: Tutorial
1.2.1 Commented source of a simple example
------------------------------------------
In this section, we include the source code of example ‘demo/ex1.py’
available in the slepc4py distribution, with comments inserted inline.
The first thing to do is initialize the libraries. This is normally not
required, as it is done automatically at import time. However, if you
want to gain access to the facilities for accesing command-line options,
the following lines must be executed by the main script prior to any
petsc4py or slepc4py calls:
import sys, slepc4py
slepc4py.init(sys.argv)
Next, we have to import the relevant modules. Normally, both PETSc and
SLEPc modules have to be imported in all slepc4py programs. It may be
useful to import NumPy as well:
from petsc4py import PETSc
from slepc4py import SLEPc
import numpy
At this point, we can use any petsc4py and slepc4py operations. For
instance, the following lines allow the user to specify an integer
command-line argument ‘n’ with a default value of 30 (see the next
section for example usage of command-line options):
opts = PETSc.Options()
n = opts.getInt('n', 30)
It is necessary to build a matrix to define an eigenproblem (or two in
the case of generalized eigenproblems). The following fragment of code
creates the matrix object and then fills the non-zero elements one by
one. The matrix of this particular example is tridiagonal, with value 2
in the diagonal, and -1 in off-diagonal positions. See petsc4py
documentation for details about matrix objects:
A = PETSc.Mat().create()
A.setSizes([n, n])
A.setFromOptions()
A.setUp()
rstart, rend = A.getOwnershipRange()
# first row
if rstart == 0:
A[0, :2] = [2, -1]
rstart += 1
# last row
if rend == n:
A[n-1, -2:] = [-1, 2]
rend -= 1
# other rows
for i in range(rstart, rend):
A[i, i-1:i+2] = [-1, 2, -1]
A.assemble()
The solver object is created in a similar way as other objects in
petsc4py:
E = SLEPc.EPS(); E.create()
Once the object is created, the eigenvalue problem must be specified.
At least one matrix must be provided. The problem type must be
indicated as well, in this case it is HEP (Hermitian eigenvalue
problem). Apart from these, other settings could be provided here (for
instance, the tolerance for the computation). After all options have
been set, the user should call the ‘setFromOptions()’ operation, so that
any options specified at run time in the command line are passed to the
solver object:
E.setOperators(A)
E.setProblemType(SLEPc.EPS.ProblemType.HEP)
E.setFromOptions()
After that, the ‘solve()’ method will run the selected eigensolver,
keeping the solution stored internally:
E.solve()
Once the computation has finished, we are ready to print the results.
First, some informative data can be retrieved from the solver object:
Print = PETSc.Sys.Print
Print()
Print("******************************")
Print("*** SLEPc Solution Results ***")
Print("******************************")
Print()
its = E.getIterationNumber()
Print("Number of iterations of the method: %d" % its)
eps_type = E.getType()
Print("Solution method: %s" % eps_type)
nev, ncv, mpd = E.getDimensions()
Print("Number of requested eigenvalues: %d" % nev)
tol, maxit = E.getTolerances()
Print("Stopping condition: tol=%.4g, maxit=%d" % (tol, maxit))
For retrieving the solution, it is necessary to find out how many
eigenpairs have converged to the requested precision:
nconv = E.getConverged()
Print("Number of converged eigenpairs %d" % nconv)
For each of the ‘nconv’ eigenpairs, we can retrieve the eigenvalue ‘k’,
and the eigenvector, which is represented by means of two petsc4py
vectors ‘vr’ and ‘vi’ (the real and imaginary part of the eigenvector,
since for real matrices the eigenvalue and eigenvector may be complex).
We also compute the corresponding relative errors in order to make sure
that the computed solution is indeed correct:
if nconv > 0:
# Create the results vectors
vr, wr = A.getVecs()
vi, wi = A.getVecs()
#
Print()
Print(" k ||Ax-kx||/||kx|| ")
Print("----------------- ------------------")
for i in range(nconv):
k = E.getEigenpair(i, vr, vi)
error = E.computeError(i)
if k.imag != 0.0:
Print(" %9f%+9f j %12g" % (k.real, k.imag, error))
else:
Print(" %12f %12g" % (k.real, error))
Print()
File: slepc4py.info, Node: Example of command-line usage, Prev: Commented source of a simple example, Up: Tutorial
1.2.2 Example of command-line usage
-----------------------------------
Now we illustrate how to specify command-line options in order to
extract the full potential of slepc4py.
A simple execution of the ‘demo/ex1.py’ script will result in the
following output:
$ python demo/ex1.py
******************************
*** SLEPc Solution Results ***
******************************
Number of iterations of the method: 4
Solution method: krylovschur
Number of requested eigenvalues: 1
Stopping condition: tol=1e-07, maxit=100
Number of converged eigenpairs 4
k ||Ax-kx||/||kx||
----------------- ------------------
3.989739 5.76012e-09
3.959060 1.41957e-08
3.908279 6.74118e-08
3.837916 8.34269e-08
For specifying different setting for the solver parameters, we can use
SLEPc command-line options with the ‘-eps’ prefix. For instance, to
change the number of requested eigenvalues and the tolerance:
$ python demo/ex1.py -eps_nev 10 -eps_tol 1e-11
The method used by the solver object can also be set at run time:
$ python demo/ex1.py -eps_type subspace
All the above settings can also be changed within the source code by
making use of the appropriate slepc4py method. Since options can be set
from within the code and the command-line, it is often useful to view
the particular settings that are currently being used:
$ python demo/ex1.py -eps_view
EPS Object: 1 MPI processes
type: krylovschur
50% of basis vectors kept after restart
using the locking variant
problem type: symmetric eigenvalue problem
selected portion of the spectrum: largest eigenvalues in magnitude
number of eigenvalues (nev): 1
number of column vectors (ncv): 16
maximum dimension of projected problem (mpd): 16
maximum number of iterations: 100
tolerance: 1e-08
convergence test: relative to the eigenvalue
BV Object: 1 MPI processes
type: svec
17 columns of global length 30
orthogonalization method: classical Gram-Schmidt
orthogonalization refinement: if needed (eta: 0.7071)
block orthogonalization method: GS
doing matmult as a single matrix-matrix product
DS Object: 1 MPI processes
type: hep
solving the problem with: Implicit QR method (_steqr)
ST Object: 1 MPI processes
type: shift
shift: 0
number of matrices: 1
Note that for computing eigenvalues of smallest magnitude we can use the
option ‘-eps_smallest_magnitude’, but for interior eigenvalues things
are not so straightforward. One possibility is to try with harmonic
extraction, for instance to get the eigenvalues closest to 0.6:
$ python demo/ex1.py -eps_harmonic -eps_target 0.6
Depending on the problem, harmonic extraction may fail to converge. In
those cases, it is necessary to specify a spectral transformation other
than the default. In the command-line, this is indicated with the
‘-st_’ prefix. For example, shift-and-invert with a value of the shift
equal to 0.6 would be:
$ python demo/ex1.py -st_type sinvert -eps_target 0.6
File: slepc4py.info, Node: Installation, Next: Citations, Prev: Tutorial, Up: Contents
1.3 Installation
================
* Menu:
* Using pip or easy_install::
* Using distutils::
File: slepc4py.info, Node: Using pip or easy_install, Next: Using distutils, Up: Installation
1.3.1 Using `pip' or `easy_install'
-----------------------------------
You can use ‘pip’ to install ‘slepc4py’ and its dependencies (‘mpi4py’
is optional but highly recommended):
$ pip install [--user] numpy mpi4py
$ pip install [--user] petsc petsc4py
$ pip install [--user] slepc slepc4py
Alternatively, you can use ‘easy_install’ (deprecated):
$ easy_install [--user] slepc4py
If you already have working PETSc and SLEPc installs, set environment
variables ‘SLEPC_DIR’ and ‘PETSC_DIR’ (and perhaps ‘PETSC_ARCH’ for
non-prefix installs) to appropriate values and next use ‘pip’:
$ export SLEPC_DIR=/path/to/slepc
$ export PETSC_DIR=/path/to/petsc
$ export PETSC_ARCH=arch-linux2-c-opt
$ pip install [--user] petsc4py slepc4py
File: slepc4py.info, Node: Using distutils, Prev: Using pip or easy_install, Up: Installation
1.3.2 Using `distutils'
-----------------------
* Menu:
* Requirements::
* Downloading::
* Building::
* Installing::
File: slepc4py.info, Node: Requirements, Next: Downloading, Up: Using distutils
1.3.2.1 Requirements
....................
You need to have the following software properly installed in order to
build `SLEPc for Python':
* Any MPI(1) implementation (2) (e.g., MPICH(3) or Open MPI(4)),
built with shared libraries.
* A matching version of PETSc(5) built with shared libraries.
* A matching version of SLEPc(6) built with shared libraries.
* NumPy(7) package.
* petsc4py(8) package.
---------- Footnotes ----------
(1) https://www.mpi-forum.org
(2) Unless you have appropriately configured and built SLEPc and
PETSc without MPI (configure option ‘--with-mpi=0’).
(3) https://www.mpich.org
(4) https://www.open-mpi.org
(5) https://www.mcs.anl.gov/petsc/
(6) https://slepc.upv.es
(7) https://www.numpy.org
(8) https://gitlab.com/petsc/petsc
File: slepc4py.info, Node: Downloading, Next: Building, Prev: Requirements, Up: Using distutils
1.3.2.2 Downloading
...................
The `SLEPc for Python' package is available for download at the Python
Package Index. You can use ‘curl’ or ‘wget’ to get a release tarball.
* Using ‘curl’:
$ curl -LO https://pypi.io/packages/source/s/slepc4py/slepc4py-X.Y.Z.tar.gz
* Using ‘wget’:
$ wget https://pypi.io/packages/source/s/slepc4py/slepc4py-X.Y.Z.tar.gz
File: slepc4py.info, Node: Building, Next: Installing, Prev: Downloading, Up: Using distutils
1.3.2.3 Building
................
After unpacking the release tarball:
$ tar -zxf slepc4py-X.Y.tar.gz
$ cd slepc4py-X.Y
the distribution is ready for building.
Note: `Mac OS X' users employing a Python distribution built with
`universal binaries' may need to set the environment variables
‘MACOSX_DEPLOYMENT_TARGET’, ‘SDKROOT’, and ‘ARCHFLAGS’ to
appropriate values. As an example, assume your Mac is running
`Snow Leopard' on a `64-bit Intel' processor and you want to
override the hard-wired cross-development SDK in Python
configuration, your environment should be modified like this:
$ export MACOSX_DEPLOYMENT_TARGET=10.6
$ export SDKROOT=/
$ export ARCHFLAGS='-arch x86_64'
Some environment configuration is needed to inform the location of PETSc
and SLEPc. You can set (using ‘setenv’, ‘export’ or what applies to you
shell or system) the environment variables ‘SLEPC_DIR`’, ‘PETSC_DIR’,
and ‘PETSC_ARCH’ indicating where you have built/installed SLEPc and
PETSc:
$ export SLEPC_DIR=/usr/local/slepc
$ export PETSC_DIR=/usr/local/petsc
$ export PETSC_ARCH=arch-linux2-c-opt
Alternatively, you can edit the file ‘setup.cfg’ and provide the
required information below the ‘[config]’ section:
[config]
slepc_dir = /usr/local/slepc
petsc_dir = /usr/local/petsc
petsc_arch = arch-linux2-c-opt
...
Finally, you can build the distribution by typing:
$ python setup.py build
File: slepc4py.info, Node: Installing, Prev: Building, Up: Using distutils
1.3.2.4 Installing
..................
After building, the distribution is ready for installation.
If you have root privileges (either by log-in as the root user of by
using ‘sudo’) and you want to install `SLEPc for Python' in your system
for all users, just do:
$ python setup.py install
The previous steps will install the ‘slepc4py’ package at standard
location ‘`prefix'/lib/python`X'.`X'/site-packages’.
If you do not have root privileges or you want to install `SLEPc for
Python' for your private use, just do:
$ python setup.py install --user
File: slepc4py.info, Node: Citations, Prev: Installation, Up: Contents
1.4 Citations
=============
If SLEPc for Python been significant to a project that leads to an
academic publication, please acknowledge that fact by citing the
project.
* L. Dalcin, P. Kler, R. Paz, and A. Cosimo, `Parallel Distributed
Computing using Python', Advances in Water Resources,
34(9):1124-1139, 2011.
‘http://dx.doi.org/10.1016/j.advwatres.2011.04.013’
* V. Hernandez, J.E. Roman, and V. Vidal, `SLEPc: A scalable and
flexible toolkit for the solution of eigenvalue problems', ACM
Transactions on Mathematical Software, 31(3):351-362, 2005.
‘http://dx.doi.org/10.1145/1089014.1089019’
File: slepc4py.info, Node: Index, Prev: Contents, Up: Top
Index
*****
[index ]
* Menu:
* ARCHFLAGS: Building. (line 15)
* environment variable; ARCHFLAGS: Building. (line 15)
* environment variable; MACOSX_DEPLOYMENT_TARGET: Building. (line 14)
* environment variable; PETSC_ARCH: Using pip or easy_install.
(line 18)
* environment variable; PETSC_ARCH <1>: Building. (line 28)
* environment variable; PETSC_DIR: Using pip or easy_install.
(line 18)
* environment variable; PETSC_DIR <1>: Building. (line 27)
* environment variable; SDKROOT: Building. (line 15)
* environment variable; SLEPC_DIR: Using pip or easy_install.
(line 18)
* environment variable; SLEPC_DIR‘: Building. (line 27)
* MACOSX_DEPLOYMENT_TARGET: Building. (line 14)
* PETSC_ARCH: Using pip or easy_install.
(line 18)
* PETSC_ARCH <1>: Building. (line 28)
* PETSC_DIR: Using pip or easy_install.
(line 18)
* PETSC_DIR <1>: Building. (line 27)
* SDKROOT: Building. (line 15)
* SLEPC_DIR: Using pip or easy_install.
(line 18)
* SLEPC_DIR‘: Building. (line 27)
Tag Table:
Node: Top335
Ref: index doc541
Ref: 0541
Ref: Top-Footnote-11750
Ref: Top-Footnote-21789
Ref: Top-Footnote-31820
Ref: Top-Footnote-41849
Ref: Top-Footnote-51878
Ref: Top-Footnote-61907
Ref: Top-Footnote-71946
Ref: Top-Footnote-81985
Node: Contents2024
Ref: index slepc-for-python2100
Ref: 12100
Ref: index contents2100
Ref: 22100
Node: Overview2190
Ref: overview overview2262
Ref: 32262
Ref: overview doc2262
Ref: 42262
Ref: Overview-Footnote-13433
Ref: Overview-Footnote-23633
Node: Features3828
Ref: overview features3902
Ref: 53902
Node: Components6754
Ref: overview components6828
Ref: 66828
Node: Tutorial9797
Ref: tutorial doc9890
Ref: 79890
Ref: tutorial tutorial9890
Ref: 89890
Node: Commented source of a simple example10170
Ref: tutorial commented-source-of-a-simple-example10291
Ref: 910291
Node: Example of command-line usage15025
Ref: tutorial example-of-command-line-usage15146
Ref: a15146
Node: Installation18401
Ref: install installation18495
Ref: b18495
Ref: install doc18495
Ref: c18495
Node: Using pip or easy_install18590
Ref: install using-pip-or-easy-install18690
Ref: d18690
Node: Using distutils19498
Ref: install using-distutils19598
Ref: e19598
Node: Requirements19718
Ref: install requirements19804
Ref: f19804
Ref: Requirements-Footnote-120267
Ref: Requirements-Footnote-220301
Ref: Requirements-Footnote-320427
Ref: Requirements-Footnote-420457
Ref: Requirements-Footnote-520490
Ref: Requirements-Footnote-620529
Ref: Requirements-Footnote-720558
Ref: Requirements-Footnote-820588
Node: Downloading20627
Ref: install downloading20730
Ref: 1020730
Node: Building21140
Ref: install building21241
Ref: 1121241
Node: Installing22791
Ref: install installing22872
Ref: 1222872
Node: Citations23451
Ref: citing citations23528
Ref: 1323528
Ref: citing doc23528
Ref: 1423528
Node: Index24173
End Tag Table
Local Variables:
coding: utf-8
End:
slepc4py-3.15.1/docs/apiref/ 0000755 0001751 0001751 00000000000 14054125756 016353 5 ustar jroman jroman 0000000 0000000 slepc4py-3.15.1/docs/apiref/slepc4py.SLEPc.ST.Type-class.html 0000644 0001751 0001751 00000024172 14054125747 024267 0 ustar jroman jroman 0000000 0000000
slepc4py.SLEPc.ST.Type
Class Type
ST types
Inherited from object
:
__delattr__
,
__format__
,
__getattribute__
,
__hash__
,
__init__
,
__new__
,
__reduce__
,
__reduce_ex__
,
__repr__
,
__setattr__
,
__sizeof__
,
__str__
,
__subclasshook__
CAYLEY = '
cayley
'
PRECOND = '
precond
'
SHELL = '
shell
'
SHIFT = '
shift
'
SINVERT = '
sinvert
'
__qualname__ = '
STType
'
Inherited from object
:
__class__
slepc4py-3.15.1/docs/apiref/class_hierarchy_for_statetype.png 0000644 0001751 0001751 00000002507 14054125745 025176 0 ustar jroman jroman 0000000 0000000 PNG
IHDR ] $ d> bKGD IDAThkLSgǟB
;(t(tP Aܪk,8jDɂY(@aP:e8VddܬR-ÉMSNZ6.}zs}'{[__
tt0_NB|A1J$P(NrvV24D%BlKK&X:/`lʲBqI,s%?MMz7Ac/KFQw$'_.xθL{On*4"bQ>`ggB[u]vvaTj jn* D 1@V0;jh~i R'> x/*
7?zDa2ޏ74l'bb\ꪾydP