RadicalEigenPackage¶
radeigen.spad line 1 [edit on github]
Package for the computation of eigenvalues and eigenvectors. This package works for matrices with coefficients which are rational functions over the integers. (see Fraction Polynomial Integer). The eigenvalues and eigenvectors are expressed in terms of radicals.
- eigenMatrix: Matrix Fraction Polynomial Integer -> Union(Matrix Expression Integer, failed)
eigenMatrix(m)
returns the matrixb
such thatb*m*(inverse b)
is diagonal, or “failed” if no suchb
exists.
- gramschmidt: List Matrix Expression Integer -> List Matrix Expression Integer
gramschmidt(lv)
converts the list of column vectorslv
into a set of orthogonal column vectors of euclidean length 1 using the Gram-Schmidt algorithm.
- normalise: Matrix Expression Integer -> Matrix Expression Integer
normalise(v)
returns the column vectorv
divided by its euclidean norm; when possible, the vectorv
is expressed in terms of radicals.
- orthonormalBasis: Matrix Fraction Polynomial Integer -> List Matrix Expression Integer
orthonormalBasis(m)
returns the orthogonal matrixb
such thatb*m*(inverse b)
is diagonal. Error: ifm
is not a symmetric matrix.
- radicalEigenvalues: Matrix Fraction Polynomial Integer -> List Expression Integer
radicalEigenvalues(m)
computes the eigenvalues of the matrixm
; when possible, the eigenvalues are expressed in terms of radicals.
- radicalEigenvector: (Expression Integer, Matrix Fraction Polynomial Integer) -> List Matrix Expression Integer
radicalEigenvector(c, m)
computes the eigenvector(s
) of the matrixm
corresponding to the eigenvaluec
; when possible, values are expressed in terms of radicals.
- radicalEigenvectors: Matrix Fraction Polynomial Integer -> List Record(radval: Expression Integer, radmult: Integer, radvect: List Matrix Expression Integer)
radicalEigenvectors(m)
computes the eigenvalues and the corresponding eigenvectors of the matrixm
; when possible, values are expressed in terms of radicals.