diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/arpack/DESCR | 58 | ||||
-rw-r--r-- | math/eigen2/DESCR | 19 | ||||
-rw-r--r-- | math/eigen3/DESCR | 9 |
3 files changed, 56 insertions, 30 deletions
diff --git a/math/arpack/DESCR b/math/arpack/DESCR index 3205bcda348..ded552c3db2 100644 --- a/math/arpack/DESCR +++ b/math/arpack/DESCR @@ -1,23 +1,35 @@ -ARPACK is a collection of Fortran77 subroutines designed to solve large scale -eigenvalue problems. The package is designed to compute a few eigenvalues and -corresponding eigenvectors of a general n by n matrix A. It is most appropriate -for large sparse or structured matrices A where structured means that a -matrix-vector product w <- Av requires order n rather than the usual order n**2 -floating point operations. This software is based upon an algorithmic variant of -the Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When -the matrix A is symmetric it reduces to a variant of the Lanczos process called -the Implicitly Restarted Lanczos Method (IRLM). These variants may be viewed as -a synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR -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. ARPACK software is capable of solving large scale symmetric, -nonsymmetric, and generalized eigenproblems from significant application areas. -The software is designed to compute a few (k) eigenvalues with user specified -features such as those of largest real part or largest magnitude. Storage -requirements are on the order of n*k locations. No auxiliary storage is -required. A set of Schur basis vectors for the desired k-dimensional eigen-space -is computed which is numerically orthogonal to working precision. Numerically accurate eigenvectors are available on request. Important Features: - o Reverse Communication Interface. - o Single and Double Precision Real Arithmetic Versions for Symmetric, - Non-symmetric, Standard or Generalized Problems. - ...and more! +ARPACK is a collection of Fortran77 subroutines designed to solve large +scale eigenvalue problems. + +The package is designed to compute a few eigenvalues and corresponding +eigenvectors of a general n by n matrix A. It is most appropriate for large +sparse or structured matrices A where structured means that a matrix-vector +product w <- Av requires order n rather than the usual order n**2 floating +point operations. This software is based upon an algorithmic variant of the +Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When +the matrix A is symmetric it reduces to a variant of the Lanczos process +called the Implicitly Restarted Lanczos Method (IRLM). These variants may be +viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly +Shifted QR 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. ARPACK software is capable of solving +large scale symmetric, nonsymmetric, and generalized eigenproblems from +significant application areas. The software is designed to compute a few (k) +eigenvalues with user specified features such as those of largest real part +or largest magnitude. Storage requirements are on the order of n*k locations. +No auxiliary storage is required. A set of Schur basis vectors for the desired +k-dimensional eigen-space is computed which is numerically orthogonal to working +precision. Numerically accurate eigenvectors are available on request. + +Important Features: + + o Reverse Communication Interface. + o Single and Double Precision Real Arithmetic Versions for Symmetric, + Non-symmetric, Standard or Generalized Problems. + o Single and Double Precision Complex Arithmetic Versions for Standard + or Generalized Problems. + o Routines for Banded Matrices - Standard or Generalized Problems. + o Routines for The Singular Value Decomposition. + o Example driver routines that may be used as templates to implement + numerous Shift-Invert strategies for all problem types, data types + and precision. diff --git a/math/eigen2/DESCR b/math/eigen2/DESCR index f6a63080ae5..38332b7f76d 100644 --- a/math/eigen2/DESCR +++ b/math/eigen2/DESCR @@ -8,17 +8,24 @@ related algorithms. It is: o both plain matrices/vectors and abstract expressions. o both column-major (the default) and row-major matrix storage. o both basic matrix/vector manipulation and many more advanced, specialized - modules providing algorithms for linear algebra, geometry, quaternions, or - advanced array manipulation. + modules providing algorithms for linear algebra, geometry, quaternions, + or advanced array manipulation. * Fast. o Expression templates allow to intelligently remove temporaries and enable lazy evaluation, when that is appropriate -- Eigen takes care of this automatically and handles aliasing too in most cases. o Explicit vectorization is performed for the SSE (2 and later) and AltiVec - instruction sets, with graceful fallback to non-vectorized code. Expression - templates allow to perform these optimizations globally for whole - expressions. + instruction sets, with graceful fallback to non-vectorized code. + Expression templates allow to perform these optimizations globally for + whole expressions. o With fixed-size objects, dynamic memory allocation is avoided, and the loops are unrolled when that makes sense. o For large matrices, special attention is paid to cache-friendliness. -...and more! +* Elegant. The API is extremely clean and expressive, thanks to expression + templates. Implementing an algorithm on top of Eigen feels like just copying + pseudocode. You can use complex expressions and still rely on Eigen to + produce optimized code: there is no need for you to manually decompose + expressions into small steps. +* Compiler-friendy. Eigen has very reasonable compilation times at least with + GCC, compared to other C++ libraries based on expression templates and heavy + metaprogramming. Eigen is also standard C++ and supports various compilers. diff --git a/math/eigen3/DESCR b/math/eigen3/DESCR index b6dbd3900c7..60e78c89451 100644 --- a/math/eigen3/DESCR +++ b/math/eigen3/DESCR @@ -21,4 +21,11 @@ related algorithms. It is: o With fixed-size objects, dynamic memory allocation is avoided, and the loops are unrolled when that makes sense. o For large matrices, special attention is paid to cache-friendliness. -...and more! +* Elegant. The API is extremely clean and expressive, thanks to expression + templates. Implementing an algorithm on top of Eigen feels like just copying + pseudocode. You can use complex expressions and still rely on Eigen to + produce optimized code: there is no need for you to manually decompose + expressions into small steps. +* Compiler-friendy. Eigen has very reasonable compilation times at least with + GCC, compared to other C++ libraries based on expression templates and heavy + metaprogramming. Eigen is also standard C++ and supports various compilers. |