# Singular          #### 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 two-sided 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. ```

### Misc 