# library.sparseig Submodule¶

## Module Summary¶

Interfaces for the NAG Mark 28.6 sparseig Chapter.

sparseig - Large Scale Eigenproblems

This module provides functions for computing some eigenvalues and eigenvectors of large-scale (sparse) standard and generalized eigenvalue problems. It provides functions for:

solution of symmetric eigenvalue problems;

solution of nonsymmetric eigenvalue problems;

solution of generalized symmetric-definite eigenvalue problems;

solution of generalized nonsymmetric eigenvalue problems;

solution of polynomial eigenvalue problems;

partial singular value decomposition.

Functions are provided for both real and complex data.

### ARPACK Functions¶

The functions in this module whose names do not contain substring ‘_feast_’ have all been derived from the ARPACK software suite (see Lehoucq et al. (1998)), a collection of Fortran 77 functions designed to solve large scale eigenvalue problems. The interfaces provided in this module have been chosen to combine ease of use with the flexibility of the original ARPACK software. The underlying iterative methods and algorithms remain essentially the same as those in ARPACK and are described fully in Lehoucq et al. (1998).

The algorithms used in the ARPACK functions are based upon an algorithmic variant of the Arnoldi process called the Implicitly Restarted Arnoldi Method. For symmetric matrices, this reduces to a variant of the Lanczos process called the Implicitly Restarted Lanczos Method. These variants may be viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted technique that is suitable for large scale problems. For many standard problems, a matrix factorization is not required. Only the action of the matrix on a vector is needed.

The ARPACK functions can be used to find the eigenvalues with the largest and/or smallest magnitudes, real part or imaginary part.

### FEAST Functions¶

The functions in this module whose names contain substring ‘_feast_’ have been derived from the FEAST software suite (see Polizzi (2009)). FEAST is a general purpose eigensolver for standard, generalized and polynomial eigenvalue problems. It is suitable for both sparse and dense matrices, and functions are available for real, complex, symmetric, Hermitian and non-Hermitian eigenvalue problems. The FEAST algorithm requires you to specify a particular region of interest in the complex plane within which eigenvalues are sought. The algorithm then performs a numerical quadrature computation, involving solving linear systems along a complex contour around the region of interest.

naginterfaces.library.examples.sparseig :

This subpackage contains examples for the sparseig module. See also the Examples subsection.

## Functionality Index¶

ARPACK routines

Standard or generalized eigenvalue problems for complex matrices

banded matrices

initialize problem and method: complex_band_init()

selected eigenvalues, eigenvectors and/or Schur vectors: complex_band_solve()

general matrices

initialize problem and method: complex_init()

option setting: complex_option()

reverse communication implicitly restarted Arnoldi method: complex_iter()

reverse communication monitoring: complex_monit()

selected eigenvalues, eigenvectors and/or Schur vectors of original problem: complex_proc()

Standard or generalized eigenvalue problems for real nonsymmetric matrices

banded matrices

initialize problem and method: real_band_init()

selected eigenvalues, eigenvectors and/or Schur vectors: real_band_solve()

general matrices

initialize problem and method: real_init()

option setting: real_option()

reverse communication implicitly restarted Arnoldi method: real_iter()

reverse communication monitoring: real_monit()

selected eigenvalues, eigenvectors and/or Schur vectors of original problem: real_proc()

Standard or generalized eigenvalue problems for real symmetric matrices

banded matrices

initialize problem and method: real_symm_band_init()

selected eigenvalues, eigenvectors and/or Schur vectors: real_symm_band_solve()

general matrices

initialize problem and method: real_symm_init()

reverse communication implicitly restarted Arnoldi(Lanczos) method: real_symm_iter()

reverse communication monitoring: real_symm_monit()

selected eigenvalues and eigenvectors and/or Schur vectors of original problem: real_symm_proc()

NAG FEAST suite

contour setting

elliptical contour for nonsymmetric or complex symmetric eigenvalue problems: feast_gen_contour()

general contour for nonsymmetric or complex symmetric eigenvalue problems: feast_custom_contour()

real symmetric/complex Hermitian eigenvalue problems: feast_symm_contour()

deallocation: feast_free()

initialization: feast_init()

option setting: feast_option()

solvers

For full information please refer to the NAG Library document

https://www.nag.com/numeric/nl/nagdoc_28.6/flhtml/f12/f12intro.html

## Examples¶

naginterfaces.library.examples.sparseig.feast_poly_gen_solve_ex.main()[source]

Nonsymmetric Polynomial Eigenvalue Problem.

>>> main()
naginterfaces.library.sparseig.feast_poly_gen_solve Python Example Results.
Nonsymmetric Polynomial Eigenvalue Problem.
Eigenvalues:
[-1.01154017+0.74243953j -0.97330836+0.60663851j]
Right eigenvectors:
[[-0.27867645-0.55398883j  0.64961648+0.07275759j]
[ 0.15963493-0.05141476j -0.0367055 +0.19246955j]
[ 0.20169124+0.24677364j -0.02640785+0.10024232j]
[-0.022247  -0.02329904j  0.04061443-0.01888747j]]
Left eigenvectors:
[[-0.00184768-0.01019648j -0.03812357+0.02278326j]
[ 0.01537005-0.00110981j -0.02825777-0.04867545j]
[-0.7176863 -0.28399747j -0.5525527 +0.4415414j ]
[-0.01783012+0.00584953j -0.01808489+0.04505064j]]