# Singular          ##### 7.5.3.0. centralizerRed
Procedure from library `central.lib` (see central_lib).

Usage:
centralizerRed( F, D[, N] ); F ideal, D int, N optional int

Return:
ideal, generated by computed elements

Purpose:
computes subalgebra generators of centralizer(F) up to degree D.

Note:
In general, one cannot compute the whole centralizer(F).
Hence, one has to specify a termination condition via arguments D and/or N.
If D is positive, only centralizing elements up to degree D are computed.
If D is negative, the termination is determined by N only.
If N is given, the computation stops if at least N elements have been found.
Warning: if N is given and bigger than the actual number of generators,
the procedure may not terminate.
Current ordering must be a degree compatible well-ordering.

Example:
 ```LIB "central.lib"; ring AA = 0,(x,y,z),dp; matrix D=0; D[1,2]=-z; D[1,3]=2*x; D[2,3]=-2*y; def A = nc_algebra(1,D); setring A; // this algebra is U(sl_2) ideal F = x, y; // find subalgebra generators of degree <= 4 of the subalgebra of // all elements commuting with x and y: ideal C = centralizerRed(F, 4); C; ==> C=4xy+z2-2z inCentralizer(C, F); // check the result ==> 1 ``` 