# EigenPackage R¶

This is a package for the exact computation of eigenvalues and eigenvectors. This package works for matrices with coefficients which are rational functions over a ring where we can factor polynomials. Eigenvalues not in base field are represented by their minimal polynomial.

characteristicPolynomial: (Matrix Fraction Polynomial R, Symbol) -> Polynomial R

`characteristicPolynomial(m, var)` returns the characteristicPolynomial of the matrix `m` using the symbol var as the main variable.

characteristicPolynomial: Matrix Fraction Polynomial R -> Polynomial R

`characteristicPolynomial(m)` returns the characteristicPolynomial of the matrix `m` using a new generated symbol symbol as the main variable.

eigenvalues: Matrix Fraction Polynomial R -> List Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)) if R has PolynomialFactorizationExplicit

`eigenvalues(m)` returns the eigenvalues of the matrix `m`.

eigenvector: (Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)), Matrix Fraction Polynomial R) -> List Matrix Fraction Polynomial R

`eigenvector(eigval, m)` returns the eigenvectors belonging to the eigenvalue `eigval` for the matrix `m`.

eigenvectors: Matrix Fraction Polynomial R -> List Record(eigval: Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)), eigmult: NonNegativeInteger, eigvec: List Matrix Fraction Polynomial R) if R has PolynomialFactorizationExplicit

`eigenvectors(m)` returns the eigenvalues and eigenvectors for the matrix `m`. The eigenvalues in base field and the corresponding eigenvectors are explicitly computed, while the other ones are given via their minimal polynomial and the corresponding eigenvectors are expressed in terms of a “generic” root of such a polynomial.

generalizedEigenvector: (Record(eigval: Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)), eigmult: NonNegativeInteger, eigvec: List Matrix Fraction Polynomial R), Matrix Fraction Polynomial R) -> List Matrix Fraction Polynomial R

`generalizedEigenvector(eigen, m)` returns the generalized eigenvectors of the matrix relative to the eigenvalue `eigen`, as returned by the function eigenvectors.

generalizedEigenvector: (Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)), Matrix Fraction Polynomial R, NonNegativeInteger, NonNegativeInteger) -> List Matrix Fraction Polynomial R

`generalizedEigenvector(alpha, m, k, g)` returns the generalized eigenvectors of the matrix relative to the eigenvalue `alpha`. The integers `k` and `g` are respectively the algebraic and the geometric multiplicity of tye eigenvalue `alpha`.

generalizedEigenvectors: Matrix Fraction Polynomial R -> List Record(eigval: Union(Fraction Polynomial R, SuchThat(Symbol, Polynomial R)), geneigvec: List Matrix Fraction Polynomial R) if R has PolynomialFactorizationExplicit

`generalizedEigenvectors(m)` returns the generalized returns the generalized eigenvectors of the matrix `m`.