source: git/Singular/linearAlgebra_ip.h @ 00d2a4

spielwiese
Last change on this file since 00d2a4 was 15ff9a, checked in by Hans Schoenemann <hannes@…>, 13 years ago
add missing header: Singular/linearAlgebra_ip.h
  • Property mode set to 100644
File size: 1.7 KB
Line 
1#ifndef LINEARALGEBRA_H
2#define LINEARALGEBRA_H
3#include <Singular/lists.h>
4#include <kernel/linearAlgebra.h>
5
6/**
7 * Computes all eigenvalues of a given real quadratic matrix with
8 * multiplicites.
9 *
10 * The method assumes that the current ground field is the complex numbers.
11 * Computations are based on the QR double shift algorithm involving
12 * Hessenberg form and householder transformations.
13 * If the algorithm works, then it returns a list with two entries which
14 * are again lists of the same size:
15 * _[1][i] is the i-th mutually distinct eigenvalue that was found,
16 * _[2][i] is the (int) multiplicity of _[1][i].
17 * If the algorithm does not work (due to an ill-posed matrix), a list with
18 * the single entry (int)0 is returned.
19 * 'tol1' is used for detection of deflation in the actual qr double shift
20 * algorithm.
21 * 'tol2' is used for ending Heron's iteration whenever square roots
22 * are being computed.
23 * 'tol3' is used to distinguish between distinct eigenvalues: When
24 * the Euclidean distance between two computed eigenvalues is less then
25 * tol3, then they will be regarded equal, resulting in a higher
26 * multiplicity of the corresponding eigenvalue.
27 *
28 * @return a list with one entry (int)0, or two entries which are again lists
29 **/
30lists qrDoubleShift(
31       const matrix A,     /**< [in]  the quadratic matrix         */
32       const number tol1,  /**< [in]  tolerance for deflation      */
33       const number tol2,  /**< [in]  tolerance for square roots   */
34       const number tol3,   /**< [in]  tolerance for distinguishing
35                                      eigenvalues                  */
36       const ring r= currRing
37                   );
38#endif
Note: See TracBrowser for help on using the repository browser.