|
D.11.3.2 jacobson
Procedure from library jacobson.lib (see jacobson_lib).
- Usage:
- jacobson(M, eng); M matrix, eng an optional int
- Return:
- list
- Assume:
- Basering is a (non-commutative) ring in two variables.
- Purpose:
- compute a weak Jacobson normal form of M over the basering
- Theory:
- Groebner bases and involutions are used, following [3]
- Note:
- A list L of matrices {U,D,V} is returned. That is L[1]*M*L[3]=L[2],
where L[2] is a diagonal matrix and
L[1], L[3] are square invertible polynomial (unimodular) matrices.
Note, that M can be rectangular.
The optional integer eng2 determines the Groebner basis engine:
0 (default) ensures the use of 'slimgb' , otherwise 'std' is used.
- Display:
- If
printlevel =1, progress debug messages will be printed,
if printlevel >=2, all the debug messages will be printed.
Example:
See also:
divideUnits;
smith.
|