Changeset 6ed8c4 in git for kernel/linearAlgebra.h
- Timestamp:
- Jul 19, 2011, 4:45:41 PM (13 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 1f637e0cf55bac728426f222f498b81de378e159
- Parents:
- bb5c2849ef4e9115c1f69238f0aaf689e2be7e2d
- git-author:
- mlee <martinlee84@web.de>2011-07-19 16:45:41+02:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:52:40+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/linearAlgebra.h
rbb5c28 r6ed8c4 50 50 matrix &pMat, /**< [out] the row permutation matrix P */ 51 51 matrix &lMat, /**< [out] the lower triangular matrix L */ 52 matrix &uMat /**< [out] the upper row echelon matrix U */ 52 matrix &uMat, /**< [out] the upper row echelon matrix U */ 53 const ring r= currRing /**< [in] current ring */ 53 54 ); 54 55 … … 62 63 **/ 63 64 int pivotScore( 64 number n /**< [in] a non-zero matrix entry */ 65 number n, /**< [in] a non-zero matrix entry */ 66 const ring r= currRing /**< [in] current ring */ 65 67 ); 66 68 … … 87 89 int* bestR, /**< [out] address of row index of best 88 90 pivot element */ 89 int* bestC 91 int* bestC, /**< [out] address of column index of 90 92 best pivot element */ 93 const ring r= currRing /**< [in] current ring */ 91 94 ); 92 95 … … 108 111 bool luInverse( 109 112 const matrix aMat, /**< [in] matrix to be inverted */ 110 matrix &iMat 113 matrix &iMat, /**< [out] inverse of aMat if 111 114 invertible */ 115 const ring r=currRing /**< [in] current ring */ 112 116 ); 113 117 … … 136 140 triangular form */ 137 141 matrix &iMat, /**< [out] inverse of uMat if invertible */ 138 bool diagonalIsOne 142 bool diagonalIsOne,/**< [in] if true, then all diagonal 139 143 entries of uMat are 1 */ 144 const ring r= currRing /**< [in] current ring */ 140 145 ); 141 146 … … 197 202 const matrix uMat, /**< [in] upper right matrix of an LU- 198 203 decomposition */ 199 matrix &iMat /**< [out] inverse of A if invertible */ 204 matrix &iMat, /**< [out] inverse of A if invertible */ 205 const ring r= currRing 200 206 ); 201 207 … … 215 221 int luRank( 216 222 const matrix aMat, /**< [in] input matrix */ 217 const bool isRowEchelon 223 const bool isRowEchelon,/**< [in] if true then aMat is assumed to be 218 224 already in row echelon form */ 225 const ring r= currRing 219 226 ); 220 227 … … 337 344 bool unitMatrix( 338 345 const int n, /**< [in] size of the matrix */ 339 matrix &unitMat /**< [out] the new (nxn) unit matrix */ 346 matrix &unitMat, /**< [out] the new (nxn) unit matrix */ 347 const ring r= currRing /** [in] current ring */ 340 348 ); 341 349 … … 457 465 matrix &pMat, /**< [out] the transformation matrix */ 458 466 matrix &hessenbergMat, /**< [out] the Hessenberg form of aMat */ 459 const number tolerance /**< [in] accuracy */ 467 const number tolerance, /**< [in] accuracy */ 468 const ring r 460 469 ); 461 470 … … 484 493 ); 485 494 486 /**487 * Computes all eigenvalues of a given real quadratic matrix with488 * multiplicites.489 *490 * The method assumes that the current ground field is the complex numbers.491 * Computations are based on the QR double shift algorithm involving492 * Hessenberg form and householder transformations.493 * If the algorithm works, then it returns a list with two entries which494 * are again lists of the same size:495 * _[1][i] is the i-th mutually distinct eigenvalue that was found,496 * _[2][i] is the (int) multiplicity of _[1][i].497 * If the algorithm does not work (due to an ill-posed matrix), a list with498 * the single entry (int)0 is returned.499 * 'tol1' is used for detection of deflation in the actual qr double shift500 * algorithm.501 * 'tol2' is used for ending Heron's iteration whenever square roots502 * are being computed.503 * 'tol3' is used to distinguish between distinct eigenvalues: When504 * the Euclidean distance between two computed eigenvalues is less then505 * tol3, then they will be regarded equal, resulting in a higher506 * multiplicity of the corresponding eigenvalue.507 *508 * @return a list with one entry (int)0, or two entries which are again lists509 **/510 lists qrDoubleShift(511 const matrix A, /**< [in] the quadratic matrix */512 const number tol1, /**< [in] tolerance for deflation */513 const number tol2, /**< [in] tolerance for square roots */514 const number tol3 /**< [in] tolerance for distinguishing515 eigenvalues */516 );517 495 518 496 /**
Note: See TracChangeset
for help on using the changeset viewer.