
7.10.6.31 ncrepGetRegularMinimal
Procedure from library ncrat.lib (see ncrat_lib).
 Usage:
 ncrep q = ncrepGetRegularMinimal(f, vars, point);
 Return:
 q is a representation of f with
minimal dimension
 Assumption:
 f is regular at point, i.e.,
f(point) has to be defined
 Note:
 list vars = list(x1, ..., xn) has to consist
exactly of the nc variables occuring in f and
list point = (p1, ..., pn) of scalars such that
f(point) is defined
Example:
 LIB "ncrat.lib";
// We want to prove the Hua's identity, telling that for two
// invertible elements x,y from a division ring, one has
// inv(x+x*inv(y)*x)+inv(x+y) = inv(x)
// where inv(t) stands for the twosided inverse of t
ncInit(list("x", "y"));
ncrat f = ncratFromString("inv(x+x*inv(y)*x)+inv(x+y)inv(x)");
print(f);
==> inv(x+x*inv(y)*x)+inv(x+y)inv(x)
ncrep r = ncrepGet(f);
ncrepDim(r);
==> 18
ncrep s = ncrepGetRegularMinimal(f, list(x, y), list(1, 1));
ncrepDim(s);
==> 0
print(s);
==> lvec=
==> 0
==>
==> mat=
==> 1
==>
==> rvec=
==> 0
// since s represents the zero element, Hua's identity holds.

