My Project
Loading...
Searching...
No Matches
Singular
linearAlgebra_ip.h
Go to the documentation of this file.
1
#ifndef LINEARALGEBRA_H
2
#define LINEARALGEBRA_H
3
#include "
Singular/lists.h
"
4
#include "
kernel/linear_algebra/linearAlgebra.h
"
5
6
/**
7
* Computes all eigenvalues of a given real quadratic matrix with
8
* multiplicities.
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
**/
30
lists
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
linearAlgebra.h
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 multiplicities.
Definition
linearAlgebra_ip.cc:41
lists.h
matrix
ip_smatrix * matrix
Definition
matpol.h:43
lists
slists * lists
Definition
mpr_numeric.h:146
currRing
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition
polys.cc:13
A
#define A
Definition
sirandom.c:24
Generated on Thu Mar 20 2025 00:00:00 for My Project by
doxygen 1.13.2
for
Singular