Compute and visualize pseudospectra of matrices (like eigtool)
Project description
# PseudoPy [![Build Status](https://travis-ci.org/andrenarchy/pseudopy.png?branch=master)](https://travis-ci.org/andrenarchy/pseudopy)
PseudoPy computes and visualizes the pseudospectrum of a matrix. It is a Python version of the original [eigtool](http://www.cs.ox.ac.uk/pseudospectra/eigtool/) by Thomas G. Wright. The algorithms used in this package can be found in the book [Spectra and pseudospectra](http://press.princeton.edu/titles/8113.html) by [Nick Trefethen](http://www.maths.ox.ac.uk/people/profiles/nick.trefethen) and [Mark Embree](http://www.caam.rice.edu/~embree/).
## Example
The pseudospectrum of the Grcar matrix looks like this:
![Pseudospectrum of Grcar matrix](grcar.png)
If no knowledge about the location of the pseudospectrum of the given matrix is available, the following lines of code can be used to obtain an approximation:
```python
from pseudopy import NonnormalAuto, demo
from matplotlib import pyplot
from scipy.linalg import eigvals
# get Grcar matrix
A = demo.grcar(32).todense()
# compute pseudospectrum for the levels of interest between [1e-5, 1]
pseudo = NonnormalAuto(A, 1e-5, 1)
# plot
pseudo.plot([10**k for k in range(-4, 0)], spectrum=eigvals(A))
pyplot.show()
```
## Installation
### Dependencies
PseudoPy depends on numpy, scipy, matplotlib and shapely. If you are on Debian/Ubuntu, you can install these dependencies with
```
sudo apt-get install python-numpy python-scipy python-matplotlib python-shapely
```
### pip
```pip install pseudopy```
Note that you may need to add `sudo` if you want to install it system-wide.
## License
PseudoPy is free software licensed under the [MIT License](http://opensource.org/licenses/mit-license.php).
PseudoPy computes and visualizes the pseudospectrum of a matrix. It is a Python version of the original [eigtool](http://www.cs.ox.ac.uk/pseudospectra/eigtool/) by Thomas G. Wright. The algorithms used in this package can be found in the book [Spectra and pseudospectra](http://press.princeton.edu/titles/8113.html) by [Nick Trefethen](http://www.maths.ox.ac.uk/people/profiles/nick.trefethen) and [Mark Embree](http://www.caam.rice.edu/~embree/).
## Example
The pseudospectrum of the Grcar matrix looks like this:
![Pseudospectrum of Grcar matrix](grcar.png)
If no knowledge about the location of the pseudospectrum of the given matrix is available, the following lines of code can be used to obtain an approximation:
```python
from pseudopy import NonnormalAuto, demo
from matplotlib import pyplot
from scipy.linalg import eigvals
# get Grcar matrix
A = demo.grcar(32).todense()
# compute pseudospectrum for the levels of interest between [1e-5, 1]
pseudo = NonnormalAuto(A, 1e-5, 1)
# plot
pseudo.plot([10**k for k in range(-4, 0)], spectrum=eigvals(A))
pyplot.show()
```
## Installation
### Dependencies
PseudoPy depends on numpy, scipy, matplotlib and shapely. If you are on Debian/Ubuntu, you can install these dependencies with
```
sudo apt-get install python-numpy python-scipy python-matplotlib python-shapely
```
### pip
```pip install pseudopy```
Note that you may need to add `sudo` if you want to install it system-wide.
## License
PseudoPy is free software licensed under the [MIT License](http://opensource.org/licenses/mit-license.php).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pseudopy-1.2.5.tar.gz
(7.4 kB
view details)
File details
Details for the file pseudopy-1.2.5.tar.gz
.
File metadata
- Download URL: pseudopy-1.2.5.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30d018c28f9693faf5a0958ac9807aaac88e07067b42eb19310c314fa89f4e41 |
|
MD5 | 2239d351c3416b26bbf6ee54a0a80150 |
|
BLAKE2b-256 | 607b21bb72adf3f54754f229952ff7d8d83e30f57aee96de1c059c9fbfe93a9e |