Top
Back: smith
Forward: divideUnits
FastBack: control_lib
FastForward: Teaching
Up: jacobson_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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.


Top Back: smith Forward: divideUnits FastBack: control_lib FastForward: Teaching Up: jacobson_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-6, Dec 2012, generated by texi2html.