My Project  UNKNOWN_GIT_VERSION
linearAlgebra_ip.h
Go to the documentation of this file.
1 #ifndef LINEARALGEBRA_H
2 #define LINEARALGEBRA_H
3 #include "Singular/lists.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  **/
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
ip_smatrix
Definition: matpol.h:15
lists.h
currRing
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
qrDoubleShift
lists qrDoubleShift(const matrix A, const number tol1, const number tol2, const number tol3, const ring r=currRing)
Computes all eigenvalues of a given real quadratic matrix with multiplicites.
Definition: linearAlgebra_ip.cc:41
slists
Definition: lists.h:23
A
#define A
Definition: sirandom.c:23
linearAlgebra.h