### D.11.3 jacobson_lib

Library:
  jacobson.lib
Purpose:
  Algorithms for Smith and Jacobson Normal Form
Author:
  Kristina Schindelar, Kristina.Schindelar@math.rwth-aachen.de,
  Viktor Levandovskyy, levandov@math.rwth-aachen.de

Overview:
  We work over a ring R, that is an Euclidean principal ideal domain. If R is commutative, we suppose R to be a polynomial ring in one variable. If R is non-commutative, we suppose R to have two variables, say x and d. We treat then the basering as the Ore localization of R with respect to the mult. closed set S = K[x] without 0. Thus, we treat basering as principal ideal ring with d a polynomial variable and x an invertible one.
  Note, that in computations no division by x will actually happen.

  Given a rectangular matrix M over R, one can compute unimodular (that is invertible) square matrices U and V, such that U*M*V=D is a diagonal matrix. Depending on the ring, the diagonal entries of D have certain properties.

  We call a square matrix D as before 'a weak Jacobson normal form of M'. It is known, that over the first rational Weyl algebra K(x)<d>, D can be further transformed into a diagonal matrix (1,1,...,1,f,0,..,0), where f is in K(x)<d>. We call such a form of D the strong Jacobson normal form. The existence of strong form in not guaranteed if one works with algebra, which is not rational Weyl algebra.

References:
  [1] N. Jacobson, 'The theory of rings', AMS, 1943.
  [2] Manuel Avelino Insua Hermo, 'Varias perspectives sobre las bases de Groebner :
  Forma normal de Smith, Algorithme de Berlekamp y algebras de Leibniz'.
  PhD thesis, Universidad de Santiago de Compostela, 2005.
  [3] V. Levandovskyy, K. Schindelar 'Computing Jacobson normal form using Groebner bases',
  to appear in Journal of Symbolic Computation, 2010.

Procedures:

> D.11.3.1 smith |  | compute the Smith Normal Form of M over commutative ring
> D.11.3.2 jacobson |  | compute a weak Jacobson Normal Form of M over non-commutative ring
> D.11.3.3 divideUnits |  | create ones out of units in the output of smith or jacobson

See also: control_lib.

User manual for Singular version 4.4.1, 2025, generated by texi2html.