This is a rough draft indicating the primary functionality to be in the
linbox library.
The following should be state of the art efficient when
a) the entry field, F, is a finite field or the rational numbers.
and
b) the n by n matrix is sparse or structured such that the matrix-vector
product costs substantially less than n^2 entry field operations.
Functionality to be provided:
- Minimal polynomial
- of A, i.e. of a matrix,
- of A,b, i.e. of a vector sequence,
- of u,A,b, i.e. of a sequence in the entry field.
- Rank of a matrix.
- Probabilistic
- Deterministic in characteristic 0
- Determinant.
- quick determination of det(A) == 0, of det(A) != 0.
- Trace.
- Solve linear system Ax = b.
- Non-singular
- Singular
- random solution
- certificate of inconsistency
- Null space basis
- Methods... Wiedemann, Lanczos, Conjugate Gradient, blocks
Further functionality:
-
All of the above when A is a submatrix of B.
-
Characteristic polynomial
-
Invariant factors
-
Frobenius form, Rational Jordan form (and/or primary canonical form)
-
Similarity, Equivalence testing.
-
Eigenvalues/Eigenvectors...
-
All of the above for special cases ( symmetric ... )
Diophantine functionality:
-
Integer invariant factors (Smith form)
-
Is there no Hermite form, Popov form for sparse case?
-
Diophantine system solution
-
Matrices over a comm. ring.
Linbox home
Corrections, suggestions and comments to
caviness@cis.udel.edu