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

Usage:
center(D[, N]); D int, N optional int

Return:
ideal, generated by computed elements

Purpose:
computes subalgebra generators of the center up to degree D

Note:
In general, one cannot compute the whole center.
Hence, one has to specify a termination condition via arguments D and/or N.
If D is positive, only central elements up to degree D will be found.
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,t),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) tensored with K[t] // find generators of the center of degree <= 3: ideal Z = center(3); Z; ==> Z=t ==> Z=4xy+z2-2z inCenter(Z); // check the result ==> 1 // find at least one generator of the center: ideal Z2 = center(-1, 1); Z2; ==> Z2=t inCenter(Z2); // check the result ==> 1 ``` 