### 7.3.10 kbase (plural)

`Syntax:`
`kbase (` ideal_expression `)`
`kbase (` module_expression `)`
`kbase (` ideal_expression`,` int_expression`)`
`kbase (` module_expression`,` int_expression`)`
`Type:`
the same as the input type of the first argument
`Purpose:`
with one argument: computes the vector space basis of the factor-module that equals ring (resp. free module) modulo the ideal (resp. submodule), generated by the initial terms of the given generators.
If the factor-module is not of finite dimension, -1 is returned.

If the generators form a Groebner basis, this is the same as the vector space basis of the factor-module.

when called with two arguments: computes the part of a vector space basis of the respective quotient with degree (of monomials) equal to the second argument. Here, the quotient does not need to be finite dimensional.

`Note:`
in the non-commutative case, a ring modulo an ideal has a ring structure if and only if the ideal is two-sided.

Also, `kbase` respects module grading given by the `isHomog` attribute of input modules.

`Example:`
 ```ring r=0,(x,y,z),dp; matrix d[3][3]; d[1,2]=-z; d[1,3]=2x; d[2,3]=-2y; def R=nc_algebra(1,d); // this algebra is U(sl_2) setring R; ideal i=x2,y2,z2-1; i=std(i); print(matrix(i)); // print a compact presentation of i ==> z2-1,yz-y,xz+x,y2,2xy-z-1,x2 kbase(i); ==> _[1]=z ==> _[2]=y ==> _[3]=x ==> _[4]=1 vdim(i); ==> 4 ideal j=x,z-1; j=std(j); kbase(j,3); ==> _[1]=y3 ```
See ideal (plural); module (plural); vdim (plural).

User manual for Singular version 4.3.2, 2023, generated by texi2html.